{"version":3,"sources":["webpack:///./plugins/indicateInnerScroll/js/scrollIndicator.module.js","webpack:///./node_modules/@atypon/ui-bundle-generator/.generated/groups/_sections.js","webpack:///./components/sections-navbar/js/sections-navbar.js","webpack:///./components/sections-navbar/js/section-navbar.module.js","webpack:///./widgets/table-of-content/js/table-of-content.js"],"names":["s","markInnerScroll","_ref","target","scrollLeft","scrollWidth","clientWidth","classList","add","remove","scrollTop","scrollHeight","clientHeight","initFor","timerId","addEventListener","throttleMarking","setTimeout","window","init","targets","document","querySelectorAll","length","forEach","scrollIndicatorModule","module","exports","main","UX","$toc","Array","prototype","slice","call","getElementsByClassName","toc","err","console","error","sectionsNavbar","require","scrollIndicator","id","observerOptions","threshold","rootMargin","sections","articleView","querySelector","getElementById","container","createElement","innerHTML","outerHTML","list","concat","listNew","cloneNode","map","o","link","createNavItem","sectionParent","navbarPointer","appendChild","observe","_this","parentNode","replaceChild","update","item","href","innerlinks","a","span","innerText","e","moveTo","elem","IntersectionObserver","observer","onIntersectionChange","entries","entry","isIntersecting","prevActive","preventDefault","targetTopCorrection","getTopOverlayHeight","$","animate","offsetTop","sectionNavbar","initNavbar","_typeof","titles","preparedTitle"],"mappings":"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","file":"js/sections-3df72fac80a2b4e1fb49.js","sourcesContent":["const s = {\n markInnerScroll: function ({target}) {\n // if (stepCheckpoint !== 0 && Math.abs(target.scrollLeft - stepCheckpoint) < step) {\n // return\n // }\n // console.log(target.scrollLeft)\n // stepCheckpoint = target.scrollLeft\n //\n // /* @TODO cover edge cases */\n\n if (target.scrollLeft !== target.scrollWidth - target.clientWidth) {\n target.classList.add('js--has-scroll-right');\n } else {\n target.classList.remove('js--has-scroll-right');\n }\n\n if (target.scrollLeft > 0) {\n target.classList.add('js--has-scroll-left');\n } else {\n target.classList.remove('js--has-scroll-left');\n }\n\n if (target.scrollTop !== target.scrollHeight - target.clientHeight) {\n target.classList.add('js--has-scroll-bottom');\n } else {\n target.classList.remove('js--has-scroll-bottom');\n }\n\n if (target.scrollTop > 0) {\n target.classList.add('js--has-scroll-top');\n } else {\n target.classList.remove('js--has-scroll-top');\n }\n },\n\n initFor: function (target) {\n s.markInnerScroll({target});\n target.addEventListener('scroll', s.markInnerScroll);\n let timerId;\n\n const throttleMarking = () => {\n if (timerId) {\n return;\n }\n timerId = setTimeout(() => {\n s.markInnerScroll({target});\n timerId = null;\n }, 150);\n };\n\n window.addEventListener('scroll', throttleMarking);\n window.addEventListener('resize', throttleMarking);\n },\n\n init() {\n /* @TODO support progressive enhancement */\n\n const selector = '.js--indicate-inner-scroll';\n const targets = document.querySelectorAll(selector);\n\n if (!targets.length) {\n return;\n }\n\n targets.forEach(s.initFor);\n },\n};\n\nconst scrollIndicatorModule = s;\n\nmodule.exports = scrollIndicatorModule;\n","\n import '/mnt/ssd/na101/home/literatum/sourcegit/ui-products-branches/maint-250107-f18a1bc8/ui-products/nrc/components/sections-navbar/js/sections-navbar';\n \nimport '/mnt/ssd/na101/home/literatum/sourcegit/ui-products-branches/maint-250107-f18a1bc8/ui-products/nrc/widgets/table-of-content/js/table-of-content';\n \nconst main = (UX) => {\n const $toc = Array.prototype.slice.call(document.getElementsByClassName('toc'))\n\ntry {\n if ($toc.length ) {\n UX.toc.init($toc);\n }\n } catch (err) {\n console.error(err);\n }\n \n}\n\n export default main;\n ","UX.sectionsNavbar = require('./section-navbar.module');\n","const scrollIndicator = require('../../../plugins/indicateInnerScroll/js/scrollIndicator.module');\n\nconst s = {\n id: 'sections-navbar', // also serves as a css source as a class\n observerOptions: {\n threshold: 0,\n rootMargin: '-30% 0% -65% 0%',\n },\n init: (sections, articleView) => {\n s.main = document.querySelector('[data-core-nav=\"article\"]') || document.getElementById(s.id);\n s.main.classList.add(s.id);\n\n const containerExisting = s.main.querySelector('.' + s.id + '__container');\n\n if (!containerExisting) {\n const container = document.createElement('div');\n container.classList.add(s.id + '__container');\n container.innerHTML = s.main.innerHTML;\n s.main.innerHTML = container.outerHTML;\n }\n\n if (s.main) {\n const list = s.main.querySelector(`.${s.id}__list`) || s.main.querySelector('ul');\n if (list) {\n const listNew = list.cloneNode(true);\n listNew.innerHTML = '';\n if (sections.length) {\n sections.map(o => {\n let link = s.createNavItem(o, listNew);\n o.sectionParent.navbarPointer = link;\n listNew.appendChild(link);\n s.observe(o.sectionParent);\n });\n } else {\n s.main.classList.add(`${s.id}--empty`);\n }\n\n if (articleView) {\n this.articleView = articleView;\n }\n\n list.parentNode.replaceChild(listNew, list);\n s.list = listNew;\n scrollIndicator.initFor(listNew);\n }\n // @TODO implement event delegation\n // $(s.main).on('click', 'a', e => {\n // console.log(e)\n // })\n return s.main;\n }\n },\n\n update: function () {\n scrollIndicator.markInnerScroll({target: s.list});\n },\n\n createNavItem: (item, list) => {\n const link = document.createElement('a');\n link.href = '#' + item.id;\n link.innerHTML = item.innerHTML;\n // Trim inner links as they cause numerous problems\n const innerlinks = link.querySelectorAll('a');\n innerlinks?.forEach(a => {\n const span = document.createElement('span');\n span.innerText = a.innerText;\n link.replaceChild(span, a);\n });\n link.classList.add(`${s.id}__list__item`);\n link.addEventListener('click', e => s.moveTo(e, item));\n\n const container = document.createElement('li');\n container.appendChild(link);\n return container;\n },\n\n observe: elem => {\n // will observer work on a non DOM elem?\n if (typeof window.IntersectionObserver !== 'undefined') {\n if (!s.observer) {\n s.observer = new IntersectionObserver(s.onIntersectionChange, s.observerOptions);\n }\n s.observer.observe(elem);\n }\n },\n\n onIntersectionChange: (entries, observer) => {\n entries.map(entry => {\n if (entry.isIntersecting) {\n const prevActive = s.main.querySelector('.active'); // @TODO find a better way to do that\n if (prevActive) {\n prevActive.classList.remove('active');\n }\n entry.target.navbarPointer.classList.add('active');\n } else {\n entry.target.navbarPointer.classList.remove('active');\n }\n });\n },\n\n moveTo: (e, target) => {\n e.preventDefault();\n // since we already have this good animation library it would be extremely ... to write or import another one\n const targetTopCorrection = this.articleView ? this.articleView.getTopOverlayHeight() : 0;\n $('html, body').animate({scrollTop: target.offsetTop - targetTopCorrection}, 500);\n },\n};\nconst sectionNavbar = s;\n\nmodule.exports = sectionNavbar;\n","UX.toc = {\n // get navbar and pass data\n //\n init: () => {\n UX.toc.initNavbar();\n },\n\n initNavbar: () => {\n if (typeof UX.sectionsNavbar === 'object') {\n const sections = document.querySelectorAll('.toc__section'); // @TODO maybe better to use full name? -> table-of-content\n const titles = Array.prototype.slice.call(sections).map(o => {\n const preparedTitle = o.querySelector('.to-section');\n if (preparedTitle) {\n preparedTitle.sectionParent = o;\n return preparedTitle;\n }\n });\n UX.sectionsNavbar.init(titles);\n }\n },\n};\n"],"sourceRoot":""}