{"version":3,"file":"dist/build-client/static/js/NavigationMenu-MobileNavigationMenu.d169ca38.chunk.js","mappings":"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","sources":["Atoms/Image/Image.tsx","Organisms/Header/NavigationMenu/MenuItem/MobileMenuItem.tsx","Organisms/Header/NavigationMenu/MobileNavigationMenu.tsx","Organisms/Header/NavigationMenu/NavigationIconLink/NavigationIconLink.tsx","Organisms/Header/NavigationMenu/NavigationImageLink/NavigationImageLink.tsx","Organisms/Header/NavigationMenu/NavigationOverlay.tsx/NavigationOverlay.tsx","Shared/Hooks/useOnScreen.js"],"sourcesContent":["import React, { useRef } from 'react';\r\nimport useOnScreen from 'Shared/Hooks/useOnScreen';\r\n\r\ntype PropType = {\r\n src: string;\r\n alt: string;\r\n imgFit?: boolean;\r\n onLoad?: () => void;\r\n usePlaceHolder?: boolean;\r\n title?: string;\r\n fixedWidth?: number;\r\n fixedHeight?: number;\r\n externalRef?: React.RefObject;\r\n};\r\n\r\nconst Image = ({\r\n src,\r\n alt = '',\r\n onLoad,\r\n usePlaceHolder,\r\n title = '',\r\n fixedWidth,\r\n fixedHeight,\r\n externalRef,\r\n}: PropType) => {\r\n const ref = useRef(null);\r\n const onScreen = useOnScreen({ ref: externalRef ? externalRef : ref });\r\n\r\n return onScreen ? (\r\n \r\n ) : usePlaceHolder ? (\r\n
\r\n ) : (\r\n \r\n );\r\n};\r\n\r\nexport default Image;\r\n","import { ChevronIcon } from 'Atoms/Icons';\r\nimport { useKexNavigate } from 'Kex/KexRouter/KexRouter';\r\nimport HeaderLinkModel from 'Models/Headers/HeaderLinkModel.interface';\r\nimport PageModelBase from 'Models/Pages/Base/PageModelBase.interface';\r\nimport { useCallback, useEffect, useRef, useState } from 'react';\r\nimport useCurrentPage from 'Shared/Hooks/useCurrentPage';\r\nimport useMedia from 'Shared/Hooks/useMedia';\r\nimport { useUserStateData } from 'Shared/Providers/UserContextProvider';\r\nimport { styled } from 'stitches.config';\r\nimport { animation, timings } from 'Theme/Settings/animation';\r\nimport { mediaQueryTypes } from 'Theme/Settings/mediaQueries';\r\nimport NavigationIconLink from '../NavigationIconLink/NavigationIconLink';\r\nimport NavigationImageLink from '../NavigationImageLink/NavigationImageLink';\r\n\r\nexport type Depth = 2 | 3 | 4;\r\n\r\ntype PropTypes = {\r\n item: HeaderLinkModel;\r\n toggleMenu?: () => void;\r\n activeId: null | number;\r\n setActive: (id: number) => void;\r\n depth: Depth;\r\n isProfileLinks?: boolean;\r\n expandedByDefault?: boolean;\r\n};\r\n\r\nfunction MobileMenuItem({\r\n item,\r\n toggleMenu,\r\n activeId,\r\n setActive,\r\n depth,\r\n expandedByDefault = false,\r\n}: PropTypes) {\r\n const {\r\n user: { authenticated },\r\n } = useUserStateData();\r\n const { pageType, pageId } = useCurrentPage();\r\n\r\n const isMobile = useMedia(mediaQueryTypes.mediaMaxLarge);\r\n const [subMenuOpen, setSubMenuOpen] = useState(false);\r\n const [innerHeight, setInnerHeight] = useState(false);\r\n const subLinkContainerRef = useRef(null);\r\n const hasSubLinks =\r\n item.subLinks && !!item.subLinks.length && item.iteration <= 3;\r\n\r\n const kexNavigate = useKexNavigate();\r\n\r\n const findActiveNode = useCallback(\r\n (subs: HeaderLinkModel[]) => {\r\n hasSubLinks &&\r\n subs.map((item: HeaderLinkModel) =>\r\n pageId === item.id\r\n ? setSubMenuOpen(true)\r\n : item.subLinks.length > 0 && findActiveNode(item.subLinks)\r\n );\r\n },\r\n [hasSubLinks, pageId]\r\n );\r\n\r\n useEffect(() => {\r\n if (pageType === 'StartPage') {\r\n if (!expandedByDefault) {\r\n setSubMenuOpen(false);\r\n setInnerHeight(false);\r\n }\r\n setActive(-1);\r\n } else {\r\n if (subMenuOpen) {\r\n setInnerHeight(true);\r\n }\r\n }\r\n if (!expandedByDefault) {\r\n pageId === item.id\r\n ? setActive(item.id)\r\n : hasSubLinks && findActiveNode(item.subLinks);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [\r\n pageId,\r\n item,\r\n expandedByDefault,\r\n findActiveNode,\r\n hasSubLinks,\r\n pageType,\r\n setActive,\r\n ]);\r\n\r\n const onToggle = () => {\r\n if (!innerHeight) {\r\n setInnerHeight(true);\r\n } else {\r\n setTimeout(() => setInnerHeight(false), 300);\r\n }\r\n setSubMenuOpen(!subMenuOpen);\r\n };\r\n\r\n const navigateToLink = () => {\r\n toggleMenu && toggleMenu();\r\n kexNavigate(item.href);\r\n };\r\n\r\n return (\r\n \r\n \r\n {item.navigationImage ? (\r\n depth !== 3 && depth !== 4 ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n {item.text}\r\n \r\n )}\r\n {((!expandedByDefault && hasSubLinks) ||\r\n (!expandedByDefault && authenticated && isMobile && hasSubLinks)) && (\r\n \r\n {/* Ugly but needed because of useOutsideClick behavior which would otherwise click through */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {hasSubLinks && (\r\n \r\n {item.subLinks.map((item: HeaderLinkModel) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nconst IconWrapper = styled('div', {\r\n marginLeft: 'auto',\r\n variants: {\r\n isSubMenuOpen: {\r\n true: {\r\n display: 'none',\r\n },\r\n false: {\r\n display: 'block',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst LinkTextWrapper = styled('div', {\r\n my: 'auto',\r\n px: 2,\r\n py: 3.5,\r\n lineHeight: '$lh125',\r\n fontFamily: '$fontSecondary500',\r\n color: '$textPrimary',\r\n fs: 8,\r\n});\r\n\r\nconst OuterWrapper = styled('div', {\r\n display: 'flex',\r\n backgroundColor: '$navigationBackgroundSecondary',\r\n my: 0.5,\r\n py: 2,\r\n pl: 2,\r\n pr: 3,\r\n variants: {\r\n depth: {\r\n 2: {\r\n pl: 2,\r\n },\r\n 3: {\r\n pl: 6,\r\n },\r\n 4: {\r\n pl: 8,\r\n },\r\n },\r\n isOpened: {\r\n true: {\r\n backgroundColor: '$primary2',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst SubLinkContainer = styled('div', {\r\n maxHeight: 0,\r\n position: 'relative',\r\n display: 'block',\r\n opacity: 0,\r\n overflowY: 'hidden',\r\n transitionDuration: timings.threeTenths,\r\n transitionTimingFunction: animation.timingFn,\r\n transitionProperty: 'opacity',\r\n variants: {\r\n isOpen: {\r\n true: {\r\n opacity: 1,\r\n },\r\n },\r\n innerHeight: {\r\n true: {\r\n maxHeight: 'unset',\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst Item = styled('div', {\r\n cursor: 'pointer',\r\n display: 'flex',\r\n position: 'relative',\r\n alignItems: 'stretch',\r\n justifyContent: 'space-between',\r\n flexDirection: 'column',\r\n height: 'auto',\r\n});\r\n\r\nconst SubMenuButton = styled('button', {\r\n bw: 0,\r\n marginLeft: 'auto',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n ':active': {\r\n outlineWidth: 0,\r\n },\r\n ':focus': {\r\n outlineWidth: 0,\r\n },\r\n});\r\n\r\nexport default MobileMenuItem;\r\n","import IconLink from 'Atoms/Links/IconLink';\r\nimport HeaderLinkModel from 'Models/Headers/HeaderLinkModel.interface';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport useMedia from 'Shared/Hooks/useMedia';\r\nimport { styled } from 'stitches.config';\r\nimport { animation, timings } from 'Theme/Settings/animation';\r\nimport { mediaQueryTypes } from 'Theme/Settings/mediaQueries';\r\nimport { useHeaderData } from '../Header';\r\nimport MobileMenuItem, { Depth } from './MenuItem/MobileMenuItem';\r\nimport NavigationOverlay from './NavigationOverlay.tsx/NavigationOverlay';\r\nimport useMountTransition from 'Shared/Hooks/useMountTransition';\r\n\r\nimport { canUseDOM } from 'Shared/Common/Helpers';\r\n\r\ntype PropTypes = {\r\n isOpen: boolean;\r\n onMenuClose: () => void;\r\n\r\n menuId?: number | null;\r\n};\r\n\r\nfunction MobileNavigationMenu({ isOpen, onMenuClose }: PropTypes) {\r\n const { commerceLinks, topLinks } = useHeaderData();\r\n\r\n const [activeId, setActiveId] = useState(null);\r\n const menuRef = useRef(null);\r\n\r\n const isMobile = useMedia(mediaQueryTypes.mediaMaxLarge);\r\n\r\n const currentUrl = canUseDOM() && window.location.href;\r\n\r\n useEffect(() => {\r\n onMenuClose();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [currentUrl]);\r\n\r\n const hasTransitionedIn = useMountTransition(isOpen, 250);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {commerceLinks &&\r\n commerceLinks.map((item: HeaderLinkModel) => (\r\n
  • \r\n setActiveId(id)}\r\n expandedByDefault={false}\r\n depth={item.iteration as Depth}\r\n />\r\n
  • \r\n ))}\r\n
    \r\n \r\n {topLinks &&\r\n topLinks.map((item: HeaderLinkModel) => (\r\n \r\n {item.text}\r\n \r\n ))}\r\n \r\n
    \r\n {(hasTransitionedIn || isOpen) && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default MobileNavigationMenu;\r\n\r\nconst StyledIconLink = styled(IconLink, {\r\n my: 2,\r\n fontFamily: '$fontSecondary500',\r\n lineHeight: '$lh15',\r\n});\r\n\r\nconst BottomLinkContainer = styled('div', {\r\n m: 4,\r\n pb: 4,\r\n});\r\n\r\nconst Wrapper = styled('div', {\r\n position: 'fixed',\r\n l: 0,\r\n backgroundColor: '$navigationBackgroundPrimary',\r\n h: '100%',\r\n w: '100%',\r\n zIndex: '$Flyout',\r\n transform: 'translateX(-100%)',\r\n variants: {\r\n top: {\r\n true: {\r\n t: '$mobileHeaderHeight',\r\n },\r\n },\r\n isOpen: {\r\n true: {\r\n transform: 'translateX(0)',\r\n },\r\n },\r\n },\r\n transition: `all ${timings.threeTenths} ${animation.timingFn}`,\r\n});\r\n\r\nconst List = styled('ul', {\r\n listStyle: 'none',\r\n p: 0,\r\n m: 0,\r\n overflowY: 'scroll',\r\n maxHeight: '100vh',\r\n '&::-webkit-scrollbar': {\r\n WebkitAppearance: 'none',\r\n display: 'none',\r\n },\r\n scrollbarWidth: 'none',\r\n '@mediaMinSmall': {\r\n maxHeight: 'calc(100vh - 100px)',\r\n },\r\n});\r\n","import Image from 'Atoms/Image/Image';\r\nimport ImageModel from 'Models/Assets/ImageModel.interface';\r\nimport { useState } from 'react';\r\nimport { styled } from 'stitches.config';\r\nimport { mediaQueryTypes } from 'Theme/Settings/mediaQueries';\r\nimport useMedia from 'Shared/Hooks/useMedia';\r\nimport KexLink from 'Kex/KexLink';\r\nimport {\r\n animateUnderlineActive,\r\n animateUnderlineNotActive,\r\n} from 'Shared/Common/animateUnderline';\r\nimport useCurrentPage from 'Shared/Hooks/useCurrentPage';\r\nimport PageModelBase from 'Models/Pages/Base/PageModelBase.interface';\r\n\r\ntype PropTypes = {\r\n onClick?: () => void;\r\n href?: string;\r\n image: ImageModel;\r\n text: string;\r\n iteration: number;\r\n id: number;\r\n};\r\n\r\nfunction NavigationIconLink({\r\n onClick,\r\n href = '',\r\n image,\r\n text = '',\r\n iteration,\r\n id,\r\n}: PropTypes) {\r\n const isMobile = useMedia(mediaQueryTypes.mediaMaxLarge);\r\n const [linkIsHovered, setLinkIsHovered] = useState(false);\r\n const { pageId } = useCurrentPage();\r\n const hasUserNavigatedToLink = id === pageId;\r\n\r\n const isLargeImage = iteration <= 3;\r\n return (\r\n setLinkIsHovered(true)}\r\n onMouseLeave={() => setLinkIsHovered(false)}\r\n >\r\n \r\n \r\n {image && (\r\n \r\n )}\r\n \r\n \r\n {text}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst KexLinkStyle = {\r\n display: 'flex',\r\n fontFamily: '$fontSecondary400',\r\n gap: 16,\r\n fs: 8,\r\n lineHeight: '$lh171',\r\n '@mediaMinLarge': {\r\n display: 'inline-flex',\r\n fs: 7,\r\n gap: 8,\r\n },\r\n};\r\n\r\nconst IconWrapper = styled('div', {\r\n display: 'flex',\r\n alignItems: 'center',\r\n '@mediaMinLarge': {\r\n ml: 1,\r\n flexShrink: 0,\r\n },\r\n});\r\n\r\nconst StyledLinkWrapper = styled('div', {\r\n p: 2,\r\n pl: 0,\r\n '@mediaMinLarge': {\r\n p: 2,\r\n },\r\n});\r\n\r\nconst Text = styled('span', {\r\n whiteSpace: 'nowrap',\r\n ...animateUnderlineNotActive,\r\n alignSelf: 'center',\r\n variants: {\r\n linkIsHovered: {\r\n true: {\r\n ...animateUnderlineActive,\r\n },\r\n },\r\n },\r\n});\r\n\r\nexport default NavigationIconLink;\r\n","import Image from 'Atoms/Image/Image';\r\nimport KexLink from 'Kex/KexLink';\r\nimport { useState } from 'react';\r\nimport useMedia from 'Shared/Hooks/useMedia';\r\nimport { styled } from 'stitches.config';\r\nimport { mediaQueryTypes } from 'Theme/Settings/mediaQueries';\r\nimport {\r\n animateUnderlineActive,\r\n animateUnderlineNotActive,\r\n} from 'Shared/Common/animateUnderline';\r\nimport ArrowIcon from '../../../../Atoms/Icons/ArrowIcon';\r\n\r\ntype PropTypes = {\r\n text: string;\r\n imageHref: string;\r\n href: string;\r\n large?: boolean;\r\n onClick?: () => void;\r\n};\r\n\r\nfunction NavigationImageLink({\r\n text = '',\r\n imageHref = '',\r\n href = '/',\r\n large = false,\r\n onClick,\r\n}: PropTypes) {\r\n const [linkIsHovered, setLinkIsHovered] = useState(false);\r\n const isMobile = useMedia(mediaQueryTypes.mediaMaxLarge);\r\n\r\n return (\r\n setLinkIsHovered(true)}\r\n onMouseLeave={() => setLinkIsHovered(false)}\r\n >\r\n \r\n \r\n \r\n {'image'}\r\n \r\n \r\n {text}\r\n {!isMobile && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nconst StyledKexLink = styled(KexLink, {\r\n w: '100%',\r\n});\r\n\r\nconst Wrapper = styled('div', {\r\n display: 'flex',\r\n alignItems: 'center',\r\n variants: {\r\n large: {\r\n true: { flexDirection: 'column' },\r\n },\r\n },\r\n});\r\n\r\nconst StyledLinkWrapper = styled('div', {\r\n width: 'fit-content',\r\n display: 'flex',\r\n textTransform: 'capitalize',\r\n '@mediaMinLarge': {\r\n textTransform: 'uppercase',\r\n },\r\n});\r\n\r\nconst IconWrapper = styled('div', {\r\n display: 'flex',\r\n alignItems: 'center',\r\n m: 'auto',\r\n ml: 2,\r\n});\r\n\r\nconst ImageWrapper = styled('div', {\r\n display: 'flex',\r\n alignItems: 'center',\r\n maxWidth: '192px',\r\n w: '100%',\r\n height: 151,\r\n variants: {\r\n large: {\r\n true: {\r\n '@mediaMinLarge': {\r\n backgroundColor: '$primary5',\r\n mb: 5,\r\n },\r\n },\r\n false: {\r\n flexDirection: 'column',\r\n width: '80px',\r\n height: '64px',\r\n mr: 4,\r\n '@mediaMinLarge': {\r\n mr: 6,\r\n },\r\n },\r\n },\r\n },\r\n});\r\n\r\nconst Text = styled('span', {\r\n textTransform: 'lowercase',\r\n '@mediaMinLarge': {\r\n textTransform: 'uppercase',\r\n },\r\n ...animateUnderlineNotActive,\r\n variants: {\r\n linkIsHovered: {\r\n true: {\r\n ...animateUnderlineActive,\r\n },\r\n },\r\n },\r\n});\r\n\r\nexport default NavigationImageLink;\r\n","import usePreventBackgroundScroll from 'Shared/Hooks/usePreventBackgroundScroll';\r\nimport { styled } from 'stitches.config';\r\n\r\ntype PropTypes = {\r\n isVisible: boolean;\r\n};\r\n\r\nconst NavigationOverlay = ({ isVisible }: PropTypes) => {\r\n usePreventBackgroundScroll();\r\n\r\n return ;\r\n};\r\n\r\nexport default NavigationOverlay;\r\n\r\nconst MenuOverlay = styled('div', {\r\n w: '100vw',\r\n h: '100vh',\r\n position: 'fixed',\r\n l: 0,\r\n t: 0,\r\n opacity: '0',\r\n zIndex: '$OverlayMegaMenu',\r\n transition: 'all 0.25s ease-in-out',\r\n visibility: 'hidden',\r\n backgroundColor: '$modalOverlaySecondary',\r\n variants: {\r\n isVisible: {\r\n true: {\r\n visibility: 'initial',\r\n opacity: '0.5',\r\n },\r\n },\r\n },\r\n});\r\n","import { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { IS_SERVER_CONTEXT } from '../Configs/EnvConfig';\r\n\r\nconst useOnScreen = ({ ref, rootMargin = '0px', once = true }) => {\r\n const [isIntersecting, setIntersecting] = useState(false);\r\n const [observerObject, setObserverObject] = useState(false);\r\n\r\n useEffect(() => {\r\n const elm = ref.current;\r\n const observer = new IntersectionObserver(\r\n ([entry]) => {\r\n setIntersecting(entry.isIntersecting);\r\n },\r\n {\r\n rootMargin,\r\n }\r\n );\r\n if (elm) {\r\n observer.observe(elm);\r\n }\r\n setObserverObject(observer);\r\n return () => {\r\n !Object.isEmpty(elm) && observer.unobserve(elm);\r\n };\r\n }, [ref, rootMargin]);\r\n\r\n if (\r\n once &&\r\n isIntersecting &&\r\n observerObject &&\r\n !Object.isEmpty(ref.current)\r\n ) {\r\n observerObject.unobserve(ref.current);\r\n }\r\n\r\n return IS_SERVER_CONTEXT ? true : isIntersecting;\r\n};\r\n\r\nuseOnScreen.propTypes /* remove-proptypes */ = {\r\n ref: PropTypes.shape({ current: PropTypes.element }),\r\n rootMargin: PropTypes.string,\r\n once: PropTypes.bool,\r\n};\r\n\r\nexport default useOnScreen;\r\n"],"names":["src","alt","onLoad","usePlaceHolder","title","fixedWidth","fixedHeight","externalRef","ref","useRef","onScreen","useOnScreen","width","height","IconWrapper","styled","marginLeft","variants","isSubMenuOpen","true","display","false","LinkTextWrapper","my","px","py","lineHeight","fontFamily","color","fs","OuterWrapper","backgroundColor","pl","pr","depth","isOpened","SubLinkContainer","maxHeight","position","opacity","overflowY","transitionDuration","timings","transitionTimingFunction","animation","transitionProperty","isOpen","innerHeight","Item","cursor","alignItems","justifyContent","flexDirection","SubMenuButton","bw","outlineWidth","MobileMenuItem","item","toggleMenu","activeId","setActive","expandedByDefault","authenticated","useUserStateData","user","useCurrentPage","pageType","pageId","isMobile","useMedia","mediaQueryTypes","useState","subMenuOpen","setSubMenuOpen","setInnerHeight","subLinkContainerRef","hasSubLinks","subLinks","length","iteration","kexNavigate","useKexNavigate","findActiveNode","useCallback","subs","map","id","useEffect","navigateToLink","href","navigationImage","NavigationImageLink","text","imageHref","onClick","NavigationIconLink","image","setTimeout","size","css","transform","linkId","onMenuClose","useHeaderData","commerceLinks","topLinks","setActiveId","menuRef","currentUrl","canUseDOM","window","location","hasTransitionedIn","useMountTransition","Wrapper","top","List","BottomLinkContainer","StyledIconLink","type","NavigationOverlay","isVisible","IconLink","m","pb","l","h","w","zIndex","t","transition","listStyle","p","WebkitAppearance","scrollbarWidth","KexLinkStyle","gap","ml","flexShrink","StyledLinkWrapper","Text","whiteSpace","animateUnderlineNotActive","alignSelf","linkIsHovered","animateUnderlineActive","setLinkIsHovered","hasUserNavigatedToLink","isLargeImage","onMouseOver","onMouseLeave","undefined","StyledKexLink","KexLink","large","textTransform","ImageWrapper","maxWidth","mb","mr","underlined","rotateLeft","usePreventBackgroundScroll","MenuOverlay","visibility","rootMargin","once","isIntersecting","setIntersecting","observerObject","setObserverObject","elm","current","observer","IntersectionObserver","entry","observe","Object","isEmpty","unobserve","IS_SERVER_CONTEXT"],"sourceRoot":""}