{"version":3,"file":"chunks/5e5e093f77aefe.js","mappings":"gRAmGA,QAnGMA,WACJ,WAAYC,EAASC,I,4FAAQ,SAC3BC,KAAKC,eAAiBC,OAAOH,EAAOE,gBACpCD,KAAKF,QAAUA,EACfE,KAAKG,WAAaL,EAAQM,iBAAiB,4BAC3CJ,KAAKK,cAAgBC,SAASC,uBAAuB,sBACrDP,KAAKQ,O,wCAGP,WAAO,WACLF,SAASG,iBAAiB,SAAS,SAASC,GACrBJ,SAASK,KAAKC,UAAUC,SAAS,oBAChCH,EAAEI,OAAOC,MAAQL,EAAEI,OAAOC,KAAKC,QAAQ,gBAAkB,IAC7EN,EAAEO,iBACFC,OAAOC,SAASC,KAAO,OAI3BC,MAAMC,KAAKtB,KAAKG,YAAYoB,SAAQ,SAAAC,GAClCA,EAASf,iBAAiB,SAAS,SAACC,GAClC,IACIe,EAAa,QADLf,EAAEI,OAAOY,UAAUC,MAAM,aAAa,GAKhDjB,EAAEO,iBAGJI,MAAMC,KAAK,EAAKnB,YAAYoB,SAAQ,SAAAK,GAC9BlB,EAAEI,QAAUc,IAAUA,EAAMC,WAAWjB,UAAUC,SAAS,WAAae,EAAMC,WAAWjB,UAAUC,SAASY,IAC7GG,EAAMC,WAAWjB,UAAUkB,OAAO,eAIjC,EAAKhC,QAAQc,UAAUC,SAAS,mBACnC,EAAKf,QAAQ+B,WAAWE,UAAY,GAEtC,EAAKjC,QAAQc,UAAUoB,OAAO,iBAC9BtB,EAAEI,OAAOe,WAAWjB,UAAUoB,OAAO,kBAIzCX,MAAMC,KAAKtB,KAAKK,eAAekB,SAAQ,SAAAU,GACrCA,EAAaxB,iBAAiB,SAAS,SAACC,GACtC,EAAKZ,QAAQc,UAAUkB,OAAO,iBAC9BpB,EAAEI,OAAOe,WAAWA,WAAWjB,UAAUkB,OAAO,kBAIpDZ,OAAOT,iBAAiB,UAAU,WAChC,EAAKyB,wBAEPhB,OAAOT,iBAAiB,UAAU,WAChC,EAAKyB,0B,2BAIT,SAAcC,GAEZ,IAFgC,IAAhBC,EAAgB,uDAAH,EACzBC,EAAYD,EACS,OAAlBD,EAAGN,YACRQ,GAAaF,EAAGG,UAChBH,EAAKA,EAAGN,WAEV,OAAOQ,I,gCAIT,WACE,IAAIE,EAASrB,OAAOsB,QAChBC,EAASvB,OAAOwB,YAChBC,EAAa3C,KAAKF,QAAQ8C,MAC1BC,EAAc7C,KAAKF,QAAQgD,aAE3BC,EAAkB/C,KAAKF,QAAQ+B,WAC/BmB,EAAgBhD,KAAKiD,cAAcF,GAAmB,GACtDG,EAAelD,KAAKiD,cAAcF,EAAgBlB,WAAYkB,EAAgBlB,WAAWiB,cACzFK,EAAYZ,EAASW,EAAeT,EAEpCF,GAAWS,EAAgBhD,KAAKC,gBAClC0C,EAAWS,SAAW,QACtBT,EAAWU,UAAY,iBAAmBrD,KAAKC,eAAiB,IAAM,MACtE0C,EAAWW,MAAStD,KAAKF,QAAQ+B,WAAW0B,YAAc,GAAM,KAC5DhB,EAAUW,EAAeL,EAAc7C,KAAKC,gBAC9C0C,EAAWa,OAASL,EAAY,KAChCR,EAAWc,IAAM,SAEjBd,EAAWc,IAAMzD,KAAKC,eAAiB,KACvC0C,EAAWa,OAAS,UAGtBb,EAAWS,SAAW,SACtBT,EAAWc,IAAM,OACjBd,EAAWa,OAAS,OACpBb,EAAWW,MAAQ,W,yEA7FnBzD","sources":["webpack:///./resources/js/components/generic/microsite-nav.ts"],"sourcesContent":["class MicrositeNav {\n constructor(domRoot, params) {\n this.stickyPosition = Number(params.stickyPosition);\n this.domRoot = domRoot;\n this.indicators = domRoot.querySelectorAll(\".is-nested-microsite-nav\");\n this.mobileToggles = document.getElementsByClassName(\"mobile-header-link\");\n this.init();\n }\n\n init() {\n document.addEventListener(\"click\", function(e) {\n var sidebarToggled = document.body.classList.contains(\"sidebar-toggled\");\n if (sidebarToggled && e.target.href && e.target.href.indexOf(\"#navigation\") > -1) {\n e.preventDefault();\n window.location.hash = '';\n }\n });\n\n Array.from(this.indicators).forEach(sideLink => {\n sideLink.addEventListener(\"click\", (e)=> {\n let level = e.target.className.match(/level(\\d)/)[1];\n let levelClass = 'level' + level;\n // if (this.domRoot.classList.contains(\"mobile-reveal\") && e.target.classList.contains('level2')) {\n // return false;\n // } else {\n e.preventDefault();\n // }\n\n Array.from(this.indicators).forEach(sLink => {\n if (e.target != sLink && !sLink.parentNode.classList.contains('active') && sLink.parentNode.classList.contains(levelClass)) {\n sLink.parentNode.classList.remove(\"revealed\");\n }\n });\n\n if (!this.domRoot.classList.contains(\"mobile-reveal\")) {\n this.domRoot.parentNode.scrollTop = 0;\n }\n this.domRoot.classList.toggle(\"mobile-reveal\");\n e.target.parentNode.classList.toggle(\"revealed\"); \n });\n });\n\n Array.from(this.mobileToggles).forEach(mobileToggle => {\n mobileToggle.addEventListener(\"click\", (e)=> {\n this.domRoot.classList.remove(\"mobile-reveal\");\n e.target.parentNode.parentNode.classList.remove(\"revealed\");\n });\n });\n\n window.addEventListener(\"scroll\", () => {\n this.checkWhichScrolled();\n });\n window.addEventListener(\"resize\", () => {\n this.checkWhichScrolled();\n });\n }\n\n offsetTopFind(el, withHeight = 0) {\n var yPosition = withHeight;\n while (el.parentNode !== null) {\n yPosition += el.offsetTop;\n el = el.parentNode;\n }\n return yPosition;\n }\n\n\n checkWhichScrolled() {\n let winTop = window.scrollY;\n let winBot = window.innerHeight;\n let guideStyle = this.domRoot.style;\n let guideHeight = this.domRoot.offsetHeight;\n\n let parentContainer = this.domRoot.parentNode;\n let sidebarOffset = this.offsetTopFind(parentContainer) - 50;\n let parentHeight = this.offsetTopFind(parentContainer.parentNode, parentContainer.parentNode.offsetHeight);\n let bottomPos = winTop - parentHeight + winBot;\n\n if (winTop >= (sidebarOffset - this.stickyPosition)) {\n guideStyle.position = \"fixed\";\n guideStyle.maxHeight = \"calc(100vh - \" + (this.stickyPosition + 50) + \"px)\";\n guideStyle.width = (this.domRoot.parentNode.offsetWidth - 32) + \"px\";\n if (winTop > (parentHeight - guideHeight - this.stickyPosition)) {\n guideStyle.bottom = bottomPos + \"px\";\n guideStyle.top = \"auto\";\n } else {\n guideStyle.top = this.stickyPosition + \"px\";\n guideStyle.bottom = \"auto\";\n }\n } else {\n guideStyle.position = \"static\";\n guideStyle.top = \"auto\";\n guideStyle.bottom = \"auto\";\n guideStyle.width = \"auto\";\n }\n }\n\n}\n\nexport default MicrositeNav;"],"names":["MicrositeNav","domRoot","params","this","stickyPosition","Number","indicators","querySelectorAll","mobileToggles","document","getElementsByClassName","init","addEventListener","e","body","classList","contains","target","href","indexOf","preventDefault","window","location","hash","Array","from","forEach","sideLink","levelClass","className","match","sLink","parentNode","remove","scrollTop","toggle","mobileToggle","checkWhichScrolled","el","withHeight","yPosition","offsetTop","winTop","scrollY","winBot","innerHeight","guideStyle","style","guideHeight","offsetHeight","parentContainer","sidebarOffset","offsetTopFind","parentHeight","bottomPos","position","maxHeight","width","offsetWidth","bottom","top"],"sourceRoot":""}