{"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":""}