{"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":"2tFAIMA,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":"80.31f46028ad57e7828f2b.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":""}