{"version":3,"file":"72.min.js?t=1743173738202","mappings":"4JACe,MAAMA,EACnBC,WAAAA,CAAYC,GACLA,IACLC,KAAKD,GAAKA,EAGVC,KAAKC,OACP,CAEAA,IAAAA,GAEE,MAAMC,EAAWF,KAAKD,GAAGI,iBAAiB,iBACpCC,EAAgBJ,KAAKD,GAAGM,cAAc,+BACtCC,EAAWN,KAAKD,GAAGM,cAAc,0BACjCE,EAAcP,KAAKD,GAAGM,cAAc,qBAC1CH,EAASM,SAAQC,IACfA,EAAQC,iBAAiB,SAASC,GAASX,KAAKY,mBAAmBD,EAAOL,EAAUC,EAAaH,IAAe,IAGlHA,EAAcM,iBAAiB,SAASC,GAASX,KAAKa,yBAAyBF,EAAOL,EAAUC,EAAaH,IAC/G,CAEAS,wBAAAA,CAA0BF,EAAOL,EAAUC,EAAaH,GAClDU,OAAOC,WAAa,MACtBJ,EAAMK,iBACNT,EAAYU,UAAUC,OAAO,iBAC7Bd,EAAca,UAAUC,OAAO,mBAEnC,CAEAN,kBAAAA,CAAoBD,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,IAIFG,EAHoBH,EAAcK,wBAAwBC,IAC1ChB,OAAOiB,SACER,EAAYS,SAAST,GAAa,IAIzDK,GAASJ,GACXA,EAAcS,QAIZT,EACED,EACFT,OAAOoB,SAAS,CAAEJ,IAAKH,EAAGQ,SAAU,WAEpCX,EAAcY,eAAe,CAAED,SAAU,WAI3CE,MAAM,uBAAuBlB,WAG3BL,OAAOwB,WAAW,sBAAsBC,UAC1CjC,EAASkC,YAAc7B,EAAM8B,OAAOD,YACpCjC,EAAYU,UAAUC,OAAO,iBAC7Bd,EAAca,UAAUC,OAAO,mBAEnC,CAEAwB,OAAAA,GAEE,MAAMxC,EAAWF,KAAKD,GAAGI,iBAAiB,iBACpCC,EAAgBJ,KAAKD,GAAGM,cAAc,+BAE5CH,EAASM,SAAQC,IACfA,EAAQkC,oBAAoB,QAAS3C,KAAKY,mBAAmB,IAG/DR,EAAcuC,oBAAoB,QAAS3C,KAAKa,yBAClD,E","sources":["webpack://@hero-digital/masonite/./src/components/modules/StickyJumpNav/StickyJumpNav.js"],"sourcesContent":["/* eslint-disable semi */\nexport default class StickyJumpNav {\n constructor(el, props = {}) {\n if (!el) return;\n this.el = el;\n\n // Bind event listeners and initialize the component\n this.init();\n }\n\n init() {\n // Add event listener to navigation links\n const navLinks = this.el.querySelectorAll('.js-jump-link');\n const mobileTrigger = this.el.querySelector('.js-jump-nav-mobile-trigger');\n const activeEl = this.el.querySelector('.js-jump-nav-active-el');\n const jumpNavList = this.el.querySelector('.js-jump-nav-list');\n navLinks.forEach(navLink => {\n navLink.addEventListener('click', event => this.handleNavLinkClick(event, activeEl, jumpNavList, mobileTrigger));\n })\n\n mobileTrigger.addEventListener('click', event => this.handleMobileTriggerClick(event, activeEl, jumpNavList, mobileTrigger));\n }\n\n handleMobileTriggerClick (event, activeEl, jumpNavList, mobileTrigger) {\n if (window.innerWidth < 996) {\n event.preventDefault();\n jumpNavList.classList.toggle('state-visible');\n mobileTrigger.classList.toggle('state-menu-open');\n }\n }\n\n handleNavLinkClick (event, activeEl, jumpNavList, mobileTrigger) {\n // Prevent default link behavior\n event.preventDefault();\n\n // Get the target element's ID from the href attribute\n const targetId = event.currentTarget.getAttribute('href').substring(1);\n const offsetVal = event.currentTarget.getAttribute('data-offset');\n const targetElement = document.getElementById(targetId);\n let y = null;\n const isTab = event.currentTarget.getAttribute('data-linkstotab');\n\n if (targetElement) {\n const topPosition = targetElement.getBoundingClientRect().top;\n const yOffset = window.scrollY;\n const additionalOffset = offsetVal ? parseInt(offsetVal) : 0;\n y = topPosition + yOffset + additionalOffset;\n }\n\n if (isTab && targetElement) {\n targetElement.click()\n }\n\n // Smooth scroll to the target element\n if (targetElement) {\n if (offsetVal) {\n window.scrollTo({ top: y, behavior: 'smooth' });\n } else {\n targetElement.scrollIntoView({ behavior: 'smooth' });\n }\n } else {\n // eslint-disable-next-line no-undef\n alert(`no section with id: ${targetId} found`);\n }\n\n if (window.matchMedia('(max-width: 995px)').matches) {\n activeEl.textContent = event.target.textContent;\n jumpNavList.classList.toggle('state-visible');\n mobileTrigger.classList.toggle('state-menu-open');\n }\n }\n\n destroy () {\n // Clean up event listeners\n const navLinks = this.el.querySelectorAll('.js-jump-link');\n const mobileTrigger = this.el.querySelector('.js-jump-nav-mobile-trigger');\n\n navLinks.forEach(navLink => {\n navLink.removeEventListener('click', this.handleNavLinkClick);\n });\n\n mobileTrigger.removeEventListener('click', this.handleMobileTriggerClick);\n }\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":""}