{"version":3,"sources":["webpack:///./pericles/node_modules/ui-core/plugins/drawer/js/menu-accessability.js","webpack:///./pericles/node_modules/ui-core/plugins/drawer/js/drawer.js","webpack:///./pericles/widgets/menu/js/menu.js"],"names":["menubar","e","t","this","$id","$","$rootItems","children","$items","find","$parents","$allItems","add","$activeItem","vmenu","bChildOpen","keys","tab","enter","esc","space","left","up","right","down","bindHandlers","prototype","keydown","handleKeyDown","keypress","handleKeyPress","focus","handleFocus","document","click","handleDocumentClick","i","parentsUntil","filter","removeClass","is","addClass","parent","attr","altKey","ctrlKey","keyCode","UX","menu","$toggle","length","first","stopPropagation","on","hide","processMenuChoice","not","moveUp","moveToPrevious","moveDown","moveToNext","a","s","r","index","n","next","h","o","last","prev","u","eq","html","charAt","toLowerCase","shiftKey","String","fromCharCode","which","data","indexOf","window","open","location","href","$body","$window","$target","revers","lastItem","items","vPort","isMobile","menuHeaderMainTitle","redirectPath","displayedNestedItems","nestedMenu","undefined","listPositionVars","mainScrollingList","inTimeoutTiming","outTimeoutTiming","mainScrollingListHeight","mobileTransitionTime","bodyTransitionPropertyName","bodyTransitionElapsedTime","init","each","$header","text","check","viewPort","responsive","control","additionalControl","rebuild","original","preventDefault","show","target","closest","hasClass","parents","nested","hideNested","tabRevers","get","addEventListener","listPosition","handleHeightSet","handleResize","tabDesktop","escDesktop","controller","css","scrollTop","height","showAdditional","showNested","start","toggleClass","siblings","$menuTitle","showNestedExtra","$parenNestedMenu","shouldNavigate","arguments","$menuHeader","hideNestedExtra","removeAttr","reset","escape","off","$parentMenu","$dropdownToggle","direction","$firstNestedMenu","$prevMenu","$nextMenu","handle","sub","addDataOnly","menuElements","timing","timeoutTime","addDataToElem","handleScrollBarHide","lastScrollVal","getLastPosition","setTimeout","scrollTo","$elem","rect","getBoundingClientRect","JSON","stringify","bottom","Math","floor","scrollVal","parse","elemsArr","forEach","value","parentHeightVal","innerHeight","subHeightVal","utils","isSafari","animate","duration","abs","skipCheck","options","elapsedTime","propertyName","outerHeight","top","controlSelector","elements","querySelectorAll","isOpen","$menubar","menuIcon","querySelector","remove","menuItem","menuLink","removeAttribute","tabReversDesktop","prepare","switchMobileFlag","accessibility","_flagReverseOrder","$this","menuId","flagOpen","flagChangeFocus","isNested","isControl","action","params","isSub","event","forceOpen","$controller","findTarget","$container","originalEvent","itemsCollection","_menubarContext_itemsCollection","_currentContext_isSub","_currentContext_itemsCollection","_currentIndex","keyCodes","DOWN","END","HOME","LEFT","RIGHT","UP","RETURN","SPACE","TAB","ESCAPE","isPrintableCharacter","str","match","Object","values","key","menuitem","relatedTarget","$item","currentIndex","actions","goTo","home","end","closeInactiveSubMenu","trigger","close","TypeError","navclass","$nested","$section","$parentSection","_menubar$_menubarCont","_menubar$_menubarCont2","_menubar$$controller","element","getComputedStyle","display","Array","from","map","item","_item$querySelector","menuRoleButton"],"mappings":"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","file":"js/menu-9c7995a67ff04429e66d.js","sourcesContent":["function menubar(e, t) {\n    (this.$id = $('#' + e)),\n        (this.$rootItems = this.$id.children('li')),\n        (this.$items = this.$id.find('.menu-item')),\n        (this.$parents = this.$id.find('.menu-parent')),\n        (this.$allItems = this.$parents.add(this.$items)),\n        (this.$activeItem = null),\n        (this.vmenu = t),\n        (this.bChildOpen = !1),\n        (this.keys = {\n            tab: 9,\n            enter: 13,\n            esc: 27,\n            space: 32,\n            left: 37,\n            up: 38,\n            right: 39,\n            down: 40,\n        }),\n        this.bindHandlers();\n}\nmenubar.prototype.bindHandlers = function () {\n    var e = this;\n\n    this.$allItems.keydown(function (t) {\n        return e.handleKeyDown($(this), t);\n    }),\n        this.$allItems.keypress(function (t) {\n            return e.handleKeyPress($(this), t);\n        }),\n        this.$allItems.focus(function (t) {\n            return e.handleFocus($(this), t);\n        }),\n        $(document).click(function (t) {\n            return e.handleDocumentClick(t);\n        });\n};\n\nmenubar.prototype.handleFocus = function (e, t) {\n    if (null == this.$activeItem) this.$activeItem = e;\n    else if (e[0] !== this.$activeItem[0]) return !0;\n    const i = this.$activeItem.parentsUntil('div').filter('li');\n    if (\n        (this.$allItems.removeClass('menu-focus menu-focus-checked'),\n        this.$activeItem.is('.checked')\n            ? this.$activeItem.addClass('menu-focus-checked')\n            : this.$activeItem.addClass('menu-focus'),\n        i.addClass('menu-focus'),\n        1 === this.vmenu)\n    )\n        if (1 === this.bChildOpen) {\n            const s = e.parent();\n            s.is('#menubar') &&\n                'true' === e.attr('aria-haspopup') &&\n                e.addClass('hover').children('ul').attr('aria-hidden', 'false');\n        } else this.vmenu = !1;\n    return !0;\n};\n\nmenubar.prototype.handleKeyDown = function (e, t) {\n    const i = e.parent();\n    if (t.altKey || t.ctrlKey) return !0;\n    /*eslint-disable*/\n    switch (t.keyCode) {\n        case this.keys.tab:\n            this.$id.find('ul').attr('aria-hidden', 'true'),\n                this.$allItems.removeClass('menu-focus hover'),\n                (this.$activeItem = null),\n                0 === this.bChildOpen;\n            break;\n        case this.keys.esc:\n            if (UX.menu.$toggle.length > 0) {\n                //if (e.keyCode  === escKey) {\n\n                //e.preventDefault();\n                UX.menu.on.hide();\n                UX.menu.$toggle.focus();\n                //}\n            } else {\n                return (\n                    i.is('#menubar')\n                        ? (e.removeClass('hover').children('ul').first().attr('aria-hidden', 'true'), e.focus())\n                        : ((this.$activeItem = i.parent()),\n                          e.removeClass('hover'),\n                          (this.bChildOpen = !1),\n                          this.$activeItem.focus(),\n                          i.attr('aria-hidden', 'true')),\n                    t.stopPropagation(),\n                    !1\n                );\n            }\n\n        case this.keys.enter:\n        case this.keys.space:\n            const s = e.parent();\n            return (\n                s.is('#menubar')\n                    ? (e.addClass('hover').children('ul').first().attr('aria-hidden', 'false'),\n                      (this.bChildOpen = !0),\n                      this.processMenuChoice(e),\n                      e.find('ul > li:first').find('a').focus())\n                    : (this.processMenuChoice(e),\n                      this.$allItems.removeClass('menu-hover menu-hover-checked hover'),\n                      this.$allItems.removeClass('menu-focus menu-focus-checked hover'),\n                      this.$id.find('ul').not('#menubar').attr('aria-hidden', 'true'),\n                      (this.$activeItem = null)),\n                t.stopPropagation(),\n                !1\n            );\n        case this.keys.left:\n            return (\n                1 === this.vmenu && i.is('#menubar')\n                    ? (this.$activeItem = this.moveUp(e))\n                    : (this.$activeItem = this.moveToPrevious(e)),\n                this.$activeItem.focus(),\n                t.stopPropagation(),\n                !1\n            );\n        case this.keys.right:\n            return (\n                1 === this.vmenu && i.is('#menubar')\n                    ? (this.$activeItem = this.moveDown(e))\n                    : (this.$activeItem = this.moveToNext(e)),\n                this.$activeItem.focus(),\n                t.stopPropagation(),\n                !1\n            );\n        case this.keys.up:\n            return (\n                1 === this.vmenu && i.is('#menubar')\n                    ? (this.$activeItem = this.moveToPrevious(e))\n                    : (this.$activeItem = this.moveUp(e)),\n                this.$activeItem.focus(),\n                t.stopPropagation(),\n                !1\n            );\n        case this.keys.down:\n            return (\n                1 === this.vmenu && i.is('#menubar')\n                    ? (this.$activeItem = this.moveToNext(e))\n                    : (this.$activeItem = this.moveDown(e)),\n                this.$activeItem.focus(),\n                t.stopPropagation(),\n                !1\n            );\n    }\n    /*eslint-enable*/\n    return !0;\n};\n\nmenubar.prototype.moveToNext = function (e) {\n    let a;\n    let t = e.parent(),\n        i = t.children('li'),\n        s = i.length,\n        r = i.index(e),\n        n = null;\n    if (t.is('#menubar')) {\n        if (((n = s - 1 > r ? e.next() : i.first()), 'true' === e.attr('aria-haspopup'))) {\n            e.removeClass('hover');\n            a = e.children('ul').first();\n            'false' === a.attr('aria-hidden') && (a.attr('aria-hidden', 'true'), (this.bChildOpen = !0));\n        }\n        if ((e.removeClass('menu-focus'), 'true' === n.attr('aria-haspopup') && 1 === this.bChildOpen)) {\n            n.addClass('hover');\n            a = n.children('ul').first();\n            a.attr('aria-hidden', 'false');\n        }\n    } else if ('true' === e.attr('aria-haspopup')) {\n        e.addClass('hover');\n        a = e.children('ul').first();\n        (n = a.children('li').first()), a.attr('aria-hidden', 'false'), (this.bChildOpen = !0);\n    } else {\n        if (1 === this.vmenu) return e;\n        let h = null,\n            o = null;\n        if (\n            ((h = e.parentsUntil('div').filter('ul').not('#menubar')),\n            h.attr('aria-hidden', 'true'),\n            h.find('li').removeClass('menu-focus hover'),\n            h.last().parent().removeClass('menu-focus hover'),\n            (o = h.last().parent()),\n            (r = this.$rootItems.index(o)),\n            (n = r < this.$rootItems.length - 1 ? o.next() : this.$rootItems.first()),\n            'true' === n.attr('aria-haspopup') && n.children('ul').length > 0)\n        ) {\n            n.addClass('hover');\n            a = n.children('ul').first();\n            (n = a.children('li').first()), a.attr('aria-hidden', 'false'), (this.bChildOpen = !0);\n        }\n    }\n    return n;\n};\n\nmenubar.prototype.moveToPrevious = function (e) {\n    let n;\n    let t = e.parent(),\n        i = t.children('li'),\n        s = (i.length, i.index(e)),\n        r = null;\n    if (t.is('#menubar')) {\n        if (((r = s > 0 ? e.prev() : i.last()), 'true' === e.attr('aria-haspopup'))) {\n            n = e.removeClass('hover').children('ul').first();\n            'false' === n.attr('aria-hidden') && (n.attr('aria-hidden', 'true'), (this.bChildOpen = !0));\n        }\n        if ((e.removeClass('menu-focus hover'), 'true' === r.attr('aria-haspopup') && 1 === this.bChildOpen)) {\n            r.addClass('hover');\n            n = r.children('ul').first();\n            n.attr('aria-hidden', 'false');\n        }\n    } else {\n        const a = t.parent(),\n            h = a.parent();\n\n        if (1 !== this.vmenu && h.is('#menubar')) {\n            if (\n                (t.attr('aria-hidden', 'true'),\n                e.removeClass('menu-focus hover'),\n                a.removeClass('menu-focus hover'),\n                (s = this.$rootItems.index(a)),\n                (r = s > 0 ? a.prev() : this.$rootItems.last()),\n                r.addClass('menu-focus hover'),\n                'true' === r.attr('aria-haspopup'))\n            ) {\n                n = null;\n                r.children('ul').length > 0 &&\n                    ((n = r.addClass('hover').children('ul').first()),\n                    n.attr('aria-hidden', 'false'),\n                    (this.bChildOpen = !0),\n                    (r = n.children('li').first()));\n            }\n        } else\n            (r = t.parent()),\n                t.attr('aria-hidden', 'true'),\n                e.removeClass('menu-focus hover'),\n                r.removeClass('hover'),\n                1 === this.vmenu && (this.bChildOpen = !1);\n    }\n    return r;\n};\n\nmenubar.prototype.moveDown = function (e, t) {\n    let i = e.parent(),\n        s = i.children('li').not('.separator'),\n        r = s.length,\n        n = s.index(e),\n        a = null,\n        h = null;\n    if (i.is('#menubar'))\n        return 'true' !== e.attr('aria-haspopup')\n            ? e\n            : ((h = e.addClass('hover').children('ul').first()),\n              (a = h.children('li').first()),\n              h.attr('aria-hidden', 'false'),\n              (this.bChildOpen = !0),\n              a);\n    if (t) {\n        let o = !1,\n            u = n + 1;\n        for (u === r && (u = 0); u !== n; ) {\n            const l = s.eq(u).html().charAt(0);\n            if (l.toLowerCase() === t) {\n                o = !0;\n                break;\n            }\n            (u += 1), u === r && (u = 0);\n        }\n        return 1 === o ? ((a = s.eq(u)), e.removeClass('menu-focus menu-focus-checked'), a) : e;\n    }\n    return (a = r - 1 > n ? s.eq(n + 1) : s.first()), e.removeClass('menu-focus menu-focus-checked'), a;\n};\n\nmenubar.prototype.moveUp = function (e) {\n    let t = e.parent(),\n        i = t.children('li').not('.separator'),\n        s = (i.length, i.index(e)),\n        r = null;\n    return t.is('#menubar')\n        ? e\n        : ((r = s > 0 ? i.eq(s - 1) : i.last()), e.removeClass('menu-focus menu-focus-checked'), r);\n};\n\nmenubar.prototype.handleKeyPress = function (e, t) {\n    if (t.altKey || t.ctrlKey || t.shiftKey) return !0;\n    /*eslint-disable*/\n    switch (t.keyCode) {\n        case this.keys.tab:\n            return !0;\n        case this.keys.esc:\n        case this.keys.enter:\n        case this.keys.space:\n        case this.keys.up:\n        case this.keys.down:\n        case this.keys.left:\n        case this.keys.right:\n            return t.stopPropagation(), !1;\n        default:\n            var i = String.fromCharCode(t.which);\n            return (this.$activeItem = this.moveDown(e, i)), this.$activeItem.focus(), t.stopPropagation(), !1;\n    }\n    return !0;\n    /*eslint-enable*/\n};\n\nmenubar.prototype.handleDocumentClick = function (e) {\n    var t = this.$id.find('ul').not('#menubar');\n    return (\n        t.attr('aria-hidden', 'true'),\n        this.$allItems.removeClass('menu-focus menu-focus-checked hover'),\n        (this.$activeItem = null),\n        !0\n    );\n};\n\nmenubar.prototype.processMenuChoice = function (e) {\n    var t = (e.parent().attr('id'), e.attr('id'), e.data('href'));\n    if (null != t)\n        if (t.toLowerCase().indexOf('legacy.') > 0) {\n            const i = window.open(t, '_blank');\n            i.focus();\n        } else window.location.href = t;\n    const s = e.find('a');\n    null != s && (window.location.href = s[0].href);\n};\nwindow.menubar = menubar;\n","import './menu-accessability.js';\n\n(function () {\n    //document.activeElement\n\n    var $body = $('body'),\n        $window = $(window),\n        tabKey = 9,\n        escKey = 27,\n        enterKey = 13;\n\n    var menu = {\n        $toggle: $('[data-toggle=\"nav\"]'),\n        $target: null,\n        revers: false,\n        lastItem: null,\n        items: null,\n        vPort: ['screen-sm'],\n        isMobile: false, // variable use to determine if responsive mode is on or off\n        menuHeaderMainTitle: '',\n        redirectPath: false,\n        displayedNestedItems: false,\n        nestedMenu: undefined,\n        listPositionVars: {\n            mainScrollingList: $('#menubar'),\n            inTimeoutTiming: null, // override these if you want a custom listPosition.handle in or out timeout time\n            outTimeoutTiming: null,\n            mainScrollingListHeight: false,\n            mobileTransitionTime: 400, // should usually keep it the same as the transition time for `.main-nav.menu--res li`'s that's in drawer.scss,\n            bodyTransitionPropertyName: 'transform', // this one,\n            bodyTransitionElapsedTime: 0.25, // and this one depend on the type and duration of the sidebar `show` transition (currently under `.lock-screen[data-active='menu']` in drawer.scss)\n        },\n\n        init: function () {\n            $('.main-nav').each(function (index) {\n                menu.$target = $(this);\n                const $header = menu.$target.find('.menu-header');\n                menu.menuHeaderMainTitle = $header.text();\n                menu.redirectPath = $header.data('redirect-to');\n                menu.check.viewPort(index);\n                menu.responsive(index);\n            });\n            $('.main-nav__toggle__controller').attr('aria-expanded', 'false');\n            menu.items = $('.main-nav').find('a, button, input'); //$(\".header__nav a, .header__nav button, .header__nav input\");\n            menu.control();\n            menu.additionalControl();\n        },\n\n        responsive: function (index) {\n            $(document).on(menu.vPort[index] + '-on', function () {\n                // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n                menu.isMobile = true;\n                $('.main-nav').each(function () {\n                    if ($(this).find('.drawer__nav').data('ctrl-res') === menu.vPort[index]) {\n                        $(this).addClass('menu--res'); // class will be used in our scss (to replace media queries)\n                        $('.main-nav__toggle__controller').addClass('main-nav__toggle__controller__res'); // class will be used in our scss (to replace media queries)\n                        menu.on.rebuild.responsive(); // rebuild menu to be responsive - drawer\n                    }\n                });\n            });\n\n            $(document).on(menu.vPort[index] + '-off', function () {\n                // Waiting for custom event that will be triggered by controller.js to deactivate responsive effects\n                menu.isMobile = false;\n                $('.main-nav').each(function () {\n                    if ($(this).find('.drawer__nav').data('ctrl-res') === menu.vPort[index]) {\n                        $(this).removeClass('menu--res'); // class will be used in our scss (to replace media queries)\n                        $('.main-nav__toggle__controller').removeClass('main-nav__toggle__controller__res'); // class will be used in our scss (to replace media queries)\n                        menu.on.rebuild.original(); // return menu as default\n                    }\n                });\n            });\n        },\n\n        control: function () {\n            $body.on('click', '[data-toggle=\"nav\"]', function (e) {\n                e.preventDefault();\n                menu.$toggle = $(this);\n                menu.$target = $('#' + menu.$toggle.data('target'));\n\n                menu.items = menu.$target.find('a, button, input'); //$(\".header__nav a, .header__nav button, .header__nav input\");\n                menu.items.each(function (index) {\n                    if (index === menu.items.length - 1) {\n                        menu.lastItem = $(this);\n                    }\n                });\n\n                menu.on.show(e);\n            });\n\n            $body.on('click', '.js--open[data-toggle=\"nav\"]', function (e) {\n                e.preventDefault();\n                menu.on.hide(e);\n            });\n\n            $body.on('click', function (e) {\n                if (!$(e.target).closest('.dropdown__toggle').length) {\n                    $('a.dropdown__toggle.hover').removeClass('hover');\n                }\n                if (\n                    !$(e.target).hasClass('icon-arrow_r') &&\n                    !$(e.target).parents('.main-nav__toggle__controller') &&\n                    !$(e.target).parents('.main-nav.menu--res').length &&\n                    $('.lock-screen[data-active=\"menu\"]').length\n                ) {\n                    menu.on.hide(e);\n                }\n            });\n\n            $body.on('click', '.main-nav a', function (e) {\n                if ($(this).attr('href') === '#') {\n                    e.preventDefault();\n                }\n            });\n\n            $body.on('click touchend', '[data-toggle=\"dropdown\"]', function (e) {\n                e.preventDefault();\n                menu.nestedMenu = $(this);\n                menu.on.nested(e);\n            });\n            $body.on('click', '.menu-header', function (e) {\n                e.preventDefault();\n\n                if (menu.isMobile) {\n                    menu.on.hideNested(true);\n                }\n                e.stopPropagation(); // prevent closing menu when getting back from nested menu\n            });\n            $body.on('keydown', '.drawer__nav, [data-toggle=\"nav\"]', function (e) {\n                if (menu.isMobile) {\n                    if ((e.keyCode || e.which) === tabKey) {\n                        if (!menu.revers) {\n                            menu.on.tab();\n                        } else {\n                            menu.on.tabRevers();\n                        }\n                    }\n                }\n            });\n\n            // without .get(0) e.elapsedTime and e.propertyName are undefined\n            $body.get(0).addEventListener('transitionend', menu.on.listPosition.handleHeightSet);\n            $window.on('resize', menu.on.listPosition.handleResize);\n\n            $window.on('keyup', function (e) {\n                menu.revers = !!(e.shiftKey && e.keyCode === tabKey);\n                if (!menu.isMobile) {\n                    if ((e.keyCode || e.which) === tabKey || enterKey) {\n                        menu.on.tabDesktop(e, menu.revers, e.keyCode);\n                    }\n\n                    if ((e.keyCode || e.which) === escKey) {\n                        menu.on.escDesktop(e);\n                    }\n                }\n            });\n        },\n        additionalControl: function () {},\n        on: {\n            show: function () {\n                if (typeof UX.controller != 'undefined') {\n                    UX.controller.check();\n                }\n                $body.addClass('lock-screen').attr('data-active', 'menu');\n                menu.$toggle.addClass('js--open');\n\n                menu.$target.closest('.main-nav').css('top', $window.scrollTop());\n                $('.coolBar--res')\n                    .removeClass('trans')\n                    .css('top', $window.scrollTop() + $('header').height());\n                $('.loi__banner.loi--res').css('top', $window.scrollTop() + $('header').height());\n                $('.main-nav__toggle__controller').attr('aria-expanded', 'true');\n                menu.$target.attr('style', 'display: block !important');\n                menu.$toggle.focus();\n                menu.on.showAdditional();\n            },\n            showAdditional: function () {},\n            showNested: function () {\n                menu.on.listPosition.start('in');\n                menu.nestedMenu.next('.dropdown__menu').toggleClass('sub-menu__opened');\n                menu.nestedMenu.parent().toggleClass('menu-parent__opened');\n                menu.nestedMenu.find('i').toggleClass('opposite-arrow');\n                menu.nestedMenu.parent().siblings('li').toggleClass('prev-items');\n                menu.nestedMenu.toggleClass('prev-items');\n                $(\"[data-toggle='nav']\").addClass('js--nested-open'); // replace Close button with back button after nested menu get opened\n                const $menuTitle = menu.nestedMenu.html();\n\n                if ($('.menu-header').length) {\n                    $('.menu-header').html($menuTitle);\n                }\n                menu.displayedNestedItems = true;\n\n                menu.on.showNestedExtra();\n            },\n            showNestedExtra: function () {},\n            hideNested: function (shouldNavigate = false) {\n                var $menuHeader = $('.menu-header');\n                var $parenNestedMenu;\n\n                if (typeof menu.nestedMenu != 'undefined') {\n                    menu.on.listPosition.start('out');\n                    $parenNestedMenu = menu.nestedMenu.parent().parent(); // first parent list\n                    menu.nestedMenu = $parenNestedMenu.parent().find('.dropdown__toggle'); // first parent dropdown toggle link\n\n                    $parenNestedMenu.find('.sub-menu__opened').removeClass('sub-menu__opened');\n                    $parenNestedMenu.find('.menu-parent__opened').removeClass('menu-parent__opened');\n                    $parenNestedMenu.find('.prev-items').removeClass('prev-items');\n                    $(\"[data-toggle='nav']\").removeClass('js--nested-open');\n\n                    if ($parenNestedMenu.hasClass('sub-menu__opened')) {\n                        $menuHeader.find('span').html(menu.nestedMenu.find('span').html());\n                    } else {\n                        if (menu.redirectPath && shouldNavigate && !menu.displayedNestedItems) {\n                            document.location = menu.redirectPath;\n                        } else {\n                            $menuHeader.html(menu.menuHeaderMainTitle);\n                            menu.displayedNestedItems = false;\n                        }\n                    }\n                } else {\n                    menu.nestedMenu = $menuHeader;\n                }\n\n                menu.on.hideNestedExtra();\n            },\n            hideNestedExtra: function () {},\n            hide: function () {\n                if (menu.isMobile) {\n                    // hide nested menu before closing\n                    menu.on.hideNested();\n                }\n                menu.$toggle.removeClass('js--open');\n                $('.main-nav, header').css('top', 0);\n                $('.coolBar--res').addClass('trans').css('top', $('header').height()); // The magic number contains 1px of border and\n                $('.loi__banner.loi--res').css('top', $('header').height());\n                $body.removeAttr('data-active').removeClass('lock-screen');\n                $('.main-nav__toggle__controller').attr('aria-expanded', 'false');\n                menu.on.listPosition.reset();\n            },\n            escape: function () {\n                menu.on.hide();\n                menu.$toggle.focus();\n            },\n            tab: function () {\n                menu.$toggle.off();\n                menu.lastItem.off().on('focusout', function () {\n                    menu.$toggle.focus();\n                });\n            },\n            tabRevers: function () {\n                menu.lastItem.off();\n                menu.$toggle.off().on('focusout', function () {\n                    menu.lastItem.focus();\n                });\n            },\n            tabDesktop: function (e, revers, keyCode) {\n                var $target = $(e.target);\n                var $parentMenu = $target.closest('.dropdown__menu');\n                var $dropdownToggle = $('.dropdown__toggle');\n                var dropdownMenu = '.dropdown__menu';\n\n                if (!$target.closest('ul').length) {\n                    $dropdownToggle.removeClass('hover');\n                    $('.dropdown').removeClass('js--open');\n                }\n\n                if ($target.hasClass('dropdown__toggle')) {\n                    if (\n                        $parentMenu.length === 0 ||\n                        (!$parentMenu.hasClass('js--open') && $parentMenu.find('.js--open').length === 0)\n                    ) {\n                        $dropdownToggle.removeClass('hover');\n                        $(dropdownMenu).removeClass('js--open');\n                        $target.closest('a').addClass('hover');\n                        $target.siblings(dropdownMenu).addClass('js--open');\n                    } else {\n                        $parentMenu.find('.hover').removeClass('hover');\n                        $parentMenu.find('.js--open').removeClass('js--open');\n                        $target.closest('a').addClass('hover');\n                        $target.siblings(dropdownMenu).addClass('js--open');\n                    }\n                    if (keyCode == enterKey) {\n                        $(e.target).closest('a').addClass('hover');\n                    }\n                } else {\n                    $target.closest('ul').find('.hover').removeClass('hover');\n                }\n            },\n            escDesktop: function (e) {\n                $(e.target).closest('.dropdown__toggle').removeClass('hover');\n            },\n            rebuild: {\n                responsive: function () {\n                    menu.on.hide();\n                },\n                original: function () {\n                    menu.on.hide();\n                    menu.$target.show();\n                },\n            },\n            nested: function (e) {\n                //e.preventDefault();\n                if (menu.isMobile) {\n                    menu.on.showNested();\n                }\n            },\n            listPosition: {\n                start: function (direction) {\n                    if (!menu.nestedMenu || !direction || !menu.isMobile) return;\n                    let $firstNestedMenu = menu.nestedMenu.first();\n                    if (!$firstNestedMenu.closest('#menubar').length) return; // this function should only work inside #menubar\n\n                    switch (direction) {\n                        case 'in': {\n                            let $prevMenu = $firstNestedMenu.closest('.dropdown__menu, #menubar'),\n                                $nextMenu = $firstNestedMenu.next('.dropdown__menu');\n                            menu.on.listPosition.handle(\n                                {prev: $prevMenu, next: $nextMenu, parent: $prevMenu, sub: $nextMenu},\n                                'in'\n                            );\n\n                            break;\n                        }\n                        case 'out': {\n                            let addDataOnly = $firstNestedMenu.hasClass('menu-header'),\n                                $prevMenu = $firstNestedMenu.next('.dropdown__menu'),\n                                $nextMenu = $firstNestedMenu.closest('.dropdown__menu, #menubar');\n                            menu.on.listPosition.handle(\n                                {prev: $prevMenu, next: $nextMenu, parent: $nextMenu, sub: $prevMenu},\n                                'out',\n                                addDataOnly\n                            );\n\n                            break;\n                        }\n                    }\n                },\n                handle: function (menuElements, direction = {}, addDataOnly) {\n                    let timing = direction === 'in' ? 0 : menu.listPositionVars.mobileTransitionTime / 3, // 0 timing is good for in direction, looks bad for out\n                        timeoutTime =\n                            direction === 'in' && menu.listPositionVars.inTimeoutTiming\n                                ? menu.listPositionVars.inTimeoutTiming\n                                : direction === 'out' && menu.listPositionVars.outTimeoutTiming\n                                ? menu.listPositionVars.outTimeoutTiming\n                                : menu.listPositionVars.mobileTransitionTime / 3;\n\n                    menu.on.listPosition.addDataToElem(menuElements.prev);\n                    if (addDataOnly === true) return;\n\n                    menu.on.listPosition.handleScrollBarHide([menuElements.prev, menuElements.next]);\n\n                    if (menuElements.next.length) {\n                        let lastScrollVal = menu.on.listPosition.getLastPosition(menuElements.next);\n\n                        setTimeout(() => {\n                            menu.on.listPosition.scrollTo(\n                                menuElements,\n                                direction,\n                                lastScrollVal ? lastScrollVal : 0,\n                                timing\n                            );\n                        }, timeoutTime); // a timeout so the transition happens just before the next list enters the viewport\n                    }\n                },\n                addDataToElem: function ($elem) {\n                    if ($elem.length) {\n                        let rect = $elem.get(0).getBoundingClientRect();\n\n                        $elem.attr(\n                            'data-last-pos',\n                            JSON.stringify({\n                                bottom: Math.floor(rect.bottom),\n                                scrollVal: Math.floor($elem.first().scrollTop()),\n                            })\n                        );\n                    }\n                },\n                getLastPosition: function ($elem) {\n                    return $elem.attr('data-last-pos') && JSON.parse($elem.attr('data-last-pos')).scrollVal;\n                },\n                handleScrollBarHide: function (elemsArr) {\n                    elemsArr.forEach($elem => {\n                        $elem.addClass('scrollbar-hidden');\n\n                        if (!$elem.attr('data-transitionend-listener-added')) {\n                            $elem.attr('data-transitionend-listener-added', 'true');\n                            $elem.on('transitionend', e => {\n                                $elem.removeClass('scrollbar-hidden');\n                            });\n                        }\n                    });\n                },\n                scrollTo: function (menuElements, direction, value, timing = 0) {\n                    let parentHeightVal =\n                            menu.listPositionVars.mainScrollingListHeight -\n                            (menuElements.parent.innerHeight() - menuElements.parent.height()), // height minus padding\n                        subHeightVal =\n                            menu.listPositionVars.mainScrollingListHeight -\n                            (menuElements.sub.innerHeight() - menuElements.sub.height()); // height minus padding\n\n                    if (UX.utils.isSafari()) {\n                        subHeightVal = subHeightVal - 180;\n                    }\n\n                    if (direction === 'in') {\n                        menuElements.parent\n                            .css({'max-height': parentHeightVal, height: parentHeightVal, 'overflow-y': 'hidden'})\n                            .attr('data-list-pos-corrected', 'true');\n                        menuElements.sub\n                            .css({'max-height': subHeightVal, height: subHeightVal, 'overflow-y': 'auto'})\n                            .attr('data-list-pos-corrected', 'true');\n\n                        menuElements.parent.length &&\n                            menuElements.parent.animate(\n                                {\n                                    scrollTop: 0, // if we don't scroll the parent to the top, the sub will sometimes be cut off\n                                },\n                                {\n                                    duration: Math.abs(value - menuElements.parent.scrollTop()) > 125 ? 0 : timing,\n                                }\n                            );\n\n                        menuElements.sub.animate(\n                            {\n                                scrollTop: value,\n                            },\n                            {\n                                duration: Math.abs(value - menuElements.parent.scrollTop()) > 125 ? 0 : timing,\n                            }\n                        );\n                    } else if (direction === 'out') {\n                        menuElements.parent.css({\n                            'max-height': parentHeightVal,\n                            height: parentHeightVal,\n                            'overflow-y': 'auto',\n                        });\n                        menuElements.sub\n                            .css({'max-height': '', height: '', 'overflow-y': ''})\n                            .removeAttr('data-list-pos-corrected');\n\n                        menuElements.parent.length &&\n                            menuElements.parent.animate(\n                                {\n                                    scrollTop: value,\n                                },\n                                {\n                                    duration: Math.abs(value - menuElements.parent.scrollTop()) > 125 ? 0 : timing,\n                                }\n                            );\n                    }\n                },\n                handleResize: function (e) {\n                    if (menu.$toggle.hasClass('js--open')) {\n                        menu.on.listPosition.handleHeightSet({}, {skipCheck: true});\n                    }\n                },\n                handleHeightSet: function (e = {}, options = {}) {\n                    if (\n                        (menu.$toggle.hasClass('js--open') &&\n                            e.elapsedTime === menu.listPositionVars.bodyTransitionElapsedTime &&\n                            e.propertyName === menu.listPositionVars.bodyTransitionPropertyName) ||\n                        options.skipCheck === true\n                    ) {\n                        // not using $window.outerHeight() because it's return value doesn't change with the resize event\n                        menu.listPositionVars.mainScrollingListHeight =\n                            window.outerHeight - menu.listPositionVars.mainScrollingList[0].getBoundingClientRect().top;\n                        menu.listPositionVars.mainScrollingList\n                            .find('[data-list-pos-corrected=\"true\"]')\n                            .add(menu.listPositionVars.mainScrollingList)\n                            .css({\n                                height: menu.listPositionVars.mainScrollingListHeight,\n                                'max-height': menu.listPositionVars.mainScrollingListHeight,\n                            });\n                    }\n                },\n                reset: function () {\n                    menu.listPositionVars.mainScrollingList\n                        .find('[data-last-pos], [data-list-pos-corrected]')\n                        .add(menu.listPositionVars.mainScrollingList)\n                        .removeAttr('data-last-pos data-list-pos-corrected')\n                        .css({'max-height': '', height: '', 'overflow-y': ''})\n                        .animate(\n                            {\n                                scrollTop: 0,\n                            },\n                            0\n                        );\n                },\n            },\n        },\n        check: {\n            viewPort: function (index) {\n                if (menu.$target.find('.drawer__nav').attr('data-ctrl-res')) {\n                    menu.vPort[index] = menu.$target.find('.drawer__nav').attr('data-ctrl-res');\n                }\n            },\n        },\n    };\n\n    UX.menu = menu; // add to global namespace\n})();\n","// @fixme this should be renamed all-together - main functionality is MENU, which is separate script ... etc. Fun stuff\n// PS: this is basically same functionality ad Drop-block.js ...\n// @todo merge those two into one component\n// @todo handle closing sub-submenus maybe differently\n\nimport 'ui-core/plugins/drawer/js/drawer';\n\n(function (UX) {\n    var $body = $('body'),\n        isMobile = false,\n        elements = document.querySelectorAll('.menu-item'),\n        controlSelector = null,\n        menubar = null,\n        isOpen = null;\n\n    var menu = UX.menu;\n\n    menu.init = function () {\n        // removing old Menubar basically\n        // rest of this should be refactored\n\n        var $menubar = $('.main-nav');\n        $menubar.each(function (index) {\n            menu.$target = $(this);\n            menu.check.viewPort(index);\n            menu.responsive(index);\n        });\n        menu.items = $menubar.find('a, button, input'); //$(\".header__nav a, .header__nav button, .header__nav input\");\n        menu.control();\n        menu.additionalControl();\n        menubar.init();\n\n        const menuIcon = document.querySelector('.main-nav a[href=\"#menuBook\"]');\n        menuIcon?.remove();\n\n        elements?.forEach(menuItem => {\n            const menuLink = menuItem?.querySelector('a[href$=\"-pane\"]');\n            menuLink?.removeAttribute('aria-selected');\n        });\n    };\n\n    // remove UX lvl functions\n    menu.on.tabDesktop = function () {};\n    menu.on.tabReversDesktop = function () {};\n    menu.on.escDesktop = function () {};\n\n    // menubar control selector constant\n    controlSelector = '[data-toggle=\"dropdown\"]:not(.expandable-list__toggle)';\n\n    menubar = {\n        vPort: 'screen-sm',\n\n        init: function () {\n            menubar.prepare();\n            menubar.switchMobileFlag();\n            menubar.accessibility.control();\n        },\n        prepare: function () {\n            $('nav').data('flag-open', false);\n        },\n\n        /**\n         * Accessibility for menubar\n         * @namespace\n         */\n        accessibility: {\n            /**\n             *\n             */\n            _flagReverseOrder: false,\n\n            control: function () {\n                // Focusout for closing menu is handled by controller.js\n                // ESC key is handled by controller.js\n\n                var $this = null,\n                    menuId = null,\n                    preventDefault = null,\n                    flagOpen = null,\n                    flagChangeFocus = null,\n                    isNested = null,\n                    isControl = null,\n                    action = null,\n                    params = null,\n                    isSub = null;\n\n                $(document)\n                    .on('click', controlSelector, function (event, forceOpen) {\n                        if (isMobile) {\n                            return;\n                        }\n\n                        $this = $(this);\n                        isOpen = $this.hasClass('js--open');\n\n                        // Controller - save component state\n                        menubar.$controller = $this;\n                        menubar.findTarget();\n                        // show current menu on focus when allowed by flag\n                        if (isOpen && !forceOpen) {\n                            menubar.on.hide(event);\n                        } else {\n                            menubar.on.show(event);\n                        }\n\n                        // Reset flags\n                        menubar.$container.data('flag-open', false);\n                        menubar.$container.data('flag-change-focus', false);\n\n                        // Change focus if triggered by JS\n                        if (!event.originalEvent) {\n                            $this.focus();\n                        }\n                    })\n                    .on('focus', '[role=\"menuitem\"]', function (event, forceOpen) {\n                        $this = $(this);\n\n                        menubar.$container = $(this).closest('nav');\n                        menubar.itemsCollection = menubar.$container.find('[role=\"menuitem\"]');\n\n                        menuId = $this.closest('[role=menu]').attr('id');\n\n                        // collection based on type form [role=menuitem] collection for this menu\n                        menubar._menubarContext_itemsCollection = menubar.itemsCollection.filter(\n                            '[role=menubar] > li > [role=menuitem]'\n                        ); // lvl0\n                        // Default selection of context - can be changed in SWITCH for some cases to menubar context\n\n                        menubar._currentContext_isSub = menubar._menubarContext_itemsCollection.index($this) < 0;\n\n                        if (menubar._currentContext_isSub && $(this).closest('.hubpage-menu__nav').length) {\n                            menubar._currentContext_itemsCollection = menubar.itemsCollection.filter(\n                                '#' + menuId + '  li  [role=menuitem]'\n                            );\n                        } else if (menubar._currentContext_isSub) {\n                            menubar._currentContext_itemsCollection = menubar.itemsCollection.filter(\n                                '#' + menuId + ' > li > [role=menuitem]'\n                            ); // lvl1-...\n                        } else {\n                            menubar._currentContext_itemsCollection = menubar._menubarContext_itemsCollection;\n                        }\n\n                        menubar._currentIndex = menubar._currentContext_itemsCollection.index($this);\n\n                        // reverse order\n                        menubar.accessibility._flagReverseOrder = $this.css('direction') === 'rtl';\n                    })\n                    .on('focus', controlSelector, function () {\n                        // if (menubar.$container.data('flag-open')) {\n                        //     $(this).click();\n                        // }\n                        //@todo: this event causing infinite code calling (Maximum call stack size exceeded error) and need to re-check.\n                    })\n                    .on('keydown', '[role=\"menuitem\"]', function (event) {\n                        var keyCodes = {\n                            DOWN: 40,\n                            END: 35,\n                            HOME: 36,\n                            LEFT: 37,\n                            RIGHT: 39,\n                            UP: 38,\n                            RETURN: 13,\n                            SPACE: 32,\n                            TAB: 9,\n                            ESCAPE: 27,\n                        };\n\n                        // don't prevent default for not allowed keys (exception here is printable Characters for searching, so flag is reset later)\n                        preventDefault = true;\n                        if (!(Object.values(keyCodes).indexOf(event.keyCode) > -1)) preventDefault = false;\n\n                        // Flags for opening menu\n                        flagOpen = false;\n                        flagChangeFocus = false;\n\n                        $this = $(this);\n\n                        isNested = false;\n\n                        isControl = $this.is(controlSelector);\n\n                        if ($this.parents('[role=menu]').length > 1) {\n                            isNested = true;\n                        }\n\n                        action = null;\n                        params = null;\n\n                        isSub = menubar._currentContext_isSub;\n\n                        function isPrintableCharacter(str) {\n                            return str.length === 1 && str.match(/\\S/);\n                        }\n\n                        if (isMobile) {\n                            switch (event.keyCode) {\n                                case keyCodes.LEFT:\n                                case keyCodes.ESCAPE:\n                                    flagChangeFocus = false;\n                                    $this.parents('li').last().find('[role=menuitem]').focus();\n                                    action = 'close';\n                                    preventDefault = true;\n                                    break;\n                                case keyCodes.RETURN:\n                                case keyCodes.SPACE:\n                                    // leave opening and closing to default click event\n                                    action = 'open';\n                                    // change focus if it was control element - it will be ignored otherwise\n                                    flagChangeFocus = true;\n                                    break;\n                                case keyCodes.TAB:\n                                    // reset flags on TAB for current menubar and do nothing else - leave that to default focus handler\n                                    preventDefault = false;\n                                    break;\n                                // Arrows - here we go with keyboard logic\n                                case keyCodes.UP:\n                                    if (!isControl && isSub) {\n                                        $this.parents('li').last().find('[role=menuitem]').focus();\n                                    } else {\n                                        menubar._currentContext_itemsCollection =\n                                            menubar._menubarContext_itemsCollection;\n                                        menubar._currentIndex = UX.menubar._menubarContext_itemsCollection.index(\n                                            $this.parents('li').last().find('[role=menuitem]')\n                                        );\n                                    }\n                                    action = 'prev';\n                                    break;\n                                case keyCodes.END:\n                                    action = 'end';\n                                    break;\n                                case keyCodes.HOME:\n                                    action = 'home';\n                                    break;\n                                case keyCodes.DOWN:\n                                    if (!isControl && isSub) {\n                                        $this.parents('li').last().find('[role=menuitem]').focus();\n                                    } else {\n                                        menubar._currentContext_itemsCollection =\n                                            menubar._menubarContext_itemsCollection;\n                                        menubar._currentIndex = UX.menubar._menubarContext_itemsCollection.index(\n                                            $this.parents('li').last().find('[role=menuitem]')\n                                        );\n                                    }\n                                    action = 'next';\n\n                                    break;\n                                case keyCodes.RIGHT:\n                                    if (isControl && !isSub) {\n                                        flagChangeFocus = true;\n                                        action = 'open';\n                                    }\n                                    break;\n                                default:\n                                    if (isPrintableCharacter(event.key)) {\n                                        action = 'find';\n                                        params = [event.key];\n                                        preventDefault = true;\n                                    }\n                            }\n                            // return;\n                        } // @fixme this will be removed after adding support for vertical menus too\n                        else {\n                            // Navigation switch\n                            // @todo change behavior for isMobile - because mainmenu becomes horizontal ...\n                            switch (event.keyCode) {\n                                case keyCodes.RETURN:\n                                case keyCodes.SPACE:\n                                    // leave opening and closing to default click event\n                                    action = 'open';\n                                    // change focus if it was control element - it will be ignored otherwise\n                                    flagChangeFocus = true;\n                                    break;\n                                case keyCodes.TAB:\n                                    // reset flags on TAB for current menubar and do nothing else - leave that to default focus handler\n                                    preventDefault = false;\n                                    break;\n                                // Arrows - here we go with keyboard logic\n                                case keyCodes.UP:\n                                    // Key UP doesn't have any difference in design pattern\n                                    action = 'prev';\n                                    break;\n                                case keyCodes.LEFT:\n                                    if ((!isControl && isNested && isSub) || (isSub && !isNested && !isControl)) {\n                                        menubar._currentContext_itemsCollection =\n                                            menubar._menubarContext_itemsCollection;\n                                        menubar._currentIndex = UX.menubar._menubarContext_itemsCollection.index(\n                                            $this.parents('li').last().find('[role=menuitem]')\n                                        );\n                                        action = 'prev';\n                                    } else {\n                                        // we move to parent control\n                                        menubar._currentContext_itemsCollection =\n                                            menubar._menubarContext_itemsCollection;\n                                        menubar._currentIndex = UX.menubar._menubarContext_itemsCollection.index(\n                                            $this.parents('li').last().find('[role=menuitem]')\n                                        );\n                                        action = 'prev';\n                                    }\n                                    if ((!isControl && isSub && isNested) || (isSub && isNested && isControl)) {\n                                        action = 'close';\n                                    }\n                                    break;\n                                case keyCodes.END:\n                                    action = 'end';\n                                    break;\n                                case keyCodes.HOME:\n                                    action = 'home';\n                                    break;\n                                case keyCodes.RIGHT:\n                                    if (isControl && isSub) {\n                                        // open submenu\n                                        flagChangeFocus = true;\n                                        action = 'open';\n                                    } else {\n                                        menubar._currentContext_itemsCollection =\n                                            menubar._menubarContext_itemsCollection;\n                                        menubar._currentIndex = UX.menubar._menubarContext_itemsCollection.index(\n                                            $this.parents('li').last().find('[role=menuitem]')\n                                        );\n                                        action = 'next';\n                                    }\n                                    if (isSub && !isControl) {\n                                        flagOpen = true;\n                                        flagChangeFocus = true;\n                                    }\n                                    break;\n                                case keyCodes.DOWN:\n                                    if (isControl && !isSub) {\n                                        flagChangeFocus = true;\n                                        action = 'open';\n                                    } else {\n                                        action = 'next';\n                                    }\n                                    break;\n                                default:\n                                    if (isPrintableCharacter(event.key)) {\n                                        action = 'find';\n                                        params = [event.key];\n                                        preventDefault = true;\n                                    }\n                            }\n                        }\n\n                        // prevent menu from opening or allow it to open on focus based on flag\n                        menubar.$container.data('flag-open', flagOpen);\n                        menubar.$container.data('flag-change-focus', flagChangeFocus);\n\n                        // call action\n                        if (action) menubar.accessibility.menuitem($this, action, params);\n\n                        // stop page from scrolling, while we handle navigation by keys\n                        if (preventDefault) {\n                            event.stopPropagation();\n                            event.preventDefault();\n                        }\n                    });\n                $('#menubar').on('focusout', function (e, index) {\n                    if (!$(e.relatedTarget).parents().is($(this))) {\n                        $(this)\n                            .find('.dropdown__toggle.js--open.hover')\n                            .removeClass('js--open hover')\n                            .attr('tabindex', '-1')\n                            .next('.dropdown__menu.js--open')\n                            .attr('aria-hidden', 'true')\n                            .removeClass('js--open');\n                    }\n                });\n\n                $body.off('touchend', '[data-toggle=\"dropdown\"]');\n            },\n\n            /**\n             * Handle menu item - mixed methods\n             * @param {jQuery} $item\n             * @param {('next'|'prev'|'home'|'end'|'find'|'close'|'open')} [action] - available methods\n             * @param {Array} params\n             * @public\n             */\n            menuitem: function ($item, action, params) {\n                var length = menubar._currentContext_itemsCollection.length;\n                var currentIndex = menubar._currentIndex;\n\n                var actions = {\n                    /**\n                     * Next\n                     * @param {jQuery} $item\n                     * @private\n                     */\n                    next: function ($item) {\n                        this.goTo(currentIndex + 1);\n                    },\n                    prev: function ($item) {\n                        this.goTo(currentIndex - 1);\n                    },\n                    find: function ($item, params) {\n                        // @todo search for item start with character and go to it in current context\n                    },\n                    home: function () {\n                        this.goTo(0);\n                    },\n                    end: function () {\n                        this.goTo(length - 1);\n                    },\n                    goTo: function (index) {\n                        // circle\n                        if (index < 0) {\n                            index = length - 1;\n                        }\n                        if (index >= length) {\n                            index = 0;\n                        }\n                        $('.main-nav').find('.is--current').removeClass('is--current');\n                        // focus to target\n                        menubar._currentContext_itemsCollection.eq(index).focus().parent('li').addClass('is--current');\n                        menubar.closeInactiveSubMenu(index);\n                    },\n                    open: function ($item) {\n                        if ($item.is(controlSelector)) {\n                            $item.trigger('click', true);\n                        } else {\n                            // real click on items that are not controls, to avoid issues with default prevented\n                            $item[0].click();\n                        }\n\n                        $item.next().find('li:first-child a').focus();\n                    },\n                    close: function ($item) {\n                        // @todo maybe selector would be better than .prev() method\n                        $item.closest('[role=menu]').prev().focus().click();\n                    },\n                };\n\n                // Reverse order\n                if (this._flagReverseOrder) {\n                    switch (action) {\n                        case 'prev':\n                            action = 'next';\n                            break;\n                        case 'next':\n                            action = 'prev';\n                            break;\n                        case 'home':\n                            action = 'end';\n                            break;\n                        case 'end':\n                            action = 'home';\n                            break;\n                    }\n                }\n\n                // actions logic\n                if (typeof action === 'string') {\n                    if (typeof actions[action] === 'undefined') {\n                        throw new TypeError('No method named \"' + action + '\" found.');\n                    }\n                    actions[action]($item, params);\n                }\n            },\n        },\n        switchMobileFlag: function () {\n            $(document).on(menubar.vPort + '-on', function () {\n                // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n                isMobile = true;\n            });\n            $(document).on(menubar.vPort + '-off', function () {\n                // Waiting for custom event that will be triggered by controller.js to deactivate responsive effects\n                isMobile = false;\n            });\n        },\n        closeInactiveSubMenu: function (index) {\n            let navclass = 'main-nav';\n            if (menubar._currentContext_itemsCollection.eq(index).parent().parent().parent().is('.hubpage-menu__nav')) {\n                navclass = 'hubpage-menu__nav';\n            }\n            if (\n                (menubar._currentContext_itemsCollection.eq(index).parent().parent().is('.menubar') ||\n                    menubar._currentContext_itemsCollection\n                        .eq(index)\n                        .parent()\n                        .parent()\n                        .parent()\n                        .is('.hubpage-menu__nav')) &&\n                $('.' + navclass).find('.dropdown__toggle.js--open.hover').length\n            ) {\n                $('.' + navclass)\n                    .find('.dropdown__toggle.js--open.hover')\n                    .removeClass('js--open hover')\n                    .attr('tabindex', '-1')\n                    .next('.dropdown__menu.js--open')\n                    .attr('aria-hidden', 'true')\n                    .removeClass('js--open');\n            }\n        },\n        findTarget: function () {\n            var $target = $('#' + menubar.$controller.attr('data-target')),\n                $nested = null;\n\n            if (!$target.length) {\n                $target = $(menubar.$controller.attr('href'));\n            }\n            if (!menubar.$controller.attr('data-target') && menubar.$controller.attr('data-slide-target')) {\n                $target = $(menubar.$controller.attr('data-slide-target'));\n            }\n            menubar.$section = $target;\n\n            menubar.$container = menubar.$section.closest('nav');\n\n            $nested = menubar.$section.parents('[role=\"menu\"]');\n\n            // Controller closing handling of children\n            if ($nested.length) {\n                menubar.$parentSection = $nested;\n            } else {\n                menubar.$parentSection = null;\n            }\n        },\n        on: {\n            show: function (event) {\n                // Controller handling START:\n                // @todo refactor this behavior too ...\n                if (!menubar.$controller.closest('[role=menu]').length) {\n                    if (typeof UX.controller !== 'undefined') {\n                        UX.controller.check();\n                    }\n                }\n                // --- :END\n\n                if (menubar.$section) {\n                    menubar.$section.addClass('js--open');\n                    menubar.$controller.addClass('js--open');\n                    // @todo refactor this behavior too ...\n                    menubar.$controller.addClass('hover');\n                    // Controller handling active component save\n                    $body.attr('data-active', 'menubar');\n                    if (isMobile) {\n                        $body.addClass('lock-screen');\n                    }\n\n                    // @see https://www.w3.org/TR/wai-aria-practices/#kbd_roving_tabindex\n                    if (menubar._currentContext_itemsCollection === menubar._menubarContext_itemsCollection) {\n                        // remove tabindexes\n                        menubar._menubarContext_itemsCollection?.attr('tabindex', -1);\n                        menubar._menubarContext_itemsCollection?.eq(0).attr('tabindex', 0);\n                        // set tabindex for new item and move focus to target\n                        menubar.$controller?.attr('tabindex', 0);\n                    }\n\n                    // Change focus to fist item in list\n                    if (menubar.$container.data('flag-change-focus')) {\n                        // HAS TO USE TIMEOUT DOU TO MENU TRANSITION\n                        setTimeout(function () {\n                            menubar.$section.find('[role=menuitem]').first().focus();\n                        }, 15);\n                    }\n\n                    // Accessibility\n                    menubar.$controller.attr({'aria-expanded': 'true'});\n                    menubar.$section.removeAttr('aria-hidden');\n                }\n            },\n            hide: function () {\n                var $target = null;\n\n                if (menubar.$section) {\n                    // Close current target\n                    menubar.$controller.removeClass('js--open');\n                    menubar.$section.removeClass('js--open');\n                    // @todo refactor this behavior too ...\n                    menubar.$controller.removeClass('hover');\n\n                    // Accessibility - Inform screen readers\n                    menubar.$controller.attr({'aria-expanded': 'false'});\n                    menubar.$section.attr({'aria-hidden': 'true'});\n\n                    // Controller handling\n                    // Nested dropBlocks close handling\n                    if (menubar.$parentSection && menubar.$parentSection.length) {\n                        // Nested ones - set parent after closing self - will close parent in second round\n                        $target = $('[data-target=' + menubar.$parentSection.attr('id') + ']');\n                        if (!$target.length) {\n                            $target = $('[href=' + '#' + menubar.$parentSection.attr('id') + ']');\n                        }\n                        menubar.$controller = $target;\n                        menubar.findTarget();\n                    } else {\n                        // If we want to close last menu, than there is no more active component\n                        if ($body.attr('data-active') === 'menubar') {\n                            $body.removeAttr('data-active');\n                            if (isMobile) {\n                                $body.removeClass('lock-screen');\n                            }\n                        }\n                    }\n                }\n            },\n        },\n    };\n\n    UX.menubar = menubar;\n\n    elements.forEach(function (element) {\n        if (getComputedStyle(element).display === 'none') {\n            element.remove();\n        }\n    });\n})(UX);\n\nUX.menu.additionalControl = function () {\n    const menuParentList = Array.from(document.querySelectorAll('.menu-parent'));\n    menuParentList.map(item => {\n        item.querySelector('ul')?.addEventListener('mousedown', e => {\n            e.preventDefault();\n        });\n    });\n    //commented these lines because additionalControl already wasn't called\n    // var isOpen = null;\n    //\n    // $('body').on('click', 'li.dropdown', function (e) {\n    //     if (!UX.menu.isMobile) {\n    //         isOpen = false;\n    //\n    //         if ($(this).hasClass('js--open')) {\n    //             isOpen = true;\n    //         }\n    //\n    //         $('li.dropdown').removeClass('js--open');\n    //         $('.dropdown__toggle').removeClass('hover');\n    //\n    //         if (!isOpen) {\n    //             $(this).addClass('js--open').children('.dropdown__toggle').addClass('hover');\n    //         }\n    //     }\n    // });\n    //\n    // $(document).on('click', function (e) {\n    //     if (\n    //         !$(e.target).is('.dropdown.menu-parent') &&\n    //         !$(e.target).closest().is('.dropdown.menu-parent') &&\n    //         $('.dropdown.menu-parent').hasClass('js--open')\n    //     ) {\n    //         $('.dropdown.menu-parent').removeClass('js--open');\n    //     }\n    // });\n    UX.utils.menuRoleButton();\n};\n\nUX.menu.on.showAdditional = function () {\n    var isMenuOpen = $('body').data('active') === 'menu' ? true : false;\n    if (isMenuOpen) {\n        $('html').css('overflow', 'visible');\n    }\n};\n"],"sourceRoot":""}