{"version":3,"file":"header-language-CDxdUOvy.js","sources":["../../../app/javascript/entrypoints/js/header-language.js"],"sourcesContent":["import gsap from \"gsap\";\n\nexport default class HeaderLanguage {\n constructor() {\n this.isOpen = false;\n this.button = document.querySelector(\"[data-js='header-language-open']\");\n this.closeButton = document.querySelector(\n \"[data-js='header-language__close']\",\n );\n this.container = document.querySelector(\n \"[data-js='header-language__container']\",\n );\n this.containerElement = document.querySelector(\n \"[data-js='header-language__element']\",\n );\n }\n\n init() {\n this.clickOutside();\n\n this.button.addEventListener(\"click\", () => {\n this.isOpen ? this.close() : this.open();\n });\n\n this.closeButton.addEventListener(\"click\", () => {\n this.close();\n });\n }\n\n open() {\n this.isOpen = true;\n document.body.style.overflow = \"hidden\";\n this.container.classList.remove(\"hidden\");\n\n const tl = gsap.timeline({\n defaults: {\n duration: 0.2,\n ease: \"power2.inOut\",\n },\n });\n\n gsap.set([this.container, this.containerElement], {\n autoAlpha: 0,\n });\n\n gsap.set(this.containerElement, {\n xPercent: 100,\n });\n\n tl.to(this.container, {\n autoAlpha: 1,\n display: \"flex\",\n });\n\n tl.to(this.containerElement, {\n autoAlpha: 1,\n xPercent: 0,\n });\n }\n\n close() {\n this.isOpen = false;\n\n const tl = gsap.timeline({\n defaults: {\n duration: 0.2,\n ease: \"power2.inOut\",\n },\n });\n\n tl.to(this.containerElement, {\n autoAlpha: 0,\n xPercent: 100,\n });\n\n tl.to(this.container, {\n autoAlpha: 0,\n onComplete: () => {\n this.container.classList.add(\"hidden\");\n document.body.style.overflow = \"auto\";\n },\n });\n }\n\n clickOutside() {\n document.addEventListener(\"click\", (event) => {\n if (\n this.isOpen &&\n !this.containerElement.contains(event.target) &&\n !this.button.contains(event.target)\n ) {\n this.close();\n }\n });\n }\n}\n"],"names":["HeaderLanguage","tl","gsap","event"],"mappings":"wCAEe,MAAMA,CAAe,CAClC,aAAc,CACZ,KAAK,OAAS,GACd,KAAK,OAAS,SAAS,cAAc,kCAAkC,EACvE,KAAK,YAAc,SAAS,cAC1B,oCACN,EACI,KAAK,UAAY,SAAS,cACxB,wCACN,EACI,KAAK,iBAAmB,SAAS,cAC/B,sCACN,CACG,CAED,MAAO,CACL,KAAK,aAAY,EAEjB,KAAK,OAAO,iBAAiB,QAAS,IAAM,CAC1C,KAAK,OAAS,KAAK,MAAK,EAAK,KAAK,MACxC,CAAK,EAED,KAAK,YAAY,iBAAiB,QAAS,IAAM,CAC/C,KAAK,MAAK,CAChB,CAAK,CACF,CAED,MAAO,CACL,KAAK,OAAS,GACd,SAAS,KAAK,MAAM,SAAW,SAC/B,KAAK,UAAU,UAAU,OAAO,QAAQ,EAExC,MAAMC,EAAKC,EAAK,SAAS,CACvB,SAAU,CACR,SAAU,GACV,KAAM,cACP,CACP,CAAK,EAEDA,EAAK,IAAI,CAAC,KAAK,UAAW,KAAK,gBAAgB,EAAG,CAChD,UAAW,CACjB,CAAK,EAEDA,EAAK,IAAI,KAAK,iBAAkB,CAC9B,SAAU,GAChB,CAAK,EAEDD,EAAG,GAAG,KAAK,UAAW,CACpB,UAAW,EACX,QAAS,MACf,CAAK,EAEDA,EAAG,GAAG,KAAK,iBAAkB,CAC3B,UAAW,EACX,SAAU,CAChB,CAAK,CACF,CAED,OAAQ,CACN,KAAK,OAAS,GAEd,MAAMA,EAAKC,EAAK,SAAS,CACvB,SAAU,CACR,SAAU,GACV,KAAM,cACP,CACP,CAAK,EAEDD,EAAG,GAAG,KAAK,iBAAkB,CAC3B,UAAW,EACX,SAAU,GAChB,CAAK,EAEDA,EAAG,GAAG,KAAK,UAAW,CACpB,UAAW,EACX,WAAY,IAAM,CAChB,KAAK,UAAU,UAAU,IAAI,QAAQ,EACrC,SAAS,KAAK,MAAM,SAAW,MAChC,CACP,CAAK,CACF,CAED,cAAe,CACb,SAAS,iBAAiB,QAAUE,GAAU,CAE1C,KAAK,QACL,CAAC,KAAK,iBAAiB,SAASA,EAAM,MAAM,GAC5C,CAAC,KAAK,OAAO,SAASA,EAAM,MAAM,GAElC,KAAK,MAAK,CAElB,CAAK,CACF,CACH"}