{"version":3,"file":"js/5060.chunk.js?v=1742528680091","mappings":"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","sources":["webpack://fed-boilerplate/./src/js/consts/global.js","webpack://fed-boilerplate/./src/4-sections/header/main-menu/c-main-menu.js","webpack://fed-boilerplate/./src/4-sections/header/mobile-nav-trigger/c-mobile-nav-trigger.js","webpack://fed-boilerplate/./src/4-sections/header/utility-menu/c-utility-menu.js","webpack://fed-boilerplate/./src/4-sections/header/login-flyout/c-login-flyout.js","webpack://fed-boilerplate/./src/4-sections/header/s-header.js","webpack://fed-boilerplate/./src/js/consts/breakpoints.ts"],"sourcesContent":["import bp from './breakpoints';\n\nexport default { mqSm: window.matchMedia(`(min-width:  ${bp.sm}px)`) };\n","import $ from 'jquery';\nimport g from 'consts/global';\n\nconst ACTIVE_CLASS = 'is-active';\nconst SUBMENU_ACTIVE_CLASS = 'submenu-active';\nconst HAS_ACTIVE_SUBMENU_CLASS = 'has-active-submenu';\n\nconst SUBMENUS_SELECTOR = '.js-submenu';\nconst SUBMENU_TRIGGER_SELECTOR = '.js-open-submenu';\nconst $nav = $('.js-header-nav');\nconst $menu = $('.js-main-menu');\nconst $subMenus = $(SUBMENUS_SELECTOR);\nconst $backButton = $('.js-mobile-back');\nconst $lastLinkinSubmenu = $('.js-submenu-list > li:last-child a');\n\nconst getSubmenu = $trigger => {\n    return $trigger.next(SUBMENUS_SELECTOR);\n};\n\nconst trimContent = text => {\n    return text.replace(/\\n/g, '').trim();\n};\n\nconst getSubmenuTrigger = $submenu => {\n    return $submenu.prev(SUBMENU_TRIGGER_SELECTOR);\n};\n\nconst closeActiveSubmenu = () => {\n    const $activeSubmenu = $subMenus.filter(`.${SUBMENU_ACTIVE_CLASS}`).last();\n    const $activeSubmenuTrigger = getSubmenuTrigger($activeSubmenu);\n\n    $activeSubmenu.removeClass(SUBMENU_ACTIVE_CLASS);\n    $activeSubmenuTrigger.removeClass(ACTIVE_CLASS);\n\n    if ($(`.${SUBMENU_ACTIVE_CLASS}`).length === 0) {\n        $nav.removeClass(HAS_ACTIVE_SUBMENU_CLASS);\n        $(document).off('.clickOutside');\n    }\n};\n\nconst clickOutsideMenu = event => {\n    const NO_TARGET_EVENTS_INSIDE = 0;\n\n    if (\n        !$menu.is(event.target) &&\n        $menu.has(event.target).length === NO_TARGET_EVENTS_INSIDE\n    ) {\n        closeActiveSubmenu();\n    }\n};\n\nconst calculateMenuHeight = () => {\n    const $subMenu = $('.js-submenu.submenu-active');\n\n    if ($subMenu.length === 0) {\n        return;\n    }\n\n    $subMenu.css('height', 'auto');\n\n    setTimeout(() => {\n        const scroll = $(window).scrollTop();\n        const offset = $subMenu.offset().top;\n        const screenOffset = offset - scroll;\n        const screenHeight = $(window).innerHeight();\n        const menuHeight = $subMenu.outerHeight() + screenOffset;\n\n        if (screenHeight < menuHeight) {\n            $subMenu.css('height', `calc(100vh - ${screenOffset}px)`);\n        }\n    }, 400);\n};\n\nconst openSubmenu = ($submenu, clickOutside = false) => {\n    $submenu.addClass(SUBMENU_ACTIVE_CLASS);\n    $nav.addClass(`${ACTIVE_CLASS} ${HAS_ACTIVE_SUBMENU_CLASS}`);\n\n    if (clickOutside) {\n        $(document)\n            .off('.clickOutside')\n            .on('click.clickOutside touchstart.clickOutside', clickOutsideMenu);\n    }\n};\n\nconst toggleSubmenu = $trigger => {\n    let open = true;\n\n    if ($trigger.hasClass(ACTIVE_CLASS)) {\n        open = false;\n    }\n\n    closeActiveSubmenu();\n\n    if (open) {\n        const $submenu = getSubmenu($trigger);\n\n        openSubmenu($submenu, true);\n        $trigger.addClass(ACTIVE_CLASS);\n        calculateMenuHeight();\n    }\n};\n\nconst toggleTabsMenu = $trigger => {\n    if ($trigger.hasClass(ACTIVE_CLASS)) {\n        $trigger.removeClass(ACTIVE_CLASS);\n        $trigger.next().removeClass(SUBMENU_ACTIVE_CLASS);\n    } else {\n        $trigger.addClass(ACTIVE_CLASS);\n        $trigger.next().addClass(SUBMENU_ACTIVE_CLASS);\n    }\n};\n\nconst submenuEvents = mq => {\n    $('body').off('click.submenuTrigger');\n\n    if (mq.matches) {\n        $('body').on(\n            'click.submenuTrigger',\n            SUBMENU_TRIGGER_SELECTOR,\n            event => {\n                const $el = $(event.currentTarget);\n\n                console.info({\n                    event: 'menu_click',\n                    menu_type: 'desktop',\n                    menu_category_1: trimContent($el[0].innerText),\n                    menu_category_2: 'N/A',\n                    menu_category_3: 'N/A',\n                });\n                window.dataLayer.push({\n                    event: 'menu_click',\n                    menu_type: 'desktop',\n                    menu_category_1: trimContent($el[0].innerText),\n                    menu_category_2: 'N/A',\n                    menu_category_3: 'N/A',\n                });\n\n                // for product catalog\n                if ($el.closest('.c-tabs').length > 0) {\n                    event.preventDefault();\n                    toggleTabsMenu($el);\n                    return;\n                }\n\n                toggleSubmenu($el);\n            }\n        );\n\n        $('body').on(\n            'click',\n            '.submenu-link-1, .submenu-link-2, .submenu-parent, .catalogue-filters-link, .tab-btn',\n            event => {\n                const $el = $(event.currentTarget);\n                // const nestedLevel = $el.parents('.submenu-list').length;\n                let menuCat1;\n                let menuCat2;\n                let menuCat3;\n                let menuCat4;\n                if ($el.hasClass('submenu-link-1')) {\n                    menuCat1 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[0].innerText);\n                    menuCat2 = trimContent($el.closest('.submenu-list').siblings('.submenu-header')[0].innerText);\n                    menuCat3 = trimContent($el[0].innerText);\n                    menuCat4 = 'N/A';\n                } else if ($el.hasClass('submenu-link-2')) {\n                    menuCat1 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[0].innerText);\n                    menuCat2 = trimContent($el.parents('.submenu-first').find('.js-tab-item.active .tab-btn')[0].innerText);\n                    menuCat3 = trimContent($el.closest('.submenu-list').siblings('.submenu-header')[0].innerText);\n                    menuCat4 = trimContent($el[0].innerText);\n                } else if ($el.hasClass('catalogue-filters-link')) {\n                    menuCat1 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[0].innerText);\n                    menuCat2 = trimContent($el[0].innerText);\n                    menuCat3 = 'N/A';\n                    menuCat4 = 'N/A';\n                } else if ($el.hasClass('submenu-parent')) {\n                    menuCat1 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[0].innerText);\n                    menuCat2 = trimContent($el.parents('.submenu-first').find('.js-tab-item.active .tab-btn')[0].innerText);\n                    menuCat3 = trimContent($el[0].innerText);\n                    menuCat4 = 'N/A';\n                } else if ($el.hasClass('tab-btn')) {\n                    menuCat1 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[0].innerText);\n                    menuCat2 = trimContent($el[0].innerText);\n                    menuCat3 = 'N/A';\n                    menuCat4 = 'N/A';\n                }\n\n                console.info({\n                    event: 'menu_click',\n                    menu_type: 'desktop',\n                    menu_category_1: menuCat1,\n                    menu_category_2: menuCat2,\n                    menu_category_3: menuCat3,\n                    menu_category_4: menuCat4,\n                });\n                window.dataLayer.push({\n                    event: 'menu_click',\n                    menu_type: 'desktop',\n                    menu_category_1: menuCat1,\n                    menu_category_2: menuCat2,\n                    menu_category_3: menuCat3,\n                    menu_category_4: menuCat4,\n                });\n            }\n        );\n    } else {\n        $('body').on(\n            'click.submenuTrigger',\n            SUBMENU_TRIGGER_SELECTOR,\n            event => {\n                const $el = $(event.currentTarget);\n\n                const nestedLevel = $el.parents('.submenu-list').length;\n\n                let menuCat1 = 'N/A';\n                let menuCat2 = 'N/A';\n                let menuCat3 = 'N/A';\n                switch (nestedLevel) {\n                case 1:\n                    menuCat1 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[0].innerText);\n                    menuCat2 = trimContent($el[0].innerText);\n                    break;\n                case 2:\n                    menuCat1 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[0].innerText);\n                    menuCat2 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[1].innerText);\n                    menuCat3 = trimContent($el[0].innerText);\n                    break;\n                default:\n                    menuCat1 = trimContent($el[0].innerText);\n                    break;\n                }\n\n                console.info({\n                    event: 'menu_click',\n                    menu_type: 'mobile',\n                    menu_category_1: menuCat1,\n                    menu_category_2: menuCat2,\n                    menu_category_3: menuCat3,\n                    menu_category_4: 'N/A',\n                });\n                window.dataLayer.push({\n                    event: 'menu_click',\n                    menu_type: 'mobile',\n                    menu_category_1: menuCat1,\n                    menu_category_2: menuCat2,\n                    menu_category_3: menuCat3,\n                    menu_category_4: 'N/A',\n                });\n\n                // for product catalog\n                if ($el.closest('.c-tabs').length > 0) {\n                    event.preventDefault();\n                    toggleTabsMenu($el);\n                    return;\n                }\n\n                const $submenu = getSubmenu($el);\n\n                openSubmenu($submenu);\n            }\n        );\n\n        $('body').on(\n            'click',\n            '.submenu-link-1, .submenu-link-2, .catalogue-filters-link',\n            event => {\n                const $el = $(event.currentTarget);\n                let menuCat1;\n                let menuCat2;\n                let menuCat3;\n                let menuCat4;\n                if ($el.hasClass('submenu-link-1')) {\n                    menuCat1 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[0].innerText);\n                    menuCat2 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[1].innerText);\n                    menuCat3 = trimContent($el[0].innerText);\n                    menuCat4 = 'N/A';\n                } else if ($el.hasClass('submenu-link-2')) {\n                    menuCat1 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[0].innerText);\n                    menuCat2 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[1].innerText);\n                    menuCat3 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[2].innerText);\n                    menuCat4 = trimContent($el[0].innerText);\n                } else if ($el.hasClass('catalogue-filters-link')) {\n                    menuCat1 = trimContent($el.parents('.submenu-active').siblings('.submenu-parent')[0].innerText);\n                    menuCat2 = trimContent($el[0].innerText);\n                    menuCat3 = 'N/A';\n                    menuCat4 = 'N/A';\n                }\n                console.info({\n                    event: 'menu_click',\n                    menu_type: 'mobile',\n                    menu_category_1: menuCat1,\n                    menu_category_2: menuCat2,\n                    menu_category_3: menuCat3,\n                    menu_category_4: menuCat4,\n                });\n                window.dataLayer.push({\n                    event: 'menu_click',\n                    menu_type: 'mobile',\n                    menu_category_1: menuCat1,\n                    menu_category_2: menuCat2,\n                    menu_category_3: menuCat3,\n                    menu_category_4: menuCat4,\n                });\n            }\n        );\n    }\n};\n\nconst mainMenuInit = () => {\n    g.mqSm.addListener(submenuEvents);\n    submenuEvents(g.mqSm);\n\n    $backButton.on('click', closeActiveSubmenu);\n\n    // tabbed to the end of the line, go back to the top\n    $lastLinkinSubmenu.on('focusout', () => {\n        $backButton.focus();\n    });\n};\n\n// doc ready\n$(() => {\n    mainMenuInit();\n\n    $(window).resize(() => {\n        calculateMenuHeight();\n    });\n});\n","import $ from 'jquery';\n\nconst ACTIVE_CLASS = 'is-active';\nconst SUBMENU_ACTIVE_CLASS = 'submenu-active';\nconst HAS_ACTIVE_SUBMENU_CLASS = 'has-active-submenu';\nconst OPEN_CLASS = 'is-open';\nconst INPUT_CLASS = 'has-input';\n\nconst SUBMENU_ANIMATION_TIME = 500;\n\nconst TRIGGER_SELECTOR = '.c-mobile-nav-trigger.js-mobile-nav-trigger';\nconst $nav = $('.js-header-nav');\nconst $component = $('.c-search-uplift');\nconst $inputField = $('.open-search-panel');\nconst $enterInput = $('.enter-search-input');\nconst pageBody = document.body;\n\nconst openMobileNav = () => {\n    $nav.addClass(ACTIVE_CLASS);\n};\n\nconst closeMobileNav = () => {\n    $nav.removeClass(ACTIVE_CLASS);\n    $component.removeClass(OPEN_CLASS);\n    $enterInput.removeClass(INPUT_CLASS);\n    $inputField.val('');\n\n    setTimeout(() => {\n        $(`.${SUBMENU_ACTIVE_CLASS}`).removeClass(SUBMENU_ACTIVE_CLASS);\n        $nav.removeClass(HAS_ACTIVE_SUBMENU_CLASS);\n    }, SUBMENU_ANIMATION_TIME);\n};\n\nconst toggleMobileNav = () => {\n    if ($nav.hasClass(ACTIVE_CLASS)) {\n        closeMobileNav();\n        pageBody.style.overflow = 'unset';\n        pageBody.style.height = 'unset';\n    } else {\n        openMobileNav();\n        pageBody.style.overflow = 'hidden';\n        pageBody.style.height = '100vh';\n    }\n};\n\nconst mobileNavTriggerInit = () => {\n    $('body').on('click', TRIGGER_SELECTOR, toggleMobileNav);\n};\n\n// doc ready\n$(() => {\n    mobileNavTriggerInit();\n});\n","import $ from 'jquery';\n// @NOTE - Buylitics has been disabled on PROD, hence related code is commented out\n// import AWS from 'aws-sdk';\n// import 'utils/../HACK/amazon-cognito.min';\n// import * as Storage from 'utils/storage';\n// import {\n//     awsDatasetSync,\n//     createEnabledOpenApiSetting,\n//     awsRegion,\n//     getAwsIdentityPoolId,\n//     createCartItemArray,\n//     cNameSystemError,\n//     cNameAccessKeyId,\n//     cNameSecretAccessKey,\n//     cNameSessionToken,\n//     cNameDistributorId,\n//     cNameDistributorBranchId,\n//     cNameDistributorToken,\n//     cNameCartItems,\n//     cNameEnv\n// } from 'utils/buyliticsHelpers';\n\n// function initAWS() {\n//     // Early return if no component found\n//     const $awsInitControl = $('.js-aws-init');\n//     if (!$awsInitControl.length) {\n//         return;\n//     }\n\n//     // Check if the user is logged in and has the cart item count markup (not PDL)\n//     const userIdentityID = $awsInitControl.data('cognito-id');\n//     const userToken = $awsInitControl.data('token');\n//     const userLoggedIn = $awsInitControl.data('is-authenticated');\n//     const userEnv = $awsInitControl.data('env');\n//     if (!userLoggedIn) {\n//         return;\n//     }\n\n//     // Remove all AWS cookies on init - since they need to be refreshed anyway\n//     Storage.removeCookie(cNameAccessKeyId);\n//     Storage.removeCookie(cNameSecretAccessKey);\n//     Storage.removeCookie(cNameSessionToken);\n//     Storage.removeCookie(cNameDistributorId);\n//     Storage.removeCookie(cNameDistributorBranchId);\n//     Storage.removeCookie(cNameDistributorToken);\n//     Storage.removeCookie(cNameSystemError);\n\n//     // Set the Env cookie\n//     Storage.setCookie(cNameEnv, userEnv);\n\n//     // Call the enabled open API to get the user's congito identity from Enabled system\n//     const settingIdentity = createEnabledOpenApiSetting(\n//         `/oauth/cognito_dev_id${\n//             userIdentityID ? `?merge_identity=${userIdentityID}` : ''\n//         }`,\n//         userToken\n//     );\n//     $.ajax(settingIdentity)\n//         .done(response => {\n//             loadAwsIdentity(response.IdentityId, response.Token);\n//         })\n//         .catch(() => {\n//             Storage.setCookie(cNameSystemError, 'errored');\n//         });\n// }\n\n// function loadAwsIdentity(userIdentityID, cognitoToken) {\n//     if (!userIdentityID) {\n//         return;\n//     }\n\n//     // Initialize the Amazon Cognito credentials provider\n//     // and initialize the Cognito Sync client\n//     AWS.config.region = awsRegion;\n//     AWS.config.credentials = new AWS.CognitoIdentityCredentials({\n//         IdentityPoolId: getAwsIdentityPoolId(),\n//         IdentityId: userIdentityID,\n//         Logins: { 'cognito-identity.amazonaws.com': cognitoToken }\n//     });\n\n//     // We need to refresh the tocken to obtain credentials\n//     AWS.config.credentials.get(err => {\n//         if (!err) {\n//             getCartItemsFromAWS();\n//         } else {\n//             // Error on get, so we need to refresh the token\n//             AWS.config.credentials.refresh(refreshErr => {\n//                 // If somehow we are still hitting error on refresh... then kinda too bad\n//                 if (!refreshErr) {\n//                     getCartItemsFromAWS();\n//                 } else {\n//                     Storage.setCookie(cNameSystemError, 'errored');\n//                 }\n//             });\n//         }\n//     });\n// }\n\n// // Fetch the cart items from the server for this user and\n// // Store the AWS values to cookie. This function should only be called when\n// // we are sure the AWS credential is ready\n// function getCartItemsFromAWS() {\n//     const client = new AWS.CognitoSyncManager();\n//     // get cart dataset in dev version this is called iCatCartDataSet\n//     client.openOrCreateDataset('iCatCartDataSet', (err, dataset) => {\n//         if (!err) {\n//             awsDatasetSync(\n//                 'iCatCartDataSet 1',\n//                 dataset,\n//                 () => {\n//                     dataset.getAll((err2, value) => {\n//                         if (!err2) {\n//                             // Store the cart items into cookie\n//                             const cartArray = createCartItemArray(value);\n//                             Storage.setCookie(\n//                                 cNameCartItems,\n//                                 JSON.stringify(cartArray)\n//                             );\n//                         }\n//                     });\n\n//                     // Credentials will be available when this function is called.\n//                     // Store these key / tokens inside the cookie so they can be re-used\n//                     Storage.setCookie(\n//                         cNameAccessKeyId,\n//                         AWS.config.credentials.accessKeyId\n//                     );\n//                     Storage.setCookie(\n//                         cNameSecretAccessKey,\n//                         AWS.config.credentials.secretAccessKey\n//                     );\n//                     Storage.setCookie(\n//                         cNameSessionToken,\n//                         AWS.config.credentials.sessionToken\n//                     );\n//                 },\n//                 true\n//             );\n//         } else {\n//             Storage.setCookie(cNameSystemError, 'errored');\n//         }\n//     });\n// }\n\n$(() => {\n    // initAWS();\n\n    const $applicationsMenu = $('.applications-menu');\n    $applicationsMenu.find('.trigger').on('click', () => {\n        $applicationsMenu.toggleClass('is-open');\n    });\n});\n","import $ from 'jquery';\n\nconst setLoginFlyoutOffset = () => {\n    const $el = $('.js-login-flyout-trigger');\n    const $header = $('.js-header-nav');\n    const $loginFlyout = $('.js-login-flyout');\n\n    $loginFlyout.css({ top: ($header.outerHeight() - $el.outerHeight()) * -1 });\n};\n\nconst loginFlyoutToggle = () => {\n    const $el = $('.js-login-flyout-trigger');\n    const $close = $('.js-close-login-flyout');\n    const $body = $('body');\n\n    if ($el.length <= 0) {\n        return;\n    }\n\n    $el.click(e => {\n        e.preventDefault();\n        $body.toggleClass('login-flyout-active');\n        setLoginFlyoutOffset();\n    });\n\n    $close.click(e => {\n        e.preventDefault();\n        $body.removeClass('login-flyout-active');\n    });\n\n    $body.click(e => {\n        const $this = $(e.target);\n\n        if ($('body.login-flyout-active').length > 0) {\n            if (\n                $this.closest('.js-login-flyout').length === 0 &&\n                $this.closest('.js-login-flyout-trigger').length === 0\n            ) {\n                $body.removeClass('login-flyout-active');\n            }\n        }\n    });\n\n    $(window).resize(() => {\n        setLoginFlyoutOffset();\n    });\n\n    $('body').on('bodyClassChange', () => {\n        setLoginFlyoutOffset();\n    });\n};\n\n$(() => {\n    loginFlyoutToggle();\n});\n","import $ from 'jquery';\nimport 'components/modal/modal-templates';\nimport './main-menu/c-main-menu';\nimport './mobile-nav-trigger/c-mobile-nav-trigger';\nimport './utility-menu/c-utility-menu';\nimport './login-flyout/c-login-flyout';\n\nconst setClasses = params => {\n    const { scroll, headerH, headerAnimationSpacing, $body } = params;\n\n    if (scroll >= headerH) {\n        $body.addClass('pinned-header');\n    } else {\n        $body.removeClass('pinned-header');\n    }\n\n    if (scroll >= headerH + headerAnimationSpacing) {\n        $body.addClass('show-pinned-header');\n        $('body').trigger('bodyClassChange');\n    } else {\n        $body.removeClass('show-pinned-header');\n        $('body').trigger('bodyClassChange');\n    }\n};\n\nconst pinnedHeader = () => {\n    const headerH = 160; // must equal to s-header.css var\n    const headerAnimationSpacing = 20; // must equal to s-header.css var\n    const $window = $(window);\n    const $body = $('body');\n    const $header = $('.s-header');\n\n    if ($header.length !== 1) {\n        return;\n    }\n\n    $window.scroll(() => {\n        const scroll = $window.scrollTop();\n\n        setClasses({ scroll, headerH, headerAnimationSpacing, $body });\n    });\n\n    setClasses({\n        scroll: $window.scrollTop(),\n        headerH,\n        headerAnimationSpacing,\n        $body,\n    });\n};\n\nconst initSearchForm = () => {\n    const $trigger = $('.js-pinned-search-trigger a');\n    const $close = $('.js-close-search');\n\n    if ($trigger.length === 0) {\n        return;\n    }\n\n    $trigger.click(e => {\n        e.preventDefault();\n        $('body').addClass('show-search-form');\n    });\n\n    $close.click(e => {\n        e.preventDefault();\n        $('body').removeClass('show-search-form');\n    });\n};\n\nconst setHeaderToFixedPositionMobile = () => {\n    let ctaBarH;\n    let headerH;\n\n    setTimeout(() => {\n        ctaBarH = $('.s-header .s-cta-bar').height() || 0;\n        headerH = $('.s-header').height() - ctaBarH || 0;\n    }, 0);\n\n    const $header = $('.s-header');\n    const $body = $('.s-header').next();\n    let previousScrollPosition = 0;\n    let scrollPositionAtDirectionChange = 0;\n    let scrollingUp = false;\n\n    if (window.innerWidth < 768 && window.scrollY > headerH) {\n        $header.addClass('fixed');\n    }\n\n    $(window).on('scroll', () => {\n        if (window.innerWidth < 768) {\n            const scrollPosition = window.scrollY;\n\n            if (window.scrollY > headerH) {\n                $header.addClass('fixed');\n                $body.css('padding-top', headerH);\n                if (scrollPosition > previousScrollPosition) {\n                    $header.removeClass('show');\n                    scrollingUp = false;\n                } else if (!scrollingUp) {\n                    scrollPositionAtDirectionChange = previousScrollPosition;\n                    scrollingUp = true;\n                }\n                if (scrollingUp && (window.scrollY < (scrollPositionAtDirectionChange - headerH))) {\n                    $header.addClass('show');\n                }\n            }\n            if (window.scrollY === 0) {\n                $header.removeClass('fixed show');\n                $body.css('padding-top', 0);\n            }\n            previousScrollPosition = scrollPosition;\n        }\n    });\n};\n\nconst mobileSearchControls = () => {\n    const pageBody = document.body;\n    const $header = $('.s-header');\n    const $search = $('.c-search-uplift');\n    const OPEN_CLASS = 'is-open';\n\n    $header.find('.close-mobile-search').on('click', () => {\n        pageBody.style.overflow = 'unset';\n        pageBody.style.height = 'unset';\n    });\n\n    $header.find('.open-search').on('click', () => {\n        pageBody.style.overflow = 'hidden';\n        pageBody.style.height = '100vh';\n        setTimeout(() => {\n            $search.addClass(OPEN_CLASS);\n        }, 0);\n    });\n};\n\n$(() => {\n    if (!$('.s-header').length) {\n        return;\n    }\n\n    pinnedHeader();\n    initSearchForm();\n    setHeaderToFixedPositionMobile();\n    mobileSearchControls();\n});\n","export default {\n    xxs: 0,\n    xs: 480,\n    sm: 768,\n    md: 1024,\n    mdMax: 1199,\n    lg: 1220,\n    xlg: 1448,\n} as const;\n"],"names":["mqSm","window","matchMedia","concat","bp","sm","ACTIVE_CLASS","SUBMENU_ACTIVE_CLASS","HAS_ACTIVE_SUBMENU_CLASS","SUBMENUS_SELECTOR","SUBMENU_TRIGGER_SELECTOR","$nav","$","$menu","$subMenus","$backButton","$lastLinkinSubmenu","getSubmenu","$trigger","next","trimContent","text","replace","trim","closeActiveSubmenu","$activeSubmenu","filter","last","$activeSubmenuTrigger","prev","removeClass","length","document","off","clickOutsideMenu","event","is","target","has","calculateMenuHeight","$subMenu","css","setTimeout","scroll","scrollTop","screenOffset","offset","top","innerHeight","outerHeight","openSubmenu","$submenu","clickOutside","arguments","undefined","addClass","on","toggleTabsMenu","hasClass","submenuEvents","mq","matches","$el","currentTarget","console","info","menu_type","menu_category_1","innerText","menu_category_2","menu_category_3","dataLayer","push","closest","preventDefault","open","toggleSubmenu","menuCat1","menuCat2","menuCat3","menuCat4","parents","siblings","find","menu_category_4","g","addListener","focus","resize","$component","$inputField","$enterInput","pageBody","body","toggleMobileNav","val","style","overflow","height","$applicationsMenu","toggleClass","setLoginFlyoutOffset","$header","$close","$body","click","e","$this","setClasses","params","headerH","headerAnimationSpacing","trigger","$window","ctaBarH","previousScrollPosition","scrollPositionAtDirectionChange","scrollingUp","innerWidth","scrollY","scrollPosition","setHeaderToFixedPositionMobile","$search","mobileSearchControls","xxs","xs","md","mdMax","lg","xlg"],"sourceRoot":""}