{"version":3,"sources":["webpack:///./src/js/modules/primaryNavigationMobile.js"],"names":["PrimaryNavigationMobile","this","isNavigationOpen","isChildListOpen","dom","html","document","querySelector","innerContainer","el","toggleTrigger","childListOpenTriggers","querySelectorAll","childListCloseTriggers","addEventListener","e","toggleMobileNavigation","forEach","openTrigger","toggleChildList","closeTrigger","window","customEvents","closeMobilePrimaryNavTrigger","innerWidth","breakpoints","tabletLandscape","style","overflowY","classList","add","setAttribute","closeEvent","CustomEvent","closeWeatherWidgetTrigger","dispatchEvent","anime","timeline","easing","direction","complete","remove","targets","translateY","duration","stopPropagation","childListContainer","currentTarget","closest","toggle","Component"],"mappings":"mnFAIMA,E,sWACJ,WACEC,KAAKC,kBAAmB,EACxBD,KAAKE,iBAAiB,EACtBF,KAAKG,IAAM,CACTC,KAAMC,SAASC,cAAc,QAC7BC,eAAgBP,KAAKQ,GAAGF,cAAc,qCACtCG,cAAeJ,SAASC,cAAc,wCACtCI,sBAAuB,EAAIV,KAAKQ,GAAGG,iBAAiB,mGACpDC,uBAAwB,EAAIZ,KAAKQ,GAAGG,iBAAiB,4D,0BAIzD,WAAe,WAEbX,KAAKG,IAAIM,cAAcI,iBAAiB,SAAS,SAAAC,GAAC,OAAI,EAAKC,uBAAuBD,MAElFd,KAAKG,IAAIO,sBAAsBM,SAAQ,SAAAC,GACrCA,EAAYJ,iBAAiB,SAAS,SAAAC,GAAC,OAAI,EAAKI,gBAAgBJ,SAGlEd,KAAKG,IAAIS,uBAAuBI,SAAQ,SAAAG,GACtCA,EAAaN,iBAAiB,SAAS,SAAAC,GAAC,OAAI,EAAKI,gBAAgBJ,SAEnEM,OAAOP,iBAAiBQ,IAAaC,8BAA8B,WACjE,EAAKrB,kBAAmB,EACxB,EAAKc,8B,oCAIT,SAAuBD,GAAG,WACxB,KAAIM,OAAOG,YAAcC,IAAYC,iBAArC,CAEA,GADAzB,KAAKC,kBAAoBD,KAAKC,iBAC1BD,KAAKC,iBAAkB,CACzBD,KAAKG,IAAIC,KAAKsB,MAAMC,UAAY,SAChC3B,KAAKG,IAAIM,cAAcmB,UAAUC,IAAI,WACrC7B,KAAKQ,GAAGoB,UAAUC,IAAI,UACtB7B,KAAKQ,GAAGsB,aAAa,cAAe,SACpC9B,KAAKQ,GAAGsB,aAAa,WAAY,KACjC,IAAMC,EAAa,IAAIC,YAAYX,IAAaY,2BAChDb,OAAOc,cAAcH,GAENI,IAAMC,S,+VAAN,EACfC,OAAQ,gBACRC,UAAWtC,KAAKC,iBAAmB,SAAW,YAC1CD,KAAKC,kBAAoB,CAC3BsC,SAAU,WACR,EAAKpC,IAAIC,KAAKsB,MAAMC,UAAY,OAChC,EAAKxB,IAAIM,cAAcmB,UAAUY,OAAO,WACxC,EAAKhC,GAAGoB,UAAUY,OAAO,UACzB,EAAKhC,GAAGsB,aAAa,cAAe,QACpC,EAAKtB,GAAGsB,aAAa,WAAY,UAI9BD,IAAI,CACXY,QAASzC,KAAKG,IAAII,eAClBmC,WAAY,CAAC,OAAQ,MACrBC,SAAU,KACT,M,6BAGL,SAAgB7B,GACdA,EAAE8B,kBACF5C,KAAKE,iBAAmBF,KAAKE,gBAC7B,IACM2C,EADS/B,EAAEgC,cAAcC,QAAQ,oCACLzC,cAAc,+CAChDN,KAAKQ,GAAGoB,UAAUoB,OAAO,qBACzBH,EAAmBjB,UAAUoB,OAAO,UACpCH,EAAmBf,aAAa,cAAe9B,KAAKE,gBAAkB,QAAU,QAChF2C,EAAmBf,aAAa,WAAY9B,KAAKE,gBAAkB,IAAM,W,8BAtEvC+C,aA0EvBlD","file":"65.7cd6b9308ba0c4c9e265.js","sourcesContent":["import { Component } from '@verndale/core';\nimport { breakpoints, customEvents } from '../helpers/constants';\nimport anime from 'animejs';\n\nclass PrimaryNavigationMobile extends Component {\n setupDefaults() {\n this.isNavigationOpen = false;\n this.isChildListOpen= false;\n this.dom = {\n html: document.querySelector('html'),\n innerContainer: this.el.querySelector('.primary-navigation-mobile__inner'),\n toggleTrigger: document.querySelector('.header__primary-navigation__trigger'),\n childListOpenTriggers: [...this.el.querySelectorAll('.primary-navigation-mobile__child-list-trigger, .primary-navigation-mobile__main-link > button')],\n childListCloseTriggers: [...this.el.querySelectorAll('.primary-navigation-mobile__child-list-close-trigger')]\n };\n }\n\n addListeners() {\n //Open-Close navigation\n this.dom.toggleTrigger.addEventListener('click', e => this.toggleMobileNavigation(e))\n // Open item child list\n this.dom.childListOpenTriggers.forEach(openTrigger => {\n openTrigger.addEventListener('click', e => this.toggleChildList(e));\n })\n // Close item child list\n this.dom.childListCloseTriggers.forEach(closeTrigger => {\n closeTrigger.addEventListener('click', e => this.toggleChildList(e));\n })\n window.addEventListener(customEvents.closeMobilePrimaryNavTrigger, () => {\n this.isNavigationOpen = true;\n this.toggleMobileNavigation();\n })\n }\n\n toggleMobileNavigation(e) {\n if (window.innerWidth >= breakpoints.tabletLandscape) return;\n this.isNavigationOpen = !this.isNavigationOpen;\n if (this.isNavigationOpen) {\n this.dom.html.style.overflowY = 'hidden'\n this.dom.toggleTrigger.classList.add('is-open');\n this.el.classList.add('active');\n this.el.setAttribute('aria-hidden', 'false');\n this.el.setAttribute('tabindex', '0');\n const closeEvent = new CustomEvent(customEvents.closeWeatherWidgetTrigger);\n window.dispatchEvent(closeEvent);\n }\n const timeline = anime.timeline({\n easing: 'easeInOutQuad',\n direction: this.isNavigationOpen ? 'normal' : 'reverse',\n ...!this.isNavigationOpen && {\n complete: () => {\n this.dom.html.style.overflowY = 'auto'\n this.dom.toggleTrigger.classList.remove('is-open');\n this.el.classList.remove('active');\n this.el.setAttribute('aria-hidden', 'true');\n this.el.setAttribute('tabindex', '-1');\n }\n }\n });\n timeline.add({\n targets: this.dom.innerContainer,\n translateY: ['100%', '0%'],\n duration: 300\n }, 0);\n }\n\n toggleChildList(e) {\n e.stopPropagation();\n this.isChildListOpen = !this.isChildListOpen;\n const parent = e.currentTarget.closest('.primary-navigation-mobile__item');\n const childListContainer = parent.querySelector('.primary-navigation-mobile__child-container');\n this.el.classList.toggle('child-list-active');\n childListContainer.classList.toggle('active');\n childListContainer.setAttribute('aria-hidden', this.isChildListOpen ? 'false' : 'true');\n childListContainer.setAttribute('tabindex', this.isChildListOpen ? '0' : '-1');\n }\n}\n\nexport default PrimaryNavigationMobile;\n"],"sourceRoot":""}