{"version":3,"file":"./modules/AnchorNavigation.xxxxxxxx.js","mappings":"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","sources":["webpack:///../../../node_modules/smoothscroll-polyfill/dist/smoothscroll.js","webpack:///./modules/AnchorNavigation.ts","webpack:///./modules/ScrollDirection.ts"],"sourcesContent":["/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n  'use strict';\n\n  // polyfill\n  function polyfill() {\n    // aliases\n    var w = window;\n    var d = document;\n\n    // return if scroll behavior is supported and polyfill is not forced\n    if (\n      'scrollBehavior' in d.documentElement.style &&\n      w.__forceSmoothScrollPolyfill__ !== true\n    ) {\n      return;\n    }\n\n    // globals\n    var Element = w.HTMLElement || w.Element;\n    var SCROLL_TIME = 468;\n\n    // object gathering original scroll methods\n    var original = {\n      scroll: w.scroll || w.scrollTo,\n      scrollBy: w.scrollBy,\n      elementScroll: Element.prototype.scroll || scrollElement,\n      scrollIntoView: Element.prototype.scrollIntoView\n    };\n\n    // define timing method\n    var now =\n      w.performance && w.performance.now\n        ? w.performance.now.bind(w.performance)\n        : Date.now;\n\n    /**\n     * indicates if a the current browser is made by Microsoft\n     * @method isMicrosoftBrowser\n     * @param {String} userAgent\n     * @returns {Boolean}\n     */\n    function isMicrosoftBrowser(userAgent) {\n      var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n      return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n    }\n\n    /*\n     * IE has rounding bug rounding down clientHeight and clientWidth and\n     * rounding up scrollHeight and scrollWidth causing false positives\n     * on hasScrollableSpace\n     */\n    var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n    /**\n     * changes scroll position inside an element\n     * @method scrollElement\n     * @param {Number} x\n     * @param {Number} y\n     * @returns {undefined}\n     */\n    function scrollElement(x, y) {\n      this.scrollLeft = x;\n      this.scrollTop = y;\n    }\n\n    /**\n     * returns result of applying ease math function to a number\n     * @method ease\n     * @param {Number} k\n     * @returns {Number}\n     */\n    function ease(k) {\n      return 0.5 * (1 - Math.cos(Math.PI * k));\n    }\n\n    /**\n     * indicates if a smooth behavior should be applied\n     * @method shouldBailOut\n     * @param {Number|Object} firstArg\n     * @returns {Boolean}\n     */\n    function shouldBailOut(firstArg) {\n      if (\n        firstArg === null ||\n        typeof firstArg !== 'object' ||\n        firstArg.behavior === undefined ||\n        firstArg.behavior === 'auto' ||\n        firstArg.behavior === 'instant'\n      ) {\n        // first argument is not an object/null\n        // or behavior is auto, instant or undefined\n        return true;\n      }\n\n      if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n        // first argument is an object and behavior is smooth\n        return false;\n      }\n\n      // throw error when behavior is not supported\n      throw new TypeError(\n        'behavior member of ScrollOptions ' +\n          firstArg.behavior +\n          ' is not a valid value for enumeration ScrollBehavior.'\n      );\n    }\n\n    /**\n     * indicates if an element has scrollable space in the provided axis\n     * @method hasScrollableSpace\n     * @param {Node} el\n     * @param {String} axis\n     * @returns {Boolean}\n     */\n    function hasScrollableSpace(el, axis) {\n      if (axis === 'Y') {\n        return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n      }\n\n      if (axis === 'X') {\n        return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n      }\n    }\n\n    /**\n     * indicates if an element has a scrollable overflow property in the axis\n     * @method canOverflow\n     * @param {Node} el\n     * @param {String} axis\n     * @returns {Boolean}\n     */\n    function canOverflow(el, axis) {\n      var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n      return overflowValue === 'auto' || overflowValue === 'scroll';\n    }\n\n    /**\n     * indicates if an element can be scrolled in either axis\n     * @method isScrollable\n     * @param {Node} el\n     * @param {String} axis\n     * @returns {Boolean}\n     */\n    function isScrollable(el) {\n      var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n      var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n\n      return isScrollableY || isScrollableX;\n    }\n\n    /**\n     * finds scrollable parent of an element\n     * @method findScrollableParent\n     * @param {Node} el\n     * @returns {Node} el\n     */\n    function findScrollableParent(el) {\n      while (el !== d.body && isScrollable(el) === false) {\n        el = el.parentNode || el.host;\n      }\n\n      return el;\n    }\n\n    /**\n     * self invoked function that, given a context, steps through scrolling\n     * @method step\n     * @param {Object} context\n     * @returns {undefined}\n     */\n    function step(context) {\n      var time = now();\n      var value;\n      var currentX;\n      var currentY;\n      var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n      // avoid elapsed times higher than one\n      elapsed = elapsed > 1 ? 1 : elapsed;\n\n      // apply easing to elapsed time\n      value = ease(elapsed);\n\n      currentX = context.startX + (context.x - context.startX) * value;\n      currentY = context.startY + (context.y - context.startY) * value;\n\n      context.method.call(context.scrollable, currentX, currentY);\n\n      // scroll more if we have not reached our destination\n      if (currentX !== context.x || currentY !== context.y) {\n        w.requestAnimationFrame(step.bind(w, context));\n      }\n    }\n\n    /**\n     * scrolls window or element with a smooth behavior\n     * @method smoothScroll\n     * @param {Object|Node} el\n     * @param {Number} x\n     * @param {Number} y\n     * @returns {undefined}\n     */\n    function smoothScroll(el, x, y) {\n      var scrollable;\n      var startX;\n      var startY;\n      var method;\n      var startTime = now();\n\n      // define scroll context\n      if (el === d.body) {\n        scrollable = w;\n        startX = w.scrollX || w.pageXOffset;\n        startY = w.scrollY || w.pageYOffset;\n        method = original.scroll;\n      } else {\n        scrollable = el;\n        startX = el.scrollLeft;\n        startY = el.scrollTop;\n        method = scrollElement;\n      }\n\n      // scroll looping over a frame\n      step({\n        scrollable: scrollable,\n        method: method,\n        startTime: startTime,\n        startX: startX,\n        startY: startY,\n        x: x,\n        y: y\n      });\n    }\n\n    // ORIGINAL METHODS OVERRIDES\n    // w.scroll and w.scrollTo\n    w.scroll = w.scrollTo = function() {\n      // avoid action when no arguments are passed\n      if (arguments[0] === undefined) {\n        return;\n      }\n\n      // avoid smooth behavior if not required\n      if (shouldBailOut(arguments[0]) === true) {\n        original.scroll.call(\n          w,\n          arguments[0].left !== undefined\n            ? arguments[0].left\n            : typeof arguments[0] !== 'object'\n              ? arguments[0]\n              : w.scrollX || w.pageXOffset,\n          // use top prop, second argument if present or fallback to scrollY\n          arguments[0].top !== undefined\n            ? arguments[0].top\n            : arguments[1] !== undefined\n              ? arguments[1]\n              : w.scrollY || w.pageYOffset\n        );\n\n        return;\n      }\n\n      // LET THE SMOOTHNESS BEGIN!\n      smoothScroll.call(\n        w,\n        d.body,\n        arguments[0].left !== undefined\n          ? ~~arguments[0].left\n          : w.scrollX || w.pageXOffset,\n        arguments[0].top !== undefined\n          ? ~~arguments[0].top\n          : w.scrollY || w.pageYOffset\n      );\n    };\n\n    // w.scrollBy\n    w.scrollBy = function() {\n      // avoid action when no arguments are passed\n      if (arguments[0] === undefined) {\n        return;\n      }\n\n      // avoid smooth behavior if not required\n      if (shouldBailOut(arguments[0])) {\n        original.scrollBy.call(\n          w,\n          arguments[0].left !== undefined\n            ? arguments[0].left\n            : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n          arguments[0].top !== undefined\n            ? arguments[0].top\n            : arguments[1] !== undefined ? arguments[1] : 0\n        );\n\n        return;\n      }\n\n      // LET THE SMOOTHNESS BEGIN!\n      smoothScroll.call(\n        w,\n        d.body,\n        ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n        ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n      );\n    };\n\n    // Element.prototype.scroll and Element.prototype.scrollTo\n    Element.prototype.scroll = Element.prototype.scrollTo = function() {\n      // avoid action when no arguments are passed\n      if (arguments[0] === undefined) {\n        return;\n      }\n\n      // avoid smooth behavior if not required\n      if (shouldBailOut(arguments[0]) === true) {\n        // if one number is passed, throw error to match Firefox implementation\n        if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n          throw new SyntaxError('Value could not be converted');\n        }\n\n        original.elementScroll.call(\n          this,\n          // use left prop, first number argument or fallback to scrollLeft\n          arguments[0].left !== undefined\n            ? ~~arguments[0].left\n            : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n          // use top prop, second argument or fallback to scrollTop\n          arguments[0].top !== undefined\n            ? ~~arguments[0].top\n            : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n        );\n\n        return;\n      }\n\n      var left = arguments[0].left;\n      var top = arguments[0].top;\n\n      // LET THE SMOOTHNESS BEGIN!\n      smoothScroll.call(\n        this,\n        this,\n        typeof left === 'undefined' ? this.scrollLeft : ~~left,\n        typeof top === 'undefined' ? this.scrollTop : ~~top\n      );\n    };\n\n    // Element.prototype.scrollBy\n    Element.prototype.scrollBy = function() {\n      // avoid action when no arguments are passed\n      if (arguments[0] === undefined) {\n        return;\n      }\n\n      // avoid smooth behavior if not required\n      if (shouldBailOut(arguments[0]) === true) {\n        original.elementScroll.call(\n          this,\n          arguments[0].left !== undefined\n            ? ~~arguments[0].left + this.scrollLeft\n            : ~~arguments[0] + this.scrollLeft,\n          arguments[0].top !== undefined\n            ? ~~arguments[0].top + this.scrollTop\n            : ~~arguments[1] + this.scrollTop\n        );\n\n        return;\n      }\n\n      this.scroll({\n        left: ~~arguments[0].left + this.scrollLeft,\n        top: ~~arguments[0].top + this.scrollTop,\n        behavior: arguments[0].behavior\n      });\n    };\n\n    // Element.prototype.scrollIntoView\n    Element.prototype.scrollIntoView = function() {\n      // avoid smooth behavior if not required\n      if (shouldBailOut(arguments[0]) === true) {\n        original.scrollIntoView.call(\n          this,\n          arguments[0] === undefined ? true : arguments[0]\n        );\n\n        return;\n      }\n\n      // LET THE SMOOTHNESS BEGIN!\n      var scrollableParent = findScrollableParent(this);\n      var parentRects = scrollableParent.getBoundingClientRect();\n      var clientRects = this.getBoundingClientRect();\n\n      if (scrollableParent !== d.body) {\n        // reveal element inside parent\n        smoothScroll.call(\n          this,\n          scrollableParent,\n          scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n          scrollableParent.scrollTop + clientRects.top - parentRects.top\n        );\n\n        // reveal parent in viewport unless is fixed\n        if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n          w.scrollBy({\n            left: parentRects.left,\n            top: parentRects.top,\n            behavior: 'smooth'\n          });\n        }\n      } else {\n        // reveal element in viewport\n        w.scrollBy({\n          left: clientRects.left,\n          top: clientRects.top,\n          behavior: 'smooth'\n        });\n      }\n    };\n  }\n\n  if (typeof exports === 'object' && typeof module !== 'undefined') {\n    // commonjs\n    module.exports = { polyfill: polyfill };\n  } else {\n    // global\n    polyfill();\n  }\n\n}());\n","/// <reference path=\"../typings/niveax.d.ts\"/>\r\n\r\nimport { fromEvent, Observable } from 'rxjs';\r\nimport { takeUntil, filter, startWith, first } from 'rxjs/operators';\r\nimport { removeClassFromList, getElementHeight } from '../helpers/DOMHelpers';\r\nimport { getLastItemInArray, horizontalScrolling, isIOS, isSelectorValid } from '../helpers/helperFunctions';\r\nimport ScrollDirection from './ScrollDirection';\r\nimport smoothscroll from 'smoothscroll-polyfill';\r\n\r\nconst moduleSelector = '[data-module=\"AnchorNavigation\"]';\r\n\r\nexport default class AnchorNavigation {\r\n    private scrollDirection: ScrollDirection;\r\n    private navLinks: HTMLElement[];\r\n    private sections: HTMLElement[] = Array.from(document.querySelectorAll('div:not(.nx-tabs__item) > [data-anchor-text]'));\r\n    private scrollBody$: Observable<Event>;\r\n    private clickNav$: Observable<Event>;\r\n    private clickBody$: Observable<Event>;\r\n    private windowLoad$: Observable<Event>;\r\n    private windowPopstate$: Observable<Event>;\r\n    private scrollInterval;\r\n\r\n    static setup(selector: string = moduleSelector): void {\r\n        Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n            new AnchorNavigation(element);\r\n            element.dataset.moduleInitialized = 'true';\r\n        });\r\n    }\r\n\r\n    constructor(public element: HTMLElement) {\r\n        this.scrollDirection = new ScrollDirection(element);\r\n        this.scrollBody$ = fromEvent(window, 'scroll');\r\n        this.clickBody$ = fromEvent(document, 'click');\r\n        this.windowLoad$ = fromEvent(window, 'load');\r\n        this.windowPopstate$ = fromEvent(window, 'popstate');\r\n\r\n        this.init();\r\n    }\r\n\r\n    private init(): AnchorNavigation {\r\n        this.buildNavigation(this.sections);\r\n        horizontalScrolling(<HTMLElement>this.element.querySelector('.nx-scroll-wrapper__inner'));\r\n\r\n        this.subscribeToScrollOnBody();\r\n        if(!this.scrollToAnchorSectionOnLoad()) this.windowLoad$.pipe().subscribe(() => this.scrollToAnchorSectionOnLoad());\r\n        this.clickNav$.subscribe(({ target }: Event) => this.scrollToActiveSection(<HTMLElement>target));\r\n        this.windowPopstate$.pipe().subscribe(() => this.scrollToAnchorSectionOnLoad());\r\n        this.clickBody$.subscribe((e) => this.onDefaultAnchorClick(e));\r\n        if(this.isMainNavigationBurgerType()) this.element.querySelector('.nx-anchor-navigation')?.classList.add('nx-anchor-navigation--navigation-type-burger');\r\n\r\n        return this;\r\n    }\r\n\r\n    private isMainNavigationBurgerType(): boolean {\r\n        return document.body.querySelector('header.nx-mob-burger-nav--activated') !== null;\r\n    }\r\n\r\n    private buildNavigation(sections: HTMLElement[]): AnchorNavigation {\r\n        const container = this.element.querySelector('.nx-scroll-wrapper__inner'),\r\n            markUp = sections.map((s, counter) => {\r\n                const anchorId = s.getAttribute('data-anchor-id'),\r\n                    innerText = s.getAttribute('data-anchor-text');\r\n                if (!innerText || !anchorId) return;\r\n                s.setAttribute('data-anchor-content', '')\r\n                return `<a class=\"nx-anchor-link nx-font-heading-6\" data-href=\"${anchorId}\" title=\"${innerText}\" tabindex=\"0\">${innerText}</a>`;\r\n            }).join('');\r\n\r\n        container.innerHTML = markUp;\r\n\r\n        this.initAnchorLinks();\r\n\r\n        this.clickNav$ = fromEvent(container, 'click').pipe(\r\n            filter(({ target }: Event) => (<HTMLElement>target).tagName === 'A'),\r\n        );\r\n\r\n        return this;\r\n    }\r\n\r\n    private subscribeToScrollOnBody(): AnchorNavigation {\r\n        this.scrollBody$.pipe(\r\n            startWith(null),\r\n            takeUntil(this.clickNav$),\r\n        ).subscribe(() => this.setStickyNavigation());\r\n        return this;\r\n    }\r\n\r\n    private initAnchorLinks() {\r\n        this.navLinks = Array.from(this.element.querySelectorAll('.nx-anchor-link'));\r\n        this.triggerClickOnEnterForNavLinks();\r\n    }\r\n\r\n    private triggerClickOnEnterForNavLinks() {\r\n        this.navLinks.forEach(link => {\r\n            link.addEventListener(\"keypress\", (e) => {\r\n                if (e.key === \"Enter\") {\r\n                    link.click();\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    private getAnchorSections() {\r\n        return Array.from(document.querySelectorAll('[data-anchor-content]'));\r\n    }\r\n\r\n    private onDefaultAnchorClick(e) {\r\n        const target = (<HTMLElement>e.target).tagName === 'A' ? <HTMLElement>e.target : (<HTMLElement>e.target).closest('a');\r\n        const targetID = (target) ? (<HTMLAnchorElement>target).getAttribute('href') : false;\r\n\r\n        if (targetID && isSelectorValid(targetID)) {\r\n            e.preventDefault();\r\n            this.scrollToActiveSection(target as HTMLAnchorElement);\r\n        }\r\n    }\r\n\r\n    private isOnTopViewport(element: HTMLElement, top: number = 0): boolean {\r\n        const elementRect = element.getBoundingClientRect(),\r\n            offsetHeight = document.documentElement.offsetHeight;\r\n        return Math.floor(elementRect.top) <= top &&\r\n            Math.floor(elementRect.top) < offsetHeight &&\r\n            Math.floor(elementRect.bottom) > top;\r\n    }\r\n\r\n    private getActiveSection(): HTMLElement {\r\n        const arr = Array.from(this.navLinks).filter(link => {\r\n            let { href: sectionId } = link.dataset;\r\n            let section = document.getElementById(sectionId);\r\n\r\n            return this.isOnTopViewport(section, this.getCorrectionOnScroll());\r\n        });\r\n\r\n        return arr[0];\r\n    }\r\n\r\n    private setActiveSection(): HTMLElement {\r\n        const activeSection = this.getActiveSection();\r\n        removeClassFromList(this.navLinks, 'nx-active');\r\n\r\n        if (activeSection) {\r\n            this.scrollToHorizontal(<HTMLElement>this.element.querySelector('.nx-scroll-wrapper__inner'), activeSection);\r\n            activeSection.classList.add('nx-active');\r\n        }\r\n\r\n        return activeSection;\r\n    }\r\n\r\n    private getCorrectionOnScroll() {\r\n        const anchorNavHeight = getElementHeight(this.element);\r\n        return this.scrollDirection.scrollingFlag ? anchorNavHeight + this.getBreadcrumbHeight() : getElementHeight(this.element);\r\n    }\r\n\r\n    private getBreadcrumbHeight(): number {\r\n        let breadcrumb = <HTMLElement>document.querySelector('.nx-breadcrumb');\r\n        return breadcrumb ? getElementHeight(breadcrumb) : 0;\r\n    }\r\n\r\n    private scrollToActiveSection(targetLink: HTMLElement): AnchorNavigation {\r\n        const clickedSection = document.getElementById(targetLink.dataset.href) || document.querySelector(targetLink.getAttribute('href'));\r\n        if (Math.round(clickedSection.getBoundingClientRect().top) !== this.getCorrectionOnScroll()) {\r\n            fromEvent(clickedSection, 'niveax:animationend').pipe(first()).subscribe(() => this.subscribeToScrollOnBody());\r\n        } else {\r\n            this.subscribeToScrollOnBody();\r\n        }\r\n\r\n        const tabItem = clickedSection.closest('.nx-tab-container-item')\r\n\r\n        if (tabItem) {\r\n            clickedSection.closest('.nx-tabs-container').dispatchEvent(new CustomEvent('niveax:openTab', {\r\n                detail: {\r\n                    tabNode: tabItem\r\n                }\r\n            }));\r\n        }\r\n\r\n        this.scrollToSection(clickedSection);\r\n        this.correctJumpPosition(clickedSection);\r\n\r\n        this.subscribeToScrollOnBody();\r\n\r\n        this.scrollToHorizontal(<HTMLElement>this.element.querySelector('.nx-scroll-wrapper__inner'), targetLink);\r\n        this.setKeyboardFocusToActiveSection(clickedSection);\r\n\r\n        return this;\r\n    }\r\n\r\n    private setKeyboardFocusToActiveSection(activeSection: HTMLElement) {\r\n        activeSection.setAttribute('tabindex', '-1');\r\n        activeSection.focus();\r\n    }\r\n\r\n    private scrollToSection(section: HTMLElement) {\r\n        const sectionPositionTop = section.getBoundingClientRect().top;\r\n        const anchorNavHeight = (<HTMLElement>this.element.querySelector('.nx-anchor-navigation')).clientHeight;\r\n        window.scrollBy({\r\n            top: sectionPositionTop - anchorNavHeight,\r\n            left: 0,\r\n            behavior: \"smooth\"\r\n        });\r\n    }\r\n\r\n    private isStickyNavigation(): boolean {\r\n        const firstScrollElementTop = this.element.getBoundingClientRect().top;\r\n        const lastScrollElement = getLastItemInArray(this.getAnchorSections());\r\n        const lastElementBottom = lastScrollElement.getBoundingClientRect().bottom;\r\n        return firstScrollElementTop <= this.getBreadcrumbHeight() && lastElementBottom > 0;\r\n    }\r\n\r\n    private setStickyNavigation(): AnchorNavigation {\r\n        if (this.isStickyNavigation()) {\r\n            this.element.querySelector('.nx-anchor-navigation').classList.add('nx-anchor-navigation--sticky');\r\n            this.setActiveSection();\r\n        } else {\r\n            this.element.querySelector('.nx-anchor-navigation').classList.remove('nx-anchor-navigation--sticky');\r\n            removeClassFromList(this.navLinks, 'nx-active');\r\n        }\r\n        return this;\r\n    }\r\n\r\n    scrollToHorizontal(parentElement: HTMLElement, element: HTMLElement) {\r\n       if(isIOS()) {\r\n            \r\n           smoothscroll.polyfill();\r\n       }\r\n\r\n        parentElement.scrollBy({\r\n            top: 0,\r\n            left: element.offsetLeft - 20,\r\n            behavior: 'smooth'\r\n        });\r\n    }\r\n\r\n    private scrollToAnchorSectionOnLoad(): boolean {\r\n        const hash: string = window.location.hash.substring(1),\r\n            section: HTMLElement = document.getElementById(`${hash}`);\r\n\r\n        if (hash && hash.indexOf('layer') === -1 && !!section) {\r\n            this.scrollToSection(section);\r\n            this.correctJumpPosition(section)\r\n\r\n            return true;\r\n        } else {\r\n            return false;\r\n        }\r\n    }\r\n\r\n    private correctJumpPosition(section) {\r\n        var scrollTo = (section) => {\r\n            this.scrollToSection(section);\r\n            clearInterval(this.scrollInterval);\r\n        }\r\n\r\n        clearInterval(this.scrollInterval);\r\n        this.scrollInterval = setInterval(() => scrollTo(section), 1500);\r\n    }\r\n}\r\n\r\n// Hot Module Replacement\r\nif (module.hot) {\r\n    let nodesCache: HMRNodes[] = Array.from(document.querySelectorAll(moduleSelector)).map((element: Node) => ({ nodeToReplace: element, nodeOrigin: element.cloneNode(true) }));\r\n\r\n    AnchorNavigation.setup(moduleSelector);\r\n\r\n    module.hot.accept(() => {\r\n        AnchorNavigation.setup(moduleSelector);\r\n    });\r\n    module.hot.dispose(() => {\r\n        nodesCache.forEach(({ nodeToReplace, nodeOrigin }) => { nodeToReplace = nodeToReplace.parentElement.replaceChild(nodeOrigin.cloneNode(true), nodeToReplace) });\r\n    });\r\n} else {\r\n    AnchorNavigation.setup(moduleSelector);\r\n}","/// <reference path=\"../typings/niveax.d.ts\"/>\r\n\r\nexport default class ScrollDirection {\r\n    element: HTMLElement;\r\n    scrollingUpClass: string;\r\n    scrollingDownClass: string;\r\n    scrollingFlag: boolean;\r\n    lastPageYOffset: number;\r\n\r\n    constructor(element: HTMLElement, scrollingUpClass: string = 'nx-motion-scrolling--up', scrollingDownClass: string = 'nx-motion-scrolling--down') {\r\n        this.element = element;\r\n        this.scrollingUpClass = scrollingUpClass;\r\n        this.scrollingDownClass = scrollingDownClass;\r\n        this.scrollingFlag;\r\n        this.init();\r\n    }\r\n\r\n    private init() {\r\n        NiveaX.addToEventStore('scroll', (e) => this.scroll(e), window);\r\n    }\r\n\r\n    scroll(e) {\r\n        this.toggleScrollClasses(this.lastPageYOffset);\r\n        this.lastPageYOffset = pageYOffset;\r\n    }\r\n\r\n    private toggleScrollClasses(lastPageYOffset: number) {\r\n        if (Math.abs(pageYOffset - lastPageYOffset) < 40) return;\r\n\r\n        if (window.scrollY < 0) return;\r\n\r\n        if (pageYOffset < lastPageYOffset) {\r\n            this.element.classList.add(this.scrollingUpClass);\r\n            this.element.classList.remove(this.scrollingDownClass);\r\n            this.scrollingFlag = true;\r\n        } else if (pageYOffset > lastPageYOffset) {\r\n            this.element.classList.add(this.scrollingDownClass);\r\n            this.element.classList.remove(this.scrollingUpClass);\r\n            this.scrollingFlag = false;\r\n        }\r\n\r\n    }\r\n}"],"names":["module","exports","polyfill","w","window","d","document","documentElement","style","__forceSmoothScrollPolyfill__","userAgent","Element","HTMLElement","SCROLL_TIME","original","scroll","scrollTo","scrollBy","elementScroll","prototype","scrollElement","scrollIntoView","now","performance","bind","Date","ROUNDING_TOLERANCE","navigator","RegExp","join","test","undefined","arguments","shouldBailOut","smoothScroll","call","body","left","scrollX","pageXOffset","top","scrollY","pageYOffset","this","scrollLeft","scrollTop","SyntaxError","behavior","scrollableParent","el","isScrollable","parentNode","host","findScrollableParent","parentRects","getBoundingClientRect","clientRects","getComputedStyle","position","x","y","firstArg","TypeError","hasScrollableSpace","axis","clientHeight","scrollHeight","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollableY","isScrollableX","step","context","value","currentX","currentY","k","elapsed","startTime","Math","cos","PI","startX","startY","method","scrollable","requestAnimationFrame","moduleSelector","AnchorNavigation","setup","selector","Array","from","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","element","constructor","sections","scrollDirection","scrollBody$","clickBody$","windowLoad$","windowPopstate$","init","buildNavigation","querySelector","subscribeToScrollOnBody","scrollToAnchorSectionOnLoad","pipe","subscribe","clickNav$","target","scrollToActiveSection","e","onDefaultAnchorClick","isMainNavigationBurgerType","classList","add","container","markUp","map","s","counter","anchorId","getAttribute","innerText","setAttribute","innerHTML","initAnchorLinks","tagName","setStickyNavigation","navLinks","triggerClickOnEnterForNavLinks","link","addEventListener","key","click","getAnchorSections","closest","targetID","preventDefault","isOnTopViewport","elementRect","offsetHeight","floor","bottom","getActiveSection","href","sectionId","section","getElementById","getCorrectionOnScroll","setActiveSection","activeSection","scrollToHorizontal","anchorNavHeight","scrollingFlag","getBreadcrumbHeight","breadcrumb","targetLink","clickedSection","round","tabItem","dispatchEvent","CustomEvent","detail","tabNode","scrollToSection","correctJumpPosition","setKeyboardFocusToActiveSection","focus","sectionPositionTop","isStickyNavigation","firstScrollElementTop","lastElementBottom","remove","parentElement","offsetLeft","hash","location","substring","indexOf","clearInterval","scrollInterval","setInterval","ScrollDirection","scrollingUpClass","scrollingDownClass","NiveaX","addToEventStore","toggleScrollClasses","lastPageYOffset","abs"],"sourceRoot":""}