{"version":3,"file":"HeaderStandalone-D9thPVah-chunk.js","sources":["../../../src/components/utility/images/ImageDimensionalLogo.jsx","../../../src/components/utility/images/ImageLinkedInLogo.jsx","../../../src/components/utility/images/ImageYoutubeLogo.jsx","../../../src/components/public-site/header/types/public-header-types.js","../../../src/components/public-site/header/HeaderDropdownListItem.jsx","../../../src/components/public-site/header/HeaderSocialLink.jsx","../../../src/utils/kebabCase.js","../../../src/components/public-site/header/HeaderListItem.jsx","../../../src/components/public-site/audience-sort/AudienceSelectorNarrow.tsx","../../../src/components/public-site/header/HeaderContent.jsx","../../../src/components/public-site/header/Header.jsx","../../../src/components/sticky-promo-banner/StickyPromoBanner.tsx","../../../src/components/public-site/header/HeaderStandalone.jsx"],"sourcesContent":["const ImageDimensionalLogo = ({ themeChoice }) => {\n\tconst themes = {\n\t\twhite: {\n\t\t\tst0Color: \"#fff\",\n\t\t\tst1Color: \"#fff\"\n\t\t},\n\t\tcolored: {\n\t\t\tst0Color: \"#AB2422\",\n\t\t\tst1Color: \"#4D4D4F\"\n\t\t}\n\t};\n\n\tconst theme = themes[themeChoice];\n\n\treturn (\n\t\t\n\t\t\t {`Dimensional's ${themeChoice} logo`} \n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageDimensionalLogo;\n","const ImageLinkedInLogo = ({ fillColor }) => {\n\treturn (\n\t\t\n\t\t\tLinkedIn's Logo\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageLinkedInLogo;\n","const ImageYoutubeLogo = ({ fillColor }) => {\n\treturn (\n\t\t\n\t\t\tYoutube's Logo\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ImageYoutubeLogo;\n","// Change back to TS once old public site grunt stuff is gone\nexport const headerGA4Props = {\n\t\"data-a-evt\": \"Navigation\",\n\t\"data-a-loc\": \"Header\",\n\t\"data-a-comp\": \"Global Nav\",\n};\n","import { useEffect, useCallback, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { getDecodedHtml } from \"utils/getDecodedHtml\";\nimport { headerGA4Props } from \"./types/public-header-types\";\n\nconst HeaderDropdownListItem = ({\n\tclassName = \"\",\n\tdata,\n\tisFirstInGroup = false,\n\tisLastInGroup = false,\n\tisGroupedItem = false,\n\ttoggleActiveMain,\n\tparent,\n\tqaAttr\n}) => {\n\tconst { label, url, isExternalLink, type } = data;\n\n\tconst [isActive, setIsActive] = useState(\"\");\n\n\tconst toggleActive = useCallback((url, toggleActiveMain) => {\n\t\tconst currentLinkArray = url.split(\"/\");\n\t\tconst currentLinkItem = currentLinkArray[currentLinkArray.length - 1];\n\t\tconst currentPage = window.location.pathname.split(\"/\");\n\n\t\tif (currentPage !== undefined) {\n\t\t\tcurrentPage.forEach((currentPageItem) => {\n\t\t\t\tif (currentPageItem !== \"\" && currentLinkItem === currentPageItem) {\n\t\t\t\t\tsetIsActive(\" active \");\n\t\t\t\t\tif (toggleActiveMain) {\n\t\t\t\t\t\ttoggleActiveMain(\" active \");\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetIsActive(\"\");\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsetIsActive(\"\");\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\ttoggleActive(url, toggleActiveMain);\n\t}, [url, toggleActive, toggleActiveMain]);\n\n\tswitch (type) {\n\t\tcase \"link\":\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\tcase \"group\":\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nHeaderDropdownListItem.propTypes = {\n\tclassName: PropTypes.string,\n\tdata: PropTypes.shape({\n\t\turl: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\tisExternalLink: PropTypes.bool\n\t}),\n\tisFirstInGroup: PropTypes.bool,\n\tisLastInGroup: PropTypes.bool,\n\tisGroupedItem: PropTypes.bool,\n\ttoggleActiveMain: PropTypes.func,\n\tparent: PropTypes.string,\n\tqaAttr: PropTypes.string\n};\n\nexport default HeaderDropdownListItem;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport ImageYoutubeLogo from \"components/utility/images/ImageYoutubeLogo\";\nimport ImageLinkedInLogo from \"components/utility/images/ImageLinkedInLogo\";\n\nconst HeaderSocialLink = (props) => {\n\tconst { label, subLinks } = props.data;\n\tconst theme = props.theme;\n\n\tconst injectSvg = (sublink) => {\n\t\tconst label = sublink.label;\n\n\t\tif (label === \"YouTube\") {\n\t\t\treturn ;\n\t\t} else if (label === \"LinkedIn\") {\n\t\t\treturn ;\n\t\t}\n\t};\n\n\treturn subLinks && subLinks.length > 0 ? (\n\t\t
\n\t\t\t

{label}

\n\t\t\t
    \n\t\t\t\t{subLinks.map((subLink, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{injectSvg(subLink)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
  • \n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t
  • \n\t\t\t
\n\t\t
\n\t) : null;\n};\nHeaderSocialLink.propTypes = {\n\tdata: PropTypes.shape({\n\t\turl: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\timageUrl: PropTypes.string,\n\t\tsubLinks: PropTypes.array\n\t})\n};\n\nexport default HeaderSocialLink;\n","const kebabCase = (string) => {\n\ttry {\n\t\treturn string\n\t\t\t.replace(/^\\s+|\\s+$/g, \"\")\n\t\t\t.split(\" \")\n\t\t\t.join(\"-\")\n\t\t\t.toLowerCase();\n\t} catch (error) {\n\t\treturn {};\n\t}\n};\n\nexport default kebabCase;\n","import { useCallback, useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport HeaderDropdownListItem from \"./HeaderDropdownListItem\";\nimport HeaderSocialLink from \"./HeaderSocialLink\";\nimport { getDecodedHtml } from \"utils/getDecodedHtml\";\nimport kebabCase from \"utils/kebabCase\";\nimport { headerGA4Props } from \"./types/public-header-types\";\nimport { ImageArrow } from \"components/utility/images\";\n\nconst HeaderListItem = ({\n\tchildren,\n\tclassName = \"\",\n\tdataset,\n\tindex,\n\tisLastSubNav,\n\tmobileNav,\n\tshowSubNav,\n\tonToggle,\n\ttheme\n}) => {\n\tconst {\n\t\turl,\n\t\tlabel,\n\t\tnavItems = [],\n\t\tlinkClasses = \"\",\n\t\tshowSocialLinks,\n\t\tisExternaLink,\n\t\tsocialLinks,\n\t\tariaLabel,\n\t\trel,\n\t\ttitle,\n\t\tdataTargetTitle\n\t} = dataset;\n\n\tconst [isActive, setIsActive] = useState(\" \"); // initial state must not be empty string\n\tconst toggleActiveMain = (status) => setIsActive(status);\n\n\tconst toggleActive = useCallback((url) => {\n\t\tconst currentLinkArray = url.split(\"/\");\n\t\tconst currentLinkItem = currentLinkArray[currentLinkArray.length - 1];\n\t\tconst currentPage = window.location.pathname.split(\"/\");\n\n\t\tif (currentPage !== undefined) {\n\t\t\tcurrentPage.forEach((currentPageItem) => {\n\t\t\t\tif (currentPageItem !== \"\" && currentLinkItem === currentPageItem) {\n\t\t\t\t\tsetIsActive(\" active \");\n\t\t\t\t} else {\n\t\t\t\t\tsetIsActive(\"\");\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsetIsActive(\"\");\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\ttoggleActive(url);\n\t}, [toggleActive, url]);\n\n\tconst setTabMobileClass = () => {\n\t\tif (showSubNav === index) {\n\t\t\treturn \" selected show \";\n\t\t} else if (showSubNav === -1) {\n\t\t\treturn \"\";\n\t\t} else {\n\t\t\treturn \" hide \";\n\t\t}\n\t};\n\n\tconst createDropdownList = (navItems, showSocialLinks, socialLinks) => {\n\t\tlet dropdownList = [];\n\t\tnavItems.forEach((item) => {\n\t\t\tif (item.type === \"group\" && item.navItems) {\n\t\t\t\tdropdownList.push();\n\t\t\t\titem.navItems.map((subItem, index, array) =>\n\t\t\t\t\tdropdownList.push(\n\t\t\t\t\t\t\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (item.type === \"group\" && !item.navItems) {\n\t\t\t\tdropdownList.push();\n\t\t\t}\n\n\t\t\tif (item.type === \"link\") {\n\t\t\t\tdropdownList.push(\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{dropdownList.map((item) => item)}\n\t\t\t\t{showSocialLinks && !mobileNav ? (\n\t\t\t\t\t
  • \n\t\t\t\t\t\t\n\t\t\t\t\t
  • \n\t\t\t\t) : null}\n\t\t\t
\n\t\t);\n\t};\n\n\treturn navItems.length > 0 ? (\n\t\t 0 ? \" nav-links-main-list \" : \"\") +\n\t\t\t\t(showSubNav === index && !mobileNav ? \" selected \" : \"\") +\n\t\t\t\t(label === \"Audience Switcher\" ? \" nav-links-main-audience\" : \"\") +\n\t\t\t\t(mobileNav ? setTabMobileClass() : \"\") +\n\t\t\t\t(isLastSubNav ? \" nav-links-main-list-last \" : \"\") +\n\t\t\t\tisActive\n\t\t\t}\n\t\t\trole=\"none\"\n\t\t\tonClick={onToggle}\n\t\t\tonKeyDown={onToggle}\n\t\t>\n\t\t\t\n\t\t\t\t{children ? (\n\t\t\t\t\tchildren\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{}\n\t\t\t\n\t\t\t{navItems.length ? createDropdownList(navItems, showSocialLinks, socialLinks) : null}\n\t\t\n\t) : (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nHeaderListItem.propTypes = {\n\tdataset: PropTypes.shape({\n\t\turl: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\tfullNameLabel: PropTypes.string,\n\t\tshowSocialLinks: PropTypes.bool,\n\t\tisExternaLink: PropTypes.bool,\n\t\tnavItems: PropTypes.array\n\t}),\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.oneOfType([PropTypes.node, PropTypes.element])),\n\t\tPropTypes.node,\n\t\tPropTypes.element\n\t]),\n\tclassName: PropTypes.string,\n\tindex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\tisLastSubNav: PropTypes.bool,\n\tmobileNav: PropTypes.bool,\n\tshowSubNav: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n\tonToggle: PropTypes.func\n};\n\nexport default HeaderListItem;\n","import { ImageArrowRight, ImageX } from \"components/utility/images\";\nimport { setGALocation } from \"./utility/setGALocation\";\nimport { useRef } from \"react\";\nimport { audienceSortStepNames } from \"./utility/audienceSortStepNames\";\nimport {\n\tchangeCountry,\n\tgetAudienceSelection,\n\teventMisfired,\n\tindividualGUID,\n\tfinancialProfessionalGUID\n} from \"./utility/audienceSortApiHandlers\";\nimport { AudienceSelectorNarrowProps } from \"./utility/audienceSortPropTypes\";\n\nconst AudienceSelectorNarrow: React.FC = ({\n\tsetStep,\n\taudienceTypesData,\n\tsetAudienceSelectionData,\n\tcurrentPage,\n\tsetCountryListData,\n\tsetModalJustOpened,\n\tcountryListData,\n\tsetIsModalOpen,\n\taudienceSortTheme\n}) => {\n\tconst audienceSortBackButton = useRef(null);\n\n\tconst closeModal = (event: React.MouseEvent | React.KeyboardEvent) => {\n\t\tif (eventMisfired(event)) return;\n\t\tif (setIsModalOpen) setIsModalOpen(false);\n\t\tsetStep(audienceSortStepNames.initialStep);\n\t};\n\n\tconst handleAudienceSelection = async (\n\t\tevent: React.MouseEvent | React.KeyboardEvent,\n\t\titem\n\t): Promise => {\n\t\tif (eventMisfired(event)) return;\n\t\tawait getAudienceSelection(\n\t\t\tevent,\n\t\t\titem,\n\t\t\tnull,\n\t\t\taudienceTypesData,\n\t\t\tsetAudienceSelectionData,\n\t\t\tcurrentPage\n\t\t);\n\t\tsetStep(\n\t\t\titem.audienceTypeId === individualGUID\n\t\t\t\t? audienceSortStepNames.initialStep\n\t\t\t\t: audienceSortStepNames.financialProfessionalAffirmation\n\t\t);\n\t};\n\n\tconst handleAudienceSelectionButton = async (event, item) => {\n\t\tif (eventMisfired(event)) return;\n\t\tawait handleAudienceSelection(event, item);\n\n\t\tif (item.audienceTypeId === individualGUID) {\n\t\t\tsetIsModalOpen(false);\n\t\t\treturn;\n\t\t}\n\t\tif (setModalJustOpened) setModalJustOpened(false);\n\t};\n\n\tconst handleCountrySwitch = async (\n\t\tevent: React.MouseEvent | React.KeyboardEvent\n\t): Promise => {\n\t\tif (eventMisfired(event)) return;\n\t\tif (!countryListData) {\n\t\t\tawait changeCountry(event, audienceTypesData, setCountryListData);\n\t\t}\n\t\tif (setModalJustOpened) setModalJustOpened(false);\n\t\tsetStep(audienceSortStepNames.countrySelection);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{audienceTypesData.userSelectionText && (\n\t\t\t\t\t

\n\t\t\t\t\t\t{audienceTypesData.userSelectionText}\n\t\t\t\t\t

\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\n\t\t\t
    \n\t\t\t\t{audienceTypesData.sectionAudienceType.map((item) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleAudienceSelectionButton(event, item)}\n\t\t\t\t\t\t\t\tonKeyDown={(event) => handleAudienceSelectionButton(event, item)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t
    {item.title}
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
\n\t\t\t\n\t\t\t\t

{audienceTypesData.countrySelection.title}

\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AudienceSelectorNarrow;\n","import React, { useCallback, useEffect, useState, useRef } from \"react\";\nimport HeaderListItem from \"./HeaderListItem\";\nimport PropTypes from \"prop-types\";\nimport { useMobileView } from \"components/utility/hooks/useMobileView\";\nimport ImageDimensionalLogo from \"components/utility/images/ImageDimensionalLogo\";\nimport ImageHamburgerMenuOpen from \"components/utility/images/ImageHamburgerMenuOpen\";\nimport ImageHamburgerMenuClosed from \"components/utility/images/ImageHamburgerMenuClosed\";\nimport AudienceSortModal from \"../audience-sort/AudienceSortModal\";\nimport { audienceSortStepNames } from \"../audience-sort/utility/audienceSortStepNames\";\nimport getAudienceTypesForCountryData from \"components/utility/api/GetAudienceTypesForCountryData\";\nimport ProfessionalAffirmation from \"../audience-sort/ProfessionalAffirmation\";\nimport CountrySelector from \"../audience-sort/CountrySelector\";\nimport AudienceSelector from \"../audience-sort/AudienceSelector\";\nimport AudienceSelectorNarrow from \"../audience-sort/AudienceSelectorNarrow\";\nimport AudienceSelectorMobile from \"../audience-sort/AudienceSelectorMobile\";\nimport ProfessionalAffirmationMobile from \"../audience-sort/ProfessionalAffirmationMobile\";\nimport CountrySelectorMobile from \"../audience-sort/CountrySelectorMobile\";\nimport HeaderSearchContext from \"components/header/context/HeaderContentContext\";\nimport CoveoContainer from \"components/coveo-headless/CoveoContainer\";\nimport { headerGA4Props } from \"./types/public-header-types\";\nimport { getDecodedHtml } from \"utils/getDecodedHtml\";\nimport { ImageArrow, ImageSearchMagnifyingGlass } from \"components/utility/images\";\nimport { findPageInformationObject } from \"components/coveo-headless/coveoUAHelpers\";\nimport { PageType } from \"components/coveo-headless/types/coveo-headless-types\";\nimport { PublicSearchBox } from \"components/search/public/PublicSearchBox\";\nimport { SCREEN_WIDTHS } from \"components/utility/constants/screen_widths\";\n\nconst hideSubNavs = () => {\n\tif (document.querySelector(\"li.nav-links-main-label.nav-links-main-list.selected\")) {\n\t\tdocument\n\t\t\t.querySelector(\"li.nav-links-main-label.nav-links-main-list.selected\")\n\t\t\t.classList.remove(\"selected\");\n\t}\n};\n\nconst HeaderContent = ({ data }) => {\n\tconst pageInfomation = findPageInformationObject(window.dataLayer);\n\tconst isSearchPage = pageInfomation.title === PageType.Search;\n\tconst mobileLinkContainerRef = useRef(null);\n\n\tconst {\n\t\tnavigationHidden = true,\n\t\tnavItems: topNavItems = [],\n\t\tlogIn = {},\n\t\tlogoLink = \"/\",\n\t\thideHamburgerMenu = false,\n\t\thideSearchBox = false\n\t} = data ? data : {};\n\n\tconst themes = {\n\t\tdark: {\n\t\t\taudienceSortTheme: \"dark-theme\",\n\t\t\tname: \"dark\",\n\t\t\thamburgerSvgColor: \"#A2AAAD\",\n\t\t\tsocialIconsColor: \"#fff\",\n\t\t\tdimensionalLogoTheme: \"white\"\n\t\t},\n\t\twhite: {\n\t\t\taudienceSortTheme: \"light-theme-gray\",\n\t\t\tname: \"white\",\n\t\t\thamburgerSvgColor: \"#6E787F\",\n\t\t\tsocialIconsColor: \"#6E787F\",\n\t\t\tdimensionalLogoTheme: \"colored\"\n\t\t}\n\t};\n\n\tconst theme = themes[data?.theme || \"dark\"];\n\tconst isMobile = useMobileView();\n\tconst currentPage = \"nav\";\n\n\t// for coveo search\n\tconst coveoDiv = document.querySelector(\"[data-view='coveo-search']\");\n\tconst coveoPipelineId = coveoDiv ? coveoDiv.dataset.uniqueid : \"myDimensional\";\n\n\tconst [mobileNav, setMobileNav] = useState(false);\n\tconst [showSubNav, setShowSubNav] = useState(-1);\n\tconst [initialData, setInitialData] = useState(null);\n\tconst [audienceTypesData, setAudienceTypesData] = useState(null);\n\tconst [audienceSelectionData, setAudienceSelectionData] = useState(null);\n\tconst [countryListData, setCountryListData] = useState(null);\n\tconst [step, setStep] = useState(audienceSortStepNames.notSelecting);\n\tconst [cameFromInitialStep, setCameFromInitialStep] = useState(true);\n\tconst [isModalOpen, setIsModalOpen] = useState(false);\n\tconst [modalJustOpened, setModalJustOpened] = useState(true);\n\tconst [openSearch, setOpenSearch] = useState(false);\n\n\tconst setUpInitialData = (data) => {\n\t\tsetInitialData(data);\n\t\tsetAudienceTypesData(data);\n\t\tsetStep(audienceSortStepNames.initialStep);\n\t\tsetIsModalOpen(true);\n\t\tsetModalJustOpened(true);\n\t};\n\n\tconst openModal = async (e) => {\n\t\tif (e.type === \"keyup\" && e.key === \"Escape\") return;\n\t\tconst audienceTypesData = await getAudienceTypesForCountryData({\n\t\t\tisPage: true,\n\t\t\tsource: \"audienceSwitcherModal\",\n\t\t\tcountryKey: null\n\t\t});\n\n\t\tif (audienceTypesData.status === \"success\") {\n\t\t\tsetUpInitialData(audienceTypesData.data);\n\t\t}\n\t};\n\n\tconst openMobileAudienceFlow = async () => {\n\t\tconst audienceTypesData = await getAudienceTypesForCountryData({\n\t\t\tisPage: true,\n\t\t\tsource: \"audienceSwitcherModal\",\n\t\t\tcountryKey: null\n\t\t});\n\t\tif (audienceTypesData.status === \"success\") {\n\t\t\tsetUpInitialData(audienceTypesData.data);\n\t\t}\n\t};\n\n\tconst mobileToggle = (e) => {\n\t\tif (!isMobile || (e.type === \"keyup\" && [\"Tab\", \"Shift\"].includes(e.key))) return;\n\t\tsetStep(audienceSortStepNames.notSelecting);\n\t\tsetOpenSearch(mobileNav);\n\t\tsetMobileNav(!mobileNav);\n\t\tsetShowSubNav(-1);\n\t};\n\n\tconst handleSubNavToggle = async (index) => {\n\t\tif (showSubNav === index) {\n\t\t\treturn setShowSubNav(-1);\n\t\t}\n\t\tsetShowSubNav(index);\n\t};\n\n\tconst hideSubNavOnScroll = useCallback(() => {\n\t\tsetShowSubNav(-1);\n\t\tif (!isMobile) {\n\t\t\thideSubNavs();\n\t\t}\n\t}, [isMobile]);\n\n\tconst handleClickOutside = useCallback(\n\t\t(e) => {\n\t\t\tif (!isMobile) {\n\t\t\t\tif (!e.target.classList.contains(\"nav-links-main-label\")) {\n\t\t\t\t\thideSubNavs();\n\t\t\t\t\tsetShowSubNav(-1);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[isMobile]\n\t);\n\n\tconst handleCloseAudience = () => {\n\t\tsetStep(audienceSortStepNames.notSelecting);\n\t\tsetOpenSearch(mobileNav);\n\t\tsetMobileNav(!mobileNav);\n\t\tsetShowSubNav(-1);\n\t\tsetIsModalOpen(false);\n\t};\n\n\tuseEffect(() => {\n\t\tconst handleDesktopView = () => {\n\t\t\t// mobile to desktop reset\n\t\t\tif (!isMobile) {\n\t\t\t\thideSubNavs();\n\t\t\t\tsetMobileNav(false);\n\t\t\t\tsetShowSubNav(-1);\n\t\t\t}\n\t\t};\n\t\thandleDesktopView();\n\t\twindow.addEventListener(\"resize\", handleDesktopView);\n\t\twindow.addEventListener(\"scroll\", hideSubNavOnScroll);\n\t\twindow.addEventListener(\"click\", handleClickOutside);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", handleDesktopView);\n\t\t\twindow.removeEventListener(\"scroll\", hideSubNavOnScroll);\n\t\t\twindow.removeEventListener(\"click\", handleClickOutside);\n\t\t};\n\t}, [handleClickOutside, hideSubNavOnScroll, isMobile]);\n\n\tuseEffect(() => {\n\t\tif (mobileNav) {\n\t\t\tdocument.body.style.overflowY = \"hidden\";\n\t\t\t// reduce z-index of media contacts mobile if on Newsroom page\n\t\t\tconst mediaContacts = document.querySelector(\".media-contacts-mobile\");\n\t\t\tif (mediaContacts) mediaContacts.classList.add(\"media-contacts-mobile-nav-open\");\n\t\t} else {\n\t\t\tdocument.body.style.removeProperty(\"overflow-y\");\n\t\t\t// reset z-index of media contacts mobile if on Newsroom page\n\t\t\tconst mediaContacts = document.querySelector(\".media-contacts-mobile\");\n\t\t\tif (mediaContacts) mediaContacts.classList.remove(\"media-contacts-mobile-nav-open\");\n\t\t}\n\t}, [mobileNav]);\n\n\tuseEffect(() => {\n\t\tif (step === audienceSortStepNames.initialStep || step === audienceSortStepNames.notSelecting) {\n\t\t\tsetCameFromInitialStep(true);\n\t\t} else if (step !== audienceSortStepNames.financialProfessionalAffirmation) {\n\t\t\tsetCameFromInitialStep(false);\n\t\t}\n\t}, [step]);\n\n\tuseEffect(() => {\n\t\tconst handleResize = () => {\n\t\t\tconst mobileLinkContainer = mobileLinkContainerRef.current;\n\t\t\tif (!mobileLinkContainer) return;\n\n\t\t\tif (mobileNav) {\n\t\t\t\tconst stickyHeaderContainer = document.querySelector(\n\t\t\t\t\t\".sticky-header-el:has(.global-header)\"\n\t\t\t\t);\n\t\t\t\tconst globalHeaderContainer = document.querySelector(\".global-header\");\n\t\t\t\tif (stickyHeaderContainer && globalHeaderContainer) {\n\t\t\t\t\tconst bannerHeight =\n\t\t\t\t\t\tstickyHeaderContainer.getBoundingClientRect().height -\n\t\t\t\t\t\tglobalHeaderContainer.getBoundingClientRect().height +\n\t\t\t\t\t\t\"px\";\n\t\t\t\t\tmobileLinkContainer.style.height = `calc(100% - ${bannerHeight})`;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmobileLinkContainer.style.height = \"unset\";\n\t\t\t}\n\t\t};\n\t\thandleResize();\n\n\t\twindow.addEventListener(\"resize\", handleResize);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", handleResize);\n\t\t};\n\t});\n\n\tconst audienceSort = (\n\t\t<>\n\t\t\t{step === audienceSortStepNames.initialStep && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{step === audienceSortStepNames.financialProfessionalAffirmation && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{step === audienceSortStepNames.countrySelection && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{audienceTypesData && step === audienceSortStepNames.audienceTypeSelection && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n\n\tconst audienceSortMobile = (\n\t\t\n\t\t\t{step === audienceSortStepNames.initialStep && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{step === audienceSortStepNames.financialProfessionalAffirmation ? (\n\t\t\t\twindow.innerWidth > SCREEN_WIDTHS.XS ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)\n\t\t\t) : null}\n\t\t\t{step === audienceSortStepNames.countrySelection && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{audienceTypesData && step === audienceSortStepNames.audienceTypeSelection && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n\n\tconst SearchButton = (\n\t\t {\n\t\t\t\tif (mobileNav) setMobileNav(false);\n\t\t\t\tsetOpenSearch((openSearch) => !openSearch);\n\t\t\t}}\n\t\t>\n\t\t\t\n\t\t\n\t);\n\n\treturn navigationHidden ? null : (\n\t\t\n\t\t\t{initialData && isModalOpen && !isMobile && (\n\t\t\t\t\n\t\t\t\t\t{audienceSort}\n\t\t\t\t\n\t\t\t)}\n\t\t\t{!isMobile && (\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t (initialData ? setUpInitialData(initialData) : openModal(event))}\n\t\t\t\t\t\t\tstyle={{ visibility: data.role && data.country ? \"visible\" : \"hidden\" }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data.role ? `${data.role} | ${data.country}` : \"Audience Switcher\"}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t{Object.keys(logIn).length > 0 && (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t)}\n\t\t\t\n\t\t\t
\n\t\t\t\t{hideHamburgerMenu ? null : (\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{topNavItems.length > 0 ? (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{topNavItems.map((navItem, index) => {\n\t\t\t\t\t\t\t\treturn !isMobile || step === audienceSortStepNames.notSelecting ? (\n\t\t\t\t\t\t\t\t\t handleSubNavToggle(index)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null;\n\t\t\t\t\t\t\t})}\n\n\t\t\t\t\t\t\t{!isMobile && (!hideSearchBox || isSearchPage) && (\n\t\t\t\t\t\t\t\t
  • {SearchButton}
  • \n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{step === audienceSortStepNames.notSelecting && isMobile && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{Object.keys(logIn).length && step === audienceSortStepNames.notSelecting ? (\n\t\t\t\t\t\t\t\t\t\t handleSubNavToggle(topNavItems.length)}\n\t\t\t\t\t\t\t\t\t\t\tisLoginLink={logIn.url ? true : false}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{data.role}\n\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t{data.country}\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{isMobile && audienceTypesData && audienceSortMobile}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t\t\t{process.env.NODE_ENV === \"development\" ? (\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t{(!hideSearchBox || isSearchPage) && (\n\t\t\t\t\t
    {SearchButton}
    \n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nHeaderContent.propTypes = {\n\tdata: PropTypes.object,\n\tclassName: PropTypes.string\n};\n\nexport default HeaderContent;\n","import React, { Component } from \"react\";\nimport DataContainer from \"components/utility/data-container/DataContainer\";\nimport HeaderContent from \"./HeaderContent\";\n\nclass Header extends Component {\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default Header;\n","import { DIcon, sanitizeHTML } from \"@dfa/ui-platform\";\nimport { eventMisfired } from \"components/public-site/audience-sort/utility/audienceSortApiHandlers\";\nimport { setCookie, getCookie } from \"components/utility/cookies/CookiesDIM\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\ntype StickyPromoBannerProps = {\n\tdata: {\n\t\timageSrc?: string;\n\t\timageAlt?: string;\n\t\tdescription?: string;\n\t\tcta?: {\n\t\t\tlinkTarget: string;\n\t\t\tlinkURL: string;\n\t\t\tlinkText: string;\n\t\t};\n\t\tbackgroundImageSrc?: string;\n\t\tbackgroundImageAlt?: string;\n\t\tbackgroundColor?: string;\n\t\ttheme?: string;\n\t\tcookieName?: string;\n\t\tcookieExpiryDays?: string;\n\t\tanalyticsGroup?: string;\n\t\thasCloseButton?: boolean;\n\t};\n};\n\nconst StickyPromoBanner = ({ data }: React.PropsWithChildren) => {\n\tconst {\n\t\timageSrc,\n\t\timageAlt,\n\t\tdescription,\n\t\tbackgroundImageSrc,\n\t\tcta,\n\t\tbackgroundImageAlt,\n\t\tbackgroundColor,\n\t\ttheme = \"dark\",\n\t\tcookieName,\n\t\tcookieExpiryDays,\n\t\tanalyticsGroup,\n\t\thasCloseButton = true\n\t} = data || {};\n\n\tconst { linkTarget, linkURL, linkText } = cta || {};\n\n\tconst className = \"sticky-promo-banner\";\n\n\tlet shouldShowBanner = false;\n\n\tif (cookieName) {\n\t\tconst cookie = getCookie(cookieName);\n\t\tshouldShowBanner = !cookie;\n\t}\n\n\tconst [isXTopAligned, setIsXTopAligned] = useState(false);\n\tconst [isBannerVisible, setIsBannerVisible] = useState(shouldShowBanner);\n\n\tconst topAlignTrigger = 100; // X Moves to top when content height >= 100px\n\n\t// refs\n\tconst containerRef = useRef(null);\n\tconst contentRef = useRef(null);\n\n\t// Callbacks\n\tconst handleCloseButton = useCallback(\n\t\t(event: React.MouseEvent | React.KeyboardEvent) => {\n\t\t\tif (eventMisfired(event)) return;\n\n\t\t\tconst stickyBannerContainer = containerRef.current;\n\t\t\tconst stickyBanner = contentRef.current;\n\n\t\t\tif (stickyBannerContainer && stickyBanner) {\n\t\t\t\tstickyBannerContainer.ontransitionend = () => {\n\t\t\t\t\tif (cookieName) setCookie(cookieName, true, cookieExpiryDays);\n\t\t\t\t\tsetIsBannerVisible(false);\n\t\t\t\t};\n\n\t\t\t\tconst stickyBannerHeight = stickyBanner.offsetHeight;\n\t\t\t\tstickyBannerContainer.style.transition = \"height .3s linear\";\n\t\t\t\tconst stickyHeader = document.querySelector(`.sticky-header:has(.${className})`);\n\n\t\t\t\tif (stickyHeader) {\n\t\t\t\t\tconst stickyHeaderContent =\n\t\t\t\t\t\tstickyHeader.querySelector(\".sticky-header-el\");\n\t\t\t\t\tconst stickyHeaderPlaceHolder = stickyHeader.querySelector(\n\t\t\t\t\t\t\".sticky-header-placeholder\"\n\t\t\t\t\t);\n\n\t\t\t\t\tif (stickyHeaderPlaceHolder && stickyHeaderContent) {\n\t\t\t\t\t\tstickyHeaderPlaceHolder.style.height = `${\n\t\t\t\t\t\t\tstickyHeaderContent.offsetHeight - stickyBannerHeight\n\t\t\t\t\t\t}px`;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tstickyBannerContainer.style.height = \"0\";\n\t\t\t}\n\t\t},\n\t\t[cookieExpiryDays, cookieName]\n\t);\n\n\tconst handleResize = useCallback(() => {\n\t\tconst stickyBannerContainer = containerRef.current;\n\t\tconst stickyBanner = contentRef.current;\n\n\t\tif (stickyBannerContainer && stickyBanner) {\n\t\t\tstickyBannerContainer.style.height = `${stickyBanner.offsetHeight / 16}rem`;\n\t\t\tsetIsXTopAligned(stickyBannerContainer.scrollHeight > topAlignTrigger);\n\t\t}\n\t}, []);\n\n\t// useEffects\n\tuseEffect(() => {\n\t\thandleResize();\n\n\t\twindow.addEventListener(\"resize\", handleResize);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"resize\", handleResize);\n\t\t};\n\t}, [handleResize]);\n\n\t// Memoized elements\n\tconst bannerStyle = useMemo(\n\t\t() => ({ alignItems: isXTopAligned ? \"flex-start\" : \"center\" }),\n\t\t[isXTopAligned]\n\t);\n\n\tconst BackgroundImage = backgroundImageSrc ? (\n\t\t
    \n\t\t\t{backgroundImageAlt}\n\t\t
    \n\t) : null;\n\n\tconst BannerImage = imageSrc ? (\n\t\t
    \n\t\t\t{imageAlt}\n\t\t
    \n\t) : null;\n\n\tconst Description = description ? (\n\t\t\n\t) : null;\n\n\tconst CTA = cta ? (\n\t\t\n\t\t\t{linkText}\n\t\t\n\t) : null;\n\n\tconst CloseButton = hasCloseButton ? (\n\t\t\n\t\t\t\n\t\t\n\t) : null;\n\n\tconst TextContent =\n\t\tCTA || Description ? (\n\t\t\t
    \n\t\t\t\t{Description}\n\t\t\t\t{CTA}\n\t\t\t
    \n\t\t) : null;\n\n\tconst Banner = (\n\t\t\n\t\t\t
    \n\t\t\t\t{BackgroundImage}\n\t\t\t\t
    \n\t\t\t\t\t{BannerImage}\n\t\t\t\t\t{TextContent}\n\t\t\t\t
    \n\t\t\t\t{CloseButton}\n\t\t\t
    \n\t\t\n\t);\n\n\treturn isBannerVisible && data ? Banner : null;\n};\n\nexport default StickyPromoBanner;\n","import React, { Component } from \"react\";\nimport Header from \"./Header\";\nimport MismatchBanner from \"components/header/MismatchBanner\";\nimport HeaderPersistentBar from \"components/header/HeaderPersistentBar\";\nimport DataContainer from \"components/utility/data-container/DataContainer\";\nimport StickyHeaderContainer from \"components/utility/sticky-header/StickyHeaderContainer\";\nimport StickyHeader from \"components/utility/sticky-header/StickyHeader\";\nimport StickyPromoBanner from \"components/sticky-promo-banner/StickyPromoBanner\";\n\nclass HeaderStandalone extends Component {\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default HeaderStandalone;\n"],"names":["ImageDimensionalLogo","themeChoice","theme","jsxs","jsx","ImageLinkedInLogo","fillColor","ImageYoutubeLogo","headerGA4Props","HeaderDropdownListItem","className","data","isFirstInGroup","isLastInGroup","isGroupedItem","toggleActiveMain","parent","qaAttr","label","url","isExternalLink","type","isActive","setIsActive","useState","toggleActive","useCallback","currentLinkArray","currentLinkItem","currentPage","currentPageItem","useEffect","getDecodedHtml","PropTypes","HeaderSocialLink","props","subLinks","injectSvg","sublink","subLink","index","kebabCase","string","HeaderListItem","children","dataset","isLastSubNav","mobileNav","showSubNav","onToggle","navItems","linkClasses","showSocialLinks","isExternaLink","socialLinks","ariaLabel","rel","title","dataTargetTitle","status","setTabMobileClass","createDropdownList","dropdownList","item","subItem","array","ImageArrow","AudienceSelectorNarrow","setStep","audienceTypesData","setAudienceSelectionData","setCountryListData","setModalJustOpened","countryListData","setIsModalOpen","audienceSortTheme","audienceSortBackButton","useRef","closeModal","event","eventMisfired","audienceSortStepNames","handleAudienceSelection","getAudienceSelection","individualGUID","handleAudienceSelectionButton","handleCountrySwitch","changeCountry","ImageX","setGALocation","financialProfessionalGUID","ImageArrowRight","hideSubNavs","HeaderContent","isSearchPage","findPageInformationObject","PageType","mobileLinkContainerRef","navigationHidden","topNavItems","logIn","logoLink","hideHamburgerMenu","hideSearchBox","isMobile","useMobileView","coveoDiv","coveoPipelineId","setMobileNav","setShowSubNav","initialData","setInitialData","setAudienceTypesData","audienceSelectionData","step","cameFromInitialStep","setCameFromInitialStep","isModalOpen","modalJustOpened","openSearch","setOpenSearch","setUpInitialData","openModal","e","getAudienceTypesForCountryData","openMobileAudienceFlow","mobileToggle","handleSubNavToggle","hideSubNavOnScroll","handleClickOutside","handleCloseAudience","handleDesktopView","mediaContacts","handleResize","mobileLinkContainer","stickyHeaderContainer","globalHeaderContainer","bannerHeight","audienceSort","Fragment","ProfessionalAffirmation","CountrySelector","AudienceSelector","audienceSortMobile","AudienceSortModal","AudienceSelectorMobile","SCREEN_WIDTHS","ProfessionalAffirmationMobile","CountrySelectorMobile","SearchButton","ImageSearchMagnifyingGlass","ImageHamburgerMenuOpen","ImageHamburgerMenuClosed","navItem","HeaderSearchContext","CoveoContainer","Header","Component","DataContainer","StickyPromoBanner","imageSrc","imageAlt","description","backgroundImageSrc","cta","backgroundImageAlt","backgroundColor","cookieName","cookieExpiryDays","analyticsGroup","hasCloseButton","linkTarget","linkURL","linkText","shouldShowBanner","getCookie","isXTopAligned","setIsXTopAligned","isBannerVisible","setIsBannerVisible","topAlignTrigger","containerRef","contentRef","handleCloseButton","stickyBannerContainer","stickyBanner","setCookie","stickyBannerHeight","stickyHeader","stickyHeaderContent","stickyHeaderPlaceHolder","bannerStyle","useMemo","BackgroundImage","BannerImage","Description","sanitizeHTML","CTA","CloseButton","DIcon","TextContent","Banner","HeaderStandalone","StickyHeaderContainer","StickyHeader","MismatchBanner","HeaderPersistentBar"],"mappings":"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"}