{"version":3,"sources":["components/@shared/NavTools/NavTool/index.tsx","components/@shared/NavTools/NavToolSearch/index.tsx","components/@shared/RenderDelay/index.tsx","components/@shared/NavTools/index.tsx","components/@shared/NavMain/index.tsx","components/@shared/NavTriggers/index.tsx","components/Header/index.tsx","helper/withErrorCatch.tsx","../node_modules/react-use/esm/misc/util.js","components/@shared/BaseBtn/index.tsx","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@sitecore-jss/sitecore-jss-react/dist/esm/components/Text.js","../node_modules/@sitecore-jss/sitecore-jss-react/dist/esm/components/Link.js","utils/analytics.ts","../node_modules/react-use/esm/useMedia.js","../node_modules/react-use/esm/useClickAway.js","hooks/useMemorySafeTimout.ts"],"names":["NavTool","link","icoClass","className","Link","field","value","onClick","trackWithGoogleTagManager","event","eventAction","eventCategory","eventLabel","NavToolSearch","search","searchSet","searchIsOpenSet","searchIsOpen","label","searchClass","useMemo","searchFieldClass","length","getSearchUrl","baseUrl","query","window","url","URL","location","origin","searchParams","set","toString","useEffect","addEventListener","key","replace","href","onChange","v","target","Text","tag","RenderDelay","children","shouldRender","transitionDuration","onFinishCallback","Tag","setSafeTimeout","useMemorySafeTimeout","React","useState","tick","setTick","childrenToRender","setChildrenToRender","updatedChildren","map","child","index","filter","NavTools","navToolsOpen","languages","metaNavigation","activeLang","activeLangSet","langIsOpen","langIsOpenSet","searchValue","searchValueSet","sitecoreContext","useSitecoreContext","al","find","l","active","name","dataLayer","dataToPush","getDataToPush","console","log","push","Object","keys","pageInfo","pageName","route","fields","language","product_name","displayName","template_name","templateName","selectLang","useCallback","item","toolsClass","mainClass","idx","icon","NavMain","data","navMainOpen","onClose","t","useTranslation","firstLevelActive","firstLevelActiveSet","secondLevelActive","secondLevelActiveSet","thirdLevelActive","thirdLevelActiveSet","skipAnimation","setSkipAnimation","setTimeout","isWide","useMedia","hoverMainItem","setHoverMainItem","getFatherTitle","levelTitle","father","forEach","l1","match","subSectionItems","l2","l3","title","renderArrowLeft","level","renderItem","isSubNav","wrapClass","itemClass","back","prevLevelName","onPress","style","opacity","onMouseEnter","onMouseLeave","linktype","renderButtons","buttons","button","BaseBtn","text","isRed","navRef","useRef","useClickAway","e","path","classList","contains","renderNode","navHistory","updatedNavHistory","shouldRenderBackButton","i","levelClass","undefined","ref","sectionButton","navMainClass","myClass","navMainClassBG","setShouldRender","id","onTouchStart","NavTriggers","onNavToolsToggle","onNavMainToggle","withErrorCatch","props","mainNavigation","navToolsOpenSet","navMainOpenSet","homeItemLink","Image","logo","mainFields","subNavigationLinks","subFields","subItem","subsubFields","subsubsubFields","additionLink","additionalLinkIcon","searchHint","searchResultPage","languageSwitcher","error","stack","Component","hocProps","noop","on","obj","args","_i","arguments","apply","off","removeEventListener","isBrowser","action","isFullwidth","sitecoreProps","minWidth","customAttributes","ButtonContent","iconCssClass","rel","download","_toConsumableArray","arr","Array","isArray","arrayLikeToArray","iter","Symbol","iterator","from","unsupportedIterableToArray","TypeError","__rest","s","p","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","propertyIsEnumerable","_a","editable","encode","otherProps","isEditable","output","splitted","String","split","formatted","str","isLast","createElement","setDangerously","htmlProps","assign","dangerouslySetInnerHTML","__html","Fragment","propTypes","PropTypes","shape","oneOfType","string","number","bool","defaultProps","showLinkTextWithChildrenPresent","dynamicField","editableFirstPart","resultTags","markup","editableLastPart","anchorAttrs","linkText","LinkPropTypes","object","isRequired","node","trackData","defaultState","matchMedia","matches","getInitialState","state","setState","mounted","mql","addListener","removeListener","defaultEvents","onClickAway","events","savedCallback","current","handler","el","events_1","eventName","document","events_2","timoutId","clearTimeout","cb","ms"],"mappings":"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","file":"static/js/Header.892e6f74.chunk.js","sourcesContent":["import React from 'react';\r\nimport { NavToolProps } from './types/NavTool.types';\r\nimport { Link } from '@sitecore-jss/sitecore-jss-react';\r\nimport './NavTool.scss';\r\nimport { trackWithGoogleTagManager } from '../../../../utils/analytics';\r\n\r\nconst NavTool = ({ link, icoClass }: NavToolProps) => {\r\n function track() {\r\n if (icoClass === 'icon-headphone') {\r\n trackWithGoogleTagManager({\r\n event: 'event_contactus',\r\n eventAction: 'open_contactus',\r\n eventCategory: 'contactus',\r\n eventLabel: 'general_information',\r\n });\r\n }\r\n\r\n if (icoClass === 'icon-piston') {\r\n trackWithGoogleTagManager({\r\n event: 'event_find_your_engine',\r\n eventAction: 'find_your_engine',\r\n eventCategory: 'find_your_engine',\r\n eventLabel: 'find_your_engine',\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default NavTool;\r\n","import React, { useEffect, useMemo } from \"react\";\r\nimport { NavToolSearchProps } from \"./types/NavToolSearch.types\";\r\nimport \"./NavToolSearch.scss\";\r\nimport { Link, Text } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { trackWithGoogleTagManager } from \"../../../../utils/analytics\";\r\n\r\nconst NavToolSearch = ({\r\n search,\r\n searchSet,\r\n searchIsOpenSet,\r\n searchIsOpen,\r\n label,\r\n link,\r\n}: NavToolSearchProps) => {\r\n const searchClass = useMemo(() => {\r\n return searchIsOpen ? \"Nav__Search Nav__Search--Open\" : \"Nav__Search\";\r\n }, [searchIsOpen]);\r\n\r\n const searchFieldClass = useMemo(() => {\r\n return search?.length > 2\r\n ? \"Nav__SearchField Nav__SearchField--active\"\r\n : \"Nav__SearchField\";\r\n }, [search]);\r\n\r\n function getSearchUrl(baseUrl: string, query: string) {\r\n if (typeof window !== \"undefined\") {\r\n const url = new URL(baseUrl, window.location.origin);\r\n url.searchParams.set(\"q\", query);\r\n return url.toString();\r\n } else {\r\n return baseUrl;\r\n }\r\n }\r\n\r\n function track() {\r\n trackWithGoogleTagManager({\r\n event: \"event_search_website\",\r\n eventAction: \"submit_search\",\r\n eventCategory: \"search_website\",\r\n eventLabel: search,\r\n });\r\n }\r\n useEffect(() => {\r\n if (typeof window !== \"undefined\") {\r\n if (searchIsOpen && search?.length > 2) {\r\n window.addEventListener(\"keypress\", (event) => {\r\n if (searchIsOpen && event.key === \"Enter\") {\r\n location.replace(getSearchUrl(link.value.href, search));\r\n }\r\n });\r\n }\r\n }\r\n }, [window, searchIsOpen, search]);\r\n return (\r\n
\r\n \r\n
\r\n searchSet(v.target.value)} />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default NavToolSearch;\r\n","import React, { ElementType, ReactElement } from 'react';\r\nimport { useMemorySafeTimeout } from '../../../hooks/useMemorySafeTimout';\r\n\r\ninterface iProps {\r\n children: any;\r\n shouldRender: boolean;\r\n transitionDuration: number;\r\n onFinishCallback?: () => void;\r\n tag?: ElementType;\r\n}\r\n\r\nconst RenderDelay = ({\r\n children,\r\n shouldRender,\r\n transitionDuration,\r\n onFinishCallback,\r\n tag: Tag = 'div',\r\n}: iProps) => {\r\n const setSafeTimeout = useMemorySafeTimeout();\r\n\r\n /** Track which element should be animated */\r\n const [tick, setTick] = React.useState(-1);\r\n /** Stores children with animation to be rendered */\r\n const [childrenToRender, setChildrenToRender] = React.useState([]);\r\n\r\n /** Checks the passed props and starts iterating */\r\n React.useEffect(() => {\r\n if (shouldRender) {\r\n setTick(tick + 1);\r\n } else {\r\n setTick(-1);\r\n setChildrenToRender([]);\r\n }\r\n }, [shouldRender]);\r\n\r\n React.useEffect(() => {\r\n const updatedChildren = children.map((child, index) => {\r\n return index === tick ? (\r\n \r\n {child}\r\n \r\n ) : index < tick ? (\r\n \r\n {child}\r\n \r\n ) : (\r\n \r\n {child}\r\n \r\n );\r\n });\r\n\r\n /** Filters null children, to make prevent unnecessary iterations */\r\n setChildrenToRender(\r\n updatedChildren.filter((child: ReactElement | null) => !!child)\r\n );\r\n }, [tick, children]);\r\n\r\n React.useEffect(() => {\r\n if (shouldRender && tick === children.length) {\r\n onFinishCallback && onFinishCallback();\r\n }\r\n }, [tick]);\r\n\r\n React.useEffect(() => {\r\n if (shouldRender && tick < children.length) {\r\n setSafeTimeout(() => {\r\n setTick(tick + 1);\r\n }, transitionDuration);\r\n }\r\n }, [childrenToRender]);\r\n\r\n return <>{childrenToRender};\r\n};\r\n\r\nexport default RenderDelay;\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\r\nimport { NavToolsProps } from './types/NavTools.types';\r\nimport './NavTools.scss';\r\nimport NavTool from './NavTool';\r\nimport NavToolSearch from './NavToolSearch';\r\nimport RenderDelay from '../RenderDelay';\r\nimport { useSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nconst NavTools = ({\r\n navToolsOpen,\r\n languages,\r\n search,\r\n metaNavigation,\r\n}: NavToolsProps) => {\r\n const [activeLang, activeLangSet] = useState();\r\n const [langIsOpen, langIsOpenSet] = useState(false);\r\n const [searchIsOpen, searchIsOpenSet] = useState(false);\r\n const [searchValue, searchValueSet] = useState('');\r\n\r\n const { sitecoreContext } = useSitecoreContext() as any;\r\n\r\n useEffect(() => {\r\n const al = languages.find((l) => l.active)?.name;\r\n if (al) activeLangSet(al);\r\n }, [languages]);\r\n\r\n useEffect(() => {\r\n if (typeof window !== 'undefined') {\r\n window.dataLayer = window.dataLayer || [];\r\n const dataToPush = getDataToPush();\r\n console.log(dataToPush)\r\n if (dataToPush) window?.dataLayer?.push(dataToPush);\r\n }\r\n }, []);\r\n\r\n const getDataToPush = () => {\r\n return sitecoreContext && Object.keys(sitecoreContext).length > 0\r\n ? {\r\n pageInfo: {\r\n pageName: sitecoreContext?.route?.fields['GA Page Name']?.value,\r\n language: sitecoreContext?.language,\r\n product_name: sitecoreContext?.route?.displayName,\r\n template_name: sitecoreContext?.route?.templateName,\r\n },\r\n }\r\n : null;\r\n };\r\n\r\n const selectLang = useCallback(\r\n (item: string) => {\r\n activeLangSet(item);\r\n langIsOpenSet(false);\r\n },\r\n [languages]\r\n );\r\n\r\n const toolsClass = useMemo(() => {\r\n return searchIsOpen\r\n ? 'NavTools__Icons NavTools__Icons--Closed'\r\n : 'NavTools__Icons';\r\n }, [searchIsOpen]);\r\n\r\n const mainClass = useMemo(() => {\r\n return navToolsOpen\r\n ? 'NavTools__Main'\r\n : 'NavTools__Main NavTools__Main--Closed';\r\n }, [navToolsOpen]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n searchValueSet(v)}\r\n searchIsOpenSet={() => searchIsOpenSet(!searchIsOpen)}\r\n searchIsOpen={searchIsOpen}\r\n {...search}\r\n />\r\n
\r\n \r\n {metaNavigation.map((item, idx) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
langIsOpenSet(!langIsOpen)}>{activeLang}
\r\n {langIsOpen && (\r\n
    \r\n {languages.map((item) =>\r\n item.name !== activeLang ? (\r\n {\r\n location.replace(item.url);\r\n selectLang(item.name);\r\n }}\r\n >\r\n {item.name}\r\n \r\n ) : null\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default NavTools;\r\n","import React, {\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from 'react';\r\nimport { useClickAway, useMedia } from 'react-use';\r\nimport { NavMainProps, NavItem, NavItemBase } from './types/NavMain.types';\r\nimport RenderDelay from '../RenderDelay';\r\nimport BaseBtn from '../BaseBtn';\r\nimport { LinkField } from '@sitecore-jss/sitecore-jss-react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport './NavMain.scss';\r\n\r\n\r\n\r\n\r\n\r\nconst NavMain = ({ data, navMainOpen, onClose }: NavMainProps) => {\r\n const { t } = useTranslation();\r\n\r\n const [firstLevelActive, firstLevelActiveSet] = useState<\r\n string | undefined\r\n >();\r\n const [secondLevelActive, secondLevelActiveSet] = useState<\r\n string | undefined\r\n >();\r\n const [thirdLevelActive, thirdLevelActiveSet] = useState<\r\n string | undefined\r\n >();\r\n\r\n const [skipAnimation, setSkipAnimation] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!firstLevelActive) {\r\n setSkipAnimation(false);\r\n } else {\r\n setTimeout(() => {\r\n setSkipAnimation(true);\r\n }, 500);\r\n }\r\n }, [firstLevelActive]);\r\n\r\n\r\n\r\n const isWide = useMedia('(min-width: 1200px)');\r\n\r\n const [hoverMainItem, setHoverMainItem] = useState('');\r\n\r\n const getFatherTitle: (levelTitle: string) => string = useCallback(\r\n (levelTitle) => {\r\n let father = '';\r\n\r\n data.forEach((l1) => {\r\n const match = l1?.subSectionItems.find((l2) =>\r\n l2?.subSectionItems?.find((l3) => l3?.title?.value === levelTitle)\r\n );\r\n if (match) father = match?.title?.value as string;\r\n });\r\n\r\n return father;\r\n },\r\n []\r\n );\r\n\r\n\r\n \r\n const renderArrowLeft = useCallback(\r\n (item: NavItem, level: number) => {\r\n if (\r\n (level === 0 && item.title.value === firstLevelActive) ||\r\n (level === 1 && item.title.value === secondLevelActive) ||\r\n (level === 2 && item.title.value === thirdLevelActive)\r\n ) {\r\n return null;\r\n }\r\n if (\r\n (!secondLevelActive && item.subSectionItems) ||\r\n (!thirdLevelActive && item.subSectionItems)\r\n ) {\r\n return ;\r\n }\r\n return null;\r\n },\r\n [firstLevelActive, secondLevelActive, thirdLevelActive]\r\n );\r\n\r\n const renderItem = useCallback(\r\n (item: NavItem, level: number) => {\r\n const isSubNav =\r\n thirdLevelActive === item.title.value ||\r\n secondLevelActive === item.title.value ||\r\n firstLevelActive === item.title.value;\r\n\r\n let wrapClass = isWide ? '' : 'NavMain__itemWrap';\r\n if (\r\n (!isWide && level === 0 && secondLevelActive) ||\r\n (level === 1 && thirdLevelActive)\r\n ) {\r\n wrapClass = 'NavMain__itemHidden';\r\n }\r\n\r\n if (isSubNav) {\r\n wrapClass += ' NavMain__SubNav';\r\n }\r\n\r\n let itemClass =\r\n level === 0\r\n ? 'NavMain__UlFirstLevelItem NavMain__Item ga4-click-ui-menu'\r\n : 'NavMain__Item ga4-click-ui-menu';\r\n if (\r\n level === 0 &&\r\n firstLevelActive &&\r\n firstLevelActive !== item.title.value\r\n ) {\r\n itemClass = `${itemClass} NavMain__itemDisabled`;\r\n }\r\n if (\r\n (!isWide && level === 0 && secondLevelActive) ||\r\n (level === 1 && thirdLevelActive)\r\n ) {\r\n itemClass = 'NavMain__itemHidden';\r\n }\r\n if (level === 1) {\r\n itemClass = `${itemClass} NavMain__SecondLevelItem`;\r\n if (\r\n (secondLevelActive && secondLevelActive !== item.title.value) ||\r\n thirdLevelActive\r\n ) {\r\n itemClass = 'NavMain__itemHidden';\r\n }\r\n }\r\n if (level === 2) {\r\n itemClass = `${itemClass} NavMain__SecondLevelItem ga4-click-ui-menu`;\r\n if (thirdLevelActive && thirdLevelActive !== item.title.value) {\r\n itemClass = 'NavMain__itemHidden';\r\n }\r\n }\r\n\r\n if (\r\n item.link &&\r\n (item?.subSectionItems?.length === 0 || !item?.subSectionItems)\r\n ) {\r\n return (\r\n 0 ||\r\n firstLevelActive ||\r\n !isWide\r\n ? {}\r\n : {\r\n opacity: hoverMainItem === item?.title?.value ? 1 : 0.5,\r\n }\r\n }\r\n onMouseEnter={() => {\r\n if (level > 0) return;\r\n setHoverMainItem(item?.title?.value as string);\r\n }}\r\n onMouseLeave={() => {\r\n if (level > 0) return;\r\n setHoverMainItem('');\r\n }}\r\n >\r\n \r\n {(item.icon?.value as string)?.length > 0 && (\r\n \r\n )}\r\n {item.title.value}\r\n\r\n {level !== 0 &&\r\n ([item.link as unknown as LinkField][0]?.value?.linktype ===\r\n 'external' ||\r\n item.link.linktype === 'external') && (\r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n
\r\n {!isWide && isSubNav && !thirdLevelActive && back({ level })}\r\n {!isWide &&\r\n thirdLevelActive &&\r\n thirdLevelActive === item.title.value &&\r\n back({ level, prevLevelName: item.title.value as string })}\r\n onPress(level, item.title.value as string)}\r\n style={\r\n hoverMainItem.length === 0 ||\r\n level > 0 ||\r\n firstLevelActive ||\r\n !isWide\r\n ? {}\r\n : {\r\n opacity: hoverMainItem === item?.title?.value ? 1 : 0.5,\r\n }\r\n }\r\n onMouseEnter={() => {\r\n if (level > 0) return;\r\n setHoverMainItem(item?.title?.value as string);\r\n }}\r\n onMouseLeave={() => {\r\n if (level > 0) return;\r\n setHoverMainItem('');\r\n }}\r\n >\r\n \r\n {(item?.icon?.value as string)?.length > 0 && (\r\n \r\n )}\r\n \r\n {item.title.value}\r\n \r\n \r\n {renderArrowLeft(item, level)}\r\n \r\n
\r\n );\r\n },\r\n [\r\n firstLevelActive,\r\n secondLevelActive,\r\n thirdLevelActive,\r\n hoverMainItem,\r\n isWide,\r\n ]\r\n );\r\n\r\n const renderButtons = useCallback((buttons: NavItemBase[]) => {\r\n return (\r\n
\r\n {buttons.map((button: NavItemBase, idx) => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n );\r\n }, []);\r\n\r\n interface CustomMouseEvent extends MouseEvent {\r\n path: Element[];\r\n }\r\n\r\n const navRef = useRef(null);\r\n useClickAway(navRef, (e: CustomMouseEvent) => {\r\n if (e.path?.[5]?.classList?.contains('NavMain__Wrapper') || !isWide) return;\r\n onPress(0);\r\n });\r\n\r\n const renderNode: (options: {\r\n item: NavItem;\r\n index: number;\r\n level?: number;\r\n navHistory?: string[];\r\n }) => JSX.Element = useCallback(\r\n ({ item, index, level = 0, navHistory = [] }) => {\r\n if (level !== 0 && !firstLevelActive) {\r\n return
;\r\n }\r\n\r\n const updatedNavHistory = [...navHistory, item.title.value as string];\r\n\r\n const shouldRenderBackButton =\r\n updatedNavHistory.filter((i) => i === item.title.value).length === 1;\r\n\r\n const Tag = level === 0 ? 'div' : 'li';\r\n\r\n let levelClass =\r\n level === 0\r\n ? `NavMain__SecondLevel ${\r\n skipAnimation ? 'NavMain__SecondLevelActive--skip' : ''\r\n }`\r\n : level === 1\r\n ? `NavMain__ThirdLevel ${\r\n thirdLevelActive ? 'NavMain__ThirdLevel--closed' : ''\r\n } ${skipAnimation ? 'NavMain__SecondLevelActive--skip' : ''}`\r\n : `NavMain__ForthLevel ${\r\n skipAnimation ? 'NavMain__SecondLevelActive--skip' : ''\r\n }`;\r\n if (\r\n level === 0 &&\r\n firstLevelActive === item.title.value &&\r\n item.title.value !== undefined\r\n ) {\r\n levelClass = `${levelClass} NavMain__SecondLevelActive`;\r\n }\r\n if (\r\n level === 1 &&\r\n secondLevelActive === item.title.value\r\n // !thirdLevelActive\r\n ) {\r\n levelClass = `${levelClass} NavMain__ThirdLevelActive`;\r\n }\r\n if (level === 2 && thirdLevelActive === item.title.value) {\r\n levelClass = `${levelClass} NavMain__ForthLevelActive`;\r\n }\r\n\r\n return (\r\n \r\n {((shouldRenderBackButton &&\r\n isWide &&\r\n secondLevelActive &&\r\n secondLevelActive === item.title.value) ||\r\n (thirdLevelActive && thirdLevelActive === item.title.value)) &&\r\n back({\r\n level: thirdLevelActive && !isWide ? level - 1 : level,\r\n prevLevelName:\r\n thirdLevelActive &&\r\n thirdLevelActive === item.title.value &&\r\n isWide\r\n ? item.title.value\r\n : undefined,\r\n })}\r\n \r\n {renderItem(item, level)}\r\n \r\n {level === 0 && (\r\n onPress(0)}\r\n />\r\n )}\r\n {item.subSectionItems && (\r\n
    \r\n {item.subSectionItems.map((child: NavItem, index) => {\r\n return renderNode({\r\n item: child,\r\n index,\r\n level: level + 1,\r\n navHistory: updatedNavHistory,\r\n });\r\n })}\r\n
\r\n )}\r\n {item.sectionButton &&\r\n !secondLevelActive &&\r\n renderButtons(item.sectionButton)}\r\n \r\n \r\n
\r\n );\r\n },\r\n [\r\n data,\r\n firstLevelActive,\r\n secondLevelActive,\r\n thirdLevelActive,\r\n skipAnimation,\r\n hoverMainItem,\r\n isWide,\r\n ]\r\n );\r\n\r\n const onPress = useCallback(\r\n (level: number, label?: string) => {\r\n if (level === 0) {\r\n firstLevelActiveSet(label);\r\n secondLevelActiveSet(undefined);\r\n thirdLevelActiveSet(undefined);\r\n } else if (level === 1) {\r\n secondLevelActiveSet(label);\r\n thirdLevelActiveSet(undefined);\r\n } else if (level === 2) {\r\n thirdLevelActiveSet(label);\r\n } else {\r\n firstLevelActiveSet(undefined);\r\n secondLevelActiveSet(undefined);\r\n thirdLevelActiveSet(undefined);\r\n }\r\n },\r\n [renderNode]\r\n );\r\n\r\n const back: (options: {\r\n level: number;\r\n prevLevelName?: string;\r\n }) => JSX.Element = useCallback(\r\n ({ level, prevLevelName = '' }) => {\r\n return (\r\n onPress(level)}\r\n >\r\n \r\n {prevLevelName\r\n ? `${t('BackTo')} ${getFatherTitle(prevLevelName)}`\r\n : t('Back')}\r\n \r\n \r\n );\r\n },\r\n [onPress]\r\n );\r\n\r\n const navMainClass = useMemo(() => {\r\n let myClass = firstLevelActive ? 'NavMain NavMain--Open' : 'NavMain';\r\n if (navMainOpen) {\r\n myClass = `${myClass} NavMain--MobileOpen`;\r\n }\r\n return myClass;\r\n }, [navMainOpen, firstLevelActive]);\r\n\r\n const navMainClassBG = useMemo(() => {\r\n let myClass = firstLevelActive ? 'NavMainBG NavMainBG--Open' : 'NavMainBG';\r\n if (navMainOpen) {\r\n myClass = `${myClass} NavMainBG--MobileOpen`;\r\n }\r\n return myClass;\r\n }, [navMainOpen, firstLevelActive]);\r\n\r\n const [shouldRender, setShouldRender] = useState(null);\r\n useEffect(() => {\r\n if (navMainOpen || isWide) {\r\n setShouldRender(true);\r\n }\r\n }, [navMainOpen, isWide]);\r\n let contesto = this\r\n const handleEvent = (event) => {\r\n if (event.type === \"mousedown\") {\r\n //alert('mosedow '+event.type)\r\n } else {\r\n // alert('moseup '+event.type)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {shouldRender && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default NavMain;\r\n","import React from 'react';\r\nimport { NavTriggersProps } from './types/NavTriggers.types';\r\nimport './NavTriggers.scss';\r\n\r\nconst NavTriggers = ({\r\n onNavToolsToggle,\r\n onNavMainToggle,\r\n}: NavTriggersProps) => {\r\n return (\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 NavTriggers;\r\n","import React, { FunctionComponent, useState } from \"react\";\r\nimport { HeaderProps } from \"./types/Header.types\";\r\nimport \"./Header.scss\";\r\nimport NavTools from \"../@shared/NavTools\";\r\nimport NavMain from \"../@shared/NavMain\";\r\nimport NavTriggers from \"../@shared/NavTriggers\";\r\nimport { Image, useSitecoreContext } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { NavItem } from \"../@shared/NavMain/types/NavMain.types\";\r\nimport withErrorCatch from \"../../helper/withErrorCatch\";\r\n\r\nconst Header: FunctionComponent = (props) => {\r\n try {\r\n const { fields } = props;\r\n if (!fields?.mainNavigation) return <>;\r\n const sitecoreContext = useSitecoreContext();\r\n const [navToolsOpen, navToolsOpenSet] = useState(false);\r\n const [navMainOpen, navMainOpenSet] = useState(false);\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n navToolsOpenSet(!navToolsOpen)}\r\n onNavMainToggle={() => navMainOpenSet(!navMainOpen)}\r\n />\r\n {\r\n const item = {\r\n title: { value: mainFields.link.value.text },\r\n subSectionItems: mainFields.subNavigationLinks?.map(\r\n ({ fields: subFields, url }) => {\r\n const subItem = {\r\n title: { value: subFields.link.value.text },\r\n subSectionItems: subFields.subNavigationLinks.map\r\n ? subFields.subNavigationLinks?.map(\r\n ({ fields: subsubFields }) => {\r\n return {\r\n icon: {\r\n value:\r\n subsubFields?.icon?.fields?.[\r\n \"Icon Css Class\"\r\n ]?.value,\r\n },\r\n title: { value: subsubFields.link.value.text },\r\n link: subsubFields?.link,\r\n subSectionItems: subsubFields.subNavigationLinks\r\n ?.map\r\n ? subsubFields.subNavigationLinks.map(\r\n ({ fields: subsubsubFields }) => ({\r\n icon: subsubsubFields?.icon?.fields?.[\r\n \"Icon Css Class\"\r\n ],\r\n title: {\r\n value:\r\n subsubsubFields?.link?.value?.text,\r\n },\r\n link: subsubsubFields?.link,\r\n })\r\n )\r\n : [],\r\n };\r\n }\r\n )\r\n : [],\r\n } as unknown as NavItem;\r\n\r\n if (subFields.icon?.fields?.[\"Icon Css Class\"].value) {\r\n subItem.icon = {\r\n value: subFields.icon?.fields?.[\"Icon Css Class\"].value,\r\n };\r\n }\r\n\r\n if (\r\n !subItem.subSectionItems.length &&\r\n (subFields.link.value.href || subFields.url || url)\r\n ) {\r\n subItem.link = {\r\n value:\r\n subFields.link.value.href || subFields.url || url,\r\n linktype: subFields.link.value.linktype,\r\n };\r\n }\r\n\r\n return subItem;\r\n }\r\n ),\r\n } as NavItem;\r\n if (\r\n mainFields.subNavigationLinks.length === 0 &&\r\n mainFields.link.value.href\r\n ) {\r\n item.link = {\r\n value: mainFields.link.value.href,\r\n linktype: mainFields.link.value.linktype,\r\n };\r\n }\r\n if (mainFields?.additionLink?.value?.text) {\r\n item.sectionButton = [\r\n {\r\n title: { value: mainFields.additionLink.value.text },\r\n link: {\r\n value: mainFields.additionLink.value.href,\r\n linktype: mainFields.additionLink.value.linktype,\r\n },\r\n icon: {\r\n value:\r\n mainFields.additionalLinkIcon?.fields?.[\r\n \"Icon Css Class\"\r\n ]?.value,\r\n },\r\n },\r\n ];\r\n }\r\n\r\n return item;\r\n })}\r\n navMainOpen={navMainOpen}\r\n onClose={() => navMainOpenSet(false)}\r\n />\r\n
\r\n {!navMainOpen && (\r\n item.fields)}\r\n sitecoreContext={sitecoreContext}\r\n />\r\n )}\r\n
\r\n );\r\n } catch (error) {\r\n return <>{(error as Error)?.stack};\r\n }\r\n};\r\n\r\nexport default withErrorCatch(Header);\r\n","import React, { ComponentType } from \"react\";\r\n\r\nfunction withErrorCatch(Component: ComponentType) {\r\n return (hocProps: any) => {\r\n try {\r\n if (!hocProps) return <>;\r\n if (!hocProps?.fields) return <>;\r\n return ;\r\n } catch (error) {\r\n console.log((error as Error)?.stack);\r\n return <>;\r\n }\r\n };\r\n}\r\n\r\nexport default withErrorCatch;\r\n","export var noop = function () { };\nexport function on(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.addEventListener) {\n obj.addEventListener.apply(obj, args);\n }\n}\nexport function off(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.removeEventListener) {\n obj.removeEventListener.apply(obj, args);\n }\n}\nexport var isBrowser = typeof window !== 'undefined';\nexport var isNavigator = typeof navigator !== 'undefined';\n","import React from 'react';\r\nimport { BaseBtnProps } from './types/BaseBtn.types';\r\nimport { Link, Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport './BaseBtn.scss';\r\n\r\nconst BaseBtn = (props: BaseBtnProps) => {\r\n const {\r\n text,\r\n url,\r\n action = () => {},\r\n isRed,\r\n isFullwidth,\r\n className,\r\n icon,\r\n target = 'self',\r\n id,\r\n sitecoreProps,\r\n minWidth,\r\n customAttributes,\r\n } = props;\r\n let myClass = isRed ? 'BaseBtn BaseBtn--red' : 'BaseBtn';\r\n myClass += ' ga4-click-ui';\r\n if (className) {\r\n myClass += ` ${className}`;\r\n }\r\n if (isFullwidth) {\r\n myClass += ' BaseBtn--fullwidth';\r\n }\r\n const ButtonContent = () => (\r\n <>\r\n {(props.fields?.iconCssClass?.value || icon) && (\r\n \r\n )}\r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n {(props.fields?.link?.value?.href || url) && (\r\n \r\n {icon && }\r\n {text?.value}\r\n \r\n ),\r\n target:\r\n target === 'blank'\r\n ? '_blank'\r\n : target !== 'download'\r\n ? '_self'\r\n : '_self',\r\n href: url,\r\n id,\r\n },\r\n ...sitecoreProps,\r\n }\r\n }\r\n className={myClass}\r\n style={minWidth ? { minWidth: minWidth } : {}}\r\n onClick={action}\r\n rel=\"noopener noreferrer\"\r\n download={target === 'download'}\r\n data-engine-info={customAttributes}\r\n >\r\n \r\n \r\n )}\r\n {!(props.fields?.link?.value?.href || url) && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default BaseBtn;\r\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from 'react';\nimport PropTypes from 'prop-types';\nexport const Text = (_a) => {\n var { field, tag, editable, encode } = _a, otherProps = __rest(_a, [\"field\", \"tag\", \"editable\", \"encode\"]);\n if (!field || (!field.editable && (field.value === undefined || field.value === ''))) {\n return null;\n }\n // can't use editable value if we want to output unencoded\n if (!encode) {\n // eslint-disable-next-line no-param-reassign\n editable = false;\n }\n const isEditable = field.editable && editable;\n let output = isEditable\n ? field.editable || ''\n : field.value === undefined\n ? ''\n : field.value;\n // when string value isn't formatted, we should format line breaks\n if (!field.editable && typeof output === 'string') {\n const splitted = String(output).split('\\n');\n if (splitted.length) {\n const formatted = [];\n splitted.forEach((str, i) => {\n const isLast = i === splitted.length - 1;\n formatted.push(str);\n if (!isLast) {\n formatted.push(React.createElement(\"br\", { key: i }));\n }\n });\n output = formatted;\n }\n }\n const setDangerously = isEditable || !encode;\n let children = null;\n const htmlProps = Object.assign({}, otherProps);\n if (setDangerously) {\n htmlProps.dangerouslySetInnerHTML = {\n __html: output,\n };\n }\n else {\n children = output;\n }\n if (tag || setDangerously) {\n return React.createElement(tag || 'span', htmlProps, children);\n }\n else {\n return React.createElement(React.Fragment, null, children);\n }\n};\nText.propTypes = {\n field: PropTypes.shape({\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n editable: PropTypes.string,\n }),\n tag: PropTypes.string,\n editable: PropTypes.bool,\n encode: PropTypes.bool,\n};\nText.defaultProps = {\n editable: true,\n encode: true,\n};\nText.displayName = 'Text';\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from 'react';\nimport PropTypes from 'prop-types';\nexport const Link = (_a) => {\n var { field, editable, children, showLinkTextWithChildrenPresent } = _a, otherProps = __rest(_a, [\"field\", \"editable\", \"children\", \"showLinkTextWithChildrenPresent\"]);\n const dynamicField = field;\n if (!field ||\n (!dynamicField.editableFirstPart &&\n !dynamicField.value &&\n !dynamicField.href)) {\n return null;\n }\n const resultTags = [];\n // EXPERIENCE EDITOR RENDERING\n if (editable && dynamicField.editableFirstPart) {\n const markup = dynamicField.editableFirstPart + dynamicField.editableLastPart;\n // in an ideal world, we'd pre-render React children here and inject them between editableFirstPart and editableLastPart.\n // However, we cannot combine arbitrary unparsed HTML (innerHTML) based components with actual vDOM components (the children)\n // because the innerHTML is not parsed - it'd make a discontinuous vDOM. So, we'll go for the next best compromise of rendering the link field and children separately\n // as siblings. Should be \"good enough\" for most cases - and write your own helper if it isn't. Or bring xEditor out of 2006.\n const htmlProps = Object.assign(Object.assign({ className: 'sc-link-wrapper', dangerouslySetInnerHTML: {\n __html: markup,\n } }, otherProps), { key: 'editable' });\n resultTags.push(React.createElement(\"span\", Object.assign({}, htmlProps)));\n // don't render normal link tag when editing, if no children exist\n // this preserves normal-ish behavior if not using a link body (no hacks required)\n if (!children) {\n return resultTags[0];\n }\n }\n // handle link directly on field for forgetful devs\n const link = dynamicField.href\n ? field\n : dynamicField.value;\n if (!link) {\n return null;\n }\n const anchorAttrs = {\n href: link.href,\n className: link.class,\n title: link.title,\n target: link.target,\n };\n if (anchorAttrs.target === '_blank' && !anchorAttrs.rel) {\n // information disclosure attack prevention keeps target blank site from getting ref to window.opener\n anchorAttrs.rel = 'noopener noreferrer';\n }\n const linkText = showLinkTextWithChildrenPresent || !children ? link.text || link.href : null;\n resultTags.push(React.createElement('a', Object.assign(Object.assign(Object.assign({}, anchorAttrs), otherProps), { key: 'link' }), linkText, children));\n return React.createElement(React.Fragment, null, resultTags);\n};\nexport const LinkPropTypes = {\n field: PropTypes.oneOfType([\n PropTypes.shape({\n href: PropTypes.string,\n }),\n PropTypes.shape({\n value: PropTypes.object,\n editableFirstPart: PropTypes.string,\n editableLastPart: PropTypes.string,\n }),\n ]).isRequired,\n editable: PropTypes.bool,\n children: PropTypes.node,\n showLinkTextWithChildrenPresent: PropTypes.bool,\n};\nLink.propTypes = LinkPropTypes;\nLink.defaultProps = {\n editable: true,\n};\nLink.displayName = 'Link';\n","/**\r\n * @param data [event, eventCategory, eventAction, eventLabel]\r\n */\r\nexport function trackWithGoogleTagManager(\r\n data: [string, string, string, string]\r\n);\r\nexport function trackWithGoogleTagManager(data: {\r\n event: string;\r\n eventCategory: string;\r\n eventAction: string;\r\n eventLabel: string;\r\n});\r\nexport function trackWithGoogleTagManager(\r\n data:\r\n | [string, string, string, string]\r\n | {\r\n event: string;\r\n eventCategory: string;\r\n eventAction: string;\r\n eventLabel: string;\r\n }\r\n) {\r\n if (typeof window !== \"undefined\" && window.dataLayer) {\r\n try {\r\n let trackData = [];\r\n if (\"event\" in data) {\r\n trackData.push(data.event);\r\n trackData.push(data.eventCategory);\r\n trackData.push(data.eventAction);\r\n trackData.push(data.eventLabel);\r\n } else {\r\n trackData = [...data];\r\n }\r\n\r\n window.dataLayer.push({\r\n event: trackData[0],\r\n eventCategory: trackData[1],\r\n eventAction: trackData[2],\r\n eventLabel: trackData[3],\r\n });\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n dataLayer: any[];\r\n }\r\n}\r\n","import { useEffect, useState } from 'react';\nimport { isBrowser } from './misc/util';\nvar getInitialState = function (query, defaultState) {\n // Prevent a React hydration mismatch when a default value is provided by not defaulting to window.matchMedia(query).matches.\n if (defaultState !== undefined) {\n return defaultState;\n }\n if (isBrowser) {\n return window.matchMedia(query).matches;\n }\n // A default value has not been provided, and you are rendering on the server, warn of a possible hydration mismatch when defaulting to false.\n if (process.env.NODE_ENV !== 'production') {\n console.warn('`useMedia` When server side rendering, defaultState should be defined to prevent a hydration mismatches.');\n }\n return false;\n};\nvar useMedia = function (query, defaultState) {\n var _a = useState(getInitialState(query, defaultState)), state = _a[0], setState = _a[1];\n useEffect(function () {\n var mounted = true;\n var mql = window.matchMedia(query);\n var onChange = function () {\n if (!mounted) {\n return;\n }\n setState(!!mql.matches);\n };\n mql.addListener(onChange);\n setState(mql.matches);\n return function () {\n mounted = false;\n mql.removeListener(onChange);\n };\n }, [query]);\n return state;\n};\nexport default useMedia;\n","import { useEffect, useRef } from 'react';\nimport { off, on } from './misc/util';\nvar defaultEvents = ['mousedown', 'touchstart'];\nvar useClickAway = function (ref, onClickAway, events) {\n if (events === void 0) { events = defaultEvents; }\n var savedCallback = useRef(onClickAway);\n useEffect(function () {\n savedCallback.current = onClickAway;\n }, [onClickAway]);\n useEffect(function () {\n var handler = function (event) {\n var el = ref.current;\n el && !el.contains(event.target) && savedCallback.current(event);\n };\n for (var _i = 0, events_1 = events; _i < events_1.length; _i++) {\n var eventName = events_1[_i];\n on(document, eventName, handler);\n }\n return function () {\n for (var _i = 0, events_2 = events; _i < events_2.length; _i++) {\n var eventName = events_2[_i];\n off(document, eventName, handler);\n }\n };\n }, [events, ref]);\n};\nexport default useClickAway;\n","import { useEffect, useRef } from 'react';\r\n\r\nexport const useMemorySafeTimeout: () => (\r\n cb: () => void,\r\n ms: number\r\n) => void = () => {\r\n const timoutId = useRef();\r\n\r\n const setSafeTimeout: (cb: () => void, ms: number) => void = (cb, ms) => {\r\n timoutId.current = setTimeout(cb, ms);\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (!timoutId) return;\r\n clearTimeout(timoutId.current);\r\n };\r\n }, []);\r\n\r\n return setSafeTimeout;\r\n};\r\n"],"sourceRoot":""}