{"version":3,"file":"section-navigation-1193db1a.js","sources":["../../../../src/scripts/modules/section-navigation.ts"],"sourcesContent":["import { Component } from '@verndale/core';\n\nclass SectionNavigation extends Component {\n constructor(el: HTMLElement) {\n super(el);\n this.horizontalScrollToActive();\n }\n\n setupDefaults() {\n this.dom = {\n linkList: this.el.querySelector(\n '.section-navigation__list'\n ) as HTMLElement,\n links: this.el.querySelectorAll('.section-navigation__link'),\n activeLink: this.el.querySelector(\n '.section-navigation__link.active'\n ) as HTMLElement\n };\n }\n\n addListeners() {\n (this.dom.links as NodeList)?.forEach(link => {\n link.addEventListener('click', this.handleClick.bind(this));\n });\n }\n\n handleClick(e: Event) {\n const target = e.target as HTMLElement;\n\n target.classList.add('active');\n (this.dom.activeLink as HTMLElement)?.classList.remove('active');\n this.dom.activeLink = target;\n }\n\n horizontalScrollToActive() {\n const activeLink = this.dom.activeLink as HTMLElement;\n const scrollContainer = this.dom.linkList as HTMLElement;\n\n if (\n !activeLink ||\n !scrollContainer ||\n activeLink === (this.dom.links as NodeListOf).item(0)\n )\n return;\n\n const scrollContainerRect = scrollContainer.getBoundingClientRect();\n const activeLinkRect = activeLink.getBoundingClientRect();\n const scrollLeft = activeLinkRect.left - scrollContainerRect.left;\n\n scrollContainer.scrollTo({\n left: scrollLeft,\n behavior: 'smooth'\n });\n }\n}\n\nexport default SectionNavigation;\n"],"names":["SectionNavigation","Component","el","_a","link","e","target","activeLink","scrollContainer","scrollContainerRect","scrollLeft"],"mappings":"wEAEA,MAAMA,UAA0BC,CAAU,CACxC,YAAYC,EAAiB,CAC3B,MAAMA,CAAE,EACR,KAAK,yBAAyB,CAChC,CAEA,eAAgB,CACd,KAAK,IAAM,CACT,SAAU,KAAK,GAAG,cAChB,2BACF,EACA,MAAO,KAAK,GAAG,iBAAiB,2BAA2B,EAC3D,WAAY,KAAK,GAAG,cAClB,kCACF,CAAA,CAEJ,CAEA,cAAe,QACZC,EAAA,KAAK,IAAI,QAAT,MAAAA,EAA6B,QAAgBC,GAAA,CAC5CA,EAAK,iBAAiB,QAAS,KAAK,YAAY,KAAK,IAAI,CAAC,CAAA,EAE9D,CAEA,YAAYC,EAAU,OACpB,MAAMC,EAASD,EAAE,OAEVC,EAAA,UAAU,IAAI,QAAQ,GAC5BH,EAAA,KAAK,IAAI,aAAT,MAAAA,EAAqC,UAAU,OAAO,UACvD,KAAK,IAAI,WAAaG,CACxB,CAEA,0BAA2B,CACnB,MAAAC,EAAa,KAAK,IAAI,WACtBC,EAAkB,KAAK,IAAI,SAG/B,GAAA,CAACD,GACD,CAACC,GACDD,IAAgB,KAAK,IAAI,MAAkC,KAAK,CAAC,EAEjE,OAEI,MAAAE,EAAsBD,EAAgB,wBAEtCE,EADiBH,EAAW,wBACA,KAAOE,EAAoB,KAE7DD,EAAgB,SAAS,CACvB,KAAME,EACN,SAAU,QAAA,CACX,CACH,CACF"}