{"version":3,"file":"navigation-DM9ukEui.js","sources":["../../../../../../HFC.Optimizely.FrontEnd/src/scripts/components/navigation.ts"],"sourcesContent":["import { Component } from '@verndale/core';\nimport '../../scss/components/_navigation.scss';\n\nclass Navigation extends Component {\n setupDefaults() {\n this.dom = {\n triggers: this.el.querySelectorAll('.navigation__trigger-icon'),\n nav: this.el.querySelectorAll('.navigation__items')\n };\n }\n\n addListeners() {\n document.addEventListener('click', this.handleDocumentClick.bind(this));\n }\n\n handleDocumentClick(event: Event) {\n const nav = document.getElementById('main-navigation');\n let triggerClick = false;\n (this.dom.triggers as NodeList).forEach(trigger => {\n if (event.composedPath().includes(trigger as HTMLButtonElement)) {\n triggerClick = true;\n this.handleClick(trigger as HTMLButtonElement);\n }\n });\n\n if (!triggerClick) {\n if (!event.composedPath().includes(nav as HTMLElement)) {\n this.closeItem();\n }\n }\n }\n\n handleClick(trigger: HTMLButtonElement) {\n if (trigger.classList.contains('open')) {\n this.openItem(trigger);\n } else {\n this.closeItem(trigger);\n }\n }\n\n openItem(trigger: HTMLButtonElement) {\n trigger.setAttribute('aria-expanded', 'true');\n\n const nav = document.getElementById(trigger.getAttribute('aria-controls') as string);\n\n if (nav) {\n nav.classList.add('opened');\n if (nav.clientWidth < 768) {\n nav.classList.add('no-scroll');\n }\n }\n }\n\n closeItem(trigger: HTMLButtonElement | null = null) {\n if (trigger) {\n (trigger as HTMLButtonElement).setAttribute('aria-expanded', 'false');\n } else {\n (this.dom.triggers as NodeList).forEach(trigger => {\n if ((trigger as HTMLButtonElement).classList.contains('close')) {\n (trigger as HTMLButtonElement).setAttribute('aria-expanded', 'false');\n }\n });\n }\n\n const nav = document.getElementById('main-navigation');\n\n if (nav) {\n nav.classList.remove('opened', 'no-scroll');\n }\n }\n}\n\nexport default Navigation;\n"],"names":["Navigation","Component","event","nav","triggerClick","trigger"],"mappings":"qCAGA,MAAMA,UAAmBC,CAAU,CACjC,eAAgB,CACd,KAAK,IAAM,CACT,SAAU,KAAK,GAAG,iBAAiB,2BAA2B,EAC9D,IAAK,KAAK,GAAG,iBAAiB,oBAAoB,CAAA,CAEtD,CAEA,cAAe,CACb,SAAS,iBAAiB,QAAS,KAAK,oBAAoB,KAAK,IAAI,CAAC,CACxE,CAEA,oBAAoBC,EAAc,CAC1B,MAAAC,EAAM,SAAS,eAAe,iBAAiB,EACrD,IAAIC,EAAe,GAClB,KAAK,IAAI,SAAsB,QAAmBC,GAAA,CAC7CH,EAAM,aAAA,EAAe,SAASG,CAA4B,IAC7CD,EAAA,GACf,KAAK,YAAYC,CAA4B,EAC/C,CACD,EAEID,GACEF,EAAM,aAAe,EAAA,SAASC,CAAkB,GACnD,KAAK,UAAU,CAGrB,CAEA,YAAYE,EAA4B,CAClCA,EAAQ,UAAU,SAAS,MAAM,EACnC,KAAK,SAASA,CAAO,EAErB,KAAK,UAAUA,CAAO,CAE1B,CAEA,SAASA,EAA4B,CAC3BA,EAAA,aAAa,gBAAiB,MAAM,EAE5C,MAAMF,EAAM,SAAS,eAAeE,EAAQ,aAAa,eAAe,CAAW,EAE/EF,IACEA,EAAA,UAAU,IAAI,QAAQ,EACtBA,EAAI,YAAc,KAChBA,EAAA,UAAU,IAAI,WAAW,EAGnC,CAEA,UAAUE,EAAoC,KAAM,CAC9CA,EACDA,EAA8B,aAAa,gBAAiB,OAAO,EAEnE,KAAK,IAAI,SAAsB,QAAQA,GAAW,CAC5CA,EAA8B,UAAU,SAAS,OAAO,GAC1DA,EAA8B,aAAa,gBAAiB,OAAO,CACtE,CACD,EAGG,MAAAF,EAAM,SAAS,eAAe,iBAAiB,EAEjDA,GACEA,EAAA,UAAU,OAAO,SAAU,WAAW,CAE9C,CACF"}