{"version":3,"file":"jump-links-block.min.js","sources":["jump-links-block.min.js"],"sourcesContent":["\"use strict\";\n\n(function () {\n var links = document.querySelectorAll('[data-jump-link]');\n var componentsPosition = [];\n var BreakException = {};\n progressBar();\n document.querySelectorAll('.jump_links_block__item_link').forEach(function (element) {\n var _URL$hash;\n var targetId = (_URL$hash = new URL(element.href).hash) === null || _URL$hash === void 0 ? void 0 : _URL$hash.replace('#', '');\n var targetComponent = document.getElementById(targetId);\n if (targetComponent) {\n componentsPosition.push(targetComponent);\n } else {\n componentsPosition.push(-1);\n }\n });\n window.addEventListener('resize', function () {\n progressBar();\n });\n window.addEventListener('scroll', function () {\n progressBar();\n var position = window.scrollY || document.body.scrollTop;\n try {\n var index = componentsPosition.length;\n while (--index && position + 96 < componentsPosition[index].getBoundingClientRect().top + position) {}\n links.forEach(function (link) {\n return link.classList.remove('active-link');\n });\n if (index >= 0) {\n links[index].classList.add('active-link');\n }\n } catch (e) {\n if (e !== BreakException) throw e;\n }\n }, {\n passive: true\n });\n function progressBar() {\n var jumpLinks = document.querySelector(\".jump_links_block__wrapper\");\n var firstComponent = jumpLinks.nextElementSibling;\n var lastComponent = jumpLinks.parentElement.lastElementChild;\n var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n var clientHeight = document.documentElement.clientHeight || window.innerHeight;\n var scrolled = 0;\n if (scrollTop > firstComponent.offsetTop && scrollTop < lastComponent.offsetTop + lastComponent.offsetHeight - clientHeight) {\n scrolled = (scrollTop - firstComponent.offsetTop) / (lastComponent.offsetTop + lastComponent.offsetHeight - firstComponent.offsetTop - clientHeight) * 100;\n } else if (scrollTop >= lastComponent.offsetTop + lastComponent.offsetHeight - clientHeight) {\n scrolled = 100;\n }\n var progressBar = document.querySelector('.progress_bar .progress_bar__progress');\n progressBar.style.width = \"\".concat(scrolled, \"%\");\n }\n ;\n})();"],"names":["links","document","querySelectorAll","componentsPosition","BreakException","progressBar","jumpLinks","querySelector","firstComponent","nextElementSibling","lastComponent","parentElement","lastElementChild","scrollTop","documentElement","body","clientHeight","window","innerHeight","scrolled","offsetTop","offsetHeight","style","width","concat","forEach","element","targetId","_URL$hash","URL","href","hash","replace","targetComponent","getElementById","push","addEventListener","position","scrollY","index","length","getBoundingClientRect","top","link","classList","remove","add","e","passive"],"mappings":"CAEA,KACE,IAAIA,EAAQC,SAASC,iBAAiB,kBAAkB,EACpDC,EAAqB,GACrBC,EAAiB,GAiCrB,SAASC,IACP,IAAIC,EAAYL,SAASM,cAAc,4BAA4B,EAC/DC,EAAiBF,EAAUG,mBAC3BC,EAAgBJ,EAAUK,cAAcC,iBACxCC,EAAYZ,SAASa,gBAAgBD,WAAaZ,SAASc,KAAKF,UAChEG,EAAef,SAASa,gBAAgBE,cAAgBC,OAAOC,YAC/DC,EAAW,EACXN,EAAYL,EAAeY,WAAaP,EAAYH,EAAcU,UAAYV,EAAcW,aAAeL,EAC7GG,GAAYN,EAAYL,EAAeY,YAAcV,EAAcU,UAAYV,EAAcW,aAAeb,EAAeY,UAAYJ,GAAgB,IAC9IH,GAAaH,EAAcU,UAAYV,EAAcW,aAAeL,IAC7EG,EAAW,KAEKlB,SAASM,cAAc,uCAAuC,EACpEe,MAAMC,MAAQ,GAAGC,OAAOL,EAAU,GAAG,CACnD,CA9CAd,EAAY,EACZJ,SAASC,iBAAiB,8BAA8B,EAAEuB,QAAQ,SAAUC,GAEtEC,EAAW,OAACC,EAAY,IAAIC,IAAIH,EAAQI,IAAI,EAAEC,MAAyC,KAAA,EAASH,EAAUI,QAAQ,IAAK,EAAE,EACzHC,EAAkBhC,SAASiC,eAAeP,CAAQ,EAEpDxB,EAAmBgC,KADjBF,GAGsB,CAAC,CAFc,CAI3C,CAAC,EACDhB,OAAOmB,iBAAiB,SAAU,WAChC/B,EAAY,CACd,CAAC,EACDY,OAAOmB,iBAAiB,SAAU,WAChC/B,EAAY,EACZ,IAAIgC,EAAWpB,OAAOqB,SAAWrC,SAASc,KAAKF,UAC/C,IAEE,IADA,IAAI0B,EAAQpC,EAAmBqC,OACxB,EAAED,GAASF,EAAW,GAAKlC,EAAmBoC,GAAOE,sBAAsB,EAAEC,IAAML,IAC1FrC,EAAMyB,QAAQ,SAAUkB,GACtB,OAAOA,EAAKC,UAAUC,OAAO,aAAa,CAC5C,CAAC,EACY,GAATN,GACFvC,EAAMuC,GAAOK,UAAUE,IAAI,aAAa,CAI5C,CAFE,MAAOC,GACP,GAAIA,IAAM3C,EAAgB,MAAM2C,CAClC,CACF,EAAG,CACDC,QAAS,CAAA,CACX,CAAC,CAiBF,GAAE"}