{"version":3,"file":"ffc3359d.js","mappings":"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","sources":["webpack://audioeye-web/./src/components/header/SubMenu.jsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\n/* eslint-disable indent */\nimport React, { useRef, useState, useEffect } from 'react'\nimport styled from '@emotion/styled'\nimport { navigate } from 'gatsby'\nimport idx from 'idx'\nimport mapValues from 'lodash/mapValues'\nimport groupBy from 'lodash/groupBy'\nimport { theme } from '../../styles'\nimport Space from '../common/Space'\nimport CrossIcon from '../../../static/icons/misc-icons/close-icon.svg'\nimport downChevronGray300 from '../../../static/icons/arrow-icons/chevron-icon-gray300.svg'\nimport Text from '../common/Text'\nimport Button from '../common/Button'\nimport TextLink from '../common/TextLink'\nimport rightArrowBlack from '../../../static/icons/arrow-icons/right-arrow-icon-black.svg'\nimport getImage from '../../utils/getImage'\n\nconst Wrapper = styled.div`\n padding: 32px;\n background-color: ${theme.color.white};\n border-radius: 8px;\n display: grid;\n grid-auto-flow: column;\n grid-template-rows: auto auto;\n grid-column-gap: 100px;\n grid-row-gap: 32px;\n top: 46px;\n left: 0;\n right: 0;\n bottom: 0;\n height: fit-content;\n width: fit-content;\n min-width: 500px;\n position: absolute;\n transition: 200ms;\n transition-property: transform, opacity, height;\n transform-origin: 50% -50px;\n\n ${p =>\n p.isSubMenuOpen\n ? `\n z-index: 99999;\n opacity: 1;\n box-shadow: 0 50px 100px 5px rgba(50, 50, 93, 0.25), 0 30px 60px -10px rgba(0, 0, 0, 0.3);\n transform: translateX(0%) rotateX(0deg);\n pointer-events: auto;\n `\n : `\n z-index: -9999;\n opacity: 0;\n transform: translateX(0%) rotateX(-15deg);\n pointer-events: none;\n `};\n\n @media (max-width: 1200px) {\n position: absolute;\n margin: 16px;\n grid-auto-flow: row;\n grid-template-rows: auto;\n grid-column-gap: 0px;\n grid-row-gap: 16px;\n min-width: unset;\n padding: 0px;\n transform-origin: 100% 0;\n width: calc(100% - 32px);\n top: 0;\n transform: translateX(0%) rotateX(0deg);\n\n ${p =>\n p.isSubMenuOpen\n ? `\n transform: scale(1);\n `\n : `\n transform: scale(0.90);\n `};\n }\n`\n\nconst CardArrow = styled.div`\n position: absolute;\n left: 24px;\n width: 18px;\n height: 18px;\n transform: translateY(-9px) translateX(50%) rotate(45deg);\n border-radius: 3px 0 0 0;\n background-color: ${theme.color.white};\n box-shadow: -3px -3px 4px rgba(145, 140, 151, 0.1);\n`\n\nconst CategoryWrapper = styled.section`\n grid-row: 1 / 2;\n\n @media (max-width: 1200px) {\n grid-row: auto;\n grid-column: 1 / 2;\n padding: 0px 24px;\n padding-top: 0px;\n }\n`\n\nconst SubMenuList = styled.ul`\n transition: all 50ms ease-in-out;\n display: grid;\n grid-template-rows: repeat(8, auto);\n grid-auto-flow: column;\n grid-auto-columns: 1fr 1fr;\n grid-column-gap: 64px;\n padding: 0px;\n\n &.last-list {\n padding-right: 24px;\n }\n\n li {\n padding: 8px 0px;\n }\n\n @media (max-width: 1200px) {\n padding: 8px 24px 12px 0px;\n border-top: 1px solid ${theme.color.offWhite};\n grid-auto-flow: row;\n grid-auto-columns: 1fr;\n }\n\n .header-text-link a {\n text-decoration: none !important;\n\n span {\n white-space: nowrap;\n }\n @media (max-width: 800px) {\n span {\n &:hover {\n color: ${theme.color.offBlack}!important;\n }\n }\n }\n }\n`\n\nconst CloseButton = styled.button`\n padding: 4px;\n background: none;\n align-self: flex-end;\n`\n\nconst CloseIcon = styled.img`\n width: 14px;\n`\n\nconst HeaderListItem = styled.li`\n position: relative;\n margin-bottom: 0px;\n display: flex;\n\n a {\n ::before {\n opacity: 0;\n transition: all 100ms ease-in-out;\n content: '';\n position: absolute;\n background: url(${rightArrowBlack});\n background-position: center;\n background-repeat: no-repeat;\n top: 0;\n bottom: 0;\n right: 0;\n left: 100%;\n width: 20px;\n margin-top: 1px;\n margin-left: 4px;\n }\n\n :hover {\n ::before {\n opacity: 1;\n margin-left: 12px;\n }\n }\n :focus {\n ::before {\n opacity: 1;\n margin-left: 12px;\n }\n }\n }\n @media (max-width: 1200px) {\n margin-bottom: 0px;\n }\n`\n\nconst HeaderTextLink = styled(TextLink)`\n text-decoration: none !important;\n font-family: ${theme.fonts.family.bodyHeavy};\n`\n\nconst LinkIcon = styled.img`\n margin-right: 16px;\n width: 18px;\n height: auto;\n`\n\nconst CtaWrapper = styled.section`\n grid-row: 2 / 3;\n grid-column: 1 / 3;\n padding: 24px 48px 24px 32px;\n display: flex;\n justify-content: space-between;\n border-radius: 8px;\n background-color: ${theme.color.purple200};\n\n @media (max-width: 1200px) {\n grid-row: auto;\n grid-column: 1 / 2;\n flex-direction: column;\n align-items: flex-start;\n padding: 16px;\n margin: 0px 24px;\n margin-bottom: 16px;\n }\n\n .button {\n margin-right: 26px;\n\n :before {\n margin-top: 3px;\n }\n }\n`\n\nconst MobFooterWrapper = styled.section`\n border-radius: 0px 0px 8px 8px;\n padding: 24px;\n padding-top: 16px;\n display: grid;\n gap: 16px;\n background-color: ${theme.color.offWhite};\n\n a {\n text-decoration: none !important;\n }\n`\n\nconst MobSubMenuHeaderWrapper = styled.section`\n display: grid;\n grid-auto-flow: column;\n justify-content: space-between;\n padding: 24px;\n`\n\nconst SubMenuHeaderButton = styled.button`\n background-color: transparent;\n padding: 0px;\n display: flex;\n align-items: center;\n\n &::before {\n content: '';\n display: grid;\n grid-auto-flow: column;\n justify-content: space-between;\n padding: 0px;\n background-repeat: no-repeat;\n background-position: center;\n background-image: url(${downChevronGray300});\n background-size: 14px;\n width: 14px;\n height: 14px;\n margin-right: 12px;\n margin-left: -3px;\n transform: rotate(90deg);\n }\n`\n\nconst CategoryHeader = ({ categoryHeader }) =>\n categoryHeader ? (\n \n ) : null\n\nconst Cta = ({ categoryName, isSubMenuOpen, toggleOpen }) => {\n let ctaContent = ''\n switch (categoryName) {\n case 'product':\n ctaContent = {\n text: 'Want to see AudioEye in action?',\n buttonText: 'Schedule a demo',\n url: '/free-consultation',\n }\n break\n case 'compliance':\n ctaContent = {\n text: 'Received a demand letter?',\n buttonText: 'Request legal support',\n url: '/request-legal-support-services',\n }\n break\n case 'partners':\n ctaContent = {\n text: 'Have client websites?',\n buttonText: 'Become a partner',\n url: '/become-a-partner',\n }\n break\n case 'company':\n ctaContent = {\n text: 'Ready to connect?',\n buttonText: 'Contact us',\n url: '/contact-us',\n }\n break\n default:\n ctaContent = null\n }\n\n return (\n \n {ctaContent?.text}\n \n \n )\n}\n\nconst MobSubMenuHeader = ({ category, setIsOpen, toggleOpen }) => (\n \n toggleOpen()}>\n {category?.charAt(0) && {category?.charAt(0).toUpperCase() + category?.slice(1)}}\n \n setIsOpen(false)}\n onKeyDown={e => {\n if (e.key === 'Enter') setIsOpen(false)\n }}\n >\n \n \n \n)\n\nconst SubMenu = ({\n textLinks,\n isSubMenuOpen,\n toggleOpen,\n firstListFirstItemRef,\n mobile,\n secondaryCTAText,\n secondaryCTALink,\n showCTA,\n setIsOpen,\n}) => {\n const [categoryName, setCategoryName] = useState()\n const categoryListRef = useRef(null)\n const subListItemRefs = useRef([])\n const secondListFirstItemRef = useRef(null)\n const firstListLastItemRef = useRef(null)\n const secondListLastItemRef = useRef(null)\n\n const outsideClickListener = event => {\n if (!event.target.closest('.submenu-wrapper') && isSubMenuOpen) toggleOpen(true)\n }\n\n const handleRef = (el, index, sectionIndex, listLength) => {\n if (index === 0 && sectionIndex === 0) {\n firstListFirstItemRef.current = el?.querySelector('a')\n }\n if (index === 0 && sectionIndex + 1 === listLength) {\n firstListLastItemRef.current = el?.querySelector('a')\n }\n if (index > 0 && sectionIndex === 0) {\n secondListFirstItemRef.current = el?.querySelector('a')\n }\n if (index > 0 && sectionIndex + 1 === listLength) {\n secondListLastItemRef.current = el?.querySelector('a')\n }\n }\n\n useEffect(() => {\n if (!mobile) {\n const htmlEl = document.querySelector('html')\n setTimeout(() => {\n isSubMenuOpen ? htmlEl?.classList.add('no-scroll') : htmlEl?.classList.remove('no-scroll')\n }, 25)\n }\n }, [isSubMenuOpen])\n\n useEffect(() => {\n if (isSubMenuOpen) {\n setTimeout(() => {\n document.addEventListener('click', outsideClickListener)\n }, 25)\n }\n return function cleanup() {\n document.removeEventListener('click', outsideClickListener)\n }\n }, [isSubMenuOpen])\n\n const submenuCategoryLinks = mapValues(groupBy(textLinks, 'category'))\n const submenuArr = Object.entries(submenuCategoryLinks)\n\n useEffect(() => {\n submenuArr.map(category => setCategoryName(category[0].split('-')[0]))\n }, [categoryName])\n\n return (\n {\n if (e.key === 'Escape') toggleOpen()\n }}\n ref={categoryListRef}\n className={`${categoryName} submenu-wrapper`}\n id={`${categoryName}-submenu`}\n hidden={!isSubMenuOpen}\n aria-labelledby={`${categoryName}-button`}\n >\n {!mobile && }\n {mobile && }\n {submenuArr.map((category, index) => (\n \n \n 0 ? 'last-list' : ''}`}\n ref={element => {\n subListItemRefs.current[index] = element\n }}\n >\n {category[1].map((textLink, sectionIndex) => {\n const subMenuLink = idx(textLink, _ => _.url.url) || idx(textLink, _ => _.fallback_url)\n const isOutBoundLink = subMenuLink.includes('http')\n const listLength = category[1].length\n const firstListFirstItem = index === 0 && sectionIndex === 0\n const firstListLastItem = index === 0 && sectionIndex + 1 === listLength\n const secondListFirstItem = index > 0 && sectionIndex === 0\n const secondListLastItem = index > 0 && sectionIndex + 1 === listLength\n\n return (\n \n handleRef(el, index, sectionIndex, listLength)}\n onKeyDown={e => {\n if (e.key === 'Escape') toggleOpen()\n }}\n >\n {getImage(textLink.icon, LinkIcon)}\n _.top_level_title)\n .toString()\n .replace(/ /g, '-')\n .toLowerCase()}\n onKeyDown={e => {\n if (e.key === 'Tab' && e.shiftKey && firstListFirstItem) toggleOpen(true, true)\n if (e.key === 'ArrowUp') {\n if (e.target?.parentElement?.previousElementSibling?.children) {\n e.target.parentElement.previousElementSibling.children?.[1].focus()\n }\n if (firstListFirstItem) toggleOpen(true)\n if (secondListFirstItem) firstListLastItemRef?.current.focus()\n }\n if (e.key === 'ArrowDown') {\n if (\n !firstListLastItem &&\n !secondListLastItem &&\n e.target?.parentElement?.nextElementSibling?.children\n ) {\n e.target.parentElement.nextElementSibling.children?.[1].focus()\n }\n if (firstListLastItem && secondListFirstItemRef?.current) {\n secondListFirstItemRef?.current.focus()\n }\n if (firstListLastItem && !secondListFirstItemRef?.current) toggleOpen(true)\n if (secondListLastItem) toggleOpen(true)\n }\n }}\n outboundHeaderLink={isOutBoundLink}\n />\n \n \n )\n })}\n \n \n ))}\n \n {mobile && (\n \n \n {showCTA && (\n \n )}\n \n )\n}\n\nexport default SubMenu\n"],"names":["Wrapper","theme","p","isSubMenuOpen","CardArrow","CategoryWrapper","SubMenuList","CloseButton","CloseIcon","HeaderListItem","rightArrowBlack","HeaderTextLink","TextLink","LinkIcon","CtaWrapper","MobFooterWrapper","MobSubMenuHeaderWrapper","SubMenuHeaderButton","downChevronGray300","CategoryHeader","categoryHeader","smallBodyHeavy","color","style","textTransform","letterSpacing","marginBottom","id","charAt","toUpperCase","slice","Cta","categoryName","toggleOpen","ctaContent","text","buttonText","url","width","mobileWidth","mobileHeight","buttonType","to","tabIndex","padding","className","onKeyDown","e","key","MobSubMenuHeader","category","setIsOpen","onClick","bodyHeavy","role","alt","src","CrossIcon","textLinks","firstListFirstItemRef","mobile","secondaryCTAText","secondaryCTALink","showCTA","useState","setCategoryName","categoryListRef","useRef","subListItemRefs","secondListFirstItemRef","firstListLastItemRef","secondListLastItemRef","outsideClickListener","event","target","closest","useEffect","htmlEl","document","querySelector","setTimeout","classList","add","remove","addEventListener","removeEventListener","submenuCategoryLinks","mapValues","groupBy","submenuArr","Object","entries","map","split","ref","hidden","index","top_level_title","element","current","textLink","sectionIndex","subMenuLink","idx","_","fallback_url","isOutBoundLink","includes","listLength","length","firstListFirstItem","firstListLastItem","secondListFirstItem","secondListLastItem","toString","replace","toLowerCase","el","handleRef","getImage","icon","font","shiftKey","parentElement","previousElementSibling","children","focus","nextElementSibling","outboundHeaderLink","process","size","preventDefault","navigate"],"sourceRoot":""}