{"version":3,"file":"submenu-mj3B1mso.js","sources":["../../Frontend/js/modules/submenu.js"],"sourcesContent":["import gsap from 'gsap';\r\n\r\nexport default function fSubnav() {\r\n const oMainMenuItems = document.querySelectorAll('.header__main > .header__nav .header__nav__item');\r\n let oBackdrop;\r\n let fSubnavDelay;\r\n let nTransitioning = 0;\r\n\r\n const fCreateBackdrop = () => {\r\n oBackdrop = document.querySelector('.backdrop');\r\n\r\n if (!oBackdrop) {\r\n oBackdrop = document.createElement('div');\r\n }\r\n\r\n oBackdrop.classList.add('backdrop');\r\n document.body.appendChild(oBackdrop);\r\n }\r\n\r\n const fDestroyBackdrop = () => {\r\n if (nTransitioning < 2) {\r\n oBackdrop.remove();\r\n }\r\n\r\n nTransitioning -= 1;\r\n }\r\n\r\n const fOpenSubmenu = event => {\r\n let oMenuItem = event.target;\r\n let oSubMenu = oMenuItem.querySelector('.js-submenu');\r\n\r\n nTransitioning += 1;\r\n\r\n if (oSubMenu) {\r\n let tl = new gsap.timeline();\r\n let oSubmenuContent = oSubMenu.querySelector('.container');\r\n\r\n fCreateBackdrop();\r\n\r\n fSubnavDelay = setTimeout(() => {\r\n tl.timeScale(2.75);\r\n tl.set(oSubmenuContent, {\r\n autoAlpha: 0\r\n }).to(oSubMenu, 1.2, {\r\n ease: 'quart.Out',\r\n scaleY: 1,\r\n autoAlpha: 1\r\n }).to(oBackdrop, 1.5, {\r\n ease: 'linear.None',\r\n autoAlpha: 1\r\n }, 0).to(oSubmenuContent, .75, {\r\n ease: 'linear.None',\r\n autoAlpha: 1\r\n });\r\n }, 200);\r\n }\r\n }\r\n\r\n const fCloseSubmenu = event => {\r\n let oMenuItem = event.target;\r\n let oSubMenu = oMenuItem.querySelector('.js-submenu');\r\n\r\n if (oSubMenu && oBackdrop) {\r\n let tl = new gsap.timeline();\r\n let oSubmenuContent = oSubMenu.querySelector('.container');\r\n\r\n clearTimeout(fSubnavDelay);\r\n\r\n tl.timeScale(3000);\r\n tl.to(oSubmenuContent, .85, {\r\n autoAlpha: 0\r\n }).to(oBackdrop, 1, {\r\n autoAlpha: 0\r\n }).to(oSubMenu, .6, {\r\n ease: 'quart.InOut',\r\n autoAlpha: 0,\r\n scaleY: 0.5,\r\n onComplete: fDestroyBackdrop\r\n }, '-=1');\r\n }\r\n }\r\n\r\n const addMainMenuItemsListeners = (i) => {\r\n oMainMenuItems[i].addEventListener('mouseenter', event => {\r\n fOpenSubmenu(event);\r\n });\r\n\r\n oMainMenuItems[i].addEventListener('mouseleave', event => {\r\n fCloseSubmenu(event);\r\n });\r\n }\r\n\r\n for(let i = 0; i < oMainMenuItems.length; i += 1) {\r\n addMainMenuItemsListeners(i);\r\n }\r\n}\r\n"],"names":["fSubnav","oMainMenuItems","oBackdrop","fSubnavDelay","nTransitioning","fCreateBackdrop","fDestroyBackdrop","fOpenSubmenu","event","oSubMenu","tl","gsap","oSubmenuContent","fCloseSubmenu","addMainMenuItemsListeners","i"],"mappings":"wCAEe,SAASA,GAAU,CAC9B,MAAMC,EAAiB,SAAS,iBAAiB,iDAAiD,EAClG,IAAIC,EACAC,EACAC,EAAiB,EAErB,MAAMC,EAAkB,IAAM,CAC1BH,EAAY,SAAS,cAAc,WAAW,EAEzCA,IACDA,EAAY,SAAS,cAAc,KAAK,GAG5CA,EAAU,UAAU,IAAI,UAAU,EAClC,SAAS,KAAK,YAAYA,CAAS,CACtC,EAEKI,EAAmB,IAAM,CACvBF,EAAiB,GACjBF,EAAU,OAAM,EAGpBE,GAAkB,CACrB,EAEKG,EAAeC,GAAS,CAE1B,IAAIC,EADYD,EAAM,OACG,cAAc,aAAa,EAIpD,GAFAJ,GAAkB,EAEdK,EAAU,CACV,IAAIC,EAAK,IAAIC,EAAK,SACdC,EAAkBH,EAAS,cAAc,YAAY,EAEzDJ,IAEAF,EAAe,WAAW,IAAM,CAC5BO,EAAG,UAAU,IAAI,EACjBA,EAAG,IAAIE,EAAiB,CACpB,UAAW,CAC/B,CAAiB,EAAE,GAAGH,EAAU,IAAK,CACjB,KAAM,YACN,OAAQ,EACR,UAAW,CAC/B,CAAiB,EAAE,GAAGP,EAAW,IAAK,CAClB,KAAM,cACN,UAAW,CACd,EAAE,CAAC,EAAE,GAAGU,EAAiB,IAAK,CAC3B,KAAM,cACN,UAAW,CAC/B,CAAiB,CACJ,EAAE,GAAG,CACT,CACJ,EAEKC,EAAgBL,GAAS,CAE3B,IAAIC,EADYD,EAAM,OACG,cAAc,aAAa,EAEpD,GAAIC,GAAYP,EAAW,CACvB,IAAIQ,EAAK,IAAIC,EAAK,SACdC,EAAkBH,EAAS,cAAc,YAAY,EAEzD,aAAaN,CAAY,EAEzBO,EAAG,UAAU,GAAI,EACjBA,EAAG,GAAGE,EAAiB,IAAK,CACxB,UAAW,CAC3B,CAAa,EAAE,GAAGV,EAAW,EAAG,CAChB,UAAW,CAC3B,CAAa,EAAE,GAAGO,EAAU,GAAI,CAChB,KAAM,cACN,UAAW,EACX,OAAQ,GACR,WAAYH,CACf,EAAE,KAAK,CACX,CACJ,EAEKQ,EAA6BC,GAAM,CACrCd,EAAec,CAAC,EAAE,iBAAiB,aAAcP,GAAS,CACtDD,EAAaC,CAAK,CAC9B,CAAS,EAEDP,EAAec,CAAC,EAAE,iBAAiB,aAAcP,GAAS,CACtDK,EAAcL,CAAK,CAC/B,CAAS,CACJ,EAED,QAAQO,EAAI,EAAGA,EAAId,EAAe,OAAQc,GAAK,EAC3CD,EAA0BC,CAAC,CAEnC"}