{"version":3,"file":"72.min.js?t=1744984834426","mappings":"4JACe,MAAMA,EACpBC,WAAAA,CAAYC,GACNA,IACLC,KAAKD,GAAKA,EAGVC,KAAKC,OACN,CAEAA,IAAAA,GAEC,MAAMC,EAAWF,KAAKD,GAAGI,iBAAiB,iBACpCC,EAAgBJ,KAAKD,GAAGM,cAAc,+BACtCC,EAAWN,KAAKD,GAAGM,cAAc,0BACjCE,EAAcP,KAAKD,GAAGM,cAAc,qBAC1CH,EAASM,SAASC,IACjBA,EAAQC,iBAAiB,SAAUC,GAClCX,KAAKY,mBAAmBD,EAAOL,EAAUC,EAAaH,IACtD,IAGFA,EAAcM,iBAAiB,SAAUC,GACxCX,KAAKa,yBACJF,EACAL,EACAC,EACAH,IAGH,CAEAS,wBAAAA,CAAyBF,EAAOL,EAAUC,EAAaH,GAClDU,OAAOC,WAAa,MACvBJ,EAAMK,iBACNT,EAAYU,UAAUC,OAAO,iBAC7Bd,EAAca,UAAUC,OAAO,mBAEjC,CAEAN,kBAAAA,CAAmBD,EAAOL,EAAUC,EAAaH,GAEhDO,EAAMK,iBAGN,MAAMG,EAAWR,EAAMS,cAAcC,aAAa,QAAQC,UAAU,GAC9DC,EAAYZ,EAAMS,cAAcC,aAAa,eAC7CG,EAAgBC,SAASC,eAAeP,GAC9C,IAAIQ,EAAI,KACR,MAAMC,EAAQjB,EAAMS,cAAcC,aAAa,mBAE3CG,IAIHG,EAHoBH,EAAcK,wBAAwBC,IAC1ChB,OAAOiB,SACER,EAAYS,SAAST,GAAa,IAIxDK,GAASJ,GACZA,EAAcS,QAIXT,EACCD,EACHT,OAAOoB,SAAS,CAAEJ,IAAKH,EAAGQ,SAAU,WAEpCX,EAAcY,eAAe,CAAED,SAAU,WAI1CE,MAAM,uBAAuBlB,WAG1BL,OAAOwB,WAAW,sBAAsBC,UAC3CjC,EAASkC,YAAc7B,EAAM8B,OAAOD,YACpCjC,EAAYU,UAAUC,OAAO,iBAC7Bd,EAAca,UAAUC,OAAO,mBAEjC,CAEAwB,OAAAA,GAEC,MAAMxC,EAAWF,KAAKD,GAAGI,iBAAiB,iBACpCC,EAAgBJ,KAAKD,GAAGM,cAAc,+BAE5CH,EAASM,SAASC,IACjBA,EAAQkC,oBAAoB,QAAS3C,KAAKY,mBAAmB,IAG9DR,EAAcuC,oBAAoB,QAAS3C,KAAKa,yBACjD,E","sources":["webpack://@hero-digital/masonite/./src/components/modules/StickyJumpNav/StickyJumpNav.js"],"sourcesContent":["/* eslint-disable semi */\nexport default class StickyJumpNav {\n\tconstructor(el, props = {}) {\n\t\tif (!el) return\n\t\tthis.el = el\n\n\t\t// Bind event listeners and initialize the component\n\t\tthis.init()\n\t}\n\n\tinit() {\n\t\t// Add event listener to navigation links\n\t\tconst navLinks = this.el.querySelectorAll('.js-jump-link')\n\t\tconst mobileTrigger = this.el.querySelector('.js-jump-nav-mobile-trigger')\n\t\tconst activeEl = this.el.querySelector('.js-jump-nav-active-el')\n\t\tconst jumpNavList = this.el.querySelector('.js-jump-nav-list')\n\t\tnavLinks.forEach((navLink) => {\n\t\t\tnavLink.addEventListener('click', (event) =>\n\t\t\t\tthis.handleNavLinkClick(event, activeEl, jumpNavList, mobileTrigger)\n\t\t\t)\n\t\t})\n\n\t\tmobileTrigger.addEventListener('click', (event) =>\n\t\t\tthis.handleMobileTriggerClick(\n\t\t\t\tevent,\n\t\t\t\tactiveEl,\n\t\t\t\tjumpNavList,\n\t\t\t\tmobileTrigger\n\t\t\t)\n\t\t)\n\t}\n\n\thandleMobileTriggerClick(event, activeEl, jumpNavList, mobileTrigger) {\n\t\tif (window.innerWidth < 996) {\n\t\t\tevent.preventDefault()\n\t\t\tjumpNavList.classList.toggle('state-visible')\n\t\t\tmobileTrigger.classList.toggle('state-menu-open')\n\t\t}\n\t}\n\n\thandleNavLinkClick(event, activeEl, jumpNavList, mobileTrigger) {\n\t\t// Prevent default link behavior\n\t\tevent.preventDefault()\n\n\t\t// Get the target element's ID from the href attribute\n\t\tconst targetId = event.currentTarget.getAttribute('href').substring(1)\n\t\tconst offsetVal = event.currentTarget.getAttribute('data-offset')\n\t\tconst targetElement = document.getElementById(targetId)\n\t\tlet y = null\n\t\tconst isTab = event.currentTarget.getAttribute('data-linkstotab')\n\n\t\tif (targetElement) {\n\t\t\tconst topPosition = targetElement.getBoundingClientRect().top\n\t\t\tconst yOffset = window.scrollY\n\t\t\tconst additionalOffset = offsetVal ? parseInt(offsetVal) : 0\n\t\t\ty = topPosition + yOffset + additionalOffset\n\t\t}\n\n\t\tif (isTab && targetElement) {\n\t\t\ttargetElement.click()\n\t\t}\n\n\t\t// Smooth scroll to the target element\n\t\tif (targetElement) {\n\t\t\tif (offsetVal) {\n\t\t\t\twindow.scrollTo({ top: y, behavior: 'smooth' })\n\t\t\t} else {\n\t\t\t\ttargetElement.scrollIntoView({ behavior: 'smooth' })\n\t\t\t}\n\t\t} else {\n\t\t\t// eslint-disable-next-line no-undef\n\t\t\talert(`no section with id: ${targetId} found`)\n\t\t}\n\n\t\tif (window.matchMedia('(max-width: 995px)').matches) {\n\t\t\tactiveEl.textContent = event.target.textContent\n\t\t\tjumpNavList.classList.toggle('state-visible')\n\t\t\tmobileTrigger.classList.toggle('state-menu-open')\n\t\t}\n\t}\n\n\tdestroy() {\n\t\t// Clean up event listeners\n\t\tconst navLinks = this.el.querySelectorAll('.js-jump-link')\n\t\tconst mobileTrigger = this.el.querySelector('.js-jump-nav-mobile-trigger')\n\n\t\tnavLinks.forEach((navLink) => {\n\t\t\tnavLink.removeEventListener('click', this.handleNavLinkClick)\n\t\t})\n\n\t\tmobileTrigger.removeEventListener('click', this.handleMobileTriggerClick)\n\t}\n}\n\nexport { StickyJumpNav }\n"],"names":["StickyJumpNav","constructor","el","this","init","navLinks","querySelectorAll","mobileTrigger","querySelector","activeEl","jumpNavList","forEach","navLink","addEventListener","event","handleNavLinkClick","handleMobileTriggerClick","window","innerWidth","preventDefault","classList","toggle","targetId","currentTarget","getAttribute","substring","offsetVal","targetElement","document","getElementById","y","isTab","getBoundingClientRect","top","scrollY","parseInt","click","scrollTo","behavior","scrollIntoView","alert","matchMedia","matches","textContent","target","destroy","removeEventListener"],"sourceRoot":""}