{"version":3,"file":"/src/OMMUmbracoCMS/wwwroot/dist/js/blocks/sticky-page-navigation.js","mappings":"AACIA,SAASC,iBAAiB,oBAAoB,WAC1C,IAAIC,EAAU,GACdF,SAASG,iBAAiB,WAAWC,SAAQ,SAACC,GAC1CH,EAAQI,KAAKD,GACbA,EAAGJ,iBAAiB,SAAS,YAsCzC,SAAyCI,GACrC,IAAIE,EAAUP,SAASQ,cAAcH,EAAGI,aAAa,SAEjDC,EAAe,IAEfC,EADkBJ,EAAQK,wBAAwBC,IACfC,OAAOC,YAAcL,EAE5DI,OAAOE,SAAS,CACZH,IAAKF,EACLM,SAAU,UAIlB,CAlDgBC,CAAgCb,EACpC,GACJ,IACIH,GAAWA,EAAQiB,OAAS,GAC5BL,OAAOb,iBAAiB,UAAU,YAO9C,SAAoCC,GAChC,GAAIF,SAASQ,cAAc,uBAAwB,CAC/C,IAAIY,EAAmBpB,SAASQ,cAAc,uBAAuBI,wBAAwBC,IACzFQ,EAAU,GAEdnB,EAAQE,SAAQ,SAACC,GACb,IAEIQ,EAFSb,SAASQ,cAAcH,EAAGI,aAAa,SACxBG,wBACHC,IACzBQ,EAAQf,KAAKO,EACjB,IAEA,IAAIS,EAAUD,EAAQE,QAAO,SAAUC,EAAMC,GACzC,OAAQC,KAAKC,IAAIF,EAAOL,GAAoBM,KAAKC,IAAIH,EAAOJ,GAAoBK,EAAOD,CAC3F,IAEII,EAAS1B,EAAQmB,EAAQQ,QAAQP,IAErCtB,SAASG,iBAAiB,WAAWC,SAAQ,SAACC,GAC1CA,EAAGyB,UAAUC,OAAO,SACxB,IAEAH,EAAOE,UAAUE,IAAI,SACzB,CACJ,CA9BgBC,CAA2B/B,EAC/B,GAER","sources":["webpack://omm-umbraco/./src/OMMUmbracoCMS/Resources/js/blocks/sticky-page-navigation.js"],"sourcesContent":["(function () {\r\n document.addEventListener(\"DOMContentLoaded\", function () {\r\n let anchors = [];\r\n document.querySelectorAll(\".anchor\").forEach((el) => {\r\n anchors.push(el);\r\n el.addEventListener(\"click\", function () {\r\n StickyPageNavAnchorClickHandler(el);\r\n });\r\n });\r\n if (anchors && anchors.length > 0) {\r\n window.addEventListener(\"scroll\", function () {\r\n StickyPageNavScrollHandler(anchors);\r\n });\r\n }\r\n })\r\n})();\r\n\r\nfunction StickyPageNavScrollHandler(anchors) {\r\n if (document.querySelector(\".page-subnavigation\")) {\r\n let navigationOffset = document.querySelector(\".page-subnavigation\").getBoundingClientRect().top;\r\n let offsets = [];\r\n\r\n anchors.forEach((el) => {\r\n let target = document.querySelector(el.getAttribute(\"href\"));\r\n var viewportOffset = target.getBoundingClientRect();\r\n var top = viewportOffset.top;\r\n offsets.push(top);\r\n });\r\n\r\n let closest = offsets.reduce(function (prev, curr) {\r\n return (Math.abs(curr - navigationOffset) < Math.abs(prev - navigationOffset) ? curr : prev);\r\n });\r\n\r\n let active = anchors[offsets.indexOf(closest)];\r\n\r\n document.querySelectorAll(\".anchor\").forEach((el) => {\r\n el.classList.remove(\"active\");\r\n });\r\n\r\n active.classList.add(\"active\");\r\n }\r\n}\r\n\r\nfunction StickyPageNavAnchorClickHandler(el) {\r\n var element = document.querySelector(el.getAttribute(\"href\"));\r\n\r\n var headerOffset = 100;\r\n var elementPosition = element.getBoundingClientRect().top;\r\n var offsetPosition = elementPosition + window.pageYOffset - headerOffset;\r\n\r\n window.scrollTo({\r\n top: offsetPosition,\r\n behavior: 'smooth',\r\n });\r\n\r\n return false;\r\n}"],"names":["document","addEventListener","anchors","querySelectorAll","forEach","el","push","element","querySelector","getAttribute","headerOffset","offsetPosition","getBoundingClientRect","top","window","pageYOffset","scrollTo","behavior","StickyPageNavAnchorClickHandler","length","navigationOffset","offsets","closest","reduce","prev","curr","Math","abs","active","indexOf","classList","remove","add","StickyPageNavScrollHandler"],"sourceRoot":""}