{"version":3,"sources":["Shared/Icons/ArrowDown.tsx","Shared/Models/Headers/DesktopHeader/reducers/miniCartReducer.ts","Shared/Models/Headers/DesktopHeader/reducers/menuReducer.ts","Shared/DesktopQuickSearch/DesktopQuickSearch.tsx","Shared/Models/Headers/DesktopHeader/HeaderMain/DesktopMenu.tsx","Shared/Models/Headers/DesktopHeader/HeaderMain/HeaderContentLink.tsx","Shared/Models/Headers/DesktopHeader/HeaderMain/HeaderCategoryLink.tsx","Shared/Models/Headers/DesktopHeader/HeaderMain/HeaderMain.tsx","Shared/Models/Headers/DesktopHeader/DesktopHeader.tsx","Shared/Icons/ArrowRightIcon.tsx"],"names":["styled","compose","Svg","css","width","height","viewBox","xmlns","d","fillRule","miniCartReducer","state","action","miniCartIsOpen","mountMiniCart","menuReducer","menuIsOpen","mountMenu","SearchInputWrapper","div","maxWidth","theme","desktopQuickSearchWidth","display","alignItems","top","left","React","memo","isOpen","useState","searchResult","setSearchResult","isSearchInputActive","setIsSearchInputActive","currentSearchPhrase","setCurrentSearchPhrase","onSearchResultChange","useCallback","res","searchPhrase","SearchInput","isActive","setIsActive","inputValue","setInputValue","SearchModal","setInputActive","MenuOverlay","zIndex","position","overflow","opacity","maxHeight","transition","duration","timingFunction","property","desktopHeaderHeight","backgroundColor","white","boxShadow","pseudo","transform","MenuContainer","padding","bottom","paddingLeft","LinkContainer","flexWrap","screenMaxWidth","margin","x","media","mediaQuery","mediaMinScreen","LinkWrapper","flex","grow","shrink","basis","font","size","weight","StyledKexLink","KexLink","color","black","justifyContent","paddingRight","lineHeight","letterSpacing","marginBottom","LinkText","span","content","StyledArrowRightIcon","ArrowRightIcon","marginTop","DesktopMenu","links","closeMenu","data-isopen","map","link","key","href","onClick","text","MainLink","a","headerMainLink","fontWeight","bold","textTransform","moreWide","gray","mediaMinLarge","mediaMaxScreen","Divider","borderRight","style","marginRight","StyledArrowDown","ArrowDown","fill","marginLeft","StyledArrowDownBlack","HeaderContentLink","mainLink","useDivider","onMouseOver","selected","isFirst","onMouseLeave","data-isactive","data-isfirst","subLinks","cursor","label","HeaderMain","forwardRef","ref","toggleMenu","openMiniCart","miniCartBtnRef","userMenuBtnRef","useAppSettingsData","translations","signInLabel","signOutLabel","contactLabel","myPagesLabel","cartLabel","productsLabel","requestToken","languageRoute","staticPages","loginPage","contactUs","myPage","authenticated","useUserStateData","menuRef","useRef","useHeaderData","commerceLinks","isActiveLink","setIsActiveLink","searchModalOpen","setSearchModalOpen","setMiniCartIsOpen","useEffect","onSearchModalOpenChange","onMiniCartOpenChange","EventDispatcher","subscribe","ON_MINICART_OPEN_CHANGE","ON_SEARCH_MODAL_OPEN_CHANGE","unsubscribe","setActiveLink","activeLink","useOutsideClick","Wrapper","Container","Flex","Logo","src","Right","HeaderIconLink","linkType","LinkType","Contact","MyPages","MiniCart","BottomSectionWrapper","CategoryLinksContainer","length","HeaderCategoryLink","index","SignOutButton","SignOut","StyledSignOutIcon","ButtonText","SignInButton","StyledSignInIcon","darkGray","primaryBlue","primaryDarkBlue","button","Header","lighterDarkGray","y","beta","SignInIcon","larger","huge","SignOutIcon","img","loadable","DesktopHeader","useReducer","menuDispatch","miniCartDispatch","menuBtnRef","Placeholder","id","HeaderTag","right","header","delay","mask-type","maskUnits","mask","clipRule"],"mappings":"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","file":"Dist/build-client/static/js/DesktopHeader-DesktopHeader.bb420247.chunk.js","sourcesContent":["import React from 'react';\r\nimport { styled } from '../../Theme';\r\nimport { StyledProps } from '@glitz/react';\r\n\r\nfunction ArrowDown({ compose }: StyledProps) {\r\n  return (\r\n    <styled.Svg\r\n      css={compose()}\r\n      width=\"36\"\r\n      height=\"20\"\r\n      viewBox=\"0 0 36 20\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n    >\r\n      <path\r\n        d=\"M35.612.729a1.273 1.273 0 0 0-1.798 0L18 16.574 2.155.729A1.273 1.273 0 0 0 .357 2.527L17.07 19.24c.248.248.558.372.899.372.31 0 .651-.124.9-.372L35.58 2.527A1.246 1.246 0 0 0 35.612.73z\"\r\n        fillRule=\"nonzero\"\r\n      />\r\n    </styled.Svg>\r\n  );\r\n}\r\n\r\nexport default styled(ArrowDown);\r\n","type MiniCartStateType = {\r\n  miniCartIsOpen: boolean;\r\n  mountMiniCart: boolean;\r\n};\r\n\r\ntype MiniCartActionType = 'mountAndOpen' | 'closeMiniCart' | 'unMountMiniCart';\r\n\r\nconst miniCartReducer = (\r\n  state: MiniCartStateType,\r\n  action: MiniCartActionType\r\n) => {\r\n  switch (action) {\r\n    case 'mountAndOpen': {\r\n      return {\r\n        ...state,\r\n        miniCartIsOpen: true,\r\n        mountMiniCart: true,\r\n      };\r\n    }\r\n    case 'closeMiniCart': {\r\n      return {\r\n        ...state,\r\n        miniCartIsOpen: false,\r\n      };\r\n    }\r\n    case 'unMountMiniCart': {\r\n      return {\r\n        ...state,\r\n        mountMiniCart: false,\r\n        miniCartIsOpen: false,\r\n      };\r\n    }\r\n  }\r\n};\r\n\r\nexport default miniCartReducer;\r\n","type MenuStateType = {\r\n  menuIsOpen: boolean;\r\n  mountMenu: boolean;\r\n};\r\ntype MenuActionType = 'mountAndOpen' | 'closeMenu' | 'unMountMenu';\r\n\r\nconst menuReducer = (state: MenuStateType, action: MenuActionType) => {\r\n  switch (action) {\r\n    case 'mountAndOpen': {\r\n      return {\r\n        ...state,\r\n        menuIsOpen: true,\r\n        mountMenu: true,\r\n      };\r\n    }\r\n    case 'closeMenu': {\r\n      return {\r\n        ...state,\r\n        menuIsOpen: false,\r\n      };\r\n    }\r\n    case 'unMountMenu': {\r\n      return {\r\n        ...state,\r\n        menuIsOpen: false,\r\n        mountMenu: false,\r\n      };\r\n    }\r\n  }\r\n};\r\n\r\nexport default menuReducer;\r\n","import React, { useState, useCallback } from 'react';\r\nimport { theme, styled } from '../../Theme';\r\nimport SearchInput from '../../SearchPage/SearchInput';\r\nimport FullSearchResult from '../../Search/Models/FullSearchResult.interface';\r\nimport SearchModal from '../../SearchModal/SearchModal';\r\n\r\ntype PropTypes = {\r\n  isOpen: boolean;\r\n};\r\n\r\nfunction DesktopQuickSearch({ isOpen }: PropTypes) {\r\n  const [searchResult, setSearchResult] = useState<FullSearchResult>();\r\n  const [isSearchInputActive, setIsSearchInputActive] = useState(false);\r\n  const [currentSearchPhrase, setCurrentSearchPhrase] = useState('');\r\n\r\n  const onSearchResultChange = useCallback((res, searchPhrase) => {\r\n    setCurrentSearchPhrase(searchPhrase);\r\n    setSearchResult(res);\r\n  }, []);\r\n\r\n  return (\r\n    <SearchInputWrapper>\r\n      <SearchInput\r\n        onSearchResultChange={onSearchResultChange}\r\n        isActive={isSearchInputActive}\r\n        setIsActive={setIsSearchInputActive}\r\n        inputValue={currentSearchPhrase}\r\n        setInputValue={setCurrentSearchPhrase}\r\n      />\r\n      {isOpen && (\r\n        <SearchModal\r\n          searchResult={searchResult}\r\n          isOpen={isOpen}\r\n          currentSearchPhrase={currentSearchPhrase}\r\n          setInputActive={setIsSearchInputActive}\r\n          onSearchResultChange={onSearchResultChange}\r\n        />\r\n      )}\r\n    </SearchInputWrapper>\r\n  );\r\n}\r\n\r\nconst SearchInputWrapper = styled.div({\r\n  maxWidth: theme.desktopQuickSearchWidth,\r\n  display: 'flex',\r\n  alignItems: 'center',\r\n  top: '50%',\r\n  left: '50%',\r\n  width: '100%',\r\n});\r\n\r\nexport default React.memo(DesktopQuickSearch);\r\n","import React from 'react';\r\n\r\nimport { styled, theme } from '../../../../../Theme';\r\nimport IHeaderLinkModel from '../../../../AutoMapInterfaces/IHeaderLinkModel.interface';\r\nimport KexLink from '../../../../KexLink/KexLink';\r\nimport ArrowRightIcon from '../../../../Icons/ArrowRightIcon';\r\nimport { media, pseudo } from '@glitz/core';\r\n\r\ntype PropTypes = {\r\n  links: IHeaderLinkModel[];\r\n  isOpen: boolean;\r\n  closeMenu: () => void;\r\n};\r\nfunction DesktopMenu({ links, isOpen, closeMenu }: PropTypes) {\r\n  return (\r\n    <MenuOverlay data-isopen={isOpen}>\r\n      <MenuContainer>\r\n        <LinkContainer>\r\n          {links.map(link => (\r\n            <LinkWrapper key={link.href}>\r\n              <StyledKexLink href={link.href} onClick={closeMenu}>\r\n                <LinkText>{link.text}</LinkText>\r\n                <StyledArrowRightIcon />\r\n              </StyledKexLink>\r\n            </LinkWrapper>\r\n          ))}\r\n        </LinkContainer>\r\n      </MenuContainer>\r\n    </MenuOverlay>\r\n  );\r\n}\r\n\r\nconst MenuOverlay = styled.div({\r\n  zIndex: -1,\r\n  position: 'fixed',\r\n  width: '100%',\r\n  overflow: 'hidden',\r\n  opacity: 0,\r\n  maxHeight: 0,\r\n  transition: {\r\n    duration: '0.3s',\r\n    timingFunction: 'ease',\r\n    property: 'all',\r\n  },\r\n  left: 0,\r\n  top: theme.desktopHeaderHeight,\r\n  backgroundColor: theme.white,\r\n  boxShadow: '0px 4px 25px rgba(0, 0, 0, 0.1)',\r\n  ...pseudo([':nth-child(n)[data-isopen=\"true\"]'], {\r\n    maxHeight: '100%',\r\n    width: '100%',\r\n    opacity: 1,\r\n    transform: 'translateY(0)',\r\n  }),\r\n});\r\n\r\nconst MenuContainer = styled.div({\r\n  padding: { top: '60px', bottom: '32px' },\r\n  paddingLeft: '40px',\r\n});\r\n\r\nconst LinkContainer = styled.div({\r\n  display: 'flex',\r\n  flexWrap: 'wrap',\r\n  height: '100%',\r\n  maxWidth: theme.screenMaxWidth,\r\n  margin: { x: 'auto' },\r\n  ...media(theme.mediaQuery.mediaMinScreen, {\r\n    paddingLeft: '20px',\r\n  }),\r\n});\r\n\r\nconst LinkWrapper = styled.div({\r\n  flex: { grow: 0, shrink: 0, basis: '25%' },\r\n  maxWidth: '25%',\r\n  font: { size: '16px', weight: 700 },\r\n});\r\n\r\nconst StyledKexLink = styled(KexLink, {\r\n  display: 'flex',\r\n  color: theme.black,\r\n  maxWidth: '242px',\r\n  alignItems: 'center',\r\n  position: 'relative',\r\n  justifyContent: 'space-between',\r\n  paddingRight: '35px',\r\n  lineHeight: '26px',\r\n  letterSpacing: '0.02em',\r\n  marginBottom: '28px',\r\n});\r\n\r\nconst LinkText = styled.span({\r\n  position: 'relative',\r\n  ...pseudo(':before', {\r\n    content: '\"\"',\r\n    position: 'absolute',\r\n    display: 'block',\r\n    width: '100%',\r\n    height: '1px',\r\n    bottom: 0,\r\n    left: 0,\r\n    backgroundColor: theme.black,\r\n    transform: 'scaleX(0)',\r\n    transition: {\r\n      property: 'transform',\r\n      duration: '0.3s',\r\n      timingFunction: 'ease',\r\n    },\r\n  }),\r\n  ':hover': {\r\n    ...pseudo(':before', {\r\n      transform: 'scaleX(1)',\r\n    }),\r\n  },\r\n});\r\n\r\nconst StyledArrowRightIcon = styled(ArrowRightIcon, {\r\n  height: '18px',\r\n  marginTop: '2px',\r\n  opacity: 0.6,\r\n});\r\n\r\nexport default DesktopMenu;\r\n","import React from 'react';\r\nimport { styled, theme } from '../../../../../Theme';\r\nimport ArrowDown from '../../../../../Shared/Icons/ArrowDown';\r\nimport { media, pseudo } from '@glitz/core';\r\nimport IHeaderLinkModel from '../../../../AutoMapInterfaces/IHeaderLinkModel.interface';\r\nimport DesktopMenu from './DesktopMenu';\r\n\r\ntype PropTypes = {\r\n  mainLink: IHeaderLinkModel;\r\n  useDivider: boolean;\r\n  onMouseOver: () => void;\r\n  selected: boolean;\r\n  isFirst: boolean;\r\n  closeMenu: () => void;\r\n};\r\n\r\nfunction HeaderContentLink({\r\n  mainLink,\r\n  useDivider,\r\n  onMouseOver,\r\n  selected,\r\n  isFirst,\r\n  closeMenu,\r\n}: PropTypes) {\r\n  return (\r\n    <div onMouseLeave={closeMenu}>\r\n      <MainLink\r\n        href={mainLink.href}\r\n        onMouseOver={onMouseOver}\r\n        data-isactive={selected}\r\n        data-isfirst={isFirst}\r\n      >\r\n        {mainLink.text}\r\n        {!selected ? <StyledArrowDown /> : <StyledArrowDownBlack />}\r\n        {useDivider && <Divider />}\r\n      </MainLink>\r\n      <DesktopMenu\r\n        links={mainLink.subLinks}\r\n        isOpen={selected}\r\n        closeMenu={closeMenu}\r\n      />\r\n    </div>\r\n  );\r\n}\r\n\r\nconst MainLink = styled.a({\r\n  font: { size: theme.headerMainLink, weight: theme.fontWeight.bold },\r\n  lineHeight: '16px',\r\n  textTransform: 'uppercase',\r\n  letterSpacing: theme.letterSpacing.moreWide,\r\n  display: 'flex',\r\n  alignItems: 'center',\r\n  paddingLeft: '20px',\r\n  height: '100%',\r\n  ':hover': { backgroundColor: theme.gray },\r\n  ...media(theme.mediaQuery.mediaMinLarge, {\r\n    ...pseudo([':nth-child(n)[data-isactive=\"true\"]'], {\r\n      backgroundColor: theme.white,\r\n      color: theme.black,\r\n    }),\r\n  }),\r\n  ...media(theme.mediaQuery.mediaMaxScreen, {\r\n    ...pseudo([':nth-child(n)[data-isfirst=\"true\"]'], {\r\n      paddingLeft: '40px',\r\n    }),\r\n  }),\r\n});\r\n\r\nconst Divider = styled.div({\r\n  height: '50%',\r\n  borderRight: {\r\n    style: 'solid',\r\n    width: '1px',\r\n    color: theme.white,\r\n  },\r\n  marginRight: '-1px',\r\n  opacity: 0.2,\r\n});\r\n\r\nconst StyledArrowDown = styled(ArrowDown, {\r\n  fill: theme.white,\r\n  height: '6px',\r\n  width: '14px',\r\n  marginLeft: '8px',\r\n  marginRight: '16px',\r\n  ...media(theme.mediaQuery.mediaMinLarge, {\r\n    ...pseudo([':nth-child(n)[data-isActive=\"true\"]'], {\r\n      fill: theme.black,\r\n    }),\r\n  }),\r\n});\r\n\r\nconst StyledArrowDownBlack = styled(ArrowDown, {\r\n  height: '6px',\r\n  width: '14px',\r\n  marginLeft: '8px',\r\n  marginRight: '16px',\r\n  transform: 'rotate(180deg)',\r\n});\r\n\r\nexport default HeaderContentLink;\r\n","import React from 'react';\r\nimport { styled, theme } from '../../../../../Theme';\r\nimport ArrowDown from '../../../../../Shared/Icons/ArrowDown';\r\nimport { media, pseudo } from '@glitz/core';\r\nimport DesktopMenu from './DesktopMenu';\r\n\r\ntype PropTypes = {\r\n  useDivider: boolean;\r\n  onMouseOver: () => void;\r\n  selected: boolean;\r\n  isFirst: boolean;\r\n  closeMenu: () => void;\r\n  subLinks?: any;\r\n  label?: string;\r\n};\r\n\r\nfunction HeaderContentLink({\r\n  useDivider,\r\n  onMouseOver,\r\n  selected,\r\n  isFirst,\r\n  closeMenu,\r\n  subLinks,\r\n  label,\r\n}: PropTypes) {\r\n  return (\r\n    <div onMouseLeave={closeMenu}>\r\n      <MainLink\r\n        onMouseOver={onMouseOver}\r\n        data-isactive={selected}\r\n        data-isfirst={isFirst}\r\n      >\r\n        {label}\r\n        {!selected ? <StyledArrowDown /> : <StyledArrowDownBlack />}\r\n        {useDivider && <Divider />}\r\n      </MainLink>\r\n      <DesktopMenu links={subLinks} isOpen={selected} closeMenu={closeMenu} />\r\n    </div>\r\n  );\r\n}\r\n\r\nconst MainLink = styled.a({\r\n  font: { size: theme.headerMainLink, weight: theme.fontWeight.bold },\r\n  lineHeight: '16px',\r\n  textTransform: 'uppercase',\r\n  letterSpacing: theme.letterSpacing.moreWide,\r\n  display: 'flex',\r\n  alignItems: 'center',\r\n  paddingLeft: '20px',\r\n  height: '100%',\r\n  cursor: 'default',\r\n  ':hover': { backgroundColor: theme.gray },\r\n  ...media(theme.mediaQuery.mediaMinLarge, {\r\n    ...pseudo([':nth-child(n)[data-isactive=\"true\"]'], {\r\n      backgroundColor: theme.white,\r\n      color: theme.black,\r\n    }),\r\n  }),\r\n  ...media(theme.mediaQuery.mediaMaxScreen, {\r\n    ...pseudo([':nth-child(n)[data-isfirst=\"true\"]'], {\r\n      paddingLeft: '40px',\r\n    }),\r\n  }),\r\n});\r\n\r\nconst Divider = styled.div({\r\n  height: '50%',\r\n  borderRight: {\r\n    style: 'solid',\r\n    width: '1px',\r\n    color: theme.white,\r\n  },\r\n  marginRight: '-1px',\r\n  opacity: 0.2,\r\n});\r\n\r\nconst StyledArrowDown = styled(ArrowDown, {\r\n  fill: theme.white,\r\n  height: '6px',\r\n  width: '14px',\r\n  marginLeft: '8px',\r\n  marginRight: '16px',\r\n  ...media(theme.mediaQuery.mediaMinLarge, {\r\n    ...pseudo([':nth-child(n)[data-isActive=\"true\"]'], {\r\n      fill: theme.black,\r\n    }),\r\n  }),\r\n});\r\n\r\nconst StyledArrowDownBlack = styled(ArrowDown, {\r\n  height: '6px',\r\n  width: '14px',\r\n  marginLeft: '8px',\r\n  marginRight: '16px',\r\n  transform: 'rotate(180deg)',\r\n});\r\n\r\nexport default HeaderContentLink;\r\n","import React, { forwardRef, useRef, useState, useEffect } from 'react';\r\n\r\nimport { styled, theme } from '../../../../../Theme';\r\nimport SignInIcon from '../../../../../Shared/Icons/SignInIcon';\r\nimport SignOutIcon from '../../../../../Shared/Icons/SignOutIcon';\r\n\r\nimport { useAppSettingsData } from '../../../../AppSettingsProvider/AppSettingsProvider';\r\nimport { useUserStateData } from '../../../../UserContextProvider/UserContextProvider';\r\nimport DesktopQuickSearch from '../../../../DesktopQuickSearch/DesktopQuickSearch';\r\nimport KexLink from '../../../../KexLink/KexLink';\r\nimport { SignOut } from '../../../../../LoginPage/Account';\r\nimport HeaderIconLink from '../../HeaderIconLink/HeaderIconLink';\r\nimport { LinkType } from '../../../../../Enums/LinkType.enum';\r\nimport HeaderContentLink from './HeaderContentLink';\r\nimport HeaderCategoryLink from './HeaderCategoryLink';\r\nimport { useHeaderData } from '../../Header';\r\nimport { media } from '@glitz/core';\r\nimport useOutsideClick from '../../../../../Shared/Hooks/useOutsideClick';\r\n\r\nimport {\r\n  EventDispatcher,\r\n  ON_SEARCH_MODAL_OPEN_CHANGE,\r\n  ON_MINICART_OPEN_CHANGE,\r\n} from '../../../../../Shared/Common/EventDispatcher';\r\n\r\ntype PropTypes = {\r\n  toggleMenu: () => void;\r\n  openMiniCart: () => void;\r\n  menuIsOpen: boolean;\r\n  miniCartBtnRef: React.RefObject<HTMLButtonElement>;\r\n  userMenuBtnRef: React.RefObject<HTMLButtonElement>;\r\n};\r\n\r\nconst HeaderMain = forwardRef(\r\n  (\r\n    {\r\n      toggleMenu,\r\n      menuIsOpen,\r\n      openMiniCart,\r\n      miniCartBtnRef,\r\n      userMenuBtnRef,\r\n    }: PropTypes,\r\n    ref: React.Ref<HTMLButtonElement>\r\n  ) => {\r\n    const {\r\n      translations: {\r\n        'account/signIn': signInLabel,\r\n        'account/signOut': signOutLabel,\r\n        'common/contact': contactLabel,\r\n        'common/myPages': myPagesLabel,\r\n        'common/cart': cartLabel,\r\n        'common/products': productsLabel,\r\n      },\r\n      requestToken,\r\n      languageRoute,\r\n      staticPages: { loginPage, contactUs, myPage },\r\n    } = useAppSettingsData();\r\n    const { authenticated } = useUserStateData();\r\n    const menuRef = useRef<HTMLDivElement>(null);\r\n    const logoUrl = '/Dist/img/pictura-logo.png';\r\n    const { commerceLinks, links } = useHeaderData();\r\n\r\n    const [isActiveLink, setIsActiveLink] = useState('');\r\n\r\n    const [searchModalOpen, setSearchModalOpen] = useState(false);\r\n    const [miniCartIsOpen, setMiniCartIsOpen] = useState(false);\r\n\r\n    useEffect(() => {\r\n      const onSearchModalOpenChange = (isOpen: boolean) => {\r\n        setSearchModalOpen(isOpen);\r\n      };\r\n\r\n      const onMiniCartOpenChange = (miniCartIsOpen: boolean) => {\r\n        setMiniCartIsOpen(miniCartIsOpen);\r\n      };\r\n\r\n      EventDispatcher.subscribe(ON_MINICART_OPEN_CHANGE, onMiniCartOpenChange);\r\n\r\n      EventDispatcher.subscribe(\r\n        ON_SEARCH_MODAL_OPEN_CHANGE,\r\n        onSearchModalOpenChange\r\n      );\r\n\r\n      return () => {\r\n        EventDispatcher.unsubscribe(\r\n          ON_SEARCH_MODAL_OPEN_CHANGE,\r\n          onSearchModalOpenChange\r\n        );\r\n        EventDispatcher.unsubscribe(\r\n          ON_MINICART_OPEN_CHANGE,\r\n          onMiniCartOpenChange\r\n        );\r\n      };\r\n    }, []);\r\n    const setActiveLink = (activeLink: string) => {\r\n      setIsActiveLink(activeLink);\r\n    };\r\n\r\n    useOutsideClick(menuRef, () => {\r\n      setActiveLink('');\r\n    });\r\n\r\n    return (\r\n      <>\r\n        <Wrapper>\r\n          <Container>\r\n            <Flex>\r\n              <KexLink href={`/${languageRoute}/`}>\r\n                <Logo src={logoUrl} />\r\n              </KexLink>\r\n            </Flex>\r\n            <DesktopQuickSearch isOpen={searchModalOpen} />\r\n            <Right>\r\n              <HeaderIconLink\r\n                linkType={LinkType.Contact}\r\n                label={contactLabel}\r\n                href={contactUs}\r\n              />\r\n              {authenticated && (\r\n                <>\r\n                  <HeaderIconLink\r\n                    linkType={LinkType.MyPages}\r\n                    label={myPagesLabel}\r\n                    href={myPage}\r\n                  />\r\n                  <HeaderIconLink\r\n                    linkType={LinkType.MiniCart}\r\n                    label={cartLabel}\r\n                    miniCartIsOpen={miniCartIsOpen}\r\n                  />\r\n                </>\r\n              )}\r\n            </Right>\r\n          </Container>\r\n        </Wrapper>\r\n        <BottomSectionWrapper>\r\n          <CategoryLinksContainer ref={menuRef}>\r\n            {authenticated && commerceLinks && !!commerceLinks.length && (\r\n              <HeaderCategoryLink\r\n                useDivider={true}\r\n                selected={isActiveLink === 'PRODUKTER'}\r\n                onMouseOver={() => setActiveLink('PRODUKTER')}\r\n                isFirst={true}\r\n                closeMenu={() => setActiveLink('')}\r\n                subLinks={commerceLinks}\r\n                label={productsLabel}\r\n              />\r\n            )}\r\n            {links &&\r\n              !!links.length &&\r\n              links.map(\r\n                (link, index) =>\r\n                  link.subLinks &&\r\n                  !!link.subLinks.length && (\r\n                    <HeaderContentLink\r\n                      key={link.text}\r\n                      mainLink={link}\r\n                      useDivider={true}\r\n                      selected={isActiveLink === link.text}\r\n                      onMouseOver={() => setActiveLink(link.text)}\r\n                      isFirst={!authenticated && index === 0}\r\n                      closeMenu={() => setActiveLink('')}\r\n                    />\r\n                  )\r\n              )}\r\n          </CategoryLinksContainer>\r\n          {!authenticated ? (\r\n            <SignInButton href={loginPage}>\r\n              <StyledSignInIcon />\r\n              <ButtonText>{signInLabel}</ButtonText>\r\n            </SignInButton>\r\n          ) : (\r\n            <SignOutButton onClick={() => SignOut(languageRoute, requestToken)}>\r\n              <StyledSignOutIcon />\r\n              <ButtonText>{signOutLabel}</ButtonText>\r\n            </SignOutButton>\r\n          )}\r\n        </BottomSectionWrapper>\r\n      </>\r\n    );\r\n  }\r\n);\r\n\r\nconst BottomSectionWrapper = styled.div({\r\n  maxWidth: theme.screenMaxWidth,\r\n  margin: { x: 'auto' },\r\n  display: 'flex',\r\n  justifyContent: 'space-between',\r\n  height: '45px',\r\n  backgroundColor: theme.darkGray,\r\n  color: theme.white,\r\n  ...media(theme.mediaQuery.mediaMinScreen, {\r\n    paddingLeft: '20px',\r\n  }),\r\n});\r\n\r\nconst SignInButton = styled(KexLink, {\r\n  display: 'flex',\r\n  alignItems: 'center',\r\n  backgroundColor: theme.primaryBlue,\r\n  padding: { x: '20px' },\r\n  ':hover': { backgroundColor: theme.primaryDarkBlue },\r\n});\r\n\r\nconst SignOutButton = styled.button({\r\n  display: 'flex',\r\n  alignItems: 'center',\r\n  backgroundColor: theme.primaryBlue,\r\n  padding: { x: '20px' },\r\n  ':hover': { backgroundColor: theme.primaryDarkBlue },\r\n});\r\n\r\nconst CategoryLinksContainer = styled.div({\r\n  display: 'flex',\r\n});\r\n\r\nconst ButtonText = styled.span({\r\n  color: theme.white,\r\n  font: { size: '10px', weight: theme.fontWeight.bold },\r\n  textTransform: 'uppercase',\r\n  lineHeight: '12px',\r\n  letterSpacing: '0.05em',\r\n  marginLeft: '12px',\r\n});\r\n\r\nconst Flex = styled.div({\r\n  display: 'flex',\r\n  alignItems: 'center',\r\n});\r\n\r\nconst Wrapper = styled.div({\r\n  height: '95px',\r\n  position: 'relative',\r\n  zIndex: theme.zIndex.Header,\r\n  backgroundColor: theme.lighterDarkGray,\r\n  boxShadow: '0 6px 6px -6px rgba(72, 72, 72, 0.3)',\r\n  padding: { y: theme.beta },\r\n});\r\n\r\nconst StyledSignInIcon = styled(SignInIcon, {\r\n  width: theme.larger,\r\n  height: theme.huge,\r\n  fill: theme.white,\r\n});\r\n\r\nconst StyledSignOutIcon = styled(SignOutIcon, {\r\n  width: '20px',\r\n  height: '20px',\r\n  // fill: theme.white,\r\n});\r\n\r\nconst Container = styled.div({\r\n  padding: { x: '40px' },\r\n  display: 'flex',\r\n  alignItems: 'center',\r\n  justifyContent: 'space-between',\r\n  maxWidth: theme.screenMaxWidth,\r\n  margin: { x: 'auto' },\r\n});\r\n\r\nconst Logo = styled.img({\r\n  maxHeight: '68px',\r\n});\r\n\r\nconst Right = styled.div({\r\n  display: 'flex',\r\n  height: '100%',\r\n});\r\n\r\nexport default HeaderMain;\r\n","import React, { useRef, useReducer, useEffect } from 'react';\r\nimport HeaderMain from './HeaderMain/HeaderMain';\r\nimport { styled, theme } from '../../../../Theme';\r\nimport loadable, { LoadableComponent } from '@loadable/component';\r\nimport miniCartReducer from './reducers/miniCartReducer';\r\nimport userMenuReducer from './reducers/userMenuReducer';\r\nimport menuReducer from './reducers/menuReducer';\r\nimport { PropType as MiniCartPropType } from '../../../../MiniCart/MiniCart';\r\nimport {\r\n  EventDispatcher,\r\n  // ON_OPEN_MINICART,\r\n} from '../../../Common/EventDispatcher';\r\n\r\nconst MiniCart: LoadableComponent<MiniCartPropType> = loadable(() =>\r\n  import('../../../../MiniCart/MiniCart')\r\n);\r\n\r\nfunction DesktopHeader() {\r\n  const [{ menuIsOpen, mountMenu }, menuDispatch] = useReducer(menuReducer, {\r\n    menuIsOpen: false,\r\n    mountMenu: true,\r\n  });\r\n  const [{ miniCartIsOpen, mountMiniCart }, miniCartDispatch] = useReducer(\r\n    miniCartReducer,\r\n    {\r\n      miniCartIsOpen: false,\r\n      mountMiniCart: true,\r\n    }\r\n  );\r\n\r\n  const menuBtnRef = useRef<HTMLButtonElement>(null);\r\n  const miniCartBtnRef = useRef<HTMLButtonElement>(null);\r\n  const userMenuBtnRef = useRef<HTMLButtonElement>(null);\r\n\r\n  // useEffect(() => {\r\n  //   EventDispatcher.subscribe(ON_OPEN_MINICART, () =>\r\n  //     miniCartDispatch('mountAndOpen')\r\n  //   );\r\n\r\n  //   return () => {\r\n  //     EventDispatcher.unsubscribe(ON_OPEN_MINICART, () => {});\r\n  //   };\r\n  // });\r\n\r\n  return (\r\n    <>\r\n      <Placeholder />\r\n      <Header id=\"header\">\r\n        <HeaderTag>\r\n          <HeaderMain\r\n            toggleMenu={() =>\r\n              menuDispatch(menuIsOpen ? 'closeMenu' : 'mountAndOpen')\r\n            }\r\n            openMiniCart={() =>\r\n              miniCartDispatch(\r\n                miniCartIsOpen ? 'closeMiniCart' : 'mountAndOpen'\r\n              )\r\n            }\r\n            menuIsOpen={menuIsOpen}\r\n            ref={menuBtnRef}\r\n            miniCartBtnRef={miniCartBtnRef}\r\n            userMenuBtnRef={userMenuBtnRef}\r\n          />\r\n\r\n          {/* {mountMiniCart && (\r\n            <MiniCart\r\n              isOpen={miniCartIsOpen}\r\n              closeMiniCart={() => miniCartDispatch('closeMiniCart')}\r\n            />\r\n          )} */}\r\n        </HeaderTag>\r\n      </Header>\r\n    </>\r\n  );\r\n}\r\n\r\nconst Header = styled.div({\r\n  position: 'fixed',\r\n  top: 0,\r\n  left: 0,\r\n  right: 0,\r\n  zIndex: theme.zIndex.Header,\r\n  // backgroundColor: theme.darkGray,\r\n});\r\n\r\nconst HeaderTag = styled.header({\r\n  zIndex: theme.zIndex.Header,\r\n  backgroundColor: theme.darkGray,\r\n  position: 'fixed',\r\n  top: 0,\r\n  width: '100%',\r\n  transition: {\r\n    property: 'height',\r\n    duration: '0.3s',\r\n    timingFunction: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\r\n    delay: 0,\r\n  },\r\n});\r\n\r\nconst Placeholder = styled.div({\r\n  width: '100%',\r\n  padding: { top: theme.desktopHeaderHeight },\r\n});\r\n\r\nexport default DesktopHeader;\r\n","import React from 'react';\r\nimport { styled, StyledProps } from '@glitz/react';\r\n\r\nfunction ArrowRightIcon({ compose }: StyledProps) {\r\n  return (\r\n    <styled.Svg\r\n      css={compose()}\r\n      viewBox=\"0 0 24 24\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n    >\r\n      <mask\r\n        id=\"mask0\"\r\n        mask-type=\"alpha\"\r\n        maskUnits=\"userSpaceOnUse\"\r\n        x=\"0\"\r\n        y=\"0\"\r\n        width=\"24\"\r\n        height=\"24\"\r\n      >\r\n        <rect width=\"24\" height=\"24\" fill=\"#C4C4C4\" />\r\n      </mask>\r\n      <g mask=\"url(#mask0)\">\r\n        <path\r\n          fillRule=\"evenodd\"\r\n          clipRule=\"evenodd\"\r\n          d=\"M8.7855 19.3488C8.69806 19.4326 8.55948 19.4303 8.47478 19.3438L7.65705 18.5081C7.57073 18.4199 7.57343 18.2781 7.66303 18.1932L14.0655 12.1295L7.65667 5.80688C7.57007 5.72144 7.56884 5.58207 7.65393 5.49512L8.47217 4.65895C8.5579 4.57134 8.69858 4.57028 8.78562 4.6566L15.999 11.8103C16.1754 11.9852 16.1729 12.2712 15.9935 12.443L8.7855 19.3488Z\"\r\n        />\r\n      </g>\r\n    </styled.Svg>\r\n  );\r\n}\r\n\r\nexport default styled(ArrowRightIcon);\r\n"],"sourceRoot":""}