{"version":3,"file":"header.0762b8fcdb5d6ea68677.chunk.js","mappings":"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A,mBACA,gBACA,SACA,KACA,2DACA,cACA,UACA,cACA,SACA,eACA,aACA,iBACA,UACA,eACA,aACA,gBACA,UACA,cACA,WACA,WACA,UACA,UACA,kBACA,aACA,gBACA,aACA,cACA,YACA,cACA,aACA,YACA,UACA,UACA,WACA,UACA,UACA,UACA,UACA,WACA,YACA,WACA,kBACA,eACA,yCACA,2BACA,gBACA,WACA,oBACA,OACA,WACA,YACA,UACA,QACA,QACA,cACA,YACA,eACA,OACA,SACA,WACA,yBACA,YACA,WACA,sBACA,SACA,sBACA,OACA,cACA,aACA,QACA,YACA,oBACA,SACA,UACA,WACA,qBACA,WACA,eACA,cACA,UACA,mBACA,YACA,gBACA,MACA,UACA,mBACA,UACA,QACA,QACA,oBACA,cACA,QACA,QACA,YACA,YACA,WACA,eACA,YACA,YACA,WACA,aACA,OACA,UACA,aACA,QACA,aACA,SACA,kBACA,OACA,UACA,2BACA,QACA,cACA,SACA,UACA,YACA,OACA,UACA,aACA,UACA,UACA,gBACA,cACA,QACA,WACA,WACA,YACA,YACA,OACA,UACA,UACA,aACA,UACA,QACA,cACA,SACA,QACA,QACA,MACA,OACA,SACA,SACA,+BACA,SACA,QACA,YACA,aACA,SACA,aACA,oBACA,eACA,UACA,YACA,gBACA,UACA,cACA,aACA,oBACA,gBACA,MACA,WACA,aACA,YACA,aACA,2BACA,WACA,YACA,UAQD,SAAeA,GACb,IAEE,IAAIiN,OAAO,eAAeC,KAAK,YAIjC,CAHE,MAAOC,GAEP,OAAOnN,CACT,CACA,CAEA,CAAC,MAAO,eAER,CAAC,SAAU,4DAEX,CAAC,OAAQ,oBAET,CAAC,OAAQ,aAET,CAAC,SAAU,8BAA8BkG,SAAQkH,IAC/C,IAAKC,EAAQtC,GAAWqC,EACxB,MAAM5L,EAAQxB,EAAKsN,YAAYD,IAC1B7L,GACHxB,EAAKuN,OAAO/L,EAAO,EAAGuJ,EACxB,GAGJ,CAEAyC,CAAMxN,GAMN,IAAIyN,EAAqB,IAAIC,QACzBC,E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","sources":["webpack://AlfaLaval/./node_modules/classnames/index.js","webpack://AlfaLaval/./assets/icons/common/Profile.tsx","webpack://AlfaLaval/./assets/icons/common/IconContainer.tsx","webpack://AlfaLaval/./assets/icons/common/Facebook.tsx","webpack://AlfaLaval/./assets/icons/common/Twitter.tsx","webpack://AlfaLaval/./assets/icons/common/ExternalLink.tsx","webpack://AlfaLaval/./assets/icons/common/Arrow.tsx","webpack://AlfaLaval/./assets/icons/common/Cross.tsx","webpack://AlfaLaval/./assets/icons/common/Delete.tsx","webpack://AlfaLaval/./assets/icons/common/Email.tsx","webpack://AlfaLaval/./assets/icons/common/Phone.tsx","webpack://AlfaLaval/./components/Button/Button.tsx","webpack://AlfaLaval/./components/CloseButton/CloseButton.tsx","webpack://AlfaLaval/./components/SocialMediaShare/SocialMediaShare.tsx","webpack://AlfaLaval/./helpers/noScroll.ts","webpack://AlfaLaval/./helpers/quoteClickHelper.ts","webpack://AlfaLaval/./hooks/useOutsideClick.tsx","webpack://AlfaLaval/./layouts/HeaderBar/HeaderBar.service.ts","webpack://AlfaLaval/./components/LanguageSelect/LanguageSelect.tsx","webpack://AlfaLaval/./layouts/Header/components/TopMenu/components/TopMenuLanguageSelector.tsx","webpack://AlfaLaval/./layouts/Header/components/TopMenu/TopMenu.tsx","webpack://AlfaLaval/./layouts/Header/components/Brand.tsx","webpack://AlfaLaval/./layouts/Header/components/MenuSection/components/ContactButton.tsx","webpack://AlfaLaval/./layouts/Header/components/MenuSection/components/MainNavigation.tsx","webpack://AlfaLaval/./layouts/Header/components/MenuSection/components/SearchButton.tsx","webpack://AlfaLaval/./layouts/Header/components/MenuSection/components/SignInButton.tsx","webpack://AlfaLaval/./layouts/Header/components/MenuSection/components/MarketButton.tsx","webpack://AlfaLaval/./layouts/Header/components/MenuSection/MenuSection.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/desktop/MegaMenuState/MegaMenuState.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/desktop/MegaMenuItem/MegaMenuItem.hooks.ts","webpack://AlfaLaval/./layouts/MegaMenu/components/desktop/MegaMenuItem/MegaMenuItem.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/desktop/MegaMenuColumn/MegaMenuColumn.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/desktop/MegaMenuNavigation/MegaMenuNavigation.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/desktop/MegaMenuMain.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/mobile/MegaMenuListMobile/components/MobileListItemWithChildren.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/mobile/MegaMenuListMobile/components/MobileListItemGoBackBtn.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/mobile/MegaMenuListMobile/components/MobileMenuListWrapper.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/mobile/MegaMenuListMobile/MegaMenuListMobile.tsx","webpack://AlfaLaval/./layouts/MegaMenu/helpers/columnDataUtils.ts","webpack://AlfaLaval/./layouts/MegaMenu/components/mobile/MegaMenuColumnMobile/MegaMenuColumnMobile.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/common/LanguageSelector/LanguageSelectorMobile.tsx","webpack://AlfaLaval/./node_modules/isbot/index.mjs","webpack://AlfaLaval/./layouts/MegaMenu/components/mobile/MobileNavigationList/MobileNavigationList.tsx","webpack://AlfaLaval/./layouts/MegaMenu/components/mobile/MobileNavigationList/MobileNavigationList.utils.ts","webpack://AlfaLaval/./components/SignInDropdown/SignInDrodown.tsx","webpack://AlfaLaval/./layouts/CountrySelector/components/CountrySelectorFooter.tsx","webpack://AlfaLaval/./layouts/CountrySelector/components/MobileList.tsx","webpack://AlfaLaval/./layouts/CountrySelector/components/DesktopList.tsx","webpack://AlfaLaval/./layouts/CountrySelector/CountrySelector.service.ts","webpack://AlfaLaval/./layouts/CountrySelector/CountrySelector.tsx","webpack://AlfaLaval/./layouts/MegaMenu/MainNavigationMobileNew.tsx","webpack://AlfaLaval/./helpers/isWebCrawler.ts","webpack://AlfaLaval/./layouts/Header/Header.hooks.ts","webpack://AlfaLaval/./layouts/HeaderBar/components/Breadcrumb/Breadcrumb.hooks.ts","webpack://AlfaLaval/./layouts/HeaderBar/components/Breadcrumb/components/SocialBar.tsx","webpack://AlfaLaval/./layouts/HeaderBar/components/Breadcrumb/Breadcrumb.tsx","webpack://AlfaLaval/./layouts/HeaderBar/components/SubMenu/SubMenu.tsx","webpack://AlfaLaval/./layouts/HeaderBar/components/SubMenu/SubMenuMobile.tsx","webpack://AlfaLaval/./layouts/HeaderBar/HeaderBar.tsx","webpack://AlfaLaval/./layouts/Header/Header.tsx","webpack://AlfaLaval/./layouts/Header/index.ts","webpack://AlfaLaval/./pages/ContactUs/ContactUs.service.ts"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react';\r\n\r\nexport const Profile = () => (\r\n \r\n \r\n \r\n \r\n);\r\n","import React, { ReactNode } from 'react';\r\n\r\ninterface IconContainerProps {\r\n icon: ReactNode;\r\n className?: string;\r\n}\r\n\r\nexport const IconContainer = ({ icon, className }: IconContainerProps) => {\r\n return (\r\n \r\n {icon}\r\n \r\n )\r\n};","import React from 'react';\r\n\r\nexport const Facebook = () => (\r\n \r\n \r\n \r\n \r\n);\r\n\r\n\r\n","import React from 'react';\r\n\r\nexport const Twitter = () => (\r\n \r\n \r\n \r\n);","import React from 'react';\r\n\r\nexport const ExternalLink = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n","import React from 'react';\r\n\r\nexport const Arrow = ({ stroke = '#10387F', rotate = 0 }) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n","import React from 'react';\r\n\r\nexport const Cross = () => (\r\n \r\n \r\n \r\n \r\n);\r\n","import React from 'react';\r\n\r\nexport const Delete = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n","import React from 'react';\r\n\r\nexport const EmailSvg = () => (\r\n \r\n \r\n \r\n \r\n);\r\n","import React from 'react';\r\n\r\nexport const PhoneSvg = () => (\r\n \r\n \r\n \r\n);\r\n","import { createElement, ReactNode, MouseEvent } from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport interface ButtonProps extends React.HTMLAttributes {\r\n text: string;\r\n className?: string;\r\n type?: 'button' | 'submit' | 'reset';\r\n onClick?: (e: MouseEvent) => void;\r\n href?: string;\r\n size?: 'xs' | 'small' | 'medium' | 'large';\r\n disabled?: boolean;\r\n color?: 'grey' | 'default' | 'primary' | 'cta';\r\n border?: boolean;\r\n children?: ReactNode;\r\n}\r\n\r\nexport const Button = ({\r\n text,\r\n className = '',\r\n onClick = () => {},\r\n href,\r\n size = 'medium',\r\n disabled = false,\r\n color = 'default',\r\n border = false,\r\n children,\r\n type,\r\n ...props\r\n}: ButtonProps) => {\r\n const tag = href ? 'a' : 'button';\r\n\r\n return createElement(\r\n tag,\r\n {\r\n onClick,\r\n className:\r\n classNames('c-button', {\r\n 'is-xs': size === 'xs',\r\n 'is-small': size === 'small',\r\n 'is-medium': size === 'medium',\r\n 'is-large': size === 'large',\r\n 'is-disabled': !!disabled,\r\n 'is-grey': color === 'grey',\r\n 'is-default': color === 'default',\r\n 'is-primary': color === 'primary',\r\n 'is-cta': color === 'cta',\r\n 'is-border': !!border,\r\n }) +\r\n ' ' +\r\n className,\r\n href,\r\n ...(tag === 'a' && { target: '_blank' }),\r\n type,\r\n ...props,\r\n },\r\n [text, children]\r\n );\r\n};\r\n","import React, { MouseEventHandler } from 'react';\r\nimport './CloseButton.scss';\r\n\r\ninterface CloseButtonProps {\r\n onClick: MouseEventHandler;\r\n className?: string;\r\n}\r\n\r\nexport const CloseButton = ({ onClick, className }: CloseButtonProps) => {\r\n return (\r\n \r\n );\r\n};\r\n","import React, { MouseEvent } from 'react';\r\nimport { IconContainer, Facebook, Twitter } from '@icons/common';\r\n\r\ninterface SocialMediaShareProps {\r\n title: string;\r\n}\r\n\r\nexport const SocialMediaShare = ({ title }: SocialMediaShareProps) => {\r\n const handleClick = (e: MouseEvent, name: string) => {\r\n e.preventDefault();\r\n\r\n window.open(\r\n e.currentTarget.href,\r\n name + \"Share Window\",\r\n \"height=450, width=550, top=\" +\r\n (window.innerHeight / 2 - 275) +\r\n \", left=\" +\r\n (window.innerWidth / 2 - 225) +\r\n \", toolbar=0, location=0, menubar=0, directories=0, scrollbars=0\"\r\n );\r\n };\r\n\r\n const shareUrl = window.location.href;\r\n\r\n return (\r\n
\r\n {title}\r\n
\r\n {/* */}\r\n
\r\n handleClick(e, \"Facebook\")}>\r\n } />\r\n \r\n
\r\n\r\n {/* */}\r\n
\r\n handleClick(e, \"Twitter\")}\r\n href={\r\n \"https://twitter.com/share?url=\" + shareUrl + \"&text=Alfalaval&hashtags=alfalaval\"\r\n }>\r\n } />\r\n \r\n
\r\n\r\n {/* */}\r\n
\r\n handleClick(e, \"LinkedIn\")}\r\n href={\"http://www.linkedin.com/shareArticle?mini=true&url=\" + shareUrl}>\r\n \r\n \r\n
\r\n\r\n {/* */}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n","export const disableScroll = () => {\r\n document.body.classList.add(\"no-scroll\");\r\n};\r\n\r\nexport const enableScroll = () => {\r\n document.body.classList.remove(\"no-scroll\");\r\n};\r\n","import dataLayer from '@helpers/dataLayer';\r\n\r\nexport const quoteClickHelper = (contactUsForm: { I18: Record }, redirect?: () => void) => {\r\n localStorage.setItem('CategoryID', contactUsForm.I18.CategoryID);\r\n // quoteOriginPageID is used as parent page id in contact-us/enquiry type form\r\n localStorage.setItem('quoteOriginPageID', window.pageId);\r\n localStorage.setItem('quoteOriginPageUrl', window.location.href);\r\n\r\n dataLayer.push('contact_button', {\r\n contact_type: contactUsForm?.I18?.RequestForQuote || '',\r\n });\r\n\r\n if (redirect) {\r\n redirect();\r\n } else {\r\n window.location.href = contactUsForm?.I18?.EnquiryTypeLink;\r\n }\r\n};\r\n","import { useEffect } from \"react\";\r\n\r\nexport const useOutsideClick = (\r\n ref: React.RefObject,\r\n handler: Function\r\n) => {\r\n return useEffect(() => {\r\n const handleClick = (e: any) => {\r\n if (ref.current && !ref.current.contains(e.target)) {\r\n handler(e);\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClick);\r\n document.addEventListener(\"touchstart\", handleClick);\r\n\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClick);\r\n document.removeEventListener(\"touchstart\", handleClick);\r\n };\r\n }, [ref, handler]);\r\n};\r\n","import { apiSlice } from '@services/apiSlice';\r\nimport { Breadcrumb as endpoints } from '@services/endpoints';\r\nimport { Breadcrumb } from './HeaderBar.types';\r\n\r\nconst breadcrumbApi = apiSlice.injectEndpoints({\r\n endpoints: (build) => ({\r\n fetchBreadcrumb: build.query({\r\n query: () => ({\r\n url: endpoints.fetchBreadcrumb,\r\n params: { language: window.lang, pageId: window.pageId }\r\n }),\r\n }),\r\n }),\r\n overrideExisting: false,\r\n})\r\n\r\nexport const { useFetchBreadcrumbQuery } = breadcrumbApi;","import { useOutsideClick } from '@hooks/useOutsideClick';\r\nimport { Language } from '@type/common';\r\nimport React, { useState, useRef, useMemo } from 'react';\r\nimport './LanguageSelect.scss';\r\n\r\ninterface LanguageSelectProps {\r\n title: string;\r\n name: string;\r\n selectFunction: (item: Language) => void;\r\n list: Language[];\r\n arrow?: string;\r\n}\r\n\r\nexport const LanguageSelect = ({\r\n title,\r\n name,\r\n selectFunction,\r\n list,\r\n arrow = 'down',\r\n}: LanguageSelectProps) => {\r\n const [isShowing, setIsShowing] = useState(false);\r\n\r\n const selectRef = useRef(null);\r\n const handleClickOutside = () => {\r\n setIsShowing(false);\r\n };\r\n useOutsideClick(selectRef, handleClickOutside);\r\n\r\n const handleClick = () => {\r\n setIsShowing(!isShowing);\r\n };\r\n\r\n const onSelect = (item: Language) => {\r\n selectFunction(item);\r\n setIsShowing(false);\r\n };\r\n\r\n const listItems = useMemo(() => {\r\n return list\r\n ? list.map((item, key) => (\r\n
  • onSelect(item)}>\r\n {item[name]}\r\n
  • \r\n ))\r\n : [];\r\n }, [list, name]);\r\n\r\n return (\r\n
    \r\n
    \r\n {title}\r\n {arrow === 'down' || isShowing ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {isShowing && (\r\n
    \r\n
      {listItems}
    \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n","import React from 'react';\r\nimport { LanguageSelect } from '@components/LanguageSelect';\r\nimport { TopMenu } from '@layouts/Header/Header.types';\r\nimport { Language } from '@type/common';\r\n\r\ninterface TopMenuLanguageSelectorProps {\r\n languages: TopMenu['Languages'];\r\n defaultLanguage: string;\r\n}\r\n\r\nexport const TopMenuLanguageSelector = ({\r\n languages,\r\n defaultLanguage,\r\n}: TopMenuLanguageSelectorProps) => {\r\n const select = (item: Language) => {\r\n window.location.href = item.Href;\r\n };\r\n\r\n const currentLanguageTitle = () => {\r\n const lang = languages.filter((i) => i.LanguageCode == window.lang);\r\n if (lang.length > 0) {\r\n return lang[0].Name;\r\n } else {\r\n return languages[0].Name;\r\n }\r\n };\r\n\r\n const languageTitle = currentLanguageTitle();\r\n\r\n return (\r\n \r\n
    \r\n select(item)}\r\n title={defaultLanguage ?? languageTitle}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n","import { TopMenu } from '@layouts/Header/Header.types';\r\nimport React from 'react';\r\nimport { TopMenuLanguageSelector } from './components';\r\nimport { productShopUrl } from '@helpers/consts';\r\n\r\ninterface TopMenuProps {\r\n topMenu: TopMenu;\r\n}\r\n\r\nconst TopMenu = ({ topMenu }: TopMenuProps) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {topMenu &&\r\n topMenu.SectionLinks.map((item, index) => (\r\n \r\n {item.Text}\r\n \r\n ))}\r\n {topMenu && topMenu.Languages && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TopMenu;\r\n","import React from 'react';\r\n\r\ninterface BrandProps {\r\n className?: string;\r\n}\r\n\r\nexport const Brand = ({ className }: BrandProps) => {\r\n let pathLink = '';\r\n if (document.getElementsByTagName('html')[0].getAttribute('lang') === 'nl') {\r\n pathLink = '/nl';\r\n } else if (document.getElementsByTagName('html')[0].getAttribute('lang') === 'fr-BE') {\r\n pathLink = '/fr-be';\r\n } else if (document.getElementsByTagName('html')[0].getAttribute('lang') === 'fr-ca') {\r\n pathLink = '/fr-ca';\r\n } else {\r\n pathLink = '/';\r\n }\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n","import React, { forwardRef } from 'react';\r\n\r\ninterface ContactButtonProps {\r\n highlight: boolean;\r\n selected: string;\r\n contactlink: string;\r\n title: string;\r\n}\r\n\r\nexport const ContactButton = forwardRef(\r\n ({ highlight, selected, contactlink, title }, ref) => {\r\n const classes =\r\n window.pageType === 'ContactUsPage' && !highlight\r\n ? 'c-header-main-menu-item active'\r\n : 'c-header-main-menu-item';\r\n\r\n if (selected) {\r\n document.cookie = 'contactcaptcha=true; path=/';\r\n } else {\r\n document.cookie = 'contactcaptcha=false; path=/';\r\n }\r\n\r\n const handleClick = () => {\r\n window.localStorage.setItem('menuContainerLink', '');\r\n };\r\n\r\n return (\r\n \r\n {title}\r\n \r\n );\r\n }\r\n);\r\n","import { MegaMenuNavigationItem } from '@layouts/MegaMenu/MegaMenu.types';\r\nimport React from 'react';\r\n\r\ninterface MainNavigationProps {\r\n model: MegaMenuNavigationItem[];\r\n onClick: (index: string) => void;\r\n selected: string;\r\n}\r\n\r\nexport const MainNavigation = ({ model, selected, onClick }: MainNavigationProps) => {\r\n const handleClick = (index: string) => {\r\n onClick(index);\r\n };\r\n\r\n const setValue = (val: string) => {\r\n window.localStorage.setItem('menuContainerLink', val);\r\n };\r\n\r\n if (!model) return null;\r\n\r\n const itemClass = 'c-header-main-menu-item';\r\n\r\n return (\r\n <>\r\n {model.map((item, index) =>\r\n item.NoSubCategory ? (\r\n setValue(item.ContainerLink)}\r\n key={index}\r\n className={\r\n window.localStorage.getItem('menuContainerLink') == item.ContainerLink\r\n ? `${itemClass} active`\r\n : itemClass\r\n }\r\n href={item.UrlSegment}\r\n >\r\n {item.Name}\r\n \r\n ) : (\r\n handleClick(item.ContainerLink)}\r\n key={index}\r\n className={selected === item.ContainerLink ? `${itemClass} active` : itemClass}\r\n >\r\n {item.Name}\r\n \r\n )\r\n )}\r\n \r\n );\r\n};\r\n","import React, { MouseEvent } from 'react';\r\n\r\ninterface SearchButtonProps {\r\n selected: boolean;\r\n onClick: (e: MouseEvent) => void;\r\n title: string;\r\n}\r\n\r\nexport const SearchButton = ({ selected, onClick, title }: SearchButtonProps) => {\r\n const classes = selected ? 'c-header-main-menu-item active' : 'c-header-main-menu-item';\r\n return (\r\n \r\n );\r\n};\r\n","import React, { Fragment, MouseEvent } from 'react';\r\nimport { Profile } from '@icons/common/Profile';\r\n\r\ninterface SignInButtonProps {\r\n selected: boolean;\r\n onClick: (e: MouseEvent) => void;\r\n title: string;\r\n}\r\n\r\nexport const SignInButton = ({ selected, onClick, title }: SignInButtonProps) => {\r\n const classes = selected ? 'c-header-main-menu-item active' : 'c-header-main-menu-item';\r\n return (\r\n \r\n );\r\n};\r\n","import classNames from 'classnames';\r\nimport React, { MouseEvent } from 'react';\r\n\r\ninterface MarketButtonProps {\r\n selected: boolean;\r\n onClick: (e: MouseEvent) => void;\r\n title: string;\r\n}\r\n\r\nexport const MarketButton = ({ selected, onClick, title }: MarketButtonProps) => {\r\n return (\r\n \r\n );\r\n};","import React, { Fragment, useRef, useState } from 'react';\r\nimport { ContactButton, MainNavigation, MarketButton, SearchButton, SignInButton } from './components';\r\nimport { MegaMenuNavigationItem } from '@layouts/MegaMenu/MegaMenu.types';\r\nimport './MenuSection.scss';\r\nimport { useWinSize } from '@contexts/WinSizeContext';\r\nimport { activeClass } from '@layouts/Header/Header.utils';\r\nimport { IconContainer, Profile } from '@icons/common';\r\nimport { SignInLinkInformation } from '@layouts/Header/Header.types';\r\nimport classNames from 'classnames';\r\n\r\ninterface MenuSectionProps {\r\n toggleMegaMenu: (index: string) => void;\r\n toggleSearchArea: () => void;\r\n toggleSignInArea: () => void;\r\n toggleMarketArea: () => void;\r\n showHideSignIn: boolean;\r\n megaMenuNavigation: MegaMenuNavigationItem[];\r\n contactLink: string;\r\n contactBtnText: string;\r\n searchBtnText: string;\r\n signInBtnText: string;\r\n selected: string;\r\n signInDescription: string;\r\n signInBtnLinks: SignInLinkInformation[];\r\n showSearchArea: boolean;\r\n showSignInArea: boolean;\r\n showMarketArea: boolean;\r\n cls: string;\r\n}\r\n\r\nexport const MenuSection = ({\r\n toggleMegaMenu,\r\n toggleSearchArea,\r\n toggleSignInArea,\r\n toggleMarketArea,\r\n showHideSignIn,\r\n megaMenuNavigation,\r\n contactLink,\r\n contactBtnText,\r\n searchBtnText,\r\n signInBtnText,\r\n selected,\r\n signInDescription,\r\n showSearchArea,\r\n showSignInArea,\r\n showMarketArea,\r\n signInBtnLinks,\r\n cls,\r\n}: MenuSectionProps) => {\r\n const [contactClick, setContactClick] = useState(false);\r\n const contactBtnRef = useRef();\r\n const { isDesktopForHeader } = useWinSize();\r\n const handlehighlight = (index: string) => {\r\n setContactClick(true);\r\n toggleMegaMenu(index);\r\n if (window.pageType === 'ContactUsPage' && contactBtnRef.current) {\r\n contactBtnRef.current.classList.remove('active');\r\n }\r\n };\r\n let pathLink = '';\r\n\r\n if (document.getElementsByTagName('html')[0].getAttribute('lang') === 'nl') {\r\n pathLink = '/nl/';\r\n } else if (document.getElementsByTagName('html')[0].getAttribute('lang') === 'fr-BE') {\r\n pathLink = '/fr-be/';\r\n } else if (document.getElementsByTagName('html')[0].getAttribute('lang') === 'fr-CA') {\r\n pathLink = '/fr-ca/';\r\n } else {\r\n pathLink = '/';\r\n }\r\n return (\r\n \r\n
    \r\n
    \r\n handlehighlight(index)}\r\n selected={selected}\r\n />\r\n \r\n
    \r\n \r\n \r\n {(signInBtnLinks.length > 0 || signInDescription) && !showHideSignIn && (\r\n \r\n )}\r\n \r\n
    \r\n \r\n
    \r\n {(!showHideSignIn ||\r\n (showHideSignIn && !isDesktopForHeader) ||\r\n window.innerWidth == 900) && (\r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n )}\r\n {(signInBtnLinks.length > 0 || signInDescription) && !showHideSignIn && (\r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n } className='svg-icon icon-sign-in' />\r\n
    • \r\n
    \r\n \r\n )}\r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n","import { MegaMenuColumn, MegaMenuSegment } from '@layouts/MegaMenu/MegaMenu.types';\r\nimport React, { ReactNode, createContext, useContext, useEffect, useState, useRef } from 'react';\r\n\r\ninterface ActiveItems {\r\n [key: string]: string;\r\n}\r\n\r\ntype MegaMenuData = MegaMenuSegment | MegaMenuColumn;\r\n\r\ninterface MegaMenuStateProviderProps {\r\n selectedSection: string;\r\n megaMenuData: MegaMenuSegment;\r\n children: ReactNode;\r\n}\r\n\r\ninterface MegaMenuStateContext {\r\n activeItems: ActiveItems;\r\n data: MegaMenuData;\r\n addActiveItem: (changedLevel: number, item: string) => void;\r\n resetActiveItems: () => void;\r\n removeActiveItem: (level: number) => void;\r\n resetData: () => void;\r\n setData: (data: MegaMenuData) => void;\r\n}\r\n\r\nconst MegaMenuState = createContext(null);\r\n\r\nexport const MegaMenuStateProvider = ({\r\n selectedSection,\r\n megaMenuData,\r\n children,\r\n}: MegaMenuStateProviderProps) => {\r\n // obj where obj key is the level and the value is the active item\r\n const [activeItems, setActiveItems] = useState({});\r\n const initialData = useRef(megaMenuData);\r\n const [data, setData] = useState(megaMenuData);\r\n\r\n const addActiveItem = (changedLevel: number, item: string) => {\r\n // remove all active items that come after changed active item\r\n const newActiveItems = { ...activeItems };\r\n\r\n Object.keys(newActiveItems).forEach((level) => {\r\n if (parseInt(level) > changedLevel) {\r\n delete newActiveItems[level];\r\n }\r\n });\r\n\r\n setActiveItems({ ...newActiveItems, [changedLevel.toString()]: item });\r\n };\r\n\r\n useEffect(() => {\r\n resetActiveItems();\r\n }, [selectedSection, megaMenuData]);\r\n\r\n useEffect(() => {\r\n setData(megaMenuData);\r\n initialData.current = megaMenuData;\r\n }, [megaMenuData]);\r\n\r\n const resetActiveItems = () => {\r\n setActiveItems({});\r\n };\r\n\r\n const removeActiveItem = (level: number) => {\r\n delete activeItems[level.toString()];\r\n };\r\n\r\n const resetData = () => {\r\n setData(initialData.current);\r\n resetActiveItems();\r\n };\r\n\r\n return (\r\n {\r\n setData(newData);\r\n },\r\n }}\r\n >\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport const useMegaMenuState = () => {\r\n const context = useContext(MegaMenuState);\r\n\r\n return context;\r\n};\r\n","import { useEffect, useRef, useState } from 'react';\r\n\r\nexport const useMegaMenuItemHover = (onHover: () => void) => {\r\n const [isHovered, setIsHovered] = useState(false);\r\n const hoverTimer = useRef(null);\r\n\r\n const onHoverStarted = () => {\r\n hoverTimer.current = setTimeout(() => {\r\n setIsHovered(true);\r\n onHover();\r\n }, 200);\r\n };\r\n\r\n const onHoverEnded = () => {\r\n clearTimeout(hoverTimer.current);\r\n setIsHovered(false);\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n clearTimeout(hoverTimer.current);\r\n };\r\n }, []);\r\n\r\n return {\r\n isHovered,\r\n onMouseEnter: onHoverStarted,\r\n onMouseLeave: onHoverEnded,\r\n };\r\n};\r\n","import React from 'react';\r\nimport { createPortal } from 'react-dom';\r\nimport { MegaMenuColumn } from '../MegaMenuColumn';\r\nimport classNames from 'classnames';\r\nimport { useMegaMenuState } from '../MegaMenuState';\r\nimport './MegaMenuItem.scss';\r\nimport { useMegaMenuItemHover } from './MegaMenuItem.hooks';\r\nimport { Section } from '@layouts/MegaMenu/MegaMenu.types';\r\n\r\ninterface MegaMenuItemProps {\r\n title: string;\r\n href: string;\r\n level: number;\r\n items: Section[];\r\n hasChildren: boolean;\r\n className?: string;\r\n}\r\n\r\nexport const MegaMenuItem = ({\r\n title,\r\n href,\r\n level,\r\n items,\r\n hasChildren,\r\n className,\r\n}: MegaMenuItemProps) => {\r\n const { activeItems, addActiveItem } = useMegaMenuState();\r\n const isActive = activeItems[level] === title;\r\n const isMobileDevice = navigator.maxTouchPoints > 0;\r\n\r\n const onHover = () => {\r\n addActiveItem(level, title);\r\n };\r\n\r\n const { isHovered, onMouseEnter, onMouseLeave } = useMegaMenuItemHover(onHover);\r\n\r\n const doHightlightLink = () => {\r\n if (isMobileDevice) {\r\n return href && hasChildren;\r\n }\r\n return isHovered && href && hasChildren;\r\n };\r\n\r\n const showChildren = isActive && hasChildren;\r\n\r\n const nextLevel = level + 1;\r\n return (\r\n
    \r\n {\r\n if (!isMobileDevice && href) {\r\n window.location.href = href;\r\n }\r\n }}\r\n >\r\n \r\n {title}\r\n \r\n {hasChildren && }\r\n \r\n {showChildren &&\r\n createPortal(\r\n ,\r\n document.querySelector(`.l-megaMenu-navigation-col.level-${nextLevel}`)\r\n )}\r\n
    \r\n );\r\n};\r\n","import React from 'react';\r\nimport { MegaMenuItem } from '../MegaMenuItem';\r\nimport { hasProperty } from '@helpers/objectHelpers';\r\nimport './MegaMenuColumn.scss';\r\nimport {\r\n MegaMenuColumn as MegaMenuColumnType,\r\n MegaMenuColumnSection,\r\n Section,\r\n} from '@layouts/MegaMenu/MegaMenu.types';\r\n\r\ntype MegaMenuColumnData = MegaMenuColumnType | MegaMenuColumnSection | Section;\r\n\r\ninterface MegaMenuColumnProps {\r\n items: MegaMenuColumnType[] | MegaMenuColumnSection[] | Section[];\r\n level: number;\r\n}\r\n\r\nexport const MegaMenuColumn = ({ items, level }: MegaMenuColumnProps) => {\r\n return (\r\n <>\r\n {items?.map((columnData: MegaMenuColumnData, index: number) => {\r\n const columnChildren =\r\n ('ColumnAndSection' in columnData && columnData.ColumnAndSection) ||\r\n ('Children' in columnData && columnData.Children) ||\r\n ('Sections' in columnData && columnData.Sections);\r\n\r\n const columnHasChildren =\r\n columnChildren?.length > 0 &&\r\n hasProperty(columnData, 'NoSubCategory') &&\r\n columnData.NoSubCategory === false;\r\n\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { MegaMenuColumn } from '../MegaMenuColumn';\r\nimport classNames from 'classnames';\r\nimport { useMegaMenuState } from '../MegaMenuState';\r\nimport './MegaMenuNavigation.scss';\r\n\r\ninterface MegaMenuNavigationProps {\r\n levels: number;\r\n}\r\n\r\nexport const MegaMenuNavigation = ({ levels }: MegaMenuNavigationProps) => {\r\n const { data } = useMegaMenuState();\r\n\r\n return (\r\n
    \r\n {/* For every level add an empty placeholder div to render column using portals.\r\n For first level we start rendering MegaMenu */}\r\n {Array(levels)\r\n .fill(0)\r\n .map((_, prevLevel) => {\r\n const level = prevLevel + 1;\r\n const columns = 'Columns' in data ? data.Columns : data.ColumnAndSection;\r\n\r\n return (\r\n
    \r\n {level === 1 && }\r\n
    \r\n );\r\n })}\r\n
    \r\n );\r\n};\r\n","import React from 'react';\r\nimport { CloseButton } from '@components/CloseButton';\r\nimport { MegaMenuStateProvider } from './MegaMenuState';\r\nimport './MegaMenuMain.scss';\r\nimport { MegaMenuNavigation } from './MegaMenuNavigation';\r\nimport { MegaMenuSegment } from '@layouts/MegaMenu/MegaMenu.types';\r\n\r\ninterface MegaMenuMainProps {\r\n show: boolean;\r\n selected: string;\r\n megaMenuColumns: {\r\n [key: string]: MegaMenuSegment;\r\n };\r\n closeMegaMenu: () => void;\r\n}\r\n\r\nconst MegaMenuMain = ({ show, selected, megaMenuColumns, closeMegaMenu }: MegaMenuMainProps) => {\r\n const LEVELS = 4;\r\n const selectedColumn = megaMenuColumns[selected];\r\n\r\n return show ? (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : null;\r\n};\r\n\r\nexport default MegaMenuMain;\r\n","import React from 'react';\r\n\r\ninterface MobileListItemWithChildrenProps {\r\n count: number;\r\n item;\r\n level: number;\r\n container;\r\n backID;\r\n}\r\n\r\nexport const MobileListItemWithChildren = ({\r\n count,\r\n item,\r\n level,\r\n container,\r\n backID,\r\n}: MobileListItemWithChildrenProps) => {\r\n const text = item.Name ? item.Name : item.Title;\r\n const urlSegment = item.UrlSegment;\r\n\r\n const handleItemClick = (event) => {\r\n const nextLevel = level + 1;\r\n const el = document.getElementById(\r\n `mobile-mm-${container}-${nextLevel}-${event.currentTarget.id}`\r\n );\r\n if (el) {\r\n el.classList.remove('hidden');\r\n el.classList.forEach((className) => {\r\n if (className.startsWith('move')) {\r\n el.classList.remove(className);\r\n el.classList.add('move-from-left');\r\n }\r\n });\r\n const child = el.querySelector('.mobile-mm-header-title');\r\n const backChild = el.querySelector('.mobile-mm-header-back');\r\n if (backChild && backID) backChild.setAttribute('data-mm-mobileback-id', backID);\r\n if (child) {\r\n if (urlSegment && urlSegment.length) {\r\n child.innerHTML = `${text}`;\r\n } else {\r\n child.innerHTML = text;\r\n }\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n {text}\r\n \r\n \r\n );\r\n};\r\n","import React, { forwardRef, MouseEvent } from 'react';\r\n\r\ninterface MobileListItemGoBackBtnProps {\r\n level: number;\r\n text: string;\r\n}\r\n\r\nexport const MobileListItemGoBackBtn = forwardRef(\r\n ({ level, text }, ref) => {\r\n const goBack = (event: MouseEvent) => {\r\n const menuList = document.getElementsByClassName('mm-mobile-ul');\r\n const menu: Element[] = Array.prototype.slice.call(menuList);\r\n if (level <= 1) {\r\n const mobileMenu = document.getElementById('mobile-megamenu');\r\n if (mobileMenu) {\r\n if (menu) {\r\n menu.forEach((element) => {\r\n if (element) element.classList.add('hidden');\r\n });\r\n }\r\n mobileMenu.classList.forEach((className) => {\r\n if (className.startsWith('move')) {\r\n mobileMenu.classList.remove(className);\r\n mobileMenu.classList.add('move-from-right');\r\n }\r\n });\r\n }\r\n } else {\r\n const targetEl = event.currentTarget;\r\n if (targetEl) {\r\n const id = targetEl.getAttribute('data-mm-mobileback-id');\r\n if (id) {\r\n const el = document.getElementById(id);\r\n if (el) {\r\n if (menu) {\r\n menu.forEach((element) => {\r\n if (element != el) element.classList.add('hidden');\r\n });\r\n }\r\n el.classList.remove('hidden');\r\n el.classList.forEach((className) => {\r\n if (className.startsWith('move')) {\r\n el.classList.remove(className);\r\n el.classList.add('move-from-right');\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
  • \r\n \r\n \r\n {text}\r\n \r\n
  • \r\n );\r\n }\r\n);\r\n","import React, { ReactNode } from 'react';\r\nimport { MobileListItemGoBackBtn } from './MobileListItemGoBackBtn';\r\n\r\ninterface MobileMenuListWrapperProps {\r\n id: string;\r\n children: ReactNode;\r\n backBtnText: string;\r\n level: number;\r\n name: string;\r\n}\r\n\r\nexport const MobileMenuListWrapper = ({\r\n id,\r\n children,\r\n backBtnText,\r\n level,\r\n name,\r\n}: MobileMenuListWrapperProps) => {\r\n return (\r\n \r\n \r\n
  • {name}:
  • \r\n {children}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { MobileListItemWithChildren } from './components/MobileListItemWithChildren';\r\nimport { MobileMenuListWrapper } from './components/MobileMenuListWrapper';\r\nimport { hasProperty } from '@helpers/objectHelpers';\r\nimport { ColumnsListItem } from '@layouts/MegaMenu/MegaMenu.types';\r\n\r\ninterface MegaMenuListMobileProps {\r\n container: string;\r\n level: number;\r\n name: string;\r\n columnList: ColumnsListItem[] | ColumnsListItem[][];\r\n i18n: Record;\r\n}\r\n\r\nexport const MegaMenuListMobile = ({\r\n container,\r\n level,\r\n name,\r\n columnList = [],\r\n i18n,\r\n}: MegaMenuListMobileProps) => {\r\n let count = 0;\r\n\r\n const renderMenuItem = (item: ColumnsListItem, index: number, backID: string) => {\r\n const hasSubCategory = hasProperty(item, 'NoSubCategory') && !item.NoSubCategory;\r\n\r\n count++;\r\n\r\n if (!hasSubCategory) {\r\n const link = item.UrlSegment || ('HeaderPage' in item && item.HeaderPage) || '';\r\n\r\n return (\r\n window.location.replace(link)}\r\n data-mobile-menus-id={count}\r\n >\r\n {('Name' in item && item.Name) || item.Title || ''}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {level == 1 ? (\r\n \r\n {(columnList as ColumnsListItem[]).map((item: ColumnsListItem, index: number) =>\r\n renderMenuItem(item, index, `mobile-mm-${container}-${level}-1`)\r\n )}\r\n \r\n ) : (\r\n (columnList as ColumnsListItem[][]).map((list, index) => {\r\n const id = `mobile-mm-${container}-${level}-${index + 1}`;\r\n return (\r\n \r\n {list?.map((item, index) => renderMenuItem(item, index, id))}\r\n \r\n );\r\n })\r\n )}\r\n
    \r\n );\r\n};\r\n","import { hasProperty } from '@helpers/objectHelpers';\r\nimport { ColumnsListItem, MegaMenuColumn } from '../MegaMenu.types';\r\n\r\nconst filterColumnList = (el: ColumnsListItem, level: number) => {\r\n const column = [];\r\n\r\n switch (level) {\r\n case 4: {\r\n if ('Children' in el && el.Children?.length > 0 && hasProperty(el, 'NoSubCategory')) {\r\n column.push(el.Children);\r\n } else {\r\n column.push([]);\r\n }\r\n break;\r\n }\r\n default: {\r\n if (el.NoSubCategory) {\r\n column.push([el] as MegaMenuColumn[]);\r\n } else if ('ColumnAndSection' in el && el.ColumnAndSection?.length > 0) {\r\n column.push(el.ColumnAndSection);\r\n } else if ('Sections' in el && el.Sections?.length > 0) {\r\n column.push(el.Sections);\r\n } else if ('Children' in el && el.Children?.length > 0) {\r\n column.push(el.Children);\r\n } else {\r\n column.push([]);\r\n }\r\n }\r\n }\r\n return column;\r\n};\r\n\r\nexport const renderOtherColumn = (\r\n columnData: ColumnsListItem[] | ColumnsListItem[][],\r\n level: number\r\n) => {\r\n const column: ColumnsListItem[] | ColumnsListItem[][] = [];\r\n if (columnData) {\r\n columnData.forEach((el) => {\r\n if (level === 2) {\r\n const data = filterColumnList(el, level);\r\n column.push(...data);\r\n } else if (Array.isArray(el)) {\r\n el.forEach((element) => {\r\n const data = filterColumnList(element, level);\r\n column.push(...data);\r\n });\r\n }\r\n });\r\n }\r\n return column;\r\n};\r\n","import React from 'react';\r\nimport { MegaMenuListMobile } from '../MegaMenuListMobile';\r\nimport { renderOtherColumn } from '../../../helpers/columnDataUtils';\r\nimport {\r\n MegaMenuNavigationItem,\r\n MegaMenuColumn,\r\n ColumnsListItem,\r\n} from '@layouts/MegaMenu/MegaMenu.types';\r\n\r\ninterface MegaMenuColumnMobileProps {\r\n nav: MegaMenuNavigationItem;\r\n i18n: Record;\r\n columnData?: MegaMenuColumn[];\r\n}\r\n\r\nexport const MegaMenuColumnMobile = ({ columnData = [], nav, i18n }: MegaMenuColumnMobileProps) => {\r\n const levelRender = (columnList: ColumnsListItem[] | ColumnsListItem[][], level: number) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const level2 = renderOtherColumn(columnData, 2);\r\n const level3 = renderOtherColumn(level2, 3);\r\n const level4 = renderOtherColumn(level3, 4);\r\n return (\r\n \r\n {levelRender(columnData, 1)}\r\n {levelRender(level2, 2)}\r\n {levelRender(level3, 3)}\r\n {levelRender(level4, 4)}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { LanguageSelect } from '@components/LanguageSelect';\r\nimport { Language } from '@type/common';\r\nimport './LanguageSelector.scss';\r\n\r\ninterface LanguageSelectorProps {\r\n languages: Language[];\r\n}\r\n\r\nexport const LanguageSelectorMobile = ({ languages }: LanguageSelectorProps) => {\r\n const currentLanguageTitle = () => {\r\n const lang = languages?.filter((i) => i.LanguageCode == window.lang);\r\n if (lang.length > 0) {\r\n return lang[0].Name;\r\n } else {\r\n return languages[0].Name;\r\n }\r\n };\r\n\r\n const languageTitle = currentLanguageTitle();\r\n\r\n const select = (item: Language) => {\r\n window.location.href = item.Href;\r\n };\r\n\r\n return (\r\n
    \r\n select(item)}\r\n />\r\n
    \r\n );\r\n};\r\n","function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return _classApplyDescriptorGet(receiver, descriptor);\n}\nfunction _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\");\n _classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}\nfunction _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}\nfunction _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}\nfunction _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n}\nfunction _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) {\n _checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}\nfunction _classPrivateMethodInitSpec(obj, privateSet) {\n _checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}\n\nvar list = [\n\t\" daum[ /]\",\n\t\" deusu/\",\n\t\" yadirectfetcher\",\n\t\"(?:^| )site\",\n\t\"(?:^|[^g])news\",\n\t\"@[a-z]\",\n\t\"\\\\(at\\\\)[a-z]\",\n\t\"\\\\(github\\\\.com/\",\n\t\"\\\\[at\\\\][a-z]\",\n\t\"^12345\",\n\t\"^<\",\n\t\"^[\\\\w \\\\.\\\\-\\\\(\\\\)]+(/v?\\\\d+(\\\\.\\\\d+)?(\\\\.\\\\d{1,10})?)?$\",\n\t\"^[^ ]{50,}$\",\n\t\"^active\",\n\t\"^ad muncher\",\n\t\"^amaya\",\n\t\"^anglesharp/\",\n\t\"^anonymous\",\n\t\"^avsdevicesdk/\",\n\t\"^axios/\",\n\t\"^bidtellect/\",\n\t\"^biglotron\",\n\t\"^btwebclient/\",\n\t\"^castro\",\n\t\"^clamav[ /]\",\n\t\"^client/\",\n\t\"^cobweb/\",\n\t\"^coccoc\",\n\t\"^custom\",\n\t\"^ddg[_-]android\",\n\t\"^discourse\",\n\t\"^dispatch/\\\\d\",\n\t\"^downcast/\",\n\t\"^duckduckgo\",\n\t\"^facebook\",\n\t\"^fdm[ /]\\\\d\",\n\t\"^getright/\",\n\t\"^gozilla/\",\n\t\"^hatena\",\n\t\"^hobbit\",\n\t\"^hotzonu\",\n\t\"^hwcdn/\",\n\t\"^jeode/\",\n\t\"^jetty/\",\n\t\"^jigsaw\",\n\t\"^linkdex\",\n\t\"^lwp[-: ]\",\n\t\"^metauri\",\n\t\"^microsoft bits\",\n\t\"^movabletype\",\n\t\"^mozilla/\\\\d\\\\.\\\\d \\\\(compatible;?\\\\)$\",\n\t\"^mozilla/\\\\d\\\\.\\\\d \\\\w*$\",\n\t\"^navermailapp\",\n\t\"^netsurf\",\n\t\"^offline explorer\",\n\t\"^php\",\n\t\"^postman\",\n\t\"^postrank\",\n\t\"^python\",\n\t\"^read\",\n\t\"^reed\",\n\t\"^restsharp/\",\n\t\"^snapchat\",\n\t\"^space bison\",\n\t\"^svn\",\n\t\"^swcd \",\n\t\"^taringa\",\n\t\"^test certificate info\",\n\t\"^thumbor/\",\n\t\"^tumblr/\",\n\t\"^user-agent:mozilla\",\n\t\"^valid\",\n\t\"^venus/fedoraplanet\",\n\t\"^w3c\",\n\t\"^webbandit/\",\n\t\"^webcopier\",\n\t\"^wget\",\n\t\"^whatsapp\",\n\t\"^xenu link sleuth\",\n\t\"^yahoo\",\n\t\"^yandex\",\n\t\"^zdm/\\\\d\",\n\t\"^zoom marketplace/\",\n\t\"^{{.*}}$\",\n\t\"adbeat\\\\.com\",\n\t\"appinsights\",\n\t\"archive\",\n\t\"ask jeeves/teoma\",\n\t\"bit\\\\.ly/\",\n\t\"bluecoat drtr\",\n\t\"bot\",\n\t\"browsex\",\n\t\"burpcollaborator\",\n\t\"capture\",\n\t\"catch\",\n\t\"check\",\n\t\"chrome-lighthouse\",\n\t\"chromeframe\",\n\t\"cloud\",\n\t\"crawl\",\n\t\"cryptoapi\",\n\t\"dareboost\",\n\t\"datanyze\",\n\t\"dataprovider\",\n\t\"dejaclick\",\n\t\"dmbrowser\",\n\t\"download\",\n\t\"evc-batch/\",\n\t\"feed\",\n\t\"firephp\",\n\t\"freesafeip\",\n\t\"ghost\",\n\t\"gomezagent\",\n\t\"google\",\n\t\"headlesschrome/\",\n\t\"http\",\n\t\"httrack\",\n\t\"hubspot marketing grader\",\n\t\"hydra\",\n\t\"ibisbrowser\",\n\t\"images\",\n\t\"iplabel\",\n\t\"ips-agent\",\n\t\"java\",\n\t\"library\",\n\t\"mail\\\\.ru/\",\n\t\"manager\",\n\t\"monitor\",\n\t\"morningscore/\",\n\t\"neustar wpm\",\n\t\"nutch\",\n\t\"offbyone\",\n\t\"optimize\",\n\t\"pageburst\",\n\t\"pagespeed\",\n\t\"perl\",\n\t\"phantom\",\n\t\"pingdom\",\n\t\"powermarks\",\n\t\"preview\",\n\t\"proxy\",\n\t\"ptst[ /]\\\\d\",\n\t\"reader\",\n\t\"rexx;\",\n\t\"rigor\",\n\t\"rss\",\n\t\"scan\",\n\t\"scrape\",\n\t\"search\",\n\t\"serp ?reputation ?management\",\n\t\"server\",\n\t\"sogou\",\n\t\"sparkler/\",\n\t\"speedcurve\",\n\t\"spider\",\n\t\"statuscake\",\n\t\"stumbleupon\\\\.com\",\n\t\"supercleaner\",\n\t\"synapse\",\n\t\"synthetic\",\n\t\"taginspector/\",\n\t\"torrent\",\n\t\"tracemyfile\",\n\t\"transcoder\",\n\t\"trendsmapresolver\",\n\t\"twingly recon\",\n\t\"url\",\n\t\"virtuoso\",\n\t\"wappalyzer\",\n\t\"webglance\",\n\t\"webkit2png\",\n\t\"websitemetadataretriever\",\n\t\"whatcms/\",\n\t\"wordpress\",\n\t\"zgrab\"\n];\n\n/**\n * Mutate given list of patter strings\n * @param {string[]} list\n * @returns {string[]}\n */\nfunction amend(list) {\n try {\n // Risk: Uses lookbehind assertion, avoid breakage in parsing by using RegExp constructor\n new RegExp('(? {\n let [search, replace] = _ref;\n const index = list.lastIndexOf(search);\n if (~index) {\n list.splice(index, 1, replace);\n }\n });\n return list;\n}\n\namend(list);\nconst flags = 'i';\n\n/**\n * Test user agents for matching patterns\n */\nvar _list = /*#__PURE__*/new WeakMap();\nvar _pattern = /*#__PURE__*/new WeakMap();\nvar _update = /*#__PURE__*/new WeakSet();\nvar _index = /*#__PURE__*/new WeakSet();\nclass Isbot {\n constructor(patterns) {\n /**\n * Find the first index of an existing rule or -1 if not found\n * @param {string} rule\n * @returns {number}\n */\n _classPrivateMethodInitSpec(this, _index);\n /**\n * Recreate the pattern from rules list\n */\n _classPrivateMethodInitSpec(this, _update);\n /**\n * @type {string[]}\n */\n _classPrivateFieldInitSpec(this, _list, {\n writable: true,\n value: void 0\n });\n /**\n * @type {RegExp}\n */\n _classPrivateFieldInitSpec(this, _pattern, {\n writable: true,\n value: void 0\n });\n _classPrivateFieldSet(this, _list, patterns || list.slice());\n _classPrivateMethodGet(this, _update, _update2).call(this);\n const isbot = ua => this.test(ua);\n return Object.defineProperties(isbot, Object.entries(Object.getOwnPropertyDescriptors(Isbot.prototype)).reduce((accumulator, _ref) => {\n let [prop, descriptor] = _ref;\n if (typeof descriptor.value === 'function') {\n Object.assign(accumulator, {\n [prop]: {\n value: this[prop].bind(this)\n }\n });\n }\n if (typeof descriptor.get === 'function') {\n Object.assign(accumulator, {\n [prop]: {\n get: () => this[prop]\n }\n });\n }\n return accumulator;\n }, {}));\n }\n /**\n * Get a clone of the pattern\n * @type RegExp\n */\n get pattern() {\n return new RegExp(_classPrivateFieldGet(this, _pattern));\n }\n\n /**\n * Match given string against out pattern\n * @param {string} ua User Agent string\n * @returns {boolean}\n */\n test(ua) {\n return Boolean(ua) && _classPrivateFieldGet(this, _pattern).test(ua);\n }\n\n /**\n * Get the match for strings' known crawler pattern\n * @param {string} ua User Agent string\n * @returns {string|null}\n */\n find() {\n let ua = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n const match = ua.match(_classPrivateFieldGet(this, _pattern));\n return match && match[0];\n }\n\n /**\n * Get the patterns that match user agent string if any\n * @param {string} ua User Agent string\n * @returns {string[]}\n */\n matches() {\n let ua = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return _classPrivateFieldGet(this, _list).filter(entry => new RegExp(entry, flags).test(ua));\n }\n\n /**\n * Clear all patterns that match user agent\n * @param {string} ua User Agent string\n * @returns {void}\n */\n clear() {\n let ua = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n this.exclude(this.matches(ua));\n }\n\n /**\n * Extent patterns for known crawlers\n * @param {string[]} filters\n * @returns {void}\n */\n extend() {\n let filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n [].push.apply(_classPrivateFieldGet(this, _list), filters.filter(rule => _classPrivateMethodGet(this, _index, _index2).call(this, rule) === -1).map(filter => filter.toLowerCase()));\n _classPrivateMethodGet(this, _update, _update2).call(this);\n }\n\n /**\n * Exclude patterns from bot pattern rule\n * @param {string[]} filters\n * @returns {void}\n */\n exclude() {\n let filters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let {\n length\n } = filters;\n while (length--) {\n const index = _classPrivateMethodGet(this, _index, _index2).call(this, filters[length]);\n if (index > -1) {\n _classPrivateFieldGet(this, _list).splice(index, 1);\n }\n }\n _classPrivateMethodGet(this, _update, _update2).call(this);\n }\n\n /**\n * Create a new Isbot instance using given list or self's list\n * @param {string[]} [list]\n * @returns {Isbot}\n */\n spawn(list) {\n return new Isbot(list || _classPrivateFieldGet(this, _list));\n }\n}\nfunction _update2() {\n _classPrivateFieldSet(this, _pattern, new RegExp(_classPrivateFieldGet(this, _list).join('|'), flags));\n}\nfunction _index2(rule) {\n return _classPrivateFieldGet(this, _list).indexOf(rule.toLowerCase());\n}\n\nconst isbot = new Isbot();\n\nexport { isbot as default };\n//# sourceMappingURL=index.mjs.map\n","import { MegaMenuNavigationItem } from '@layouts/MegaMenu/MegaMenu.types';\r\nimport React from 'react';\r\nimport { getPathLink } from './MobileNavigationList.utils';\r\n\r\ninterface MobileNavigationListProps {\r\n navigation?: MegaMenuNavigationItem[];\r\n contact: {\r\n Text: string;\r\n Href: string;\r\n };\r\n}\r\n\r\nexport const MobileNavigationList = ({ navigation = [], contact }: MobileNavigationListProps) => {\r\n const pathLink = getPathLink();\r\n const hasNavigationList = navigation.length > 0;\r\n\r\n const addToMegaMenu = (index: string) => {\r\n window.localStorage.setItem('menuContainerLink', index);\r\n const el = document.getElementById(`mobile-mm-${index}-1-1`);\r\n if (el) {\r\n el.classList.remove('move-from-right');\r\n el.classList.remove('hidden');\r\n el.classList.add('move-from-left');\r\n }\r\n };\r\n\r\n const onNavItemClick = (nav: MegaMenuNavigationItem) => {\r\n if (nav.NoSubCategory) {\r\n window.localStorage.setItem('menuContainerLink', nav.ContainerLink);\r\n window.location.href = nav.UrlSegment;\r\n } else {\r\n addToMegaMenu(nav.ContainerLink);\r\n }\r\n };\r\n\r\n if (!hasNavigationList) return null;\r\n\r\n return (\r\n <>\r\n {navigation.map((nav, index) => (\r\n
  • onNavItemClick(nav)} key={index} className='l-header-mobile-menu-item'>\r\n {nav.Name}\r\n {!nav.NoSubCategory && }\r\n
  • \r\n ))}\r\n {\r\n window.localStorage.setItem('menuContainerLink', '');\r\n window.location.href = pathLink + contact.Href;\r\n }}\r\n className='l-header-mobile-menu-item'\r\n >\r\n {contact.Text}\r\n \r\n \r\n );\r\n};\r\n","export const getPathLink = () => {\r\n let pathLink = '';\r\n\r\n if (document.getElementsByTagName('html')[0].getAttribute('lang') === 'nl') {\r\n pathLink = '/nl/';\r\n } else if (\r\n document.getElementsByTagName('html')[0].getAttribute('lang') === 'fr-BE'\r\n ) {\r\n pathLink = '/fr-be/';\r\n } else if (\r\n document.getElementsByTagName('html')[0].getAttribute('lang') === 'fr-CA'\r\n ) {\r\n pathLink = '/fr-ca/';\r\n } else {\r\n pathLink = '/';\r\n }\r\n return pathLink;\r\n};\r\n","import React from 'react';\r\nimport { IconContainer, ExternalLink } from '@icons/common';\r\nimport { Button } from '@components/Button';\r\nimport { SignInLinkInformation } from '@layouts/Header/Header.types';\r\nimport dataLayer from '@helpers/dataLayer';\r\nimport './SignInDropdown.scss';\r\nimport { productShopUrl } from '@helpers/consts';\r\n\r\ninterface SignInDropdownProps {\r\n signInInformation?: string;\r\n links?: SignInLinkInformation[];\r\n}\r\n\r\nexport const SignInDropdown = ({ signInInformation, links }: SignInDropdownProps) => {\r\n\r\n const handleDatalayerPush = (linkText: string, linkUrl: string) => {\r\n dataLayer.push('exit_link', {\r\n link_text: linkText,\r\n link_url: linkUrl,\r\n });\r\n }\r\n return (\r\n <>\r\n
    \r\n
    \r\n {links.map((item, index) => (\r\n handleDatalayerPush(item.Text, item.Url)}\r\n key={index}\r\n className='c-sign-in-dropdown-button'\r\n text={item.Text}\r\n size='small'\r\n color='primary'\r\n href={item.Url}\r\n //Story 365068 - Added new attribute i.e referrerpolicy=\"unsafe-url\" if item.Url contains shop.alfalaval.com\r\n {...(item.Url?.includes(productShopUrl) && { referrerPolicy: 'unsafe-url' })}\r\n >\r\n } className='svg-icon icon-sign-in' />\r\n \r\n ))}\r\n
    \r\n \r\n );\r\n};\r\n","import React, { MouseEvent } from 'react';\r\n\r\ninterface CountrySelectorFooterProps {\r\n footerLink: string;\r\n footerText: string;\r\n footerLinkHref: string;\r\n RedirectedIntro: string;\r\n RemoveSettingsText: string;\r\n}\r\n\r\nexport const CountrySelectorFooter = ({\r\n footerLink,\r\n footerText,\r\n footerLinkHref,\r\n RedirectedIntro,\r\n RemoveSettingsText,\r\n}: CountrySelectorFooterProps) => {\r\n const isCommertialSiteHomePage = () => {\r\n const site = window.location.href;\r\n if (\r\n site == 'https://www.alfalaval.com' ||\r\n site == 'https://www.alfalaval.com/' ||\r\n site == 'https://alfalaval.com' ||\r\n site == 'https://alfalaval.com/' ||\r\n site == 'https://www.alfalaval.com/?remove-preferred-site=true'\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n const isThisSiteIsPreferedSiteAndCommertialSite = () => {\r\n if (\r\n window.localStorage.getItem('preferred-site') == 'https://www.alfalaval.com/' &&\r\n isCommertialSiteHomePage()\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n const removeSettings = (e: MouseEvent) => {\r\n e.preventDefault();\r\n window.localStorage.removeItem('preferred-site');\r\n document.location.href =\r\n (e.target as HTMLAnchorElement).href + '?remove-preferred-site=' + true;\r\n };\r\n\r\n const displayGeolocationForLocalSite = () => {\r\n if (window.localStorage.getItem('preferred-site') != null) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n return (\r\n
    \r\n {footerText} {footerLink}\r\n {displayGeolocationForLocalSite() && !isThisSiteIsPreferedSiteAndCommertialSite() && (\r\n
    \r\n {RedirectedIntro &&

    {RedirectedIntro}

    }\r\n {RemoveSettingsText && (\r\n \r\n {RemoveSettingsText}\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n","import React, { useState } from 'react';\r\nimport { CloseButton } from '@components/CloseButton';\r\nimport { CountrySelectorFooter } from './CountrySelectorFooter';\r\nimport classNames from 'classnames';\r\n\r\ninterface Link {\r\n Text: string;\r\n Href: string;\r\n Target: string | null;\r\n PageId: number;\r\n}\r\n\r\ninterface MobileListProps {\r\n title: string;\r\n countries: Array<{\r\n Text: string;\r\n Href: string;\r\n }>;\r\n countrySelectList: {\r\n ContactUsPageLink: Link;\r\n I18n: Record;\r\n RedirectedIntro: string;\r\n RemoveSettingsText: string;\r\n };\r\n}\r\n\r\nexport const MobileList = ({ countries, title, countrySelectList }: MobileListProps) => {\r\n const [isCountrySelector, setIsCountrySelector] = useState(false);\r\n\r\n const selectCountryMobile = (e) => {\r\n document.location.href = e.target.value;\r\n };\r\n\r\n const openCountrySelector = () => {\r\n setIsCountrySelector(true);\r\n };\r\n\r\n const closeCountrySelector = () => {\r\n setIsCountrySelector(false);\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n {isCountrySelector && (
    )}\r\n
    {title}
    \r\n \r\n \r\n
    {window.lang.toUpperCase()}
    \r\n \r\n
    \r\n \r\n {isCountrySelector && (\r\n
    \r\n
    \r\n {title}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n )}\r\n \r\n );\r\n};\r\n","import React, { MouseEvent } from 'react';\r\n\r\ninterface DesktopListProps {\r\n countries: Array<{\r\n Text: string;\r\n Href: string;\r\n }>;\r\n}\r\n\r\nexport const DesktopList = ({ countries }: DesktopListProps) => {\r\n const selectCountry = (e: MouseEvent) => {\r\n e.preventDefault();\r\n const url = new URL(e.currentTarget.attributes.getNamedItem('href').value);\r\n document.location.href = url.href;\r\n };\r\n\r\n const generateDesktopList = (array: typeof countries) => {\r\n const columns = 4;\r\n const temparray = [];\r\n const newArray = [];\r\n\r\n // Put all countries inside li\r\n array.forEach((element) => {\r\n temparray.push(\r\n
  • \r\n \r\n {element.Text}\r\n \r\n
  • \r\n );\r\n });\r\n\r\n const temparraylength = temparray.length;\r\n const columnsLength = Math.ceil(temparraylength / columns);\r\n\r\n // Split array and put all li inside ui\r\n for (let i = 0; i < temparraylength; i += columnsLength) {\r\n const column = temparray.slice(i, i + columnsLength);\r\n newArray.push(\r\n
      \r\n {column}\r\n
    \r\n );\r\n }\r\n return newArray;\r\n };\r\n\r\n return (\r\n
    \r\n {countries && generateDesktopList(countries)}\r\n
    \r\n );\r\n};\r\n","import { apiSlice } from '@services/apiSlice';\r\nimport { CountrySelector as endpoints } from '@services/endpoints';\r\nimport { CounstrySelectorData } from './CountrySelector.types';\r\n\r\n\r\nconst countrySelectorApi = apiSlice.injectEndpoints({\r\n endpoints: (build) => ({\r\n fetchCountrySelectList: build.query({\r\n query: () => ({\r\n url: endpoints.fetchCountrySelectList,\r\n params: { language: window.lang, pageId: window.pageId }\r\n }),\r\n }),\r\n }),\r\n overrideExisting: false,\r\n})\r\n\r\nexport const { useFetchCountrySelectListQuery } = countrySelectorApi;","import React from 'react';\r\nimport { MobileList } from './components/MobileList';\r\nimport { DesktopList } from './components/DesktopList';\r\nimport { CountrySelectorFooter } from './components/CountrySelectorFooter';\r\nimport { CloseButton } from '@components/CloseButton';\r\nimport { useFetchCountrySelectListQuery } from './CountrySelector.service';\r\nimport { useWinSize } from '@contexts/WinSizeContext';\r\nimport './CountrySelector.scss';\r\n\r\ninterface CountrySelectorProps {\r\n handleCloseDropdown?: () => void;\r\n}\r\n\r\nconst CountrySelector = ({ handleCloseDropdown }: CountrySelectorProps) => {\r\n const { data: countrySelectList } = useFetchCountrySelectListQuery();\r\n const { isDesktopForHeader: isDesktop } = useWinSize();\r\n const { isMobileForHeader: isMobileScreen } = useWinSize();\r\n const isMobile = !isDesktop;\r\n\r\n if (!countrySelectList) return null;\r\n\r\n return (\r\n <>\r\n {isMobile || isMobileScreen ? (\r\n \r\n ) : (\r\n
    \r\n
    \r\n
    {countrySelectList.Header}
    \r\n \r\n
    \r\n
    {countrySelectList.Introduction}
    \r\n {countrySelectList && countrySelectList.I18n && (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CountrySelector;\r\n","import React from 'react';\r\nimport { MegaMenuColumnMobile } from './components/mobile/MegaMenuColumnMobile';\r\nimport { LanguageSelectorMobile } from './components/common/LanguageSelector';\r\nimport { isWebCrawler } from '@helpers/isWebCrawler';\r\nimport './MainNavigationMobileNew.scss';\r\nimport { MobileNavigationList } from './components/mobile/MobileNavigationList';\r\nimport { SignInLinkInformation, TopMenu } from '@layouts/Header/Header.types';\r\nimport { MegaMenuNavigationItem, MegaMenuSegment } from './MegaMenu.types';\r\nimport { SignInDropdown } from '@components/SignInDropdown';\r\nimport { CountrySelector } from '@layouts/CountrySelector';\r\nimport { productShopUrl } from '@helpers/consts';\r\n\r\ninterface MainNavigationMobileNewProps {\r\n topMenu: TopMenu;\r\n navigation: MegaMenuNavigationItem[];\r\n contact: {\r\n Text: string;\r\n Href: string;\r\n };\r\n showing: boolean;\r\n columns: {\r\n [key: string]: MegaMenuSegment;\r\n };\r\n i18n: Record;\r\n signInInformation?: string;\r\n showHideSignIn?: boolean;\r\n links?: SignInLinkInformation[];\r\n}\r\n\r\nconst MainNavigationMobileNew = ({\r\n topMenu,\r\n navigation,\r\n contact,\r\n showing,\r\n columns,\r\n i18n,\r\n showHideSignIn,\r\n signInInformation,\r\n links,\r\n}: MainNavigationMobileNewProps) => {\r\n const pageIsCrawled = isWebCrawler();\r\n\r\n return pageIsCrawled || showing ? (\r\n
    \r\n \r\n \r\n {topMenu.SectionLinks.map((link, index) => (\r\n {\r\n window.location.href = link.Href;\r\n }}\r\n className='l-header-mobile-menu-item top-menu'\r\n //Story 365068 - Added new attribute i.e referrerpolicy=\"unsafe-url\" if link.Href contains shop.alfalaval.com\r\n {...(link.Href?.includes(productShopUrl) && { referrerPolicy: 'unsafe-url' })}\r\n >\r\n {link.Text}\r\n \r\n ))}\r\n {topMenu?.Languages && (\r\n
  • \r\n \r\n
  • \r\n )}\r\n {(links.length > 0 || signInInformation) && !showHideSignIn && (\r\n
  • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
  • \r\n )}\r\n
  • \r\n \r\n
  • \r\n \r\n {navigation?.map(\r\n (nav, index) =>\r\n !nav.NoSubCategory && (\r\n \r\n )\r\n )}\r\n
    \r\n ) : null;\r\n};\r\n\r\nexport default MainNavigationMobileNew;\r\n","import isbot from 'isbot';\r\n\r\nexport const isWebCrawler = (): boolean => {\r\n return isbot(navigator.userAgent);\r\n};\r\n","import { useEffect, useState } from 'react';\r\nimport { throttle } from '@helpers/waitFunctions';\r\n\r\nconst getStickyCss = () => {\r\n return `l-header-sticky offset-top ${window.scrollY >= 54 ? 'hide-top-bar' : ''}`;\r\n};\r\n\r\nexport const useStickyHeader = (hasBreadcrumb: boolean, lite: boolean) => {\r\n const cls = lite ? 'l-header-lite-sticky offset-top hide-top-bar' : 'l-header-sticky offset-top';\r\n const [stickyCss, setStickyCss] = useState(cls);\r\n\r\n const handleStickyInPageNavigation = () => {\r\n const header = document.querySelector('.l-header');\r\n const navElement: HTMLDivElement = document.querySelector('.c-in-page-nav');\r\n const navList = navElement && navElement.querySelector('.c-in-page-nav-list');\r\n const { height: headerHeight } = header.getBoundingClientRect();\r\n const hasNavElement = !!(navList && navList.childElementCount > 0);\r\n const moveInPageNav = window.pageType !== 'SearchPage';\r\n\r\n // Logic to control inPageNavigation visibility\r\n if (headerHeight && hasNavElement && navElement.style.visibility !== 'visible') {\r\n if (moveInPageNav) {\r\n header.appendChild(navElement);\r\n }\r\n navElement.classList.add('visible');\r\n }\r\n };\r\n\r\n function setHeaderHeightForScroll() {\r\n const root = document.documentElement;\r\n const headerHeight = (document.querySelector('.l-header') as HTMLElement).offsetHeight;\r\n root.style.setProperty('--header-height-for-scroll', headerHeight + 'px');\r\n }\r\n\r\n const handleScroll = () => {\r\n const newStickyCss = getStickyCss();\r\n if (stickyCss !== newStickyCss) {\r\n setStickyCss(newStickyCss);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n handleScroll();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!lite) {\r\n handleStickyInPageNavigation();\r\n }\r\n\r\n const barElement = document.getElementById('l-header-sticky-wrapper');\r\n\r\n if (barElement) {\r\n if (hasBreadcrumb) {\r\n barElement.classList.add('l-header-conditional-sticky-wrapper');\r\n } else {\r\n barElement.classList.remove('l-header-conditional-sticky-wrapper');\r\n }\r\n }\r\n }, [hasBreadcrumb]);\r\n\r\n useEffect(() => {\r\n setHeaderHeightForScroll();\r\n\r\n const throttledScroll = throttle(handleScroll, 300);\r\n const throttledHandleInPageNav = throttle(handleStickyInPageNavigation, 300);\r\n const throttledSetHeaderHeightForScroll = throttle(setHeaderHeightForScroll, 1000);\r\n\r\n window.addEventListener('resize', throttledSetHeaderHeightForScroll);\r\n window.addEventListener('scroll', throttledScroll);\r\n if (!lite) {\r\n window.addEventListener('resize', throttledHandleInPageNav);\r\n }\r\n\r\n return () => {\r\n window.removeEventListener('resize', throttledSetHeaderHeightForScroll);\r\n window.removeEventListener('scroll', throttledScroll);\r\n if (!lite) {\r\n window.removeEventListener('resize', throttledHandleInPageNav);\r\n }\r\n };\r\n }, []);\r\n\r\n return { stickyCss, handleScroll };\r\n};\r\n","import { useEffect, useRef } from 'react';\r\n\r\nexport const useBreadcrumbsSizeChange = (breadcrumbRef) => {\r\n const resizeObserver = useRef(null);\r\n\r\n const fixScrollingHeight = (headerHeight: number) => {\r\n // when transitioning from normal header to sticky header - scrolling will be incorrect if we dont set up header height\r\n const headerEl: HTMLDivElement = document.querySelector('.l-header');\r\n const inPageNav = document.querySelector('.c-in-page-nav');\r\n const navList = inPageNav && inPageNav.querySelector('.c-in-page-nav-list');\r\n const hasNavElement = !!(navList && navList.childElementCount > 0);\r\n const inPageNavHeight = hasNavElement ? 48 : 0;\r\n\r\n headerEl.style.height = `${headerHeight + inPageNavHeight}px`;\r\n };\r\n\r\n const fitBreadcrumbs = () => {\r\n // on every breadcrumbs size change - setting header height set by CLS fix to actual height\r\n const headerWrapperEl: HTMLDivElement = document.querySelector('.l-header-sticky-wrapper');\r\n const headerMainEl = headerWrapperEl.querySelector('.l-header-sticky');\r\n const newHeight = headerMainEl.clientHeight;\r\n\r\n headerWrapperEl.style.height = `${newHeight}px`;\r\n fixScrollingHeight(newHeight);\r\n };\r\n\r\n useEffect(() => {\r\n resizeObserver.current = new ResizeObserver(() => {\r\n fitBreadcrumbs();\r\n });\r\n\r\n resizeObserver.current.observe(breadcrumbRef.current);\r\n\r\n return () => {\r\n if (resizeObserver.current) {\r\n resizeObserver.current.disconnect();\r\n }\r\n };\r\n }, []);\r\n};\r\n","import React from 'react';\r\nimport { SocialMediaShare } from '@components/SocialMediaShare';\r\nimport { quoteClickHelper } from '@helpers/quoteClickHelper';\r\nimport { Button } from '@components/Button';\r\n\r\ninterface SocialBarProps {\r\n hideRequestQuote: boolean;\r\n contactUsForm: { I18: Record };\r\n shareTitle?: string;\r\n}\r\n\r\nexport const SocialBar = ({\r\n shareTitle = '',\r\n hideRequestQuote = true,\r\n contactUsForm,\r\n}: SocialBarProps) => {\r\n const requestForQuoteText = contactUsForm?.I18.RequestForQuote;\r\n\r\n return (\r\n
    \r\n \r\n {!hideRequestQuote && requestForQuoteText && (\r\n quoteClickHelper(contactUsForm)}\r\n />\r\n )}\r\n
    \r\n );\r\n};\r\n","import React, { useRef, useEffect, MouseEvent } from 'react';\r\nimport { connect, ConnectedProps } from 'react-redux';\r\nimport { useBreadcrumbsSizeChange } from './Breadcrumb.hooks';\r\nimport { SocialBar } from './components/SocialBar';\r\nimport { BreadcrumbItem, Breadcrumb as BreadcrumbType } from '../../HeaderBar.types';\r\nimport './Breadcrumb.scss';\r\nimport { useFetchContactUsFormQuery } from '@pages/ContactUs/ContactUs.service';\r\n\r\ninterface BreadcrumbProps {\r\n breadcrumb: BreadcrumbType;\r\n}\r\n\r\nexport const Breadcrumb = ({ breadcrumb }: BreadcrumbProps) => {\r\n const breadcrumbRef = useRef(null);\r\n const { data: contactUsForm } = useFetchContactUsFormQuery();\r\n useBreadcrumbsSizeChange(breadcrumbRef);\r\n\r\n return (\r\n
    \r\n
    \r\n {breadcrumb &&\r\n breadcrumb.Breadcrumbs.map(\r\n (item, index) => {\r\n const lastBreadcrumbItem = index === breadcrumb.Breadcrumbs.length - 1;\r\n\r\n return (\r\n item.Href && (\r\n 0 ? 'c-breadcrumb-links c-breadcrumb-separator' : 'c-breadcrumb-links'\r\n }\r\n >\r\n \r\n \r\n )\r\n );\r\n })}\r\n
    \r\n {breadcrumb && contactUsForm ? (\r\n \r\n ) : (\r\n // used to render loading indicator\r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default Breadcrumb;\r\n","import { SubNavigation } from '@layouts/Header/Header.types';\r\nimport React from 'react';\r\n\r\ninterface SubMenuProps {\r\n submenuLinks: SubNavigation['content'];\r\n}\r\n\r\nexport const SubMenu = ({ submenuLinks }: SubMenuProps) => {\r\n const subMenuLinks = submenuLinks.map((item, index) => {\r\n const activeStyle = parseInt(window.pageId) === parseInt(item.PageId) ? 'is-active' : '';\r\n return (\r\n
  • \r\n \r\n {item.Text}\r\n \r\n
  • \r\n );\r\n });\r\n\r\n return (\r\n
    \r\n
      {subMenuLinks}
    \r\n
    \r\n );\r\n};\r\n","import React, { useState, useRef, MouseEvent } from 'react';\r\nimport { useOutsideClick } from '@hooks/useOutsideClick';\r\nimport './SubMenuMobile.scss';\r\nimport { SubNavigation } from '@layouts/Header/Header.types';\r\n\r\ninterface SubMenuMobileProps {\r\n submenuLinks: SubNavigation['content'];\r\n title: string;\r\n}\r\n\r\nexport const SubMenuMobile = ({ submenuLinks, title }: SubMenuMobileProps) => {\r\n const [active, setActive] = useState(false);\r\n\r\n const subMenuRef = useRef(null);\r\n const handleClickOutside = () => {\r\n setActive(false);\r\n };\r\n useOutsideClick(subMenuRef, handleClickOutside);\r\n\r\n const onClick = (e: MouseEvent) => {\r\n e.preventDefault();\r\n setActive(!active);\r\n };\r\n\r\n let currentLink = submenuLinks.filter(\r\n (item) => parseInt(item.PageId) === parseInt(window.pageId)\r\n )[0];\r\n let list = [];\r\n if (!currentLink && submenuLinks.length) {\r\n currentLink = submenuLinks[0];\r\n list = submenuLinks.filter((item) => parseInt(item.PageId) !== parseInt(currentLink.PageId));\r\n } else {\r\n list = submenuLinks.filter((item) => parseInt(item.PageId) !== parseInt(window.pageId));\r\n }\r\n\r\n const subMenuLinks = list.map((item, index) => {\r\n return (\r\n
  • \r\n \r\n {item.Text}\r\n \r\n
  • \r\n );\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n {currentLink && (\r\n \r\n {currentLink.Text}\r\n \r\n )}\r\n {!currentLink && (\r\n \r\n {title}\r\n \r\n )}\r\n {active ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n {active &&
      {subMenuLinks}
    }\r\n
    \r\n );\r\n};\r\n","import React from 'react';\r\nimport { Breadcrumb } from '@layouts/HeaderBar/components/Breadcrumb';\r\nimport { SubMenu, SubMenuMobile } from './components/SubMenu';\r\nimport { useFetchBreadcrumbQuery } from './HeaderBar.service';\r\nimport classNames from 'classnames';\r\nimport { SubNavigation } from '@layouts/Header/Header.types';\r\n\r\ninterface HeaderBarProps {\r\n subNavigation: SubNavigation;\r\n}\r\n\r\nconst HeaderBar = ({ subNavigation }: HeaderBarProps) => {\r\n const { data: breadcrumb, isLoading } = useFetchBreadcrumbQuery();\r\n return (\r\n
    \r\n
    \r\n {subNavigation.SubNavType === 'Breadcrumb' && }\r\n
    \r\n
    \r\n {subNavigation.SubNavType === 'SubMenu' && subNavigation.content && (\r\n
    \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default HeaderBar;\r\n","import React, { useEffect, useState, useRef } from 'react';\r\nimport { TopMenu } from '@layouts/Header/components/TopMenu';\r\nimport { enableScroll, disableScroll } from '@helpers/noScroll';\r\nimport { setScrollbarWidthForCSS } from '@contexts/ScrollContext';\r\nimport { Brand } from './components/Brand';\r\nimport { MenuSection } from './components/MenuSection';\r\nimport { CloseButton } from '@components/CloseButton';\r\nimport { MegaMenuMain, MainNavigationMobileNew } from '@layouts/MegaMenu';\r\nimport { useOutsideClick } from '@hooks/useOutsideClick';\r\nimport { useStickyHeader } from './Header.hooks';\r\nimport { SearchBar } from '@components/SearchBar';\r\nimport { SignInDropdown } from '@components/SignInDropdown';\r\nimport './Header.scss';\r\nimport { HeaderBar } from '@layouts/HeaderBar';\r\nimport { CountrySelector } from '@layouts/CountrySelector';\r\nimport {\r\n useFetchMegaMenuNavigationQuery,\r\n useFetchSubNavigationQuery,\r\n useFetchTopMenuQuery,\r\n} from './Header.service';\r\nimport { activeClass } from './Header.utils';\r\nimport { useWinSize } from '@contexts/WinSizeContext';\r\nimport classNames from 'classnames';\r\n\r\ninterface HeaderProps {\r\n lite?: boolean;\r\n}\r\n\r\nconst Header = ({ lite = false }: HeaderProps) => {\r\n const cls = lite ? 'l-header-lite' : 'l-header';\r\n const headerRef = useRef(null);\r\n const [selected, setSelected] = useState(null);\r\n const [selectedCategory, setSelectedCategory] = useState(null);\r\n\r\n const { data: megaMenuNavigation, isLoading: isLoadingMegaMenuNavigation } =\r\n useFetchMegaMenuNavigationQuery();\r\n const { data: subNavigation } = useFetchSubNavigationQuery();\r\n const { data: topMenu } = useFetchTopMenuQuery();\r\n\r\n const showDropDown = !!selectedCategory;\r\n const showMegaMenu = selectedCategory === 'MegaMenu';\r\n const showSearchArea = selectedCategory === 'SearchArea';\r\n const showSignInArea = selectedCategory === 'SignInArea';\r\n const showMarketArea = selectedCategory === 'MarketArea';\r\n const { isDesktopForHeader: isDesktop } = useWinSize();\r\n const { isMobileForHeader: isMobileScreen } = useWinSize();\r\n\r\n const hasBreadcrumb = subNavigation?.SubNavType === 'Breadcrumb';\r\n const showHeaderBar = !lite && (hasBreadcrumb || subNavigation?.SubNavType === 'SubMenu');\r\n const { stickyCss, handleScroll } = useStickyHeader(hasBreadcrumb, lite);\r\n\r\n const handleClickOutside = () => {\r\n handleCloseDropdown();\r\n };\r\n useOutsideClick(headerRef, handleClickOutside);\r\n\r\n const handleCloseDropdown = () => {\r\n setSelectedCategory(null);\r\n setSelected(null);\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedCategory) {\r\n disableScroll();\r\n showOverlay(true);\r\n } else {\r\n enableScroll();\r\n showOverlay(false);\r\n }\r\n }, [selectedCategory]);\r\n\r\n // set a CSS variable with the scrollbar width\r\n setScrollbarWidthForCSS();\r\n\r\n const openMegaMenu = () => {\r\n setSelectedCategory('MegaMenu');\r\n };\r\n\r\n const toggleMegaMenu = (index) => {\r\n if (selected === index) {\r\n handleCloseDropdown();\r\n } else {\r\n setSelected(index);\r\n openMegaMenu();\r\n }\r\n };\r\n\r\n const toggleMegaMenuMobile = () => {\r\n if (showMegaMenu) {\r\n setSelectedCategory(null);\r\n handleCloseDropdown();\r\n } else {\r\n openMegaMenu();\r\n }\r\n };\r\n\r\n const toggleSearchArea = () => {\r\n showSearchArea ? enableScroll() : disableScroll();\r\n handleCloseDropdown();\r\n\r\n if (selectedCategory !== 'SearchArea') {\r\n setSelectedCategory('SearchArea');\r\n }\r\n };\r\n\r\n const toggleSignInArea = () => {\r\n handleCloseDropdown();\r\n\r\n if (selectedCategory !== 'SignInArea') {\r\n setSelectedCategory('SignInArea');\r\n }\r\n };\r\n\r\n const toggleMarketArea = () => {\r\n handleCloseDropdown();\r\n\r\n if (selectedCategory !== 'MarketArea') {\r\n setSelectedCategory('MarketArea');\r\n }\r\n };\r\n\r\n const showOverlay = (value: boolean) => {\r\n if (value) {\r\n document.querySelector('.overlay').classList.add('show');\r\n document.querySelector('.l-header-sticky')?.classList.add('adjust-width');\r\n } else {\r\n document.querySelector('.overlay').classList.remove('show');\r\n document.querySelector('.l-header-sticky')?.classList.remove('adjust-width');\r\n }\r\n };\r\n\r\n // UserStory : 324368 Removed Geo-banner from production\r\n // const closeGeolocation = () => {\r\n // handleScroll();\r\n // };\r\n\r\n return (\r\n
    \r\n
    \r\n {/* UserStory : 324368 Removed Geo-banner from production */}\r\n {/* */}\r\n {!lite && }\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n {megaMenuNavigation && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n {isDesktop && !isMobileScreen && (\r\n \r\n )}\r\n\r\n {showSearchArea && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n const searchUrl = megaMenuNavigation.Search.SearchUrl;\r\n const searchParams = new URLSearchParams({\r\n query: value,\r\n category: 'All',\r\n orderBy: 'relevance',\r\n });\r\n window.location.href = `${searchUrl}?${searchParams.toString()}`;\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n {!(megaMenuNavigation?.SignIn.HideSignIn) && selectedCategory === 'SignInArea' && (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n {showMarketArea && (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n {(!isDesktop || isMobileScreen) && megaMenuNavigation && (\r\n \r\n )}\r\n
    \r\n
    \r\n {showHeaderBar && }\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default Header;\r\n","import Header from './Header';\r\nexport default Header;\r\n","import { apiSlice } from '@services/apiSlice';\r\nimport { ContactUs as endpoints } from '@services/endpoints';\r\nimport { FindContactData, ContactUsForm } from './ContactUs.types';\r\n\r\ninterface FindOfficeQueryParams {\r\n countryId?: number;\r\n officeTypeId?: number;\r\n}\r\n\r\ninterface ContactUsFormQueryParams {\r\n countryId?: number;\r\n type?: string;\r\n}\r\n\r\nconst contactUsApi = apiSlice.injectEndpoints({\r\n endpoints: (build) => ({\r\n fetchFindOfficeData: build.query({\r\n query: ({ countryId, officeTypeId }) => ({\r\n url: endpoints.fetchFindOfficeData,\r\n params: {\r\n lang: window.lang,\r\n countryId: countryId || 2000,\r\n officeTypeId: officeTypeId || 0,\r\n },\r\n }),\r\n }),\r\n fetchContactUsForm: build.query({\r\n query: (params) => ({\r\n url: endpoints.fetchContactUsForm,\r\n params: {\r\n lang: window.lang,\r\n pageId: window.pageId,\r\n type: params ? params.type : 'RequestAQuote',\r\n countryId: params && params.countryId ? params.countryId : 0,\r\n },\r\n }),\r\n }),\r\n }),\r\n overrideExisting: false,\r\n});\r\n\r\nexport const { useFetchContactUsFormQuery, useLazyFetchFindOfficeDataQuery } = contactUsApi;\r\n"],"names":["hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","Object","prototype","includes","key","call","join","module","exports","default","define","window","Profile","xmlns","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r","d","IconContainer","icon","className","Facebook","Twitter","x","y","ExternalLink","id","Arrow","rotate","style","transformBox","transformOrigin","transform","Cross","Delete","EmailSvg","PhoneSvg","fillRule","clipRule","Button","text","onClick","href","size","disabled","color","border","children","type","props","tag","createElement","target","CloseButton","SocialMediaShare","title","handleClick","e","name","preventDefault","open","currentTarget","innerHeight","innerWidth","shareUrl","location","disableScroll","document","body","classList","add","enableScroll","remove","quoteClickHelper","contactUsForm","redirect","localStorage","setItem","I18","CategoryID","pageId","contact_type","RequestForQuote","EnquiryTypeLink","useOutsideClick","ref","handler","useEffect","current","contains","addEventListener","removeEventListener","breadcrumbApi","endpoints","build","fetchBreadcrumb","query","url","params","language","lang","overrideExisting","useFetchBreadcrumbQuery","selectFunction","list","arrow","isShowing","setIsShowing","useState","selectRef","useRef","listItems","useMemo","map","item","onSelect","TopMenuLanguageSelector","languages","defaultLanguage","languageTitle","filter","LanguageCode","Name","currentLanguageTitle","Href","select","topMenu","SectionLinks","index","Text","Target","referrerPolicy","Languages","DefaultLanguage","Brand","pathLink","getElementsByTagName","getAttribute","src","alt","ContactButton","forwardRef","highlight","selected","contactlink","pageType","cookie","MainNavigation","model","itemClass","NoSubCategory","setValue","val","ContainerLink","getItem","UrlSegment","SearchButton","SignInButton","MarketButton","active","MenuSection","toggleMegaMenu","toggleSearchArea","toggleSignInArea","toggleMarketArea","showHideSignIn","megaMenuNavigation","contactLink","contactBtnText","searchBtnText","signInBtnText","signInDescription","showSearchArea","showSignInArea","showMarketArea","signInBtnLinks","cls","contactClick","setContactClick","contactBtnRef","isDesktopForHeader","Fragment","handlehighlight","origin","toUpperCase","MegaMenuState","createContext","MegaMenuStateProvider","selectedSection","megaMenuData","activeItems","setActiveItems","initialData","data","setData","resetActiveItems","Provider","value","addActiveItem","changedLevel","newActiveItems","keys","forEach","level","parseInt","removeActiveItem","resetData","newData","useMegaMenuState","useContext","MegaMenuItem","items","hasChildren","isActive","isMobileDevice","navigator","maxTouchPoints","isHovered","onMouseEnter","onMouseLeave","onHover","setIsHovered","hoverTimer","clearTimeout","setTimeout","useMegaMenuItemHover","showChildren","nextLevel","undefined","createPortal","MegaMenuColumn","querySelector","columnData","columnChildren","ColumnAndSection","Children","Sections","columnHasChildren","HeaderPage","Title","MegaMenuNavigation","levels","_","prevLevel","columns","Columns","show","megaMenuColumns","closeMegaMenu","selectedColumn","MobileListItemWithChildren","count","container","backID","urlSegment","event","el","getElementById","startsWith","child","backChild","setAttribute","innerHTML","MobileListItemGoBackBtn","menuList","getElementsByClassName","menu","slice","mobileMenu","element","targetEl","MobileMenuListWrapper","backBtnText","MegaMenuListMobile","columnList","i18n","renderMenuItem","hasSubCategory","link","replace","Back","filterColumnList","column","renderOtherColumn","MegaMenuColumnMobile","nav","levelRender","level2","level3","level4","LanguageSelectorMobile","_classPrivateFieldGet","receiver","privateMap","descriptor","get","_classApplyDescriptorGet","_classExtractFieldDescriptor","_classPrivateFieldSet","set","writable","TypeError","_classApplyDescriptorSet","action","has","_classPrivateMethodGet","privateSet","fn","_checkPrivateRedeclaration","obj","privateCollection","_classPrivateFieldInitSpec","_classPrivateMethodInitSpec","RegExp","test","error","_ref","search","lastIndexOf","splice","amend","_list","WeakMap","_pattern","_update","WeakSet","_index","Isbot","constructor","patterns","this","_update2","defineProperties","ua","entries","getOwnPropertyDescriptors","reduce","accumulator","prop","assign","bind","pattern","Boolean","find","match","matches","entry","clear","exclude","extend","filters","rule","_index2","toLowerCase","spawn","indexOf","isbot","MobileNavigationList","navigation","contact","getPathLink","hasNavigationList","onNavItemClick","addToMegaMenu","SignInDropdown","signInInformation","links","dangerouslySetInnerHTML","__html","handleDatalayerPush","linkText","linkUrl","Url","dataLayer","link_text","link_url","CountrySelectorFooter","footerLink","footerText","footerLinkHref","RedirectedIntro","RemoveSettingsText","site","isCommertialSiteHomePage","removeItem","MobileList","countries","countrySelectList","isCountrySelector","setIsCountrySelector","selectCountryMobile","ContactUsPageLink","I18n","ContactUsPageText","DesktopList","selectCountry","URL","attributes","getNamedItem","array","temparray","newArray","temparraylength","columnsLength","Math","ceil","generateDesktopList","countrySelectorApi","apiSlice","fetchCountrySelectList","useFetchCountrySelectListQuery","handleCloseDropdown","isDesktop","isMobileForHeader","isMobileScreen","isMobile","Countries","Header","Introduction","showing","userAgent","useStickyHeader","hasBreadcrumb","lite","stickyCss","setStickyCss","handleStickyInPageNavigation","header","navElement","navList","headerHeight","getBoundingClientRect","hasNavElement","childElementCount","moveInPageNav","visibility","appendChild","setHeaderHeightForScroll","root","documentElement","offsetHeight","setProperty","handleScroll","newStickyCss","scrollY","barElement","throttledScroll","throttledHandleInPageNav","throttledSetHeaderHeightForScroll","useBreadcrumbsSizeChange","breadcrumbRef","resizeObserver","fitBreadcrumbs","headerWrapperEl","newHeight","clientHeight","headerEl","inPageNav","inPageNavHeight","fixScrollingHeight","ResizeObserver","observe","disconnect","SocialBar","shareTitle","hideRequestQuote","requestForQuoteText","breadcrumb","Breadcrumbs","lastBreadcrumbItem","Share","SubMenu","submenuLinks","subMenuLinks","activeStyle","PageId","SubMenuMobile","setActive","subMenuRef","currentLink","subNavigation","isLoading","loading","SubNavType","content","headerRef","setSelected","selectedCategory","setSelectedCategory","isLoadingMegaMenuNavigation","showDropDown","showMegaMenu","showHeaderBar","showOverlay","openMegaMenu","MainMenuLinks","Search","SignIn","Heading","Links","Description","HideSignIn","Contact","MegaMenuColumns","SearchBar","placeholder","Placeholder","showSearchIcon","onSubmit","searchUrl","SearchUrl","searchParams","URLSearchParams","category","orderBy","contactUsApi","fetchFindOfficeData","countryId","officeTypeId","fetchContactUsForm","useFetchContactUsFormQuery","useLazyFetchFindOfficeDataQuery"],"sourceRoot":""}