{"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<HTMLElement>).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"}