{"version":3,"sources":["react/GeneralNavigation/index.module.scss","components/GeneralHeader/index.module.scss","react/GeneralNavigation/index.tsx","components/GeneralHeader/index.tsx","../node_modules/react-scripts/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/react-scripts/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","react/RoutableLink/index.js","ts/enums.ts","ts/isSafari.ts","ts/handleResizeFixedHeader.ts","react/GeneralBrandbar/index.tsx","react/GeneralBrandbar/index.module.scss"],"names":["module","exports","delayTimer","navigationContentItem","isDesktop","window","innerWidth","DelayHover","e","target","classList","contains","css","hasDropdown","closest","document","querySelector","linkTarget","setTimeout","setAttribute","hasAttribute","RemoveHover","clearTimeout","querySelectorAll","forEach","dropdown","removeAttribute","handleKeyDown","key","currentState","getAttribute","ShowMobileDropdown","HideMobileDropdown","NavList","_ref2","sectionLinks","isCurrentPageHandler","ResetNavHandler","closeSearchFlyout","body","action","map","sectionLink","index","_sectionLinkFields$hi","_sectionLinkFields$ch","_sectionLinkFields$li","_sectionLinkFields$li2","sectionLinkFields","fields","linkText","title","linkIsHighlight","highlight","value","children","length","link","href","React","createElement","className","concat","navListItem","data-mobilenavdropdownisopen","onMouseEnter","onMouseLeave","onFocus","onBlur","onClick","onKeyDown","aria-label","RoutableLink","field","data-iscurrentpage","aria-expanded","undefined","aria-contols","l1Link","linkHighlight","Text","linkDropdown","role","id","linksubDropdown","backButton","l1LinkDropdown","ColumnLinks","columns","navListOverlay","onMouseOver","_ref3","column","columnIndex","_column$fields","columnLinks","linkDropdownColumn","columnLink","linkIndex","_columnLink$fields","_columnLink$fields$li","_columnLink$fields$li2","_columnLink$fields2","_columnLink$fields2$l","dropdownSubLinks","linkDropdownLink","data-chevron","data-size","Sizes","SMALL","GeneralNavigation","_ref","_leftLinks$fields","_children","_slicedToArray","leftLinks","leftLinksFields","_useState","useState","_useState2","currentPagePath","setPagePath","useEffect","_decodeURI","_window","_window$location","decodeURI","location","pathname","toLowerCase","container","navContainer","navList","leftNav","_link$value","ToggleInfoDropdown","dropdownContainer","removeEventListener","clickToCloseDropdown","keyToCloseDropdown","addEventListener","which","infoDropdownButton","ToggleSearchFlyout2","event","currentTarget","relatedTarget","currentTargetId","relatedTargetId","activeElement","tagName","ToggleSearchFlyout","getElementById","Boolean","toString","NavigationInsert","siteName","siteLogo","utilityNavLinks","resetNavHandler","navigationContent","data-navcontainer","siteHomeLink","style","backgroundImage","MobileUtilNav","links","mobileLinkContainer","_link$fields","_link$fields$title","_link$fields2","_link$fields2$childre","_link$fields$children","_link$fields3","_link$fields3$link","_link$fields3$link$va","_link$fields4","_link$fields4$linkTex","_link$fields$highligh","infoDropdownContainer","linkListItem","data-infodropdownisopen","tag","infoDropdownList","dropdownLink","_dropdownLink$fields","_dropdownLink$fields$","_dropdownLink$fields$2","_dropdownLink$fields2","_dropdownLink$fields3","infoDropdownListItem","data-color","Colors","GREY","infoDropdownLink","brandBarLink","withRouter","withSitecoreContext","props","_brandBar$fields","_fields$siteLogo","_fields$siteLogo$valu","_fields$searchPageLin","_fields$searchPageLin2","_fields$children","history","sitecoreContext","_useReducer","useReducer","Math","random","_useReducer2","resetKey","setResetKey","searchQuery","setSearchQuery","brandBar","navigation","src","mediaApi","updateImageUrl","split","seachIcon","searchIcon","searchPageLink","globalSearchboxPlaceholderText","isEditing","pageEditing","pageState","handleResizeFixedHeader","_elementAfterHeader$g","header","elementAfterHeader","nextElementSibling","parentElement","getBoundingClientRect","top","data-mobilenavisopen","data-scrolldown","skipLink","GeneralBrandbar","phoenixLink","phoenixCaption","phoenix","handleChange","searchFlyout","aria-labelledby","searchForm","data-formtype","onSubmit","_fields$searchPageLin3","_fields$searchPageLin4","push","searchBarContainer","htmlFor","searchBarLabel","searchBar","type","placeholder","tabIndex","onChange","close","skipLinkAnchor","arr","i","arrayWithHoles","Symbol","iterator","Object","_arr","_n","_d","_e","_s","_i","next","done","err","unsupportedIterableToArray","nonIterableRest","_props$field","_props$field$value","_props$field2","_props$field3","_props$field3$value","_props$field4","_props$field4$value","_props$field6","hasValidHref","editable","linktype","ariaLabelObj","ariaLabel","_props$field5","_value$href","newProps","_objectWithoutProperties","startsWith","RouterLink","assign","to","text","linkProps","_objectSpread","Link","Themes","isSafari","test","navigator","userAgent","runResize","_document","_document$body","alerts","tallestAlertHeight","alert","height","headerHeight","main","marginTop","handleEscKey","ToggleMobileNav","mobileNavToggle","currentBodyState","LinkContainer","linkContainer","brandbarInner","Image","aria-controls","searchButton"],"mappings":"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","file":"static/js/GeneralHeader.2ad5359b.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"GeneralNavigation_container__2RebO\",\"navListItem\":\"GeneralNavigation_navListItem__8VNfV\",\"linkHighlight\":\"GeneralNavigation_linkHighlight__YrVE3\",\"l1Link\":\"GeneralNavigation_l1Link__1RdVG\",\"l1LinkDropdown\":\"GeneralNavigation_l1LinkDropdown__OhA3D\",\"navListOverlay\":\"GeneralNavigation_navListOverlay__rLw5j\",\"hasDropdown\":\"GeneralNavigation_hasDropdown__2bXJq\",\"linkDropdown\":\"GeneralNavigation_linkDropdown__24MVF\",\"navList\":\"GeneralNavigation_navList__2aYCj\",\"leftNav\":\"GeneralNavigation_leftNav__1IFHy\",\"linksubDropdown\":\"GeneralNavigation_linksubDropdown__2RkkZ\",\"backButton\":\"GeneralNavigation_backButton__z1CYB\",\"linkDropdownColumn\":\"GeneralNavigation_linkDropdownColumn__37MTe\",\"dropdownSubLinks\":\"GeneralNavigation_dropdownSubLinks__mkuAE\",\"navContainer\":\"GeneralNavigation_navContainer__3O2hv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"GeneralHeader_container__10X6Y\",\"isEditing\":\"GeneralHeader_isEditing__3ROJJ\",\"skipLink\":\"GeneralHeader_skipLink__1Sabb\",\"skipLinkAnchor\":\"GeneralHeader_skipLinkAnchor__3VSWu\",\"mobileLinkContainer\":\"GeneralHeader_mobileLinkContainer__14I9b\",\"navigation\":\"GeneralHeader_navigation__1XE1T\",\"navigationContent\":\"GeneralHeader_navigationContent__1mRWT\",\"siteHomeLink\":\"GeneralHeader_siteHomeLink__2Ae-H\",\"navList\":\"GeneralHeader_navList__Fn8-9\",\"linkContainer\":\"GeneralHeader_linkContainer__11py1\",\"brandBarLink\":\"GeneralHeader_brandBarLink__2L-EI\",\"linkHighlight\":\"GeneralHeader_linkHighlight__36K-2\",\"mobileNavToggle\":\"GeneralHeader_mobileNavToggle__2t715\",\"searchButton\":\"GeneralHeader_searchButton__2cQk3\",\"searchFlyout\":\"GeneralHeader_searchFlyout__3L9NT\",\"close\":\"GeneralHeader_close__BH7ip\",\"searchForm\":\"GeneralHeader_searchForm__g6n5f\",\"searchBarContainer\":\"GeneralHeader_searchBarContainer__3fgw4\",\"searchBarLabel\":\"GeneralHeader_searchBarLabel__WgB_t\",\"searchBar\":\"GeneralHeader_searchBar__1NhW8\"};","import React, { useEffect, useState } from 'react';\r\nimport { Link, Text, withSitecoreContext} from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { RoutableLink } from '../../react/RoutableLink';\r\nimport { Sizes, Colors } from '../../ts/enums';\r\nimport { Button } from '../../react/Button';\r\nimport css from './index.module.scss';\r\n\r\nconst isDesktop = () => (typeof window !== 'undefined' && window.innerWidth > 900);\r\nlet delayTimer;\r\nlet navigationContentItem;\r\n\r\nconst DelayHover = (e) => {\r\n if (isDesktop()) {\r\n // Get target - if hasDropdown, good, else find parent li\r\n let target = e.target.classList.contains(css.hasDropdown) ? e.target : e.target.closest('li');\r\n navigationContentItem = document.querySelector(`*[data-navcontainer=true]`);\r\n \r\n let linkTarget = target.querySelector('a:first-child');\r\n\r\n delayTimer = setTimeout(() => {\r\n target.setAttribute('data-showdropdown', 'true');\r\n if(linkTarget.hasAttribute('aria-expanded')) {\r\n linkTarget.setAttribute('aria-expanded', 'true');\r\n }\r\n navigationContentItem.setAttribute('data-showdropdown', 'true');\r\n }, 550);\r\n }\r\n}\r\n\r\nconst RemoveHover = () => {\r\n if (isDesktop()) {\r\n clearTimeout(delayTimer);\r\n let openDropdowns = document.querySelectorAll(`*[data-showdropdown=true]`);\r\n openDropdowns.forEach((dropdown) => {\r\n let linkTarget = dropdown.querySelector('a:first-child');\r\n dropdown.removeAttribute('data-showdropdown');\r\n if(linkTarget.hasAttribute('aria-expanded')) {\r\n linkTarget.setAttribute('aria-expanded', 'false');\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst handleKeyDown = (e) => {\r\n if (e.key === ' ' || e.key === 'Enter') {\r\n let currentState = e.target.closest('li').getAttribute('data-mobilenavdropdownisopen') === 'true';\r\n e.target.closest('li').setAttribute('data-mobilenavdropdownisopen', !currentState);\r\n }\r\n };\r\n\r\nconst ShowMobileDropdown = (e) => {\r\n if (typeof window !== 'undefined' && window.innerWidth <= 900) {\r\n let currentState = e.target.getAttribute('data-mobilenavdropdownisopen') === 'true';\r\n e.target.setAttribute('data-mobilenavdropdownisopen', !currentState);\r\n }\r\n}\r\n\r\nconst HideMobileDropdown = () => {\r\n let navListItem = document.querySelector('li[data-mobilenavdropdownisopen=true');\r\n navListItem.setAttribute('data-mobilenavdropdownisopen', 'false');\r\n}\r\n\r\nconst GeneralNavigation = ({ fields, ResetNavHandler }) => {\r\n const children = fields?.children ? fields?.children : [null, null];\r\n const [leftLinks, rightLinks] = children;\r\n const leftLinksFields = leftLinks?.fields?.children;\r\n\r\n const [currentPagePath, setPagePath] = useState('');\r\n\r\n useEffect(() => {\r\n setPagePath(decodeURI(window?.location?.pathname)?.toLowerCase());\r\n // navigationContentItem = document.querySelectorAll(`*[data-navcontainer=true]`);\r\n });\r\n\r\n const isCurrentPage = (link) => {\r\n return link?.value?.href ? link.value.href.toLowerCase() === currentPagePath : false;\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\n// Takes a navlist section, left or right, and generates the necessary markup\r\nconst NavList = ({ sectionLinks, isCurrentPageHandler, ResetNavHandler }) => {\r\n const closeSearchFlyout = () =>{\r\n let currentState = document.body.getAttribute('data-searchopen')\r\n \r\n if(currentState === 'true'){\r\n document.body.setAttribute('data-searchopen', 'false');\r\n }\r\n \r\n\r\n // Update tabindexes for keyboard tabbing, -1 is 'not tabbable' when search form is closed, 0 is 'tabbable' when open\r\n let allSearchActions = document.body.querySelectorAll(`div[class*='GeneralHeader_searchFlyout'] *[tabindex]`);\r\n allSearchActions.forEach(function (action) {\r\n action.setAttribute('tabIndex', currentState ? '-1' : '0');\r\n });\r\n ResetNavHandler();\r\n }\r\n return (\r\n sectionLinks?.map((sectionLink, index) => {\r\n const sectionLinkFields = sectionLink?.fields;\r\n const linkText = sectionLinkFields?.linkText || sectionLinkFields?.title;\r\n const linkIsHighlight = sectionLinkFields?.highlight?.value;\r\n const hasDropdown = sectionLinkFields?.children?.length > 0;\r\n\r\n\r\n return (\r\n (sectionLinkFields?.link?.value?.href && linkText?.value) ?\r\n
  • \r\n closeSearchFlyout()}\r\n field={sectionLinkFields.link}\r\n data-iscurrentpage={isCurrentPageHandler(sectionLinkFields.link)}\r\n aria-expanded={hasDropdown ? 'false' : undefined}\r\n aria-contols={hasDropdown ? linkText.value : undefined}\r\n className={`${css.l1Link}${linkIsHighlight ? ` ${css.linkHighlight}` : ''}`}>\r\n {\r\n hasDropdown &&\r\n \r\n }\r\n \r\n {\r\n linkIsHighlight &&\r\n \r\n }\r\n {\r\n !linkIsHighlight && !hasDropdown &&\r\n \r\n } \r\n\r\n \r\n\r\n {\r\n hasDropdown &&\r\n
    \r\n
    \r\n \r\n\r\n {/* Mobile L1: */}\r\n closeSearchFlyout()}\r\n field={sectionLinkFields.link}\r\n data-iscurrentpage={isCurrentPageHandler(sectionLinkFields.link)}\r\n aria-expanded={hasDropdown ? 'false' : undefined}\r\n aria-contols={hasDropdown ? linkText.value : undefined}\r\n className={css.l1LinkDropdown} >\r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
  • \r\n :\r\n null\r\n )\r\n })\r\n )\r\n}\r\n\r\n// Takes columns and spits out formatted links\r\nconst ColumnLinks = ({ columns, ResetNavHandler, closeSearchFlyout }) => (\r\n columns?.map((column, columnIndex) => {\r\n const columnLinks = column?.fields?.children;\r\n\r\n return (\r\n columnLinks?.length > 0 ?\r\n \r\n :\r\n null\r\n )\r\n })\r\n)\r\n\r\nexport default GeneralNavigation;","import React, { useEffect, useReducer, useState } from 'react';\r\nimport { Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport { RoutableLink } from '../../react/RoutableLink';\r\nimport { withSitecoreContext, mediaApi} from '@sitecore-jss/sitecore-jss-react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport GeneralNavigation from '../../react/GeneralNavigation/index';\r\nimport { handleResizeFixedHeader } from '../../ts/handleResizeFixedHeader';\r\nimport css from './index.module.scss';\r\nimport { Text } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { Sizes, Colors } from '../../ts/enums';\r\nimport GeneralBrandbar from '../../react/GeneralBrandbar';\r\n\r\nconst ToggleMobileNav = () => {\r\n let header = document.querySelector('header[data-mobilenavisopen');\r\n let currentState = header.getAttribute('data-mobilenavisopen') === 'true';\r\n // @ts-ignore\r\n header.setAttribute('data-mobilenavisopen', !currentState);\r\n if (typeof window !== 'undefined' && window.innerWidth <= 900) {\r\n let currentBodyState = document.body.getAttribute('data-mobilenavopen') === 'true';\r\n // @ts-ignore\r\n document.body.setAttribute('data-mobilenavopen', !currentBodyState);\r\n }\r\n}\r\n\r\nconst HandleScroll = () => {\r\n window.addEventListener('scroll', function () {\r\n let header = document.body.querySelector('header[data-scrolldown]');\r\n let elementAfterHeader = header.nextElementSibling || header.parentElement.nextElementSibling;\r\n let elBoundingTop = elementAfterHeader?.getBoundingClientRect()?.top;\r\n\r\n if (elBoundingTop < -80) {\r\n // Desktop and user has scrolled more than 80 pixels down, 80 is arbitrary - looks nice\r\n header.setAttribute('data-scrolldown', 'true');\r\n }\r\n else {\r\n // Mobile or user is at top of page\r\n header.setAttribute('data-scrolldown', 'false');\r\n }\r\n });\r\n}\r\n\r\nconst HandleResize = () => {\r\n if (typeof window !== 'undefined') {\r\n // Run on load:\r\n handleResizeFixedHeader();\r\n\r\n window.addEventListener('resize', function () {\r\n // Need to handle this after each resize as well:\r\n handleResizeFixedHeader();\r\n });\r\n }\r\n}\r\n\r\nconst RemoveCurrentFocus = () => {\r\n // Clear focus\r\n if (typeof document?.activeElement !== 'undefined') {\r\n (document.activeElement as HTMLElement).blur();\r\n }\r\n}\r\n\r\nconst CloseDesktopNav = () => {\r\n if (typeof window !== 'undefined' && window.innerWidth > 900) {\r\n let navPanels = document.querySelectorAll(`div[class*='NavPanel_container'`);\r\n navPanels.forEach(navPanel => {\r\n // add class to remove focus\r\n navPanel.classList.add('hide');\r\n RemoveCurrentFocus();\r\n // remove class to get back old styles\r\n setTimeout((function() {\r\n navPanel.classList.remove('hide');\r\n }), 100);\r\n });\r\n }\r\n}\r\nconst ToggleMobileNavItem = (e) => {\r\n if (typeof window !== 'undefined' && window.innerWidth <= 900) {\r\n let navItem = e.target.closest('[data-mobilenavitemopen]');\r\n let currentState = navItem.getAttribute('data-mobilenavitemopen') === 'true';\r\n navItem.setAttribute('data-mobilenavitemopen', !currentState);\r\n }\r\n}\r\n\r\nconst ResetNav = () => {\r\n // If desktop, close nav\r\n CloseDesktopNav();\r\n\r\n // If mobile, close nav\r\n ToggleMobileNav();\r\n}\r\n\r\nconst ToggleInfoDropdown = () => {\r\n let dropdownContainer = document.querySelector('*[data-infodropdownisopen');\r\n let currentState = dropdownContainer.getAttribute('data-infodropdownisopen') === 'true';\r\n // @ts-ignore\r\n dropdownContainer.setAttribute('data-infodropdownisopen', !currentState);\r\n dropdownContainer.setAttribute('aria-expanded', `${!currentState}`);\r\n\r\n if (!currentState) {\r\n // Is open\r\n document.body.addEventListener('click', clickToCloseDropdown);\r\n document.body.addEventListener('keyup', keyToCloseDropdown);\r\n }\r\n else {\r\n // Is closed\r\n document.body.removeEventListener('click', clickToCloseDropdown);\r\n document.body.removeEventListener('keyup', keyToCloseDropdown);\r\n }\r\n}\r\n\r\nconst keyToCloseDropdown = (e) => {\r\n // Escape || Tab outside dropdown\r\n if (e.which === 27 || (e.which === 9 && e.target.closest('[data-infodropdownisopen]') === null)) {\r\n ToggleInfoDropdown();\r\n }\r\n}\r\n\r\nconst clickToCloseDropdown = (e) => {\r\n if (!e.target.classList.contains(css.infoDropdownButton)) {\r\n ToggleInfoDropdown();\r\n }\r\n} \r\n\r\n// check the current and related targets of the event\r\n// and if we tabbed out of the search flyout close it.\r\nconst ToggleSearchFlyout2 = (event) => {\r\n \r\n if (event.currentTarget && event.relatedTarget) {\r\n\r\n const currentTargetId = event.currentTarget.id;\r\n const relatedTargetId = event.relatedTarget.id;\r\n const activeElementTag = document.activeElement.tagName;\r\n\r\n if(!(activeElementTag === \"BODY\" && currentTargetId === \"searchFlyout\" && (\r\n relatedTargetId === \"searchFlyoutIcon\" || \r\n relatedTargetId === \"searchBar\" || \r\n relatedTargetId === \"searchBarSubmit\" || \r\n relatedTargetId === \"searchFlyoutClose\"\r\n ))){\r\n ToggleSearchFlyout();\r\n }\r\n }\r\n};\r\n\r\nconst ToggleSearchFlyout = () => {\r\n let currentState = document.body.getAttribute('data-searchopen') === 'true';\r\n // @ts-ignore\r\n document.body.setAttribute('data-searchopen', !currentState);\r\n \r\n //adjust the aria-expanded attribute for the search icon button\r\n document.getElementById(\"searchFlyoutIcon\").setAttribute('aria-expanded',Boolean(!currentState).toString());\r\n\r\n // Update tabindexes for keyboard tabbing, -1 is 'not tabbable' when search form is closed, 0 is 'tabbable' when open\r\n let allSearchActions = document.body.querySelectorAll(`div[class*='EduBrandBar_searchFlyout'] *[tabindex]`);\r\n allSearchActions.forEach(function (action) {\r\n action.setAttribute('tabIndex', currentState ? '-1' : '0');\r\n });\r\n}\r\n\r\n\r\nconst GeneralHeader = (props) => {\r\n \r\n const { fields, history, sitecoreContext } = props;\r\n // @ts-ignore\r\n const [resetKey, setResetKey] = useReducer(() => Math.random(), Math.random());\r\n const [searchQuery, setSearchQuery] = useState('');\r\n const children = fields?.children ? fields?.children : [null, null];\r\n const [brandBar, navigation] = children;\r\n const utilityNavLinks = brandBar?.fields?.children;\r\n const navList = navigation.fields\r\n const siteLogo = fields?.siteLogo?.value?.src ? mediaApi.updateImageUrl(fields.siteLogo.value.src.split('?')[0]) : \"\";\r\n const siteName = fields.siteName.value;\r\n const seachIcon = fields.searchIcon.value;\r\n const searchPageLink = fields.searchPageLink?.value?.href;\r\n const globalSearchboxPlaceholderText = fields.globalSearchboxPlaceholderText.value;\r\n // const navigationFields = navigation?.fields;\r\n const isEditing = sitecoreContext && (sitecoreContext.pageEditing == true || sitecoreContext.pageState == 'preview'); \r\n const hasChildren = fields?.children?.length > 0;\r\n\r\n \r\n\r\n const handleSearch = () => {\r\n if (fields.searchPageLink?.value?.href) {\r\n history.push(`${fields.searchPageLink.value.href}#q=${searchQuery}`);\r\n }\r\n}\r\n const handleChange = (e) => {\r\n setSearchQuery(e.target.value)\r\n }\r\n//Updating the useEffect to run the HandleResize whenever there is change in GeneralHeader component as part of EWP bugs-1-Alert-Banner-Display\r\n useEffect(() => {\r\n if (typeof window !== 'undefined' && !isEditing) {\r\n HandleResize();\r\n HandleScroll();\r\n }\r\n });\r\n\r\n return (\r\n \r\n )\r\n};\r\n\r\n\r\n\r\nconst NavigationInsert = ({siteName, siteLogo, className, navList, utilityNavLinks, resetNavHandler}) =>{\r\n return(\r\n
    \r\n
    \r\n\r\n {\r\n siteLogo != \"\" && \r\n \r\n {siteName ? siteName : 'The University of Chicago'} \r\n \r\n }\r\n {\r\n navList &&\r\n \r\n }\r\n\r\n {\r\n utilityNavLinks &&\r\n \r\n }\r\n
    \r\n
    \r\n\r\n )\r\n}\r\n\r\n\r\n// Takes a list of links and spits out left/right container markup\r\nconst MobileUtilNav = ({ links, ResetNavHandler }) => {\r\n const closeSearchFlyout = () =>{\r\n let currentState = document.body.getAttribute('data-searchopen')\r\n \r\n if(currentState === 'true'){\r\n document.body.setAttribute('data-searchopen', 'false');\r\n }\r\n \r\n // Update tabindexes for keyboard tabbing, -1 is 'not tabbable' when search form is closed, 0 is 'tabbable' when open\r\n let allSearchActions = document.body.querySelectorAll(`div[class*='GeneralHeader_searchFlyout'] *[tabindex]`);\r\n allSearchActions.forEach(function (action) {\r\n action.setAttribute('tabIndex', currentState ? '-1' : '0');\r\n });\r\n ResetNavHandler();\r\n}\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default withRouter(withSitecoreContext()(GeneralHeader)); ","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import React from 'react';\r\nimport { Link } from '@sitecore-jss/sitecore-jss-react';\r\n// note we're aliasing the router's link component name, since it conflicts with JSS' link component\r\nimport { Link as RouterLink } from 'react-router-dom';\r\n\r\n/** React component that turns Sitecore link values that start with / into react-router route links */\r\nconst RoutableLink = (props) => {\r\n const hasValidHref = props.field?.value?.href;\r\n const isEditing = props?.editable && props?.field?.editable;\r\n const target = props?.field?.value?.linktype == \"external\" ? \"_blank\" : props.field?.value?.target || \"_self\";\r\n\r\n // only want to apply the routing link if not editing (if editing, need to render editable link value)\r\n\r\n var ariaLabelObj = {};\r\n if(props?.ariaLabel && props?.ariaLabel.length > 0){\r\n ariaLabelObj[\"aria-label\"] = props?.ariaLabel;\r\n }\r\n if (hasValidHref && !isEditing) {\r\n\r\n const value = props?.field?.value;\r\n var { field, editable, ariaLabel, ...newProps } = props;\r\n\r\n // determine if a link is a route or not. This logic may not be appropriate for all usages.\r\n if (value?.href?.startsWith('/')) {\r\n return (\r\n \r\n {\r\n \r\n {props?.children || value?.text || value?.href}\r\n \r\n }\r\n \r\n );\r\n }\r\n }\r\n var linkProps = { ...props, field: { value: { ...props?.field?.value, target: target } } };\r\n var {ariaLabel,...newProps} = linkProps;\r\n return {props?.children};\r\n};\r\n\r\n// usage - drop-in replacement for JSS' Link component\r\nexport { RoutableLink }","export enum Colors {\r\n RED = 'red',\r\n TERRACOTTA = 'terracotta',\r\n VIOLET = 'violet',\r\n DARKVIOLET = 'darkviolet',\r\n YELLOW = 'yellow',\r\n LAKE = 'lake',\r\n DARKLAKE = 'darklake',\r\n GREY = 'grey',\r\n WHITE = 'white' \r\n};\r\n\r\nexport enum Sizes {\r\n SMALL = 'small',\r\n MEDIUM = 'medium',\r\n LARGE = 'large'\r\n};\r\n\r\nexport enum Targets {\r\n SELF = '_self',\r\n BLANK = '_blank',\r\n};\r\n\r\nexport enum Themes {\r\n DARK = 'dark',\r\n LIGHT = 'light',\r\n WHITE = 'white'\r\n}","export const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);","import { isSafari } from './isSafari';\r\n\r\n// Handler to call on window resize for fixed header spacing\r\n\r\nfunction runResize(){\r\n // Get alert height\r\n let alerts = document?.body?.querySelectorAll('[class*=Alert_container]');\r\n let tallestAlertHeight = 0;\r\n \r\n alerts?.forEach(function(alert) {\r\n if (alert?.getBoundingClientRect().height > tallestAlertHeight) {\r\n tallestAlertHeight = alert?.getBoundingClientRect().height;\r\n }\r\n });\r\n\r\n // Get header height\r\n let header = document.body.querySelector('#header');\r\n let headerHeight = header?.getBoundingClientRect().height;\r\n\r\n // Set top styles\r\n let main = document.body.querySelector('main');\r\n if (header) {\r\n // @ts-ignore\r\n header.style.top = `${tallestAlertHeight}px`;\r\n }\r\n if (main) {\r\n main.style.marginTop = `${headerHeight + tallestAlertHeight}px`;\r\n }\r\n}\r\n\r\nexport function handleResizeFixedHeader() {\r\n if (isSafari) {\r\n // Timeout required for Safari bug...\r\n setTimeout(function() {\r\n runResize();\r\n }, 500);\r\n }\r\n else {\r\n runResize();\r\n }\r\n}","import React, { useState } from \"react\";\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Text, Image } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { RoutableLink } from '../../react/RoutableLink';\r\nimport { Sizes, Colors } from '../../ts/enums';\r\nimport css from './index.module.scss';\r\n\r\nconst ToggleSearchFlyout = () => {\r\n let currentState = document.body.getAttribute('data-searchopen') === 'true';\r\n // @ts-ignore\r\n document.body.setAttribute('data-searchopen', !currentState); \r\n document.body.setAttribute('data-infodropdownisopen', 'true'); \r\n\r\n //adjust the aria-expanded attribute for the search icon button\r\n document.getElementById(\"searchFlyoutIcon\").setAttribute('aria-expanded',Boolean(!currentState).toString());\r\n\r\n // Update tabindexes for keyboard tabbing, -1 is 'not tabbable' when search form is closed, 0 is 'tabbable' when open\r\n let allSearchActions = document.body.querySelectorAll(`div[class*='GeneralHeader_searchFlyout'] *[tabindex]`);\r\n allSearchActions.forEach(function (action) {\r\n action.setAttribute('tabIndex', currentState ? '-1' : '0');\r\n });\r\n document.addEventListener('keydown', handleEscKey);\r\n}\r\n\r\nconst ToggleMobileNav = () => {\r\n ToggleSearchFlyout();\r\n let header = document.querySelector('header[data-mobilenavisopen');\r\n let currentState = header.getAttribute('data-mobilenavisopen') === 'true';\r\n // @ts-ignore\r\n header.setAttribute('data-mobilenavisopen', !currentState);\r\n\r\n let button = document.querySelector(`button.${css.mobileNavToggle}`);\r\n button.setAttribute('aria-expanded', `${!currentState}`);\r\n\r\n if (typeof window !== 'undefined' && window.innerWidth <= 900) {\r\n let currentBodyState = document.body.getAttribute('data-mobilenavopen') === 'true';\r\n // @ts-ignore\r\n document.body.setAttribute('data-mobilenavopen', !currentBodyState);\r\n }\r\n document.addEventListener('keydown', handleEscKey);\r\n }\r\n\r\n const handleEscKey = (e) => {\r\n if (e.key === 'Escape' && e.target.closest('[data-mobilenavopen]') ){\r\n document.querySelector('*[data-mobilenavisopen]').setAttribute('data-mobilenavisopen', 'false');\r\n ;\r\n } if(e.key === 'Escape') {\r\n document.querySelector('*[data-searchopen]').setAttribute('data-searchopen', 'false');\r\n }\r\n };\r\n \r\nconst keyToCloseDropdown = (e) => {\r\n // Escape || Tab outside dropdown\r\n if (e.which === 27 || (e.which === 9 && e.target.closest('[data-infodropdownisopen]') === null)) {\r\n ToggleInfoDropdown();\r\n }\r\n}\r\n\r\nconst clickToCloseDropdown = (e) => {\r\n if (!e.target.classList.contains(css.infoDropdownButton)) {\r\n ToggleInfoDropdown();\r\n }\r\n}\r\n\r\nconst ToggleInfoDropdown = () => {\r\n let dropdownContainer = document.querySelector('*[data-infodropdownisopen');\r\n let currentState = dropdownContainer.getAttribute('data-infodropdownisopen') === 'true';\r\n // @ts-ignore\r\n dropdownContainer.setAttribute('data-infodropdownisopen', !currentState);\r\n dropdownContainer.setAttribute('aria-expanded', `${!currentState}`);\r\n\r\n if (!currentState) {\r\n // Is open\r\n document.body.addEventListener('click', clickToCloseDropdown);\r\n document.body.addEventListener('keyup', keyToCloseDropdown);\r\n \r\n }\r\n else {\r\n // Is closed\r\n document.body.removeEventListener('click', clickToCloseDropdown);\r\n document.body.removeEventListener('keyup', keyToCloseDropdown);\r\n }\r\n}\r\n\r\n\r\nconst GeneralBrandbar = ({\r\n phoenixLink, \r\n phoenixCaption,\r\n phoenix, \r\n utilityNavLinks, \r\n seachIcon, \r\n searchPageLink,\r\n globalSearchboxPlaceholderText,\r\n history,\r\n ResetNavHandler\r\n }) => {\r\n \r\n // state variable for search query \r\n const [searchQuery, setSearchQuery] = useState('');\r\n\r\n const handleSearch = () => {\r\n if (searchPageLink) {\r\n history.push(`${searchPageLink}#q=${searchQuery}`);\r\n }\r\n }\r\n\r\n const handleChange = (e) => {\r\n setSearchQuery(e.target.value)\r\n }\r\n \r\n return (\r\n \r\n )\r\n }\r\n \r\n\r\n // Takes a list of links and spits out left/right container markup\r\nconst LinkContainer = ({ links, ResetNavHandler }) => {\r\n return (\r\n \r\n )\r\n }\r\n\r\n export default withRouter(GeneralBrandbar);","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"GeneralBrandbar_container__KVKNX\",\"brandbarInner\":\"GeneralBrandbar_brandbarInner__20AiJ\",\"phoenix\":\"GeneralBrandbar_phoenix__13jDF\",\"phoenixLink\":\"GeneralBrandbar_phoenixLink__a6uL3\",\"phoenixCaption\":\"GeneralBrandbar_phoenixCaption__2LU_U\",\"linkContainer\":\"GeneralBrandbar_linkContainer__1-C2M\",\"linkListItem\":\"GeneralBrandbar_linkListItem__3V38O\",\"brandBarLink\":\"GeneralBrandbar_brandBarLink__2ocO1\",\"linkHighlight\":\"GeneralBrandbar_linkHighlight__2pIZR\",\"searchButton\":\"GeneralBrandbar_searchButton__3Gx9M\",\"mobileNavToggle\":\"GeneralBrandbar_mobileNavToggle__2pHS_\",\"headerNavigation\":\"GeneralBrandbar_headerNavigation__3mKPf\",\"logoContainer\":\"GeneralBrandbar_logoContainer__25Wqh\",\"desktopLogo\":\"GeneralBrandbar_desktopLogo__1emsg\",\"mobileLogo\":\"GeneralBrandbar_mobileLogo__3Qy_5\",\"navList\":\"GeneralBrandbar_navList__Ra1Ar\",\"close\":\"GeneralBrandbar_close__xQU46\"};"],"sourceRoot":""}