{"version":3,"sources":["webpack:///./front/components/Navigation/QuickSearch/List/styles.module.scss","webpack:///./front/components/Navigation/QuickSearch/styles.module.scss","webpack:///./front/components/Navigation/MobileView/ApplicationMenu/SearchMenuList/styles.module.scss","webpack:///./front/components/Navigation/menuData/mobileNavigationData.js","webpack:///./front/components/Navigation/MobileView/utils/index.js","webpack:///./front/components/Navigation/common/DrillDown/Transition/styles.module.scss","webpack:///./front/components/Navigation/MobileView/UserMenu/styles.module.scss","webpack:///./front/components/Navigation/menuData/breadcrumbs.js","webpack:///./front/components/Navigation/GlobalHeader/components/HomeButton/index.jsx","webpack:///./front/components/Navigation/MobileView/common/MenuItemsList/index.jsx","webpack:///./front/components/Navigation/MenuToggleButton/index.jsx","webpack:///./front/components/Navigation/MobileView/common/FooterBar/index.jsx","webpack:///./front/components/Navigation/menuData/userMenuItems.js","webpack:///./front/components/Navigation/GlobalHeader/components/UserMenuButton/MenuContent/index.jsx","webpack:///./front/components/Navigation/GlobalHeader/components/UserMenuButton/index.jsx","webpack:///./front/components/Navigation/GlobalHeader/styles.module.scss","webpack:///./front/components/Navigation/common/MenuTransition/styles.module.scss","webpack:///./front/components/Navigation/MobileView/common/MenuItemsList/styles.module.scss","webpack:///./front/components/Navigation/utils/navStateItems.js","webpack:///./front/components/Navigation/menuData/mobileParentMenuItem.js","webpack:///./front/components/Navigation/menuData/applicationMenuItems.js","webpack:///./front/components/Navigation/MenuToggleButton/styles.module.scss","webpack:///./front/components/Navigation/menuData/titles.js","webpack:///./front/components/Navigation/GlobalHeader/components/TooltipMenu/utils/shapes.js","webpack:///./front/components/Navigation/menuData/slugs.js","webpack:///./front/components/Navigation/menuData/donorResearch.js","webpack:///./front/components/Navigation/GlobalHeader/components/TooltipMenu/components/MenuItem/index.jsx","webpack:///./front/components/Navigation/MobileView/common/MenuItem/index.jsx","webpack:///./front/components/Navigation/MobileView/common/MenuTitle/index.jsx","webpack:///./front/components/Navigation/utils/useMenu.js","webpack:///./front/components/Navigation/menuData/mobileUserMenuItems.js","webpack:///./front/components/Navigation/useNavigation.js","webpack:///./front/components/Navigation/menuData/bannerMessage.js","webpack:///./front/components/Navigation/GlobalHeader/components/TooltipMenu/index.jsx","webpack:///./front/components/Navigation/GlobalHeader/components/NavigationBar/utils/index.js","webpack:///./front/components/Navigation/GlobalHeader/components/NavigationBar/useBarItem.js","webpack:///./front/components/Navigation/GlobalHeader/components/NavigationBar/NavigationBarItem.jsx","webpack:///./front/components/Navigation/GlobalHeader/components/NavigationBar/index.jsx","webpack:///./front/components/Navigation/GlobalHeader/index.jsx","webpack:///./front/components/Navigation/common/Title/index.jsx","webpack:///./front/components/Navigation/common/NotFoundResults/index.jsx","webpack:///./front/components/Navigation/QuickSearch/List/index.jsx","webpack:///./front/components/Navigation/QuickSearch/SearchInput/index.jsx","webpack:///./front/components/Navigation/QuickSearch/useQuickSearch.js","webpack:///./front/components/Navigation/QuickSearch/utils.js","webpack:///./front/components/Navigation/QuickSearch/index.jsx","webpack:///./front/components/Navigation/MobileView/ApplicationMenu/SearchMenuList/index.jsx","webpack:///./front/components/Navigation/MobileView/ApplicationMenu/ActiveMenu/index.jsx","webpack:///./front/components/Navigation/MobileView/ApplicationMenu/index.jsx","webpack:///./front/components/Navigation/MobileView/ApplicationMenu/NavigationBar/components/OpenMenuBar/index.jsx","webpack:///./front/components/Navigation/MobileView/ApplicationMenu/NavigationBar/components/ClosedMenuBar/index.jsx","webpack:///./front/components/Navigation/MobileView/ApplicationMenu/NavigationBar/index.jsx","webpack:///./front/components/Navigation/utils/useSearchInput.js","webpack:///./front/components/Navigation/utils/useSearchMenuSteps.js","webpack:///./front/components/Navigation/MobileView/utils/useMobileNavigation.js","webpack:///./front/components/Navigation/MobileView/index.jsx","webpack:///./front/components/Navigation/index.jsx","webpack:///./front/components/Navigation/utils/index.js","webpack:///./front/components/Navigation/common/Title/styles.module.scss","webpack:///./front/components/Navigation/QuickSearch/SearchInput/styles.module.scss","webpack:///./front/components/Navigation/MobileView/common/utils/shapes.js","webpack:///./front/components/Navigation/GlobalHeader/components/HomeButton/styles.module.scss","webpack:///./front/components/Navigation/GlobalHeader/components/TooltipMenu/styles.module.scss","webpack:///./front/components/Navigation/common/NotFoundResults/styles.module.scss","webpack:///./front/components/Navigation/MobileView/ApplicationMenu/styles.module.scss","webpack:///./front/components/Navigation/MobileView/styles.module.scss","webpack:///./front/components/Navigation/common/WarningBanner/styles.module.scss","webpack:///./front/components/Navigation/common/DrillDown/styles.module.scss","webpack:///./front/components/Navigation/MobileView/common/MenuTitle/styles.module.scss","webpack:///./front/components/Navigation/MobileView/common/FooterBar/styles.module.scss","webpack:///./front/components/Navigation/styles.module.scss","webpack:///./front/components/Navigation/common/WarningBanner/index.js","webpack:///./front/components/Navigation/MobileView/UserMenu/utils.js","webpack:///./front/components/Navigation/MobileView/UserMenu/index.jsx","webpack:///./front/components/Navigation/menuData/paths.js","webpack:///./front/components/Navigation/utils/withNavigation.jsx","webpack:///./front/components/Navigation/GlobalHeader/utils/tracking.js","webpack:///./front/components/Navigation/MobileView/utils/withMenuItems.jsx","webpack:///./front/components/Navigation/utils/constants.js","webpack:///./front/components/Navigation/MobileView/ApplicationMenu/NavigationBar/styles.module.scss","webpack:///./front/components/Navigation/GlobalHeader/components/UserMenuButton/styles.module.scss","webpack:///./front/components/Navigation/GlobalHeader/components/TooltipMenu/components/MenuItem/styles.module.scss","webpack:///./front/components/Navigation/common/MenuTransition/index.jsx","webpack:///./front/components/Navigation/common/DrillDown/Transition/index.jsx","webpack:///./front/components/Navigation/MobileView/common/MenuItem/styles.module.scss","webpack:///./front/components/Navigation/MobileView/ApplicationMenu/ActiveMenu/styles.module.scss","webpack:///./front/components/Navigation/utils/navContext.js","webpack:///./front/components/Navigation/common/DrillDown/index.jsx","webpack:///./front/components/Navigation/GlobalHeader/components/NavigationBar/styles.module.scss"],"names":["module","exports","largeNavHeaderHeight","tooltipStyles","navBarDropdownPadding","tooltipTrigger","navList","item","title","itemType","linkText","searchContainer","searchImg","searchTitle","topMenu","searchTitleLayout","backBtn","foundTitle","link","middleMenu","loadingSearch","container","parentTitle","parentOffset","menuItem","menuItemText","icon","mobileNavigation","mobileParentMenuItem","handleNestedItems","subItem","nestedItems","subItems","isEmpty_default","push","transformNavItemToMobile","_ref","id","goTo","parent","href","slug","breadcrumb","pages","betaFlag","roles","_ref$subItems","map","pickBy_default","items","identity_default","a","apply","applicationMenuItems","removeLockedItemsForMenu","lockedItems","menuData","arguments","length","undefined","appMenuData","filteredItems","merge_default","filterItemByUserRole","menuWithSubproducts","forEach","itemChildSlugs","childSlugs","menuSubproducts","filter","includes","initItem","isLocked","slugLink","concat","setLockedItem","findMenuItemsById","activeId","enabledItems","findMenuBySearchValue","searchValue","enabledProducts","searchedItems","dataItem","fuzzyMatch","_extends","groupValue","groupTitle","searchParentTitle","flow_default","allItems","groupBy_default","i","map_default","value","filterIsLinkPresent","findBreadcrumbs","foundItems","insidePage","fallbackBreadcrumb","ROOT_BREADCRUMB","utils_toConsumableArray","userMenuData","data","isFoundLink","isFoundHideItemsLink","hideItems","insidePageFound","find","page","linkMatcher","test","findInsidePage","transitionContainer","fullHeight","transition","transitionOnEnter","transitionEntering","transitionEnteringBack","transitionExiting","transitionExitingBack","userMenu","userMenuActive","footerBar","iconButton","components_Navigation_utils__WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","_titles__WEBPACK_IMPORTED_MODULE_1__","breadcrumbs","hillDay","getLinkBreadcrumb","titles","advocacy","stakeholderManagement","people","advocates","grm","congressionalStaffers","federalLegislators","federalBills","legislationAndRegulation","stateBills","stateLegislators","federalCommittees","committees","stateCommittees","stateStaffers","stateRegulations","individuals","donorResearch","corporations","candidates","vendors","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","classnames__WEBPACK_IMPORTED_MODULE_2__","classnames__WEBPACK_IMPORTED_MODULE_2___default","components_core_Link__WEBPACK_IMPORTED_MODULE_3__","_utils_tracking__WEBPACK_IMPORTED_MODULE_4__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_5__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_5___default","HomeButton","className","onClick","createElement","theme","classNames","styles","homeButton","govPredictLogo","src","alt","defaultProps","trackHomeButtonClicked","propTypes","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_2__","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_2___default","classnames__WEBPACK_IMPORTED_MODULE_3__","classnames__WEBPACK_IMPORTED_MODULE_3___default","components_Navigation_utils__WEBPACK_IMPORTED_MODULE_4__","components_Navigation_menuData_slugs__WEBPACK_IMPORTED_MODULE_5__","components_Navigation_common_DrillDown__WEBPACK_IMPORTED_MODULE_6__","components_core_Loader__WEBPACK_IMPORTED_MODULE_7__","utils_device__WEBPACK_IMPORTED_MODULE_8__","_MenuItem__WEBPACK_IMPORTED_MODULE_10__","_MenuTitle__WEBPACK_IMPORTED_MODULE_11__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_12__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_12___default","MenuItemsList","menuItems","isBackItem","handleNavigateNext","disabledProducts","isLoading","startLoading","itemsContainerStyles","itemsContainer","isIOS","itemsContainerIphone","isEmpty","_menuItems$","isFullHeight","isBackDirection","slugs","parentMenu","index","authorizeItemByRoleAndBetaFlag","key","menuItemContainer","onLinkClick","loadingOverlay","onlyIcon","MenuToggleButton","activeClassName","inactiveClassName","isActive","inactiveContent","isRound","isDisabled","restProps","_objectWithoutProperties","buttonClassNames","baseButton","round","activeButton","components_core_Button__WEBPACK_IMPORTED_MODULE_3__","closeFreshChat","disabled","_styles_module_scss__WEBPACK_IMPORTED_MODULE_3__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_3___default","FooterBar","children","visitedPage","gon","isNotificationEnabled","isSSOEnabled","userMenuItems","compact","accountSettings","keepFontSize","manageProfile","paths","changePassword","manageProfilePhoto","admin","GOVPREDICT_ADMIN","linkProps","target","rel","logOut","data-method","help","generalHelp","GENERAL_HELP_URL","isExternal","displayExternalIcon","iconClassName","externalLinkIcon","trackHelpCenterPageVisited","organizationSettings","manageOrganization","users","sso","COMPANY_ADMIN","inviteUsers","institutionalData","MenuContent","_items","_slicedToArray","firstColumn","secondColumn","renderItem","react_default","MenuItem","parentClassName","leafClassName","leafNode","menu","UserMenuButtonComponent","userImgPath","userName","onMenuOpen","UserMenuButton_MenuContent","tippy_react_esm","content","menuTooltip","placement","trigger","maxWidth","interactive","arrow","appendTo","document","body","onShow","Avatar","NAVIGATION_USER_PROFILE_IMG_ID","avatar","photoUrl","name","trackUserMenuOpened","withNavigation","globalHeaderWrapper","globalHeader","leftContent","rightContent","taskButton","searchTransitionEnteringBack","searchTransitionExiting","transitionMobileEnteringBack","transitionMobileExiting","d","__webpack_exports__","getNavStateItem","setNavStateItem","resetNavStateToParent","components_Navigation_menuData_slugs__WEBPACK_IMPORTED_MODULE_0__","NAV_STATE_ID","JSON","parse","sessionStorage","getItem","menuId","navId","navState","setItem","stringify","menuData_mobileParentMenuItem","federalAgencyStaffers","districtMap","stateExecutives","localExecutives","shortTitle","federalRegulations","lobbyingLD2","lobbyingFARA","legislatorSpreadsheetBuilder","cosponsorsOracle","cosponsorshipSimilarities","stateLegislatorBattingAverages","stateSummaries","federalHearingsCalendar","stateHearingsCalendar","documents","federalDocuments","agencyPressReleases","appropriationsTracker","cboCostEstimates","committeeReports","congressionalPressReleases","congressionalRecordItems","contracts","crsReports","dearCollegeLetters","executiveOrders","gaoReports","grants","liveHearingTranscripts","officialHearingTranscripts","sapReports","stateOfTheUnionAddresses","treatyDocuments","thirdPartyReports","whiteHousePressBriefings","stateDocuments","governorOrders","governorPressReleases","globalDocumentSearch","legacyGlobalDocumentSearch","localDocuments","pacRankings","receipts","disbursements","smartSearch","clusterbuckFirstQueue","clusterbuckSecondQueue","grassrootsCampaigns","grassrootsReports","smsMarketing","emailMarketing","publicTools","tracking","discovery","trackingCenter","topics","news","myFeed","workspaces","globalSearch","liveSupport","myProfile","prop_types__WEBPACK_IMPORTED_MODULE_0__","prop_types__WEBPACK_IMPORTED_MODULE_0___default","menuLeafNodeShape","PropTypes","string","description","arrayOf","menuNodeShape","oneOfType","shape","grassroots","federal","lobbyingResearch","publicFacingTools","statePublicFacingTools","federalPublicFacingTools","dashboard","dashboardV2","local","moneyball","moneyballV2","state","emailBlasts","federalStaffers","stateRegulation","customFields","_defineProperty","_childSlugs","_breadcrumbs__WEBPACK_IMPORTED_MODULE_1__","_slugs__WEBPACK_IMPORTED_MODULE_2__","applicationMenuTitles","columnsCount","PERMIT_MONEYBALL_CLUSTERBUCK","withDivider","withNestedLevel","lodash_includes__WEBPACK_IMPORTED_MODULE_0___default","renderSubItems","columnIndex","react__WEBPACK_IMPORTED_MODULE_3___default","subItemsGridClassNames","subItemsGrid","parentClassNames","parentNode","subItemsGridStyles","columns","leafNodeClassNames","pageURL","lodash_isFunction__WEBPACK_IMPORTED_MODULE_1___default","isExternalUrl","url","components_core_Link__WEBPACK_IMPORTED_MODULE_6__","size","renderLeafNode","style","textClassName","linkProperties","_item$isLeaf","isLeaf","pageUrl","isFunction","textClassNames","isLink","shouldRenderIcon","onClickItem","textContent","lockedText","noHighlight","Fragment","components_core_Highlighter__WEBPACK_IMPORTED_MODULE_7__","highlightWord","iconClasses","renderIcon","components_core_Button__WEBPACK_IMPORTED_MODULE_5__","leafButton","MenuTitle","useMenu","filterFunction","_ref$isInit","isInit","_ref$navId","APP_MENU","navStateItem","_useState2","useState","setIsBackItem","_useState4","showReturnArrow","setShowReturnArrow","_useState6","isBackHome","setIsBackHome","_useState8","setMenuItems","_useState10","activeMenuId","setActiveMenuId","useEffect","handleNavigateParent","handleNavigateHome","handleNavigateItem","mobileUserMenuItems","openFreshChat","useNavigation","appMenuTab","setAppMenuTab","isSearchMenu","setIsSearchMenu","isMobilePage","window","location","pathname","isFirstPageLoad","setIsFirstPageLoad","menuPlaceholder","getElementById","removeChild","isAppMenuOpen","toggleAppMenu","currentSelectedTab","toggleSearchMenu","bannerMessages","TooltipMenu","columnsStyle","checkActiveItem","_ref2","_ref2$pages","pathName","some","isSubPageActive","match","checkLinkMatchers","useBarItem","showBanner","showMenuItems","showLinkOnly","NavigationBarItem","isDesktopLarge","mediumScreenColumnsCount","onItemClick","isActiveItem","navigationBarItemClassNames","activeItem","navigationBarItem","itemTitle","_ref3","getItemTitle","handleItemClicked","itemProps","data-title","itemMenuColumnsCount","_useBarItem","NavigationBarItem_extends","Link","pageLink","tooltipContent","Banner","message","banner","components_TooltipMenu","trackTopLevelItemClicked","NavigationBar","navigationBar","NavigationBar_NavigationBarItem","NavigationBar_extends","GlobalHeader","isSearchDisplayed","GlobalHeader_slicedToArray","shouldDisplayDesktopNavBar","components_NavigationBar","UserMenuButton","Title","onClickTitle","Button","NotFoundResults","noFoundSection","noFoundText","List","highlightValue","isSearching","NotFoundText","Items","Highlighter","label","type","ListItems","common_NotFoundResults","ENTER_KEY","SearchInput","placeholder","onChange","onClickSearch","searchForm","searchInput","event","onKeyUp","keyCode","autoFocus","searchBtn","useQuickSearch","useQuickSearch_slicedToArray","setItems","setSearchValue","setIsLoading","setIsSearching","onChangeValue","inputValue","onFilterSuccess","onSuccess","fetcher","asyncDelay","DEFAULT_DEBOUNCE_TIME","inputText","strategySlug","reverseSearch","filterGlobalFunction","onClearValue","QuickSearchMenu","onClose","_useQuickSearch","FoundNumberItems","FoundResults","Loader","customStyle","QuickSearch_List","react","common_Title","QuickSearch_SearchInput","SearchMenu","isInitItemStep","getFoundItemsTitle","getParentTitle","renderChildItem","common_MenuItem","DrillDown","_menuItem$items","isFirst","withMenuItems","ActiveMenu","isLoadingSearch","onChangeSearch","onClearSearch","stopLoading","_ref2$isNotificationE","onPageShow","useCallback","persisted","addEventListener","removeEventListener","searchHeader","logo","inputContainer","Input","input","cleanInputButton","Notifications","NAVIGATION_NOTIFICATIONS_DOM_ID","parentSelector","isMobile","withPortal","HelpButton","navSection","withoutFooter","SearchMenuList","ApplicationMenu","transitionMenuId","appMenuSectionClassNames","appMenu","appMenuActive","MenuTransition","enable","ApplicationMenu_ActiveMenu","OpenMenuBar","handleNavigateBack","toggleNavigationMenu","displayBackButton","displayHomeButton","commonProps","openMenuContainer","baseItem","OpenMenuBar_extends","data-spec","ClosedMenuBar","historyLength","onNavigateBack","_useModal","useModal","isGlobalSearchOpen","isOpenModal","closeGlobalSearch","closeModal","hasPreviousPage","closedMenuContainer","iconImg","Grm2","GlobalSearch","globalQuickSearch","history","back","components_OpenMenuBar","components_ClosedMenuBar","ApplicationMenu_NavigationBar_extends","useSearchInput","useSearchInput_slicedToArray","setSearchInput","searchDebounceInput","useDebounce","split","text","t","startCase","join","useSearchMenuSteps","menuProps","itemStepsInitial","step","useSearchMenuSteps_slicedToArray","itemSteps","setItemSteps","initStep","setInitStep","itemStepsLength","setSearchMenuItems","foundMenuItems","resetMenuStateParent","goToNextMenu","nextStep","prevState","_toConsumableArray","goToBackMenu","slice","foundItemsLength","useMobileNavigation","_useSearchInput","_useSearchMenuSteps","handleClearSearch","useMobileNavigation_extends","MobileView","_useLoader","useLoader","_useMobileNavigation","MobileView_objectWithoutProperties","context","MobileView_extends","searchMenuClassNames","searchMenu","searchMenuActive","showNavigationBar","Provider","ApplicationMenu_NavigationBar","MobileView_ApplicationMenu","QuickSearch","Navigation","_useMediaQuery","useMediaQuery","_useNavigation","navContext","elements","getElementsByClassName","containerNavigation","utils_navContext","Navigation_MobileView","Navigation_GlobalHeader","USER_MENU","filterItemByUserDevice","authorizeItemByRole","_gon$currentUser","companyAdmin","govpredictAdmin","isMoneyballEnabled","permitMoneyballClusterbuck","userRole","currentUser","role","roleAuthorizer","userHasCorrectRole","userHasBetaAccess","func","bool","warningBannerStyle","warningBannerTextStyle","list","_styles_module_scss__WEBPACK_IMPORTED_MODULE_1__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_1___default","NavigationWarningBanner","getUserMenuById","UserProfileMenu","isUserMenuOpen","nestedItem","findUserMenuEnabledItems","_useMenu","userMenuClassNames","FooterBarComponent","isNavigationV2Enabled","FooterBarV2","Component","props","_navContext__WEBPACK_IMPORTED_MODULE_1__","Consumer","contexts","trackNewNoteClicked","trackNewTaskClicked","utils_tracking_navigation__WEBPACK_IMPORTED_MODULE_0__","userId","user_id","trackNavigationBarEvent","MenuItemsContext","React","createContext","searchButton","activeMenu","_ref$transitionDurati","transitionDuration","_ref$enable","transitionClassNames","enterActive","exitActive","noTransitionClassNames","react_transition_group__WEBPACK_IMPORTED_MODULE_2__","component","appear","react_transition_group__WEBPACK_IMPORTED_MODULE_3__","timeout","TRANSITION_DURATION","react_transition_group__WEBPACK_IMPORTED_MODULE_4__","Transition","reverseTransitionDirection","containerClassName","NavigationContext","_Transition__WEBPACK_IMPORTED_MODULE_2__"],"mappings":"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","file":"js/navigation-6e5c22183c3e1a2bb95c.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___1BXWF\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___2g_EU\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___3Domg\",\"navList\":\"styles-module__navList___3GE2O\",\"item\":\"styles-module__item___9HWjU\",\"title\":\"styles-module__title___1Y4HI\",\"itemType\":\"styles-module__itemType___2h5pn\",\"linkText\":\"styles-module__linkText___vdjxC\",\"searchContainer\":\"styles-module__searchContainer___2ZzhA\",\"searchImg\":\"styles-module__searchImg___38j0D\",\"searchTitle\":\"styles-module__searchTitle___1NqFN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___2vaiw\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___1o4CR\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___1trb7\",\"topMenu\":\"styles-module__topMenu___21mEp\",\"searchTitleLayout\":\"styles-module__searchTitleLayout___jo6Ct\",\"backBtn\":\"styles-module__backBtn___200st\",\"foundTitle\":\"styles-module__foundTitle___15Xr0\",\"link\":\"styles-module__link___1MRR_\",\"middleMenu\":\"styles-module__middleMenu___1jqcH\",\"loadingSearch\":\"styles-module__loadingSearch___24B25\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3N94b\",\"parentTitle\":\"styles-module__parentTitle___2cI9x\",\"parentOffset\":\"styles-module__parentOffset___QP2Ym\",\"menuItem\":\"styles-module__menuItem___2JK2E\",\"menuItemText\":\"styles-module__menuItemText___3SUIu\",\"icon\":\"styles-module__icon___3HSOG\"};","import { isEmpty, pickBy, identity } from 'lodash';\n\nimport applicationMenuItems, { mobileParentMenuItem } from './applicationMenuItems';\n\nconst mobileNavigation = [mobileParentMenuItem];\n\nconst handleNestedItems = (subItem) => {\n const { subItems: nestedItems } = subItem;\n\n if (!isEmpty(nestedItems)) {\n // eslint-disable-next-line no-use-before-define\n mobileNavigation.push(transformNavItemToMobile(subItem));\n }\n};\n\n// TODO: Redesign this transformer if we find a better solution\nconst transformNavItemToMobile = ({\n id,\n goTo,\n title,\n parent,\n href,\n slug,\n breadcrumb,\n pages,\n betaFlag,\n roles,\n subItems = [],\n}) => {\n subItems.map(handleNestedItems);\n return pickBy(\n {\n id,\n goTo,\n title,\n parent,\n href,\n slug,\n breadcrumb,\n pages,\n betaFlag,\n roles,\n items: subItems.map(transformNavItemToMobile),\n },\n identity,\n );\n};\n\nmobileNavigation.push(...applicationMenuItems.map(transformNavItemToMobile));\n\nexport default mobileNavigation;\n","import { isEmpty, flow, map, groupBy, merge } from 'lodash';\n\nimport appMenuData from 'components/Navigation/menuData/mobileNavigationData';\nimport userMenuData from 'components/Navigation/menuData/mobileUserMenuItems';\nimport { childSlugs } from 'components/Navigation/menuData/slugs';\nimport { filterItemByUserRole } from 'components/Navigation/utils';\nimport { ROOT_BREADCRUMB } from 'components/Navigation/utils/constants';\nimport { fuzzyMatch } from 'utils/search';\n\n/* Replace page link with lock item link */\nfunction setLockedItem(item) {\n /** Replace Icon with Lock for locked item */\n item.icon = 'fas fa-lock-alt';\n item.isLocked = true;\n item.goTo = '';\n item.href = item.slugLink || item.href || `/${item.slug}`;\n}\n\n/**\n * Get all locked Items from Backend and remove them from menu data\n * */\nexport function removeLockedItemsForMenu(lockedItems, menuData = appMenuData) {\n let filteredItems = merge([], menuData);\n\n filteredItems = filterItemByUserRole(filteredItems);\n const menuWithSubproducts = [];\n\n filteredItems.forEach((menuItem) => {\n /** Removed items that is not enabled for current user role */\n menuItem.items = filterItemByUserRole(menuItem.items);\n\n /**\n * Remove items from menu that are locked.\n * If the item is locked but the menu has a subproduct inside\n * that is not locked, the item is not removed.\n */\n const itemChildSlugs = childSlugs[menuItem.slug];\n const menuSubproducts = itemChildSlugs && itemChildSlugs.filter((slug) => !lockedItems.includes(slug));\n if (lockedItems.includes(menuItem.slug)) {\n if (menuSubproducts && menuSubproducts.length) {\n menuWithSubproducts.push(menuItem.slug);\n } else {\n filteredItems = filteredItems.filter((initItem) => initItem.slug !== menuItem.slug);\n }\n }\n });\n\n filteredItems.forEach((menuItem) => {\n /** Set as locked if the item does not contain an enabled subproduct */\n menuItem.items.forEach((item) => {\n if (lockedItems.includes(item.slug) && !menuWithSubproducts.includes(item.goTo)) {\n setLockedItem(item);\n }\n });\n });\n\n return filteredItems;\n}\n\n/**\n * Find menu when click next + init\n * */\nexport function findMenuItemsById(activeId, enabledItems) {\n if (!isEmpty(activeId)) {\n return enabledItems.filter((item) => item.id === activeId);\n }\n\n return enabledItems;\n}\n\n/**\n * Find menu when user is typing in search application\n * */\nexport function findMenuBySearchValue(searchValue, enabledProducts) {\n const searchedItems = [];\n\n enabledProducts.forEach((dataItem) => {\n /** Iterate over nested items from menu data */\n dataItem.items.forEach((item) => {\n const isPresentSearchValueInTitle = fuzzyMatch(searchValue, item.title);\n\n if (isPresentSearchValueInTitle) {\n searchedItems.push({ groupValue: dataItem.id || '', ...item, groupTitle: dataItem.searchParentTitle });\n }\n });\n });\n\n /** For displaying data title + items (present only when is search by application) */\n const groupItemsByTitle = (allItems) => groupBy(allItems, (i) => i.groupValue);\n const transformFoundItems = (allItems) => map(\n allItems,\n (value, title) => ({ title, items: value }),\n );\n\n return flow([\n groupItemsByTitle,\n transformFoundItems,\n ])(searchedItems);\n}\n\nfunction filterIsLinkPresent(items, link) {\n return items && items.filter((item) => link && link.includes(item.href)).length > 0;\n}\n\nfunction findInsidePage(items, link) {\n return items && items.find((item) => {\n const linkPage = item.pages && item.pages\n .find((page) => page.linkMatcher.test(link));\n\n return linkPage;\n });\n}\n\nexport function findBreadcrumbs(link) {\n const foundItems = [];\n let insidePage = {};\n const fallbackBreadcrumb = { breadcrumb: ROOT_BREADCRUMB };\n\n [...appMenuData, ...userMenuData].forEach((data) => {\n const isFoundLink = filterIsLinkPresent(data.items, link);\n const isFoundHideItemsLink = filterIsLinkPresent(data.hideItems, link);\n const insidePageFound = findInsidePage(data.items, link);\n\n if (isFoundLink || isFoundHideItemsLink) {\n foundItems.push(data);\n }\n\n if (insidePageFound) {\n insidePage = insidePageFound;\n }\n });\n if (insidePage.breadcrumb) {\n return insidePage;\n }\n\n if (foundItems.length > 0 && foundItems[0].breadcrumb) {\n return foundItems[0];\n }\n\n return fallbackBreadcrumb;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"transitionContainer\":\"styles-module__transitionContainer___3Dwe1\",\"fullHeight\":\"styles-module__fullHeight___3ZqNQ\",\"transition\":\"styles-module__transition___1cFi2\",\"transitionOnEnter\":\"styles-module__transitionOnEnter___2TvTW\",\"transitionEntering\":\"styles-module__transitionEntering___3IS5p styles-module__transition___1cFi2 styles-module__transitionOnEnter___2TvTW\",\"transitionEnteringBack\":\"styles-module__transitionEnteringBack___2UUbp styles-module__transition___1cFi2 styles-module__transitionOnEnter___2TvTW\",\"transitionExiting\":\"styles-module__transitionExiting___jhOw3 styles-module__transition___1cFi2\",\"transitionExitingBack\":\"styles-module__transitionExitingBack___KpWGi styles-module__transition___1cFi2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___35yGY\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___2Tr-u\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___3vQWd\",\"container\":\"styles-module__container___LxUmH\",\"userMenu\":\"styles-module__userMenu___2a6kV\",\"userMenuActive\":\"styles-module__userMenuActive___2Brvj\",\"footerBar\":\"styles-module__footerBar___11rZM\",\"iconButton\":\"styles-module__iconButton___17H2S\"};","import { getLinkBreadcrumb } from 'components/Navigation/utils';\n\nimport titles from './titles';\n\nconst breadcrumbs = {\n hillDay: getLinkBreadcrumb(\n titles.advocacy.hillDay,\n '/hill_day/hill_days',\n ),\n stakeholderManagement: getLinkBreadcrumb(\n titles.people.stakeholderManagement,\n '/stakeholder_management/directory',\n ),\n advocates: getLinkBreadcrumb(\n titles.people.advocates,\n '/advocates',\n ),\n grm: getLinkBreadcrumb(\n titles.grm.title,\n '/grm',\n ),\n congressionalStaffers: getLinkBreadcrumb(\n titles.people.congressionalStaffers,\n '/federal/congressional_staffers',\n ),\n federalLegislators: getLinkBreadcrumb(\n titles.people.federalLegislators,\n '/federal/legislators',\n ),\n federalBills: getLinkBreadcrumb(\n titles.legislationAndRegulation.federalBills,\n '/federal/bills',\n ),\n stateBills: getLinkBreadcrumb(\n titles.legislationAndRegulation.stateBills,\n '/state/bills',\n ),\n stateLegislators: getLinkBreadcrumb(\n titles.people.stateLegislators,\n '/state/legislators',\n ),\n federalCommittees: getLinkBreadcrumb(\n titles.committees.federalCommittees,\n '/federal/committees',\n ),\n stateCommittees: getLinkBreadcrumb(\n titles.committees.stateCommittees,\n '/state/committees',\n ),\n stateStaffers: getLinkBreadcrumb(\n titles.people.stateStaffers,\n '/state/staffers',\n ),\n stateRegulations: getLinkBreadcrumb(\n titles.legislationAndRegulation.stateRegulations,\n '/state/regulations',\n ),\n individuals: getLinkBreadcrumb(\n titles.donorResearch.individuals,\n '/moneyball_v2/individuals/lookup',\n ),\n corporations: getLinkBreadcrumb(\n titles.donorResearch.corporations,\n '/moneyball_v2/corporations/lookup',\n ),\n committees: getLinkBreadcrumb(\n titles.donorResearch.committees,\n '/moneyball_v2/committees/lookup',\n ),\n candidates: getLinkBreadcrumb(\n titles.donorResearch.candidates,\n '/moneyball_v2/candidates/lookup',\n ),\n vendors: getLinkBreadcrumb(\n titles.donorResearch.vendors,\n '/moneyball_v2/vendors/lookup',\n ),\n};\n\nexport default breadcrumbs;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Link from 'components/core/Link';\n\nimport { trackHomeButtonClicked } from '../../utils/tracking';\nimport styles from './styles.module.scss';\n\nfunction HomeButton({ className, onClick }) {\n return (\n \n \n \n );\n}\n\nHomeButton.defaultProps = {\n onClick: trackHomeButtonClicked,\n};\n\nHomeButton.propTypes = {\n className: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nexport default HomeButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport { authorizeItemByRoleAndBetaFlag } from 'components/Navigation/utils';\nimport slugs from 'components/Navigation/menuData/slugs';\nimport DrillDown from 'components/Navigation/common/DrillDown';\nimport Loader from 'components/core/Loader';\nimport { isIOS } from 'utils/device';\n\nimport { menuItemShape } from '../utils/shapes';\nimport MenuItem from '../MenuItem';\nimport MenuTitle from '../MenuTitle';\nimport styles from './styles.module.scss';\n\nfunction MenuItemsList({\n menuItems,\n isBackItem,\n handleNavigateNext,\n parentTitle,\n disabledProducts,\n isLoading,\n startLoading,\n}) {\n const itemsContainerStyles = classNames(\n styles.itemsContainer,\n isIOS && styles.itemsContainerIphone,\n );\n\n if (isEmpty(menuItems)) {\n return null;\n }\n\n const { items, title, id } = menuItems[0];\n\n function getTitle() {\n if (title === slugs.parentMenu || isEmpty(title)) {\n return parentTitle;\n }\n\n return title;\n }\n\n function renderItem(menuItem, index) {\n const { slug } = menuItem;\n\n if (!authorizeItemByRoleAndBetaFlag(menuItem)) {\n return null;\n }\n\n return (\n \n );\n }\n\n return (\n \n
\n \n
\n {items.map(renderItem)}\n
\n\n {isLoading && (\n
\n \n
\n )}\n
\n
\n );\n}\n\nMenuItemsList.defaultProps = {\n parentTitle: 'Directory',\n isLoading: false,\n startLoading: () => {},\n};\n\nMenuItemsList.propTypes = {\n menuItems: PropTypes.arrayOf(menuItemShape),\n handleNavigateNext: PropTypes.func,\n isBackItem: PropTypes.bool.isRequired,\n parentTitle: PropTypes.string,\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ),\n isLoading: PropTypes.bool,\n startLoading: PropTypes.func,\n};\n\nexport default MenuItemsList;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport { closeFreshChat } from 'utils/freshchat';\n\nimport styles from './styles.module.scss';\n\nfunction MenuToggleButton({\n activeClassName,\n inactiveClassName,\n isActive,\n inactiveContent,\n onClick,\n isRound,\n isDisabled,\n ...restProps\n}) {\n const buttonClassNames = classNames(\n styles.baseButton,\n isRound && styles.round,\n isDisabled && styles.isDisabled,\n isActive\n ? [styles.activeButton, activeClassName]\n : inactiveClassName,\n );\n const handleClick = () => {\n closeFreshChat();\n onClick();\n };\n\n return (\n \n {isActive\n ? \"Close\n : inactiveContent}\n \n );\n}\n\nMenuToggleButton.defaultProps = {\n isRound: true,\n isDisabled: false,\n};\n\nMenuToggleButton.propTypes = {\n isActive: PropTypes.bool.isRequired,\n inactiveContent: PropTypes.node,\n onClick: PropTypes.func,\n activeClassName: PropTypes.string,\n inactiveClassName: PropTypes.string,\n isRound: PropTypes.bool,\n isDisabled: PropTypes.bool,\n};\n\nexport default MenuToggleButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction FooterBar({ children, className }) {\n return (\n \n );\n}\n\nFooterBar.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n\nexport default FooterBar;\n","import compact from 'lodash/compact';\n\nimport { GOVPREDICT_ADMIN, COMPANY_ADMIN } from 'components/Navigation/utils';\nimport {\n GENERAL_HELP_URL,\n} from 'components/core/HelpButton/components/TooltipContent/constants';\nimport { trackHelpCenterPageVisited } from 'utils/tracking';\nimport styles from 'components/Navigation/GlobalHeader/components/UserMenuButton/styles.module.scss';\n\nimport titles from './titles';\nimport paths from './paths';\n\nconst handleClick = visitedPage => () => {\n trackHelpCenterPageVisited(visitedPage);\n};\n\n// TODO: adjust once SSO is out of beta\nconst {\n isNotificationEnabled,\n isSSOEnabled,\n} = gon || {};\n\nconst userMenuItems = [\n compact([\n {\n title: titles.accountSettings.title,\n keepFontSize: true,\n subItems: [\n {\n title: titles.accountSettings.manageProfile,\n href: paths.accountSettings.manageProfile,\n },\n {\n title: titles.accountSettings.changePassword,\n href: paths.accountSettings.changePassword,\n },\n {\n title: titles.accountSettings.manageProfilePhoto,\n href: paths.accountSettings.manageProfilePhoto,\n },\n {\n title: titles.accountSettings.admin,\n href: paths.accountSettings.admin,\n roles: [GOVPREDICT_ADMIN],\n linkProps: {\n target: '_blank',\n rel: 'noopener noreferrer',\n },\n },\n {\n title: titles.accountSettings.logOut,\n href: paths.accountSettings.logOut,\n linkProps: {\n 'data-method': 'delete',\n rel: 'nofollow',\n },\n },\n ],\n },\n (isNotificationEnabled && {\n title: titles.help.title,\n keepFontSize: true,\n subItems: [\n {\n title: titles.help.generalHelp,\n href: GENERAL_HELP_URL,\n linkProps: {\n isExternal: true,\n displayExternalIcon: true,\n iconClassName: styles.externalLinkIcon,\n onClick: handleClick('general help'),\n },\n },\n ],\n }),\n ]),\n [\n {\n title: titles.organizationSettings.title,\n keepFontSize: true,\n subItems: [\n {\n title: titles.organizationSettings.manageOrganization,\n href: paths.organizationSettings.manageOrganization,\n },\n {\n title: titles.organizationSettings.users,\n href: paths.organizationSettings.users,\n },\n ...isSSOEnabled ? [{\n title: titles.organizationSettings.sso,\n href: paths.organizationSettings.sso,\n roles: [COMPANY_ADMIN],\n }] : [],\n {\n title: titles.organizationSettings.inviteUsers,\n href: paths.organizationSettings.inviteUsers,\n },\n {\n title: titles.organizationSettings.institutionalData,\n href: paths.organizationSettings.institutionalData,\n },\n ],\n },\n ],\n];\n\nexport default userMenuItems;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/map';\n\nimport MenuItem from '../../TooltipMenu/components/MenuItem';\nimport { menuItemShape } from '../../TooltipMenu/utils/shapes';\nimport styles from '../styles.module.scss';\n\nfunction MenuContent({ items }) {\n const [firstColumn, secondColumn] = items;\n\n const renderItem = (item, index) => (\n \n );\n\n return (\n
\n
{map(firstColumn, renderItem)}
\n {map(secondColumn, renderItem)}\n
\n );\n}\n\nMenuContent.propTypes = {\n items: PropTypes.arrayOf(PropTypes.arrayOf(menuItemShape)).isRequired,\n};\n\nexport default MenuContent;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport TippyTooltip from '@tippyjs/react';\n\nimport withNavigation from 'components/Navigation/utils/withNavigation';\nimport userMenuItems from 'components/Navigation/menuData/userMenuItems';\nimport Avatar from 'components/core/Avatar';\n\nimport { NAVIGATION_USER_PROFILE_IMG_ID } from '../../../utils/constants';\nimport { trackUserMenuOpened } from '../../utils/tracking';\nimport MenuContent from './MenuContent';\nimport styles from './styles.module.scss';\n\nexport function UserMenuButtonComponent({\n userImgPath,\n userName,\n onMenuOpen,\n}) {\n const userMenu = ;\n\n return (\n \n \n \n \n \n );\n}\n\nUserMenuButtonComponent.defaultProps = {\n onMenuOpen: trackUserMenuOpened,\n};\n\nUserMenuButtonComponent.propTypes = {\n userImgPath: PropTypes.string,\n userName: PropTypes.string.isRequired,\n onMenuOpen: PropTypes.func,\n};\n\nexport default withNavigation(UserMenuButtonComponent);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___qx4QW\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3xIEj\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___3IxHe\",\"globalHeaderWrapper\":\"styles-module__globalHeaderWrapper___R058C\",\"globalHeader\":\"styles-module__globalHeader___2fhIw\",\"leftContent\":\"styles-module__leftContent___LE1oo\",\"homeButton\":\"styles-module__homeButton___3oOZj\",\"rightContent\":\"styles-module__rightContent___3b7pg\",\"taskButton\":\"styles-module__taskButton___23mfD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___1EiAP\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___2R22N\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___14EJL\",\"transitionContainer\":\"styles-module__transitionContainer___PX2eA\",\"transition\":\"styles-module__transition___3wOjO\",\"searchTransitionEnteringBack\":\"styles-module__searchTransitionEnteringBack___iVEAf styles-module__transition___3wOjO\",\"transitionEnteringBack\":\"styles-module__transitionEnteringBack___1sDwt styles-module__transition___3wOjO\",\"searchTransitionExiting\":\"styles-module__searchTransitionExiting___1Zj3v styles-module__transition___3wOjO\",\"transitionExiting\":\"styles-module__transitionExiting___3tplC styles-module__transition___3wOjO\",\"transitionMobileEnteringBack\":\"styles-module__transitionMobileEnteringBack___OBRpz\",\"transitionMobileExiting\":\"styles-module__transitionMobileExiting___1FkwM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___bCOQ0\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3i-dI\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___tBqnd\",\"container\":\"styles-module__container___1eM0s\",\"itemsContainer\":\"styles-module__itemsContainer___28Fc4\",\"itemsContainerIphone\":\"styles-module__itemsContainerIphone___2Mmji\",\"menuItemContainer\":\"styles-module__menuItemContainer___2rzT1\",\"loadingOverlay\":\"styles-module__loadingOverlay___3fOtX\"};","import slugs from 'components/Navigation/menuData/slugs';\n\n/** Also modify in sidebar_placeholder.haml when change pinnedNavId */\nconst NAV_STATE_ID = 'navMenuState';\n\nexport function getNavStateItem() {\n return JSON.parse(sessionStorage.getItem(NAV_STATE_ID));\n}\n\nexport function setNavStateItem(menuId, navId) {\n const navState = {\n menuId: menuId || slugs.parentMenu,\n navId,\n };\n sessionStorage.setItem(NAV_STATE_ID, JSON.stringify(navState));\n}\n\nexport function deleteNavStateItem() {\n sessionStorage.removeItem(NAV_STATE_ID);\n}\n\nexport function resetNavStateToParent(menuId) {\n setNavStateItem(slugs.parentMenu, menuId);\n}\n","import slugs from './slugs';\nimport titles from './titles';\n\nconst mobileParentMenuItem = {\n id: slugs.parentMenu,\n items: [\n {\n title: titles.donorResearch.title,\n slug: slugs.donorResearch,\n goTo: slugs.donorResearch,\n },\n ],\n};\n\nexport default mobileParentMenuItem;\n","import donorResearch from './donorResearch';\nimport mobileParentMenuItem from './mobileParentMenuItem';\n\nconst applicationMenuItems = [\n donorResearch,\n];\n\nexport { mobileParentMenuItem };\nexport default applicationMenuItems;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"baseButton\":\"styles-module__baseButton___2EX0W\",\"activeButton\":\"styles-module__activeButton___flrBT\",\"isDisabled\":\"styles-module__isDisabled___1eBgH\",\"round\":\"styles-module__round___3Eb8r\"};","const titles = {\n people: {\n title: 'People',\n stakeholderManagement: 'Stakeholder management',\n advocates: 'Stakeholder management',\n congressionalStaffers: 'Congressional staffers',\n federalAgencyStaffers: 'Federal agency staffers',\n stateStaffers: 'State staffers',\n federalLegislators: 'Federal legislators',\n stateLegislators: 'State legislators',\n districtMap: 'District map',\n stateExecutives: 'State executives',\n localExecutives: 'Local executives',\n },\n legislationAndRegulation: {\n title: 'Legislation & regulation',\n shortTitle: 'Legs & regs',\n federalBills: 'Federal bills',\n stateBills: 'State bills',\n federalRegulations: 'Federal regulations',\n stateRegulations: 'State regulations',\n lobbyingLD2: 'Lobbying (LD-2)',\n lobbyingFARA: 'Lobbying (FARA)',\n legislatorSpreadsheetBuilder: 'Legislator spreadsheet builder',\n cosponsorsOracle: 'Cosponsors oracle',\n cosponsorshipSimilarities: 'Cosponsorship similarities',\n stateLegislatorBattingAverages: 'State legislator batting averages',\n stateSummaries: 'State summaries',\n },\n committees: {\n title: 'Committees',\n federalCommittees: 'Federal committees',\n stateCommittees: 'State committees',\n federalHearingsCalendar: 'Federal hearings calendar',\n stateHearingsCalendar: 'State hearings calendar',\n },\n documents: {\n title: 'Documents',\n federalDocuments: {\n title: 'Federal documents',\n agencyPressReleases: 'Agency press releases',\n appropriationsTracker: 'Appropriations tracker',\n cboCostEstimates: 'CBO cost estimates',\n committeeReports: 'Committee reports',\n congressionalPressReleases: 'Congressional press releases',\n congressionalRecordItems: 'Congressional record items',\n contracts: 'Contracts',\n crsReports: 'CRS reports',\n dearCollegeLetters: 'Dear Colleague letters',\n executiveOrders: 'Executive orders',\n gaoReports: 'GAO reports',\n grants: 'Grants',\n liveHearingTranscripts: 'Live hearing transcripts',\n officialHearingTranscripts: 'Official hearing transcripts',\n sapReports: 'SAP reports',\n stateOfTheUnionAddresses: 'State of the Union addresses',\n treatyDocuments: 'Treaty documents',\n thirdPartyReports: 'Third party reports',\n whiteHousePressBriefings: 'White House press briefings',\n },\n stateDocuments: {\n title: 'State documents',\n governorOrders: 'Governor orders',\n governorPressReleases: 'Governor press releases',\n globalDocumentSearch: 'Global document search',\n legacyGlobalDocumentSearch: 'Global document search (legacy)',\n },\n localDocuments: {\n title: 'Local documents',\n localDocuments: 'Local documents',\n },\n },\n\n donorResearch: {\n title: 'Donor research',\n pacRankings: 'PAC rankings',\n individuals: 'Individuals',\n corporations: 'Corporations',\n committees: 'Committees',\n candidates: 'Candidates',\n vendors: 'Vendors',\n receipts: 'Receipts',\n disbursements: 'Disbursements',\n smartSearch: 'Smart search',\n clusterbuckFirstQueue: 'Clusterbuck - first queue',\n clusterbuckSecondQueue: 'Clusterbuck - second queue',\n },\n advocacy: {\n title: 'Advocacy',\n grassrootsCampaigns: 'Grassroots campaigns',\n grassrootsReports: 'Grassroots reports',\n hillDay: 'Hill day',\n smsMarketing: 'SMS marketing',\n emailMarketing: 'Email marketing',\n publicTools: 'Public tools',\n },\n tracking: {\n title: 'Tracking',\n discovery: 'Discovery',\n trackingCenter: 'Tracking center',\n topics: 'Topics',\n news: 'News',\n myFeed: 'My feed',\n workspaces: 'Workspaces',\n },\n grm: {\n title: 'Activity',\n },\n globalSearch: {\n title: 'Global search',\n },\n accountSettings: {\n title: 'Account settings',\n manageProfile: 'Manage profile',\n changePassword: 'Change password',\n manageProfilePhoto: 'Manage profile photo',\n admin: 'Admin',\n logOut: 'Log out',\n },\n organizationSettings: {\n title: 'Organization settings',\n manageOrganization: 'Manage organization',\n users: 'Manage users',\n sso: 'Single Sign-On (SSO)',\n inviteUsers: 'Invite users',\n institutionalData: 'Institutional data',\n },\n help: {\n title: 'Help',\n generalHelp: 'General help',\n liveSupport: 'Live support',\n },\n myProfile: {\n title: 'My profile',\n manageProfile: 'Manage profile',\n changePassword: 'Change password',\n manageProfilePhoto: 'Manage profile photo',\n },\n};\n\nexport default titles;\n","import PropTypes from 'prop-types';\n\nconst menuLeafNodeShape = {\n title: PropTypes.string,\n href: PropTypes.string,\n description: PropTypes.string,\n slug: PropTypes.string,\n betaFlag: PropTypes.string,\n roles: PropTypes.arrayOf(PropTypes.string),\n};\n\nconst menuNodeShape = {\n title: PropTypes.string,\n};\n\nmenuNodeShape.subItems = PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape(menuLeafNodeShape),\n PropTypes.shape(menuNodeShape),\n ])\n);\n\nexport const menuItemShape = PropTypes.oneOfType([\n PropTypes.shape(menuLeafNodeShape),\n PropTypes.shape(menuNodeShape),\n]);\n","const slugs = {\n grassroots: 'grassroots',\n federal: 'federal',\n advocacy: 'advocacy',\n grm: 'grm',\n hillDay: 'hill_day',\n lobbyingResearch: 'lobbying_research',\n publicFacingTools: 'public_facing_tools',\n statePublicFacingTools: 'state_public_facing_tools',\n federalPublicFacingTools: 'federal_public_facing_tools',\n dashboard: 'dashboard',\n dashboardV2: 'dashboard_v2',\n local: 'local',\n moneyball: 'moneyball',\n moneyballV2: 'moneyball_v2',\n state: 'state',\n globalSearch: 'global_search',\n emailBlasts: 'email_blasts',\n smsMarketing: 'sms_marketing',\n parentMenu: 'parent',\n stakeholderManagement: 'stakeholder_management',\n advocates: 'stakeholder_management',\n federalStaffers: 'federal_staffers',\n stateRegulation: 'state_regulation',\n news: 'news',\n people: 'people',\n legislationAndRegulation: 'legislation_and_regulation',\n committees: 'committess',\n documents: 'documents',\n federalDocuments: 'federal_documents',\n stateDocuments: 'state_documents',\n localDocuments: 'local_documents',\n donorResearch: 'donor_research',\n tracking: 'tracking',\n trackingCenter: 'tracking_center',\n cosponsorshipSimilarities: 'cosponsorship_similarities',\n districtMap: 'district_map',\n myProfile: 'my_profile',\n organizationSettings: 'organization_settings',\n help: 'help',\n customFields: 'custom_fields',\n localExecutives: 'local_executives',\n};\n\nexport const childSlugs = {\n [slugs.dashboard]: [slugs.federalStaffers],\n [slugs.federal]: [slugs.federalStaffers],\n};\n\nexport default slugs;\n","import { PERMIT_MONEYBALL_CLUSTERBUCK } from 'components/Navigation/utils';\n\nimport breadcrumbs from './breadcrumbs';\nimport slugs from './slugs';\nimport applicationMenuTitles from './titles';\n\nconst { donorResearch: titles } = applicationMenuTitles;\n\nconst donorResearch = {\n id: slugs.donorResearch,\n parent: slugs.parentMenu,\n title: titles.title,\n breadcrumb: titles.title,\n columnsCount: 3,\n subItems: [\n {\n title: titles.pacRankings,\n href: '/moneyball_v2/pac-ranking/lookup',\n description: 'Compare PACs by sector, industry, and category',\n slug: slugs.moneyball,\n },\n {\n title: titles.individuals,\n href: '/moneyball_v2/individuals/lookup',\n description: 'Individual contributors from all sources',\n slug: slugs.moneyball,\n breadcrumb: breadcrumbs.individuals,\n pages: [\n {\n linkMatcher: /\\/moneyball_v2\\/individuals\\/(?!lookup)/,\n },\n ],\n },\n {\n title: titles.corporations,\n href: '/moneyball_v2/corporations/lookup',\n description: 'Corporate contributors from all sources',\n slug: slugs.moneyball,\n breadcrumb: breadcrumbs.corporations,\n pages: [\n {\n linkMatcher: /\\/moneyball_v2\\/corporations\\/(?!lookup)/,\n },\n ],\n },\n {\n title: titles.committees,\n href: '/moneyball_v2/committees/lookup',\n description: 'Committees registered with the FEC, IRS form 8872, and all 50 states',\n slug: slugs.moneyball,\n breadcrumb: breadcrumbs.committees,\n pages: [\n {\n linkMatcher: /\\/moneyball_v2\\/committees\\/(?!lookup)/,\n },\n ],\n },\n {\n title: titles.candidates,\n href: '/moneyball_v2/candidates/lookup',\n description: 'Candidates according to their affiliated committees',\n slug: slugs.moneyball,\n breadcrumb: breadcrumbs.candidates,\n pages: [\n {\n linkMatcher: /\\/moneyball_v2\\/candidates\\/(?!lookup)/,\n },\n ],\n },\n {\n title: titles.vendors,\n href: '/moneyball_v2/vendors/lookup',\n description: 'Entities receiving disbursements filed with the FEC',\n slug: slugs.moneyball,\n breadcrumb: breadcrumbs.vendors,\n pages: [\n {\n linkMatcher: /\\/moneyball_v2\\/vendors\\/(?!lookup)/,\n },\n ],\n },\n {\n title: titles.receipts,\n href: '/moneyball_v2/receipts/lookup',\n description: 'Unique receipts sourced from the FEC, IRS form 8872, and all 50 states',\n slug: slugs.moneyball,\n },\n {\n title: titles.disbursements,\n href: '/moneyball_v2/disbursements/lookup',\n description: 'Unique disbursements sourced from the FEC',\n slug: slugs.moneyball,\n },\n {\n title: titles.smartSearch,\n href: '/moneyball_v2/smart-search',\n description: 'Build lists of contributors or recipients using complex queries',\n slug: slugs.moneyball,\n },\n {\n title: titles.clusterbuckFirstQueue,\n href: '/moneyball_v2/clusterbuck/firstqueue/lookup',\n roles: [PERMIT_MONEYBALL_CLUSTERBUCK],\n },\n {\n title: titles.clusterbuckSecondQueue,\n href: '/moneyball_v2/clusterbuck/secondqueue/lookup',\n roles: [PERMIT_MONEYBALL_CLUSTERBUCK],\n },\n ],\n};\n\nexport default donorResearch;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { isEmpty, isFunction, includes } from 'lodash';\n\nimport Link from 'components/core/Link';\nimport withNavigation from 'components/Navigation/utils/withNavigation';\nimport { authorizeItemByRoleAndBetaFlag } from 'components/Navigation/utils';\nimport { isExternal } from 'utils/url';\n\nimport { menuItemShape } from '../../utils/shapes';\nimport styles from './styles.module.scss';\n\nfunction MenuItem({\n slug,\n title,\n href,\n linkProps,\n subItems,\n description,\n disabledProducts,\n roles,\n withDivider,\n columnsCount,\n withNestedLevel,\n keepFontSize,\n betaFlag,\n parentClassName,\n leafClassName,\n}) {\n if (!authorizeItemByRoleAndBetaFlag({ roles, betaFlag })) {\n return null;\n }\n\n const isDisabled = includes(disabledProducts, slug);\n\n const renderLeafNode = () => {\n const leafNodeClassNames = classNames(\n styles.leafNode,\n isDisabled && styles.disabled,\n keepFontSize && styles.keepFontSize,\n leafClassName,\n );\n\n let pageURL = href;\n\n if (isFunction(href)) {\n pageURL = href({ disabledProducts });\n }\n\n const isExternalUrl = isExternal(pageURL);\n const url = isDisabled && isExternalUrl ? null : pageURL;\n\n return (\n \n \n {isDisabled && }\n {title}\n \n\n {description && (\n \n {description}\n \n )}\n \n );\n };\n\n const renderSubItems = (subItem, columnIndex) => (\n \n );\n\n const subItemsGridClassNames = classNames(\n styles.subItemsGrid,\n withDivider && styles.withDivider,\n );\n\n const parentClassNames = classNames(\n styles.parentNode,\n (columnsCount > 1 && withNestedLevel) && styles.withNestedLevel,\n parentClassName,\n );\n\n const subItemsGridStyles = {\n columns: columnsCount,\n };\n\n const renderParentNode = () => (\n
\n \n {title}\n \n\n \n {subItems.map(renderSubItems)}\n
\n \n );\n\n if (isEmpty(subItems)) {\n return renderLeafNode();\n }\n\n return renderParentNode();\n}\n\nMenuItem.propTypes = {\n slug: PropTypes.string,\n title: PropTypes.string.isRequired,\n href: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n linkProps: PropTypes.shape({\n target: PropTypes.string,\n rel: PropTypes.string,\n }),\n subItems: PropTypes.arrayOf(menuItemShape),\n description: PropTypes.string,\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ),\n roles: PropTypes.arrayOf(PropTypes.string),\n withDivider: PropTypes.bool,\n withNestedLevel: PropTypes.bool,\n keepFontSize: PropTypes.bool,\n parentClassName: PropTypes.string,\n leafClassName: PropTypes.string,\n};\n\nexport default withNavigation(MenuItem);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport isFunction from 'lodash/isFunction';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport Link from 'components/core/Link';\nimport Highlighter from 'components/core/Highlighter';\n\nimport { menuItemShape } from '../utils/shapes';\nimport styles from './styles.module.scss';\n\nfunction MenuItem({\n item,\n searchValue,\n handleNavigateNext,\n className,\n textClassName,\n iconClassName,\n disabledProducts,\n onLinkClick,\n}) {\n const { title, href, linkProperties, goTo, icon, isLocked, onClick, isLeaf = false } = item;\n\n let pageUrl = href;\n if (isFunction(href)) {\n pageUrl = href({ disabledProducts });\n }\n\n const isLink = !isEmpty(pageUrl);\n const shouldRenderIcon = !isEmpty(icon) || !(isLink || isLeaf);\n\n function onClickItem() {\n isFunction(onClick) ? onClick() : handleNavigateNext(goTo);\n }\n\n function renderIcon() {\n if (!shouldRenderIcon) {\n return null;\n }\n\n const iconClasses = classNames(\n icon || 'far fa-level-down-alt',\n styles.icon,\n iconClassName,\n );\n\n return ;\n }\n\n function renderContent() {\n const textClassNames = classNames(\n styles.textContent,\n isLocked && styles.lockedText,\n !isEmpty(searchValue) && styles.noHighlight,\n textClassName,\n );\n\n const content = (\n <>\n
\n \n
\n {renderIcon()}\n \n );\n\n if (isLink) {\n return (\n \n {content}\n \n );\n }\n\n return (\n \n {content}\n \n );\n }\n\n return (\n
\n {renderContent()}\n
\n );\n}\n\nMenuItem.defaultProps = {\n onLinkClick: () => {},\n};\n\nMenuItem.propTypes = {\n item: menuItemShape.isRequired,\n handleNavigateNext: PropTypes.func.isRequired,\n searchValue: PropTypes.string,\n className: PropTypes.string,\n textClassName: PropTypes.string,\n iconClassName: PropTypes.string,\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ),\n onLinkClick: PropTypes.func,\n};\n\nexport default MenuItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction MenuTitle({ title, className }) {\n return (\n

\n {title}\n

\n );\n}\n\nMenuTitle.propTypes = {\n title: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nexport default MenuTitle;\n","import { useEffect, useState } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport {\n getNavStateItem,\n setNavStateItem,\n} from 'components/Navigation/utils/navStateItems';\nimport { APP_MENU } from 'components/Navigation/utils';\nimport slugs from 'components/Navigation/menuData/slugs';\nimport { closeFreshChat } from 'utils/freshchat';\n\nfunction useMenu({\n items,\n filterFunction,\n isInit = true,\n navId = APP_MENU,\n}) {\n const navStateItem = getNavStateItem();\n\n const [isBackItem, setIsBackItem] = useState(false);\n const [showReturnArrow, setShowReturnArrow] = useState(false);\n const [isBackHome, setIsBackHome] = useState(false);\n const [menuItems, setMenuItems] = useState([]);\n const [activeMenuId, setActiveMenuId] = useState(null);\n\n useEffect(() => {\n if (isInit) {\n if (navStateItem && (navStateItem.menuId === slugs.parentMenu)) {\n setIsBackHome(false);\n }\n\n /** Check if has saved state menu - open it */\n if (navStateItem && (navStateItem.navId === navId)) {\n setIsBackHome(true);\n setActiveMenuId(navStateItem.menuId);\n } else {\n setIsBackHome(false);\n setMenuItems(filterFunction(activeMenuId, items));\n }\n }\n }, []);\n\n useEffect(() => {\n if (activeMenuId) {\n setMenuItems(filterFunction(activeMenuId, items));\n setIsBackHome(true);\n }\n\n /** Track steps when changing menu */\n setNavStateItem(activeMenuId, navId);\n\n /** Remove pinned item when menu is home */\n if (activeMenuId === slugs.parentMenu) {\n setIsBackHome(false);\n }\n }, [activeMenuId]);\n\n function handleNavigateParent() {\n if (!isEmpty(menuItems)) {\n const { parent } = menuItems[0];\n\n setActiveMenuId(parent);\n setIsBackItem(true);\n closeFreshChat();\n }\n }\n\n function handleNavigateHome() {\n setActiveMenuId(slugs.parentMenu);\n setIsBackItem(true);\n closeFreshChat();\n }\n\n function handleNavigateItem(menuId) {\n setActiveMenuId(menuId);\n setIsBackItem(false);\n closeFreshChat();\n }\n\n return {\n isBackHome,\n setIsBackHome,\n menuItems,\n setMenuItems,\n activeMenuId,\n setActiveMenuId,\n isBackItem,\n setIsBackItem,\n showReturnArrow,\n setShowReturnArrow,\n handleNavigateParent,\n handleNavigateHome,\n handleNavigateItem,\n };\n}\n\nexport default useMenu;\n","import compact from 'lodash/compact';\n\nimport { GOVPREDICT_ADMIN, COMPANY_ADMIN } from 'components/Navigation/utils';\nimport {\n GENERAL_HELP_URL,\n} from 'components/core/HelpButton/components/TooltipContent/constants';\nimport { trackHelpCenterPageVisited } from 'utils/tracking';\nimport { openFreshChat } from 'utils/freshchat';\n\nimport titles from './titles';\nimport paths from './paths';\nimport slugs from './slugs';\n\nconst handleClick = visitedPage => () => {\n trackHelpCenterPageVisited(visitedPage);\n};\n\n// TODO: adjust once SSO is out of beta\nconst {\n isNotificationEnabled,\n isSSOEnabled,\n} = gon || {};\n\nconst mobileUserMenuItems = compact([\n {\n id: 'parent',\n items: [\n {\n title: titles.myProfile.title,\n goTo: slugs.myProfile,\n },\n {\n title: titles.organizationSettings.title,\n roles: [COMPANY_ADMIN],\n goTo: slugs.organizationSettings,\n },\n {\n title: 'Admin',\n roles: [GOVPREDICT_ADMIN],\n href: paths.accountSettings.admin,\n icon: 'fas fa-external-link',\n linkProperties: {\n target: '_blank',\n },\n },\n ...isNotificationEnabled ? [{\n title: titles.help.title,\n goTo: slugs.help,\n }] : [],\n {\n title: 'Log out',\n href: paths.accountSettings.logOut,\n linkProperties: {\n 'data-method': 'delete',\n rel: 'nofollow',\n },\n },\n ],\n },\n {\n id: slugs.myProfile,\n title: titles.myProfile.title,\n parent: 'parent',\n breadcrumb: titles.myProfile.title,\n items: [\n {\n title: titles.myProfile.manageProfile,\n href: paths.accountSettings.manageProfile,\n },\n {\n title: titles.myProfile.changePassword,\n href: paths.accountSettings.changePassword,\n },\n {\n title: titles.myProfile.manageProfilePhoto,\n href: paths.accountSettings.manageProfilePhoto,\n },\n ],\n },\n {\n id: slugs.organizationSettings,\n roles: [COMPANY_ADMIN],\n title: titles.organizationSettings.title,\n parent: 'parent',\n breadcrumb: titles.organizationSettings.title,\n items: [\n {\n title: titles.organizationSettings.manageOrganization,\n href: paths.organizationSettings.manageOrganization,\n },\n {\n title: titles.organizationSettings.users,\n href: paths.organizationSettings.users,\n },\n isSSOEnabled && {\n title: titles.organizationSettings.sso,\n href: paths.organizationSettings.sso,\n roles: [COMPANY_ADMIN],\n },\n {\n title: titles.organizationSettings.inviteUsers,\n href: paths.organizationSettings.inviteUsers,\n },\n {\n title: titles.organizationSettings.institutionalData,\n href: paths.organizationSettings.institutionalData,\n },\n ],\n },\n (isNotificationEnabled && {\n /*\n Investigate product specific help option\n front/components/core/HelpButton/components/TooltipContent/index.jsx:29\n */\n id: slugs.help,\n title: titles.help.title,\n parent: 'parent',\n breadcrumb: titles.help.title,\n items: [\n {\n title: titles.help.generalHelp,\n href: GENERAL_HELP_URL,\n linkProperties: {\n isExternal: true,\n onClick: handleClick('general help'),\n },\n },\n {\n title: titles.help.liveSupport,\n onClick: openFreshChat,\n isLeaf: true,\n },\n ],\n }),\n]);\n\nexport default mobileUserMenuItems;\n","import { useEffect, useState } from 'react';\n\nimport { APP_MENU } from './utils';\n\nfunction useNavigation() {\n const [appMenuTab, setAppMenuTab] = useState(null);\n const [isSearchMenu, setIsSearchMenu] = useState(false);\n const isMobilePage = /^\\/mobile/.test(window.location.pathname);\n\n const [isFirstPageLoad, setIsFirstPageLoad] = useState(true);\n\n useEffect(() => {\n const menuPlaceholder = document.getElementById('navigation-sidebar-placeholder');\n menuPlaceholder && menuPlaceholder.parentNode.removeChild(menuPlaceholder);\n }, []);\n\n function toggleAppMenu(currentSelectedTab) {\n currentSelectedTab === appMenuTab\n ? setAppMenuTab(null)\n : setAppMenuTab(currentSelectedTab);\n\n setIsFirstPageLoad(false);\n }\n\n function toggleSearchMenu() {\n setIsSearchMenu(!isSearchMenu);\n }\n\n return {\n appMenuTab,\n isMobilePage,\n isAppMenuOpen: isMobilePage || (appMenuTab === APP_MENU),\n isSearchMenu,\n setIsSearchMenu,\n isFirstPageLoad,\n setIsFirstPageLoad,\n toggleAppMenu,\n toggleSearchMenu,\n };\n}\n\nexport default useNavigation;\n","import slugs from './slugs';\n\nconst bannerMessages = {\n [slugs.grm]: 'Contact our Customer Success team to enable collaboration with your team across the app.',\n};\n\nexport default bannerMessages;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { menuItemShape } from './utils/shapes';\nimport MenuItem from './components/MenuItem';\nimport styles from './styles.module.scss';\n\nfunction TooltipMenu({\n items,\n withNestedLevel,\n columnsCount,\n className,\n}) {\n const renderItem = (item, index) => (\n \n );\n\n const columnsStyle = {\n columns: columnsCount,\n };\n\n return (\n \n {items.map(renderItem)}\n \n );\n}\n\nTooltipMenu.propTypes = {\n items: PropTypes.arrayOf(menuItemShape).isRequired,\n withNestedLevel: PropTypes.bool,\n columnsCount: PropTypes.number,\n className: PropTypes.string,\n};\n\nexport default TooltipMenu;\n","import isEmpty from 'lodash/isEmpty';\n\nfunction checkLinkMatchers(pages) {\n const { pathname: pathName } = window.location;\n\n return pages.some(\n ({ linkMatcher }) => pathName.match(linkMatcher)\n );\n}\n\nexport function checkActiveItem({ href, subItems, pages = [] }) {\n const { pathname: pathName } = window.location;\n\n if (!isEmpty(subItems)) {\n const isActiveItemFound = subItems.some(checkActiveItem);\n\n return isActiveItemFound;\n }\n\n const isSubPageActive = checkLinkMatchers(pages);\n\n const isItemActive = pathName === href;\n return isItemActive || isSubPageActive;\n}\n\nexport function getItemTitle({ title, shortTitle, isDesktopLarge }) {\n if (!shortTitle) {\n return title;\n }\n\n return isDesktopLarge ? title : shortTitle;\n}\n","import isEmpty from 'lodash/isEmpty';\n\nfunction useBarItem({ subItems, id, disabledProducts }) {\n const showBanner = disabledProducts.includes(id);\n const showMenuItems = !showBanner && !isEmpty(subItems);\n const showLinkOnly = !showBanner && !showMenuItems;\n\n return {\n showBanner,\n showLinkOnly,\n showMenuItems,\n };\n}\n\nexport default useBarItem;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport TippyTooltip from '@tippyjs/react';\n\nimport withNavigation from 'components/Navigation/utils/withNavigation';\nimport bannerMessages from 'components/Navigation/menuData/bannerMessage';\nimport Link from 'components/core/Link';\nimport Banner from 'components/core/Banner';\n\nimport { trackTopLevelItemClicked } from '../../utils/tracking';\nimport { menuItemShape } from '../TooltipMenu/utils/shapes';\nimport TooltipMenu from '../TooltipMenu';\nimport { checkActiveItem, getItemTitle } from './utils';\nimport useBarItem from './useBarItem';\nimport styles from './styles.module.scss';\n\nfunction NavigationBarItem({\n id,\n title,\n shortTitle,\n href,\n subItems,\n withNestedLevel,\n isDesktopLarge,\n columnsCount,\n mediumScreenColumnsCount,\n onItemClick,\n disabledProducts,\n}) {\n const isActiveItem = checkActiveItem({ href, subItems });\n\n const navigationBarItemClassNames = classNames(\n isActiveItem && styles.activeItem,\n styles.navigationBarItem\n );\n\n const itemTitle = getItemTitle({ title, shortTitle, isDesktopLarge });\n\n const handleItemClicked = () => onItemClick({ itemTitle });\n\n const itemProps = {\n 'data-title': itemTitle,\n };\n\n const itemMenuColumnsCount = (mediumScreenColumnsCount && !isDesktopLarge)\n ? mediumScreenColumnsCount\n : columnsCount;\n\n const {\n showLinkOnly,\n showBanner,\n } = useBarItem({ subItems, id, disabledProducts });\n\n if (showLinkOnly) {\n return (\n
\n \n {itemTitle}\n \n
\n );\n }\n\n const tooltipMenu = () => (\n \n );\n\n const tooltipBanner = () => (\n \n );\n\n const tooltipContent = showBanner\n ? tooltipBanner()\n : tooltipMenu();\n\n return (\n \n \n {itemTitle}\n \n \n );\n}\n\nNavigationBarItem.defaultProps = {\n onItemClick: trackTopLevelItemClicked,\n};\n\nNavigationBarItem.propTypes = {\n id: PropTypes.string,\n title: PropTypes.string,\n shortTitle: PropTypes.string,\n href: PropTypes.string,\n subItems: PropTypes.arrayOf(menuItemShape),\n isDesktopLarge: PropTypes.bool.isRequired,\n withNestedLevel: PropTypes.bool,\n columnsCount: PropTypes.number,\n mediumScreenColumnsCount: PropTypes.number,\n onItemClick: PropTypes.func,\n disabledProducts: PropTypes.arrayOf(PropTypes.string),\n};\n\nexport default withNavigation(NavigationBarItem);\n","import React from 'react';\n\nimport applicationMenuItems from 'components/Navigation/menuData/applicationMenuItems';\n\nimport NavigationBarItem from './NavigationBarItem';\nimport styles from './styles.module.scss';\n\nfunction NavigationBar() {\n const renderItem = (item, index) => (\n \n );\n\n return (\n
\n {applicationMenuItems.map(renderItem)}\n
\n );\n}\n\nexport default NavigationBar;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport withNavigation from 'components/Navigation/utils/withNavigation';\n\nimport HomeButton from './components/HomeButton';\nimport NavigationBar from './components/NavigationBar';\nimport UserMenuButton from './components/UserMenuButton';\nimport styles from './styles.module.scss';\n\nfunction GlobalHeader({ isDesktopLarge }) {\n const [isSearchDisplayed] = useState(false);\n\n const shouldDisplayDesktopNavBar = isDesktopLarge && !isSearchDisplayed;\n\n return (\n
\n
\n
\n \n\n {shouldDisplayDesktopNavBar && }\n
\n\n
\n\n \n
\n
\n {!isDesktopLarge && }\n
\n );\n}\n\nGlobalHeader.propTypes = {\n isDesktopLarge: PropTypes.bool.isRequired,\n};\n\nexport default withNavigation(GlobalHeader);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction Title({ title, isBackHome, setIsBackHome, onClickTitle }) {\n const onClickBackHome = () => {\n onClickTitle('parent');\n setIsBackHome(false);\n };\n\n return (\n
\n

{title}

\n { isBackHome && (\n \n \n \n ) }\n
\n );\n}\n\nTitle.propTypes = {\n title: PropTypes.string,\n isBackHome: PropTypes.bool,\n setIsBackHome: PropTypes.func,\n onClickTitle: PropTypes.func,\n};\n\nexport default Title;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.module.scss';\n\nfunction NotFoundResults({ children }) {\n return (\n
\n
\n {children}\n
\n
\n );\n}\n\nexport default NotFoundResults;\n\nNotFoundResults.propTypes = {\n children: PropTypes.node,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Highlighter from 'components/core/Highlighter';\nimport NotFoundResults from 'components/Navigation/common/NotFoundResults';\n\nimport styles from './styles.module.scss';\n\nfunction List({ items, highlightValue, isSearching }) {\n const NotFoundText = (\n
\n \"Search\n

Looking for something ?

\n

Use the search bar above to find federal bills, committees, and legislators.

\n
\n );\n\n const Items = items.map(item => (\n
  • \n \n \n \n {item.type}\n \n \n
  • \n ));\n\n const ListItems = (\n
      \n {Items}\n
    \n );\n\n return isSearching ? ListItems : {NotFoundText};\n}\n\nList.propTypes = {\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n link: PropTypes.string,\n type: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n highlightValue: PropTypes.string,\n isSearching: PropTypes.bool,\n};\n\nexport default List;\n","/* eslint-disable jsx-a11y/no-autofocus */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport styles from './styles.module.scss';\n\nconst ENTER_KEY = 13;\n\nfunction SearchInput({ name, value, placeholder, onChange, onClickSearch }) {\n function onInputChange(event) {\n onChange(event.target.value);\n }\n\n function onEnterClick(event) {\n event.keyCode === ENTER_KEY && onClickSearch();\n }\n\n return (\n
    \n
    \n \n \n
    \n
    \n );\n}\n\nSearchInput.propTypes = {\n name: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onClickSearch: PropTypes.func.isRequired,\n};\n\nexport default SearchInput;\n","import { useState } from 'react';\nimport { filterGlobalFunction } from 'components/Navigation/QuickSearch/utils';\n\nfunction useQuickSearch() {\n const [items, setItems] = useState([]);\n const [searchValue, setSearchValue] = useState('');\n\n const [isLoading, setIsLoading] = useState(false);\n const [isSearching, setIsSearching] = useState(false);\n\n function onChangeValue(value) {\n setIsSearching(false);\n setSearchValue(value);\n }\n\n function onClickSearch() {\n setIsLoading(true);\n setIsSearching(true);\n\n filterGlobalFunction(searchValue, setIsLoading, setItems);\n }\n\n function onClearValue() {\n setSearchValue('');\n setIsSearching(false);\n }\n\n return {\n items,\n searchValue,\n isLoading,\n isSearching,\n setIsSearching,\n onChangeValue,\n onClickSearch,\n onClearValue,\n };\n}\n\nexport default useQuickSearch;\n","import fetcher from 'utils/fetcher';\nimport { DEFAULT_DEBOUNCE_TIME } from 'utils/constants/intervals';\n\nexport function filterGlobalFunction(inputValue, setIsLoading, onFilterSuccess) {\n function onSuccess(data) {\n onFilterSuccess(data);\n setIsLoading(false);\n }\n\n if (inputValue) {\n fetcher({\n asyncDelay: DEFAULT_DEBOUNCE_TIME,\n inputText: inputValue,\n onSuccess,\n strategySlug: 'general_autocomplete',\n reverseSearch: false,\n });\n } else {\n /** Reset search values when empty input value */\n onSuccess([]);\n setIsLoading(false);\n }\n}\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Loader from 'components/core/Loader';\nimport Title from 'components/Navigation/common/Title';\nimport List from 'components/Navigation/QuickSearch/List';\nimport SearchInput from 'components/Navigation/QuickSearch/SearchInput';\nimport useQuickSearch from 'components/Navigation/QuickSearch/useQuickSearch';\n\nimport styles from './styles.module.scss';\n\nfunction QuickSearchMenu({ onClose }) {\n const {\n items,\n searchValue,\n isLoading,\n isSearching,\n setIsSearching,\n onChangeValue,\n onClickSearch,\n onClearValue,\n } = useQuickSearch();\n\n const FoundNumberItems = !isLoading && isSearching && (\n

    \n {items.length === 0\n ? 'No results found'\n : `Displaying ${items.length} results for '${searchValue}'`}\n\n \n

    \n );\n\n const FoundResults = isLoading\n ? \n : (\n \n );\n\n return (\n \n
    \n
    \n \n \n </div>\n\n <SearchInput\n name=\"global-search\"\n placeholder=\"Search for federal bills, committees, and legislators\"\n value={searchValue}\n onChange={onChangeValue}\n onClickSearch={onClickSearch}\n />\n {FoundNumberItems}\n </div>\n\n <div className={styles.middleMenu}>{FoundResults}</div>\n </Fragment>\n );\n}\n\nQuickSearchMenu.propTypes = {\n onClose: PropTypes.func.isRequired,\n};\n\nexport default QuickSearchMenu;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport NotFoundResults from 'components/Navigation/common/NotFoundResults';\nimport withMenuItems from 'components/Navigation/MobileView/utils/withMenuItems';\nimport MenuItemsList from 'components/Navigation/MobileView/common/MenuItemsList';\nimport MenuTitle from 'components/Navigation/MobileView/common/MenuTitle';\nimport MenuItem from 'components/Navigation/MobileView/common/MenuItem';\nimport DrillDown from 'components/Navigation/common/DrillDown';\n\nimport styles from './styles.module.scss';\n\nfunction SearchMenu({\n searchValue,\n menuItems,\n isInitItemStep,\n getFoundItemsTitle,\n getParentTitle,\n isBackItem,\n handleNavigateNext,\n disabledProducts,\n}) {\n if (isEmpty(menuItems)) {\n return (\n <div className={styles.container}>\n <NotFoundResults>\n No results found for <b>{searchValue}</b>\n </NotFoundResults>\n </div>\n );\n }\n\n /* User is navigating in a submenu of the listed menus on search */\n if (!isInitItemStep) {\n return (\n <MenuItemsList\n isBackItem={isBackItem}\n menuItems={menuItems}\n handleNavigateNext={handleNavigateNext}\n disabledProducts={disabledProducts}\n />\n );\n }\n\n function renderChildItem(item, index) {\n return (\n <MenuItem\n key={`${item.id}-${index}`}\n item={item}\n searchValue={searchValue}\n handleNavigateNext={handleNavigateNext}\n className={styles.menuItem}\n textClassName={styles.menuItemText}\n iconClassName={styles.icon}\n disabledProducts={disabledProducts}\n />\n );\n }\n\n function renderMenuItem(menuItem, index) {\n const { items = [], title } = menuItem;\n const parentTitle = getParentTitle(title);\n const isFirst = index === 0;\n\n return (\n <Fragment key={`menuItem-${index}`}>\n {parentTitle && (\n <div className={classNames(styles.parentTitle, !isFirst && styles.parentOffset)}>\n {parentTitle}\n </div>\n )}\n {items.map(renderChildItem)}\n </Fragment>\n );\n }\n\n const { id } = menuItems[0] || {};\n\n return (\n <DrillDown isFullHeight id={id} isBackDirection={isBackItem}>\n <div className={styles.container}>\n <MenuTitle title={getFoundItemsTitle()} />\n {menuItems.map(renderMenuItem)}\n </div>\n </DrillDown>\n );\n}\n\nSearchMenu.propTypes = {\n isInitItemStep: PropTypes.bool.isRequired,\n searchValue: PropTypes.string.isRequired,\n getFoundItemsTitle: PropTypes.func.isRequired,\n getParentTitle: PropTypes.func.isRequired,\n handleNavigateNext: PropTypes.func.isRequired,\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n goTo: PropTypes.string,\n groupTitle: PropTypes.string,\n groupValue: PropTypes.string,\n slug: PropTypes.string,\n title: PropTypes.string,\n }),\n ),\n }),\n ),\n isBackItem: PropTypes.bool.isRequired,\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ).isRequired,\n};\n\nexport default withMenuItems(SearchMenu);\n","import React, { useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Input from 'components/core/Input';\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\nimport withMenuItems from 'components/Navigation/MobileView/utils/withMenuItems';\nimport MenuItemsList from 'components/Navigation/MobileView/common/MenuItemsList';\nimport HelpButton from 'components/core/HelpButton';\nimport Notifications from 'components/core/Notifications';\nimport { NAVIGATION_NOTIFICATIONS_DOM_ID } from 'components/core/Notifications/utils/constants';\n\nimport { menuItemShape } from '../../common/utils/shapes';\nimport SearchMenuList from '../SearchMenuList';\nimport styles from './styles.module.scss';\n\nfunction ActiveMenu({\n menuItems,\n isBackItem,\n searchValue,\n isSearching,\n isLoadingSearch,\n onChangeSearch,\n onClearSearch,\n handleNavigateNext,\n isMobilePage,\n disabledProducts,\n isLoading,\n startLoading,\n stopLoading,\n}) {\n const { isNotificationEnabled = false } = gon || {}; // TODO: adjust once notifications is out of beta\n const appMenuId = 'appMenu';\n const parentSelector = () => document.getElementById(appMenuId);\n\n function handleChange(event) {\n const { value } = event.target;\n\n onChangeSearch(value);\n }\n\n function renderContent() {\n if (isSearching) {\n return isLoadingSearch\n ? <Loader />\n : <SearchMenuList />;\n }\n\n return (\n <MenuItemsList\n menuItems={menuItems}\n isBackItem={isBackItem}\n handleNavigateNext={handleNavigateNext}\n disabledProducts={disabledProducts}\n isLoading={isLoading}\n startLoading={startLoading}\n stopLoading={stopLoading}\n />\n );\n }\n\n const onPageShow = useCallback((event) => {\n if (event.persisted) {\n stopLoading();\n }\n }, []);\n\n useEffect(() => {\n window.addEventListener('pageshow', onPageShow);\n\n return () => window.removeEventListener('pageshow', onPageShow);\n }, []);\n\n return (\n <div id={appMenuId} className={styles.container}>\n <header className={styles.searchHeader}>\n <a href=\"/\">\n <img className={styles.logo} src=\"/images/intelligence-icon-dark.png\" alt=\"Intelligence logo\" />\n </a>\n <div className={styles.inputContainer}>\n <Input\n value={searchValue}\n onChange={handleChange}\n className={styles.input}\n placeholder=\"Search by application name\"\n />\n {isSearching && (\n <Button onClick={onClearSearch} className={styles.cleanInputButton} theme=\"light\">\n <i className=\"fas fa-times\" />\n </Button>\n )}\n </div>\n\n {isNotificationEnabled\n ? (\n <Notifications\n id={NAVIGATION_NOTIFICATIONS_DOM_ID}\n parentSelector={parentSelector}\n isMobile\n withPortal\n />\n )\n : <HelpButton isMobile />}\n </header>\n <section className={classNames(styles.navSection, isMobilePage && styles.withoutFooter)}>\n {renderContent()}\n </section>\n </div>\n );\n}\n\nActiveMenu.propTypes = {\n onChangeSearch: PropTypes.func.isRequired,\n onClearSearch: PropTypes.func.isRequired,\n isSearching: PropTypes.bool.isRequired,\n isLoadingSearch: PropTypes.bool.isRequired,\n isMobilePage: PropTypes.bool.isRequired,\n handleNavigateNext: PropTypes.func.isRequired,\n menuItems: PropTypes.arrayOf(menuItemShape),\n isBackItem: PropTypes.bool,\n searchValue: PropTypes.string,\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ).isRequired,\n isLoading: PropTypes.bool.isRequired,\n startLoading: PropTypes.func.isRequired,\n stopLoading: PropTypes.func.isRequired,\n};\n\nexport default withMenuItems(ActiveMenu);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport MenuTransition from 'components/Navigation/common/MenuTransition';\n\nimport ActiveMenu from './ActiveMenu';\nimport styles from './styles.module.scss';\n\nfunction ApplicationMenu({ isAppMenuOpen, disabledProducts, isFirstPageLoad }) {\n const transitionMenuId = isAppMenuOpen ? 'openId' : 'closedId';\n\n const appMenuSectionClassNames = classNames(\n styles.appMenu,\n isAppMenuOpen && styles.appMenuActive,\n );\n\n return (\n <MenuTransition id={transitionMenuId} enable={!isFirstPageLoad}>\n <section id=\"app-menu\" className={appMenuSectionClassNames}>\n <ActiveMenu disabledProducts={disabledProducts} />\n </section>\n </MenuTransition>\n );\n}\n\nApplicationMenu.propTypes = {\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ),\n isFirstPageLoad: PropTypes.bool.isRequired,\n isAppMenuOpen: PropTypes.bool.isRequired,\n};\n\nexport default ApplicationMenu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport MenuToggleButton from 'components/Navigation/MenuToggleButton';\nimport withMenuItems from 'components/Navigation/MobileView/utils/withMenuItems';\n\nimport styles from '../../styles.module.scss';\n\nfunction OpenMenuBar({\n showReturnArrow,\n isBackHome,\n handleNavigateBack,\n handleNavigateHome,\n toggleNavigationMenu,\n isSearching,\n isMobilePage,\n isLoading,\n}) {\n const displayBackButton = showReturnArrow || isBackHome;\n const displayHomeButton = !isSearching && isBackHome;\n const commonProps = { theme: 'light', className: styles.iconButton };\n\n return (\n <>\n {isLoading && <div className={styles.loadingOverlay} />}\n <div className={styles.openMenuContainer}>\n <div className={styles.baseItem}>\n {displayBackButton && (\n <Button\n {...commonProps}\n data-spec=\"nav-back-button\"\n onClick={handleNavigateBack}\n >\n <i className=\"fas fa-arrow-left\" />\n </Button>\n )}\n </div>\n <div className={styles.baseItem}>\n {displayHomeButton && (\n <Button\n {...commonProps}\n data-spec=\"nav-home-button\"\n onClick={handleNavigateHome}\n >\n <i className=\"fas fa-home\" />\n </Button>\n )}\n </div>\n <MenuToggleButton\n isActive={!isMobilePage}\n onClick={toggleNavigationMenu}\n disabled={isLoading}\n />\n </div>\n </>\n );\n}\n\nOpenMenuBar.propTypes = {\n toggleNavigationMenu: PropTypes.func.isRequired,\n isBackHome: PropTypes.bool.isRequired,\n showReturnArrow: PropTypes.bool.isRequired,\n handleNavigateBack: PropTypes.func.isRequired,\n handleNavigateHome: PropTypes.func.isRequired,\n isSearching: PropTypes.bool.isRequired,\n isMobilePage: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n};\n\nexport default withMenuItems(OpenMenuBar);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport { NewNoteForNavigation } from 'components/Grm2';\nimport GlobalSearch from 'components/GlobalSearch';\nimport useModal from 'components/core/Modal/useModal';\n\nimport styles from '../../styles.module.scss';\n\nfunction handleNavigateBack() {\n window.history.back();\n}\n\nfunction ClosedMenuBar({\n toggleNavigationMenu,\n historyLength,\n onNavigateBack,\n disabledProducts,\n}) {\n const {\n isOpenModal: isGlobalSearchOpen,\n closeModal: closeGlobalSearch,\n } = useModal();\n\n const hasPreviousPage = historyLength > 1;\n\n return (\n <div className={styles.closedMenuContainer}>\n <Button\n className={styles.menu}\n onClick={toggleNavigationMenu}\n theme=\"light\"\n >\n <img\n className={styles.iconImg}\n src=\"/mobile-app-icon.svg\"\n alt=\"Menu\"\n />\n </Button>\n\n <NewNoteForNavigation />\n\n {hasPreviousPage && (\n <Button onClick={onNavigateBack} className={styles.iconButton} theme=\"light\">\n <i className=\"fas fa-arrow-left\" />\n </Button>\n )}\n\n {isGlobalSearchOpen && (\n <GlobalSearch\n disabledProducts={disabledProducts}\n closeGlobalSearch={closeGlobalSearch}\n className={styles.globalQuickSearch}\n />\n )}\n </div>\n );\n}\n\nClosedMenuBar.defaultProps = {\n historyLength: window.history.length,\n onNavigateBack: handleNavigateBack,\n};\n\nClosedMenuBar.propTypes = {\n historyLength: PropTypes.number,\n onNavigateBack: PropTypes.func,\n toggleNavigationMenu: PropTypes.func.isRequired,\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ).isRequired,\n};\n\nexport default ClosedMenuBar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport FooterBar from 'components/Navigation/MobileView/common/FooterBar';\n\nimport OpenMenuBar from './components/OpenMenuBar';\nimport ClosedMenuBar from './components/ClosedMenuBar';\n\nfunction NavigationBar({ isAppMenuOpen, disabledProducts, ...restProps }) {\n const renderFooterContent = () => {\n if (isAppMenuOpen) {\n return <OpenMenuBar {...restProps} />;\n }\n\n return (\n <ClosedMenuBar\n disabledProducts={disabledProducts}\n {...restProps}\n />\n );\n };\n\n return (\n <FooterBar>\n {renderFooterContent()}\n </FooterBar>\n );\n}\n\nNavigationBar.propTypes = {\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ).isRequired,\n isAppMenuOpen: PropTypes.bool.isRequired,\n};\n\nexport default NavigationBar;\n","import { useState, useEffect } from 'react';\nimport useDebounce from 'components/DelayedInput/useDebounce';\n\nfunction useSearchInput() {\n const [isLoading, setIsLoading] = useState(false);\n const [searchInput, setSearchInput] = useState('');\n const searchDebounceInput = useDebounce(searchInput);\n\n useEffect(() => {\n const isTheSameInput = searchInput === searchDebounceInput;\n isTheSameInput && setIsLoading(false);\n }, [searchDebounceInput, searchInput]);\n\n function onChangeValue(value) {\n setSearchInput(value);\n setIsLoading(true);\n }\n\n return {\n isLoading,\n setIsLoading,\n searchInput,\n searchDebounceInput,\n setSearchInput,\n onChangeValue,\n };\n}\n\nexport default useSearchInput;\n","import { useEffect, useState } from 'react';\nimport startCase from 'lodash/startCase';\nimport slugs from 'components/Navigation/menuData/slugs';\n\nimport { findMenuBySearchValue } from 'components/Navigation/MobileView/utils';\nimport { APP_MENU } from 'components/Navigation/utils';\nimport { resetNavStateToParent } from 'components/Navigation/utils/navStateItems';\n\n/** List items = Format title from id - transform snake case to sentence case */\nfunction getParentTitle(title) {\n const titles = (title && title.split('-').filter((text) => text !== 'parent')) || [];\n\n return titles.map((t) => startCase(t)).join(' / ') || null;\n}\n\nfunction useSearchMenuSteps(\n searchValue,\n setSearchValue,\n enabledItems,\n menuProps,\n) {\n /** For tracking next/back steps */\n const itemStepsInitial = [{ step: 0, id: searchValue }];\n const [itemSteps, setItemSteps] = useState(itemStepsInitial);\n const [initStep, setInitStep] = useState(true);\n const itemStepsLength = itemSteps.length - 1;\n const isInitItemStep = itemStepsLength === 0;\n\n const {\n menuItems,\n setMenuItems,\n activeMenuId,\n setActiveMenuId,\n isBackItem,\n setIsBackItem,\n handleNavigateParent,\n setShowReturnArrow,\n } = menuProps;\n\n function setSearchMenuItems() {\n const foundMenuItems = findMenuBySearchValue(searchValue, enabledItems);\n\n setActiveMenuId(null);\n setMenuItems(foundMenuItems);\n resetNavStateToParent(APP_MENU);\n }\n\n function resetMenuStateParent() {\n setActiveMenuId(slugs.parentMenu);\n }\n\n useEffect(() => {\n if (searchValue) {\n isInitItemStep && setSearchMenuItems();\n setInitStep(isInitItemStep);\n }\n }, [isInitItemStep]);\n\n useEffect(() => {\n if (searchValue) {\n setShowReturnArrow(true);\n setSearchMenuItems();\n setItemSteps(itemStepsInitial);\n } else {\n const [firstItem] = itemSteps;\n // previous search value, reset only if user was searching\n if (firstItem.id) {\n resetMenuStateParent();\n }\n\n setShowReturnArrow(false);\n }\n }, [searchValue]);\n\n function goToNextMenu(menuId) {\n const nextStep = { step: (itemStepsLength) + 1, id: menuId };\n\n setActiveMenuId(menuId);\n setItemSteps((prevState) => ([...prevState, nextStep]));\n setIsBackItem(false);\n }\n\n function goToBackMenu() {\n if (isInitItemStep) {\n /** Reset Menu - All parent items */\n setSearchValue('');\n resetMenuStateParent();\n } else {\n setItemSteps((prevState) => prevState.slice(0, -1));\n handleNavigateParent();\n }\n\n setIsBackItem(true);\n }\n\n /** Display found items title */\n function getFoundItemsTitle() {\n if (!initStep) {\n return menuItems[0].title;\n }\n\n let foundItemsLength = 0;\n menuItems.forEach((menu) => { foundItemsLength += menu.items.length; });\n\n return `${foundItemsLength} results`;\n }\n\n return {\n isInitItemStep,\n activeMenuId,\n menuItems,\n isBackItem,\n setIsBackItem,\n goToNextMenu,\n goToBackMenu,\n getParentTitle,\n getFoundItemsTitle,\n };\n}\n\nexport default useSearchMenuSteps;\n","import { useEffect } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useMenu from 'components/Navigation/utils/useMenu';\nimport useSearchInput from 'components/Navigation/utils/useSearchInput';\nimport useSearchMenuSteps from 'components/Navigation/utils/useSearchMenuSteps';\nimport { findMenuItemsById, removeLockedItemsForMenu } from 'components/Navigation/MobileView/utils';\nimport { APP_MENU } from 'components/Navigation/utils/index';\n\nfunction useMobileNavigation({\n disabledProducts,\n toggleAppMenu,\n isAppMenuOpen,\n}) {\n const filteredItems = removeLockedItemsForMenu(disabledProducts);\n const { searchInput, isLoading, onChangeValue } = useSearchInput();\n const isSearching = !isEmpty(searchInput);\n const menuProps = useMenu({\n items: filteredItems,\n filterFunction: findMenuItemsById,\n });\n\n const {\n isInitItemStep,\n goToNextMenu,\n goToBackMenu,\n getParentTitle,\n getFoundItemsTitle,\n } = useSearchMenuSteps(searchInput, onChangeValue, filteredItems, menuProps);\n\n const { handleNavigateParent, handleNavigateItem } = menuProps;\n\n function handleNavigateNext(menuId) {\n return isSearching\n ? goToNextMenu(menuId)\n : handleNavigateItem(menuId);\n }\n\n function handleNavigateBack() {\n return isSearching\n ? goToBackMenu()\n : handleNavigateParent();\n }\n\n function handleClearSearch() {\n onChangeValue('');\n }\n\n function toggleNavigationMenu() {\n toggleAppMenu(APP_MENU);\n }\n\n useEffect(() => {\n isAppMenuOpen && handleClearSearch();\n }, [isAppMenuOpen]);\n\n return {\n ...menuProps,\n isSearching,\n searchValue: searchInput,\n onChangeSearch: onChangeValue,\n isLoadingSearch: isLoading,\n onClearSearch: handleClearSearch,\n handleNavigateNext,\n handleNavigateBack,\n getParentTitle,\n getFoundItemsTitle,\n isInitItemStep,\n filteredItems,\n toggleNavigationMenu,\n };\n}\n\nexport default useMobileNavigation;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport useLoader from 'utils/useLoader';\nimport withNavigation from 'components/Navigation/utils/withNavigation';\nimport QuickSearchMenu from 'components/Navigation/QuickSearch';\nimport MenuTransition from 'components/Navigation/common/MenuTransition';\n\nimport ApplicationMenu from './ApplicationMenu';\nimport NavigationBar from './ApplicationMenu/NavigationBar';\nimport { MenuItemsContext } from './utils/withMenuItems';\nimport useMobileNavigation from './utils/useMobileNavigation';\nimport styles from './styles.module.scss';\n\nfunction MobileView({\n isSearchMenu,\n isMobilePage,\n isAppMenuOpen,\n disabledProducts,\n isFirstPageLoad,\n toggleAppMenu,\n toggleSearchMenu,\n}) {\n const { isLoading, startLoading, stopLoading } = useLoader();\n\n const {\n isSearching,\n onChangeSearch,\n isLoadingSearch,\n onClearSearch,\n handleNavigateNext,\n handleNavigateBack,\n getParentTitle,\n getFoundItemsTitle,\n isInitItemStep,\n filteredItems,\n toggleNavigationMenu,\n ...menuProps\n } = useMobileNavigation({\n disabledProducts,\n toggleAppMenu,\n isAppMenuOpen,\n });\n\n const context = {\n ...menuProps,\n disabledProducts,\n isSearching,\n onChangeSearch,\n isLoadingSearch,\n onClearSearch,\n handleNavigateNext,\n handleNavigateBack,\n getParentTitle,\n getFoundItemsTitle,\n isInitItemStep,\n filteredItems,\n isMobilePage,\n toggleNavigationMenu,\n isLoading,\n startLoading,\n stopLoading,\n };\n\n const searchMenuClassNames = classNames(\n styles.searchMenu,\n isSearchMenu && styles.searchMenuActive,\n );\n\n const showNavigationBar = !isMobilePage || menuProps.isBackHome;\n\n return (\n <MenuItemsContext.Provider value={context}>\n {showNavigationBar && (\n <NavigationBar\n isAppMenuOpen={isAppMenuOpen}\n toggleSearchMenu={toggleSearchMenu}\n toggleNavigationMenu={toggleNavigationMenu}\n isMobilePage={isMobilePage}\n disabledProducts={disabledProducts}\n />\n )}\n\n <ApplicationMenu\n isAppMenuOpen={isAppMenuOpen}\n disabledProducts={disabledProducts}\n isFirstPageLoad={isFirstPageLoad}\n />\n\n <MenuTransition id={`search${isSearchMenu}`} isSearchMenu>\n <section id=\"search-menu\" className={searchMenuClassNames}>\n {isSearchMenu && <QuickSearchMenu onClose={toggleSearchMenu} />}\n </section>\n </MenuTransition>\n </MenuItemsContext.Provider>\n );\n}\n\nMobileView.propTypes = {\n toggleAppMenu: PropTypes.func.isRequired,\n toggleSearchMenu: PropTypes.func.isRequired,\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ).isRequired,\n isSearchMenu: PropTypes.bool.isRequired,\n isFirstPageLoad: PropTypes.bool.isRequired,\n isAppMenuOpen: PropTypes.bool.isRequired,\n isMobilePage: PropTypes.bool.isRequired,\n};\n\nexport default withNavigation(MobileView);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport { NavigationContext } from './utils/navContext';\nimport useNavigation from './useNavigation';\nimport GlobalHeader from './GlobalHeader';\nimport MobileView from './MobileView';\n\nimport styles from './styles.module.scss';\n\nfunction Navigation({ disabledProducts, userImgPath, userName }) {\n const { isMobile, isDesktopLarge } = useMediaQuery();\n\n const {\n appMenuTab,\n isSearchMenu,\n setIsSearchMenu,\n isFirstPageLoad,\n toggleAppMenu,\n toggleSearchMenu,\n isAppMenuOpen,\n isMobilePage,\n } = useNavigation();\n\n const navContext = {\n disabledProducts,\n appMenuTab,\n isSearchMenu,\n setIsSearchMenu,\n isFirstPageLoad,\n toggleAppMenu,\n toggleSearchMenu,\n isAppMenuOpen,\n isMobilePage,\n userImgPath,\n userName,\n isDesktopLarge,\n };\n\n const isFederalRegulations = window.location.href.includes('/federal/regulations/');\n\n if (isFederalRegulations) {\n const elements = document.getElementsByClassName('arrow-back-for-federal-regulations');\n while (elements.length > 0) {\n elements[0].parentNode.removeChild(elements[0]);\n }\n }\n\n return (\n <div className={styles.containerNavigation}>\n <NavigationContext.Provider value={navContext}>\n {isMobile ? <MobileView /> : <GlobalHeader />}\n </NavigationContext.Provider>\n </div>\n );\n}\n\nNavigation.propTypes = {\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ).isRequired,\n userImgPath: PropTypes.string,\n userName: PropTypes.string,\n};\n\nexport default Navigation;\n","export const SEARCH_MENU = 'search';\nexport const APP_MENU = 'menu';\nexport const USER_MENU = 'user';\nexport const NEW_NOTE = 'newNote';\n\nexport const COMPANY_ADMIN = 'company_admin';\nexport const GOVPREDICT_ADMIN = 'govpredict_admin';\nexport const PERMIT_MONEYBALL_CLUSTERBUCK = 'permitMoneyballClusterbuck';\n\nfunction getUserRole() {\n const {\n companyAdmin,\n govpredictAdmin,\n isMoneyballEnabled,\n permitMoneyballClusterbuck,\n } = gon.currentUser;\n\n return [\n companyAdmin && COMPANY_ADMIN,\n govpredictAdmin && GOVPREDICT_ADMIN,\n permitMoneyballClusterbuck && PERMIT_MONEYBALL_CLUSTERBUCK,\n isMoneyballEnabled,\n ];\n}\n\nexport function isGovPredictUser() {\n const { companyId, env } = gon || {};\n\n return (env === 'production' && String(companyId) === '153')\n || (env === 'development' && String(companyId) === '1')\n || (env === 'staging' && String(companyId) === '1');\n}\n\nexport function authorizeItemByRole(item) {\n const { roles } = item;\n const userRole = getUserRole();\n\n if (roles && roles.length > 0) {\n return roles.some(role => userRole.includes(role));\n }\n\n return item;\n}\n\nexport const authorizeItemByRoleAndBetaFlag = (item, roleAuthorizer = authorizeItemByRole) => {\n const { roles, betaFlag } = item;\n\n const userHasCorrectRole = roleAuthorizer({ roles });\n const userHasBetaAccess = !betaFlag || gon[betaFlag];\n\n return userHasCorrectRole && userHasBetaAccess;\n};\n\nexport function filterItemByUserRole(items) {\n return items.filter(authorizeItemByRole);\n}\n\nexport function filterItemByUserDevice(menuItem, isMobile) {\n const { id, items } = menuItem;\n\n if (isMobile && id === 'parent') {\n return items.filter(item => item.title !== 'Admin');\n }\n\n return items;\n}\n\nexport function getLinkBreadcrumb(title, href) {\n return `<a href=\"${href}\">${title}</a>`;\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___3nAl7\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___2QaSe\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___10TY_\",\"container\":\"styles-module__container___2O_rU\",\"title\":\"styles-module__title___pz0oS\",\"homeButton\":\"styles-module__homeButton___2cl8X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___3WlaM\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___2Akoz\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___fbq6b\",\"searchForm\":\"styles-module__searchForm___2WohW\",\"searchInput\":\"styles-module__searchInput___3-rRP\",\"searchBtn\":\"styles-module__searchBtn___2eHZ0\"};","import PropTypes from 'prop-types';\n\nexport const menuItemShape = PropTypes.shape({\n title: PropTypes.string,\n href: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n ]),\n linkProperties: PropTypes.shape({\n target: PropTypes.string,\n 'data-method': PropTypes.string,\n rel: PropTypes.string,\n }),\n goTo: PropTypes.string,\n icon: PropTypes.string,\n isLocked: PropTypes.bool,\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"homeButton\":\"styles-module__homeButton___1bzan\",\"govPredictLogo\":\"styles-module__govPredictLogo___2YWXE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu\":\"styles-module__menu___3nE8o\",\"withNestedLevel\":\"styles-module__withNestedLevel___2Cg_W\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"noFoundSection\":\"styles-module__noFoundSection___2EbZF\",\"noFoundText\":\"styles-module__noFoundText___6eHQS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___3pnOe\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___sW-O2\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___3qAIq\",\"appMenu\":\"styles-module__appMenu___jClmo\",\"appMenuActive\":\"styles-module__appMenuActive___14lFn\",\"searchMenu\":\"styles-module__searchMenu___1Ujdl\",\"searchMenuActive\":\"styles-module__searchMenuActive___2TFPX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___19sve\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3KFig\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___3eQph\",\"appMenu\":\"styles-module__appMenu___1Euaw\",\"appMenuActive\":\"styles-module__appMenuActive___1RKFD\",\"searchMenu\":\"styles-module__searchMenu___3Ghy0\",\"searchMenuActive\":\"styles-module__searchMenuActive___1PeZe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"warningBannerStyle\":\"styles-module__warningBannerStyle___2AeeM\",\"warningBannerTextStyle\":\"styles-module__warningBannerTextStyle___20F6X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"list\":\"styles-module__list___1gbrX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"styles-module__title___3G9Y8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___17wgY\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___yLWna\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___1VfnA\",\"footerBar\":\"styles-module__footerBar___3su5X\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___13UOG\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___2QsUM\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___1f-Qx\",\"containerNavigation\":\"styles-module__containerNavigation___2SrJn\"};","import React from 'react';\nimport styles from './styles.module.scss';\n\nconst NavigationWarningBanner = () => (\n // eslint-disable-next-line react/jsx-filename-extension\n <div className={styles.warningBannerStyle}>\n <p className={styles.warningBannerTextStyle}>\n Your subscription to Intelligence (aka GovPredict) has either ended or been migrated to Quorum.\n Please contact our support team through the Chat feature on this site or by email at\n <a href=\"mailto:p2asupport@quorum.us\"> p2asupport@quorum.us</a>\n </p>\n </div>\n);\n\nexport default NavigationWarningBanner;\n","import isEmpty from 'lodash/isEmpty';\n\nimport { filterItemByUserRole, filterItemByUserDevice } from 'components/Navigation/utils/index';\nimport userMenuData from 'components/Navigation/menuData/mobileUserMenuItems';\n\nexport function findUserMenuEnabledItems(isMobile = false) {\n const menuItems = filterItemByUserRole(userMenuData);\n\n /** Remove nested items by user role */\n menuItems.forEach((nestedItem) => {\n nestedItem.items = filterItemByUserRole(nestedItem.items);\n });\n\n menuItems.forEach((menuItem) => {\n menuItem.items = filterItemByUserDevice(menuItem, isMobile);\n });\n\n return menuItems;\n}\n\nexport function getUserMenuById(menuId, enabledItems) {\n if (isEmpty(menuId)) {\n return enabledItems;\n }\n\n return enabledItems.filter((item) => item.id === menuId);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport useMenu from 'components/Navigation/utils/useMenu';\nimport { USER_MENU } from 'components/Navigation/utils';\nimport Button from 'components/core/Button';\nimport MenuItemsList from 'components/Navigation/MobileView/common/MenuItemsList';\nimport FooterBar from 'components/Navigation/MobileView/common/FooterBar';\nimport FooterBarV2 from 'components/NavigationV2/components/MobileView/components/common/FooterBar';\nimport MenuTransition from 'components/Navigation/common/MenuTransition';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport { findUserMenuEnabledItems, getUserMenuById } from './utils';\nimport styles from './styles.module.scss';\n\nfunction UserProfileMenu({ isUserMenuOpen }) {\n const { isMobile } = useMediaQuery();\n const transitionMenuId = isUserMenuOpen ? 'openId' : 'closedId';\n const enabledItems = findUserMenuEnabledItems(isMobile);\n const {\n menuItems,\n isBackItem,\n isBackHome,\n handleNavigateHome,\n handleNavigateItem,\n handleNavigateParent,\n } = useMenu({\n items: enabledItems,\n filterFunction: getUserMenuById,\n navId: USER_MENU,\n });\n\n if (isEmpty(menuItems)) {\n return null;\n }\n\n const userMenuClassNames = classNames(\n styles.userMenu,\n isUserMenuOpen && styles.userMenuActive,\n );\n\n const FooterBarComponent = gon.isNavigationV2Enabled ? FooterBarV2 : FooterBar;\n\n function renderFooterBar() {\n if (!isUserMenuOpen) {\n return null;\n }\n\n return (\n <FooterBarComponent className={styles.footerBar}>\n {isBackHome && (\n <>\n <Button onClick={handleNavigateParent} className={styles.iconButton} theme=\"light\">\n <i className=\"fas fa-arrow-left\" />\n </Button>\n <Button onClick={handleNavigateHome} className={styles.iconButton} theme=\"light\">\n <i className=\"fas fa-home\" />\n </Button>\n </>\n )}\n </FooterBarComponent>\n );\n }\n\n return (\n <div className={styles.container}>\n <MenuTransition id={transitionMenuId}>\n <section id=\"userMenu\" className={userMenuClassNames}>\n <MenuItemsList\n menuItems={menuItems}\n isBackItem={isBackItem}\n handleNavigateNext={handleNavigateItem}\n parentTitle=\"Account\"\n />\n </section>\n </MenuTransition>\n\n {renderFooterBar()}\n </div>\n );\n}\n\nUserProfileMenu.propTypes = {\n isUserMenuOpen: PropTypes.bool.isRequired,\n};\n\nexport default UserProfileMenu;\n","const paths = {\n accountSettings: {\n manageProfile: '/profile/users/edit',\n changePassword: '/profile/passwords/edit',\n manageProfilePhoto: '/profile/photos/edit',\n admin: '/admin',\n logOut: '/logout',\n },\n\n organizationSettings: {\n manageOrganization: '/manage/companies',\n users: '/manage/users',\n sso: '/manage/sso',\n inviteUsers: '/manage/invite_codes/new',\n institutionalData: '/manage/institutional_data',\n },\n};\n\nexport default paths;\n","import React from 'react';\n\nimport { NavigationContext } from './navContext';\n\nfunction withNavigation(Component) {\n return function NavComponent(props) {\n return (\n <NavigationContext.Consumer>\n {contexts => <Component {...props} {...contexts} />}\n </NavigationContext.Consumer>\n );\n };\n}\n\nexport default withNavigation;\n","import { trackNavigationBarEvent } from 'utils/tracking/navigation';\n\nexport function trackTopLevelItemClicked({ itemTitle }) {\n const { user_id: userId } = gon.currentUser || {};\n trackNavigationBarEvent('clicked on top level item', { userId, itemTitle });\n}\n\nexport function trackHomeButtonClicked() {\n const { user_id: userId } = gon.currentUser || {};\n trackNavigationBarEvent('clicked on GP Logo', { userId });\n}\n\nexport function trackUserMenuOpened() {\n const { user_id: userId } = gon.currentUser || {};\n trackNavigationBarEvent('clicked on avatar', { userId });\n}\n\nexport function trackNewNoteClicked() {\n const { user_id: userId } = gon.currentUser || {};\n trackNavigationBarEvent('clicked on new note button', { userId });\n}\n\nexport function trackNewTaskClicked() {\n const { user_id: userId } = gon.currentUser || {};\n trackNavigationBarEvent('clicked on new task button', { userId });\n}\n","import React from 'react';\n\nexport const MenuItemsContext = React.createContext();\n\nfunction withMenuItems(Component) {\n return function MenuItemsDataComponent(props) {\n return (\n <MenuItemsContext.Consumer>\n {contexts => <Component {...props} {...contexts} />}\n </MenuItemsContext.Consumer>\n );\n };\n}\n\nexport default withMenuItems;\n","export const ROOT_BREADCRUMB = 'Intelligence';\n\nexport const NAVIGATION_USER_PROFILE_IMG_ID = 'navigation-user_profile_img';\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"openMenuContainer\":\"styles-module__openMenuContainer___RSZec\",\"closedMenuContainer\":\"styles-module__closedMenuContainer___3ug8-\",\"menu\":\"styles-module__menu___XMP8m\",\"baseItem\":\"styles-module__baseItem___3BnyH\",\"iconButton\":\"styles-module__iconButton___1HEmd\",\"searchButton\":\"styles-module__searchButton___3AHR1\",\"iconImg\":\"styles-module__iconImg___22vvB\",\"activeMenu\":\"styles-module__activeMenu___2cTtx\",\"globalQuickSearch\":\"styles-module__globalQuickSearch___qpW2h\",\"loadingOverlay\":\"styles-module__loadingOverlay___3nJNS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___3X5tb\",\"menuTooltip\":\"styles-module__menuTooltip___2rVy3\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___7tX-i\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___3KPgs\",\"avatar\":\"styles-module__avatar___25PDu\",\"menu\":\"styles-module__menu___1cM8a\",\"firstColumn\":\"styles-module__firstColumn___1anPy\",\"menuItem\":\"styles-module__menuItem___2gjt_\",\"leafNode\":\"styles-module__leafNode___3QO53\",\"externalLinkIcon\":\"styles-module__externalLinkIcon___1GTIN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"styles-module__title___3uNFP\",\"disabled\":\"styles-module__disabled___24sxm\",\"parentNode\":\"styles-module__parentNode___3UcHk\",\"leafNode\":\"styles-module__leafNode___3oDF0\",\"description\":\"styles-module__description___2TVii\",\"withNestedLevel\":\"styles-module__withNestedLevel___SQiUh\",\"subItemsGrid\":\"styles-module__subItemsGrid___2XJhk\",\"withDivider\":\"styles-module__withDivider___1lX3G\",\"keepFontSize\":\"styles-module__keepFontSize___10WYZ\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\n\nimport styles from './styles.module.scss';\n\nfunction MenuTransition({ children, id, transitionDuration = 300, isSearchMenu, enable = true }) {\n const transitionClassNames = !isSearchMenu\n ? {\n enterActive: styles.transitionEnteringBack,\n exitActive: styles.transitionExiting,\n }\n : {\n enterActive: styles.searchTransitionEnteringBack,\n exitActive: styles.searchTransitionExiting,\n };\n\n const noTransitionClassNames = {\n ...transitionClassNames,\n enterActive: '',\n };\n\n return (\n <TransitionGroup className={styles.transitionContainer} component={null} appear={enable}>\n <CSSTransition\n key={id}\n timeout={transitionDuration}\n classNames={enable ? transitionClassNames : noTransitionClassNames}\n >\n {children}\n </CSSTransition>\n </TransitionGroup>\n );\n}\n\nMenuTransition.propTypes = {\n id: PropTypes.string,\n transitionDuration: PropTypes.number,\n isSearchMenu: PropTypes.bool,\n enable: PropTypes.bool,\n children: PropTypes.node,\n};\n\nexport default MenuTransition;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\n\nimport styles from './styles.module.scss';\n\nexport const TRANSITION_DURATION = 220;\n\nfunction Transition({\n children,\n id,\n transitionDuration = TRANSITION_DURATION,\n reverseTransitionDirection,\n isFullHeight,\n className,\n}) {\n const containerClassName = classNames(\n styles.transitionContainer,\n isFullHeight && styles.fullHeight,\n className,\n );\n\n return (\n <TransitionGroup className={containerClassName}>\n <CSSTransition\n key={id}\n timeout={transitionDuration}\n classNames={{\n enterActive: reverseTransitionDirection ? styles.transitionEnteringBack : styles.transitionEntering,\n exitActive: reverseTransitionDirection ? styles.transitionExitingBack : styles.transitionExiting,\n }}\n >\n {children}\n </CSSTransition>\n </TransitionGroup>\n );\n}\n\nTransition.propTypes = {\n id: PropTypes.string,\n transitionDuration: PropTypes.number,\n reverseTransitionDirection: PropTypes.bool,\n children: PropTypes.node,\n isFullHeight: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default Transition;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1mHMW\",\"textContent\":\"styles-module__textContent___1GcAy\",\"content\":\"styles-module__content___xh7dJ\",\"lockedText\":\"styles-module__lockedText___U8nRo\",\"icon\":\"styles-module__icon___BECyV\",\"noHighlight\":\"styles-module__noHighlight___2DH-0\",\"leafButton\":\"styles-module__leafButton___Yvg7q\",\"highlightWord\":\"styles-module__highlightWord___3V933\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___2qLt2\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___jNOT3\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___18BwD\",\"container\":\"styles-module__container___4Mf-2\",\"searchHeader\":\"styles-module__searchHeader___148-e\",\"logo\":\"styles-module__logo___3hXcb\",\"inputContainer\":\"styles-module__inputContainer___1VOmc\",\"input\":\"styles-module__input___uh4Qa\",\"cleanInputButton\":\"styles-module__cleanInputButton___JzYNF\",\"navSection\":\"styles-module__navSection___1OTWx\",\"withoutFooter\":\"styles-module__withoutFooter___33S_k\"};","import React from 'react';\n\nexport const NavigationContext = React.createContext();\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Transition from './Transition';\nimport styles from './styles.module.scss';\n\nfunction DrillDown({ id, isBackDirection, children, isFullHeight, className }) {\n return (\n <Transition\n id={id}\n isFullHeight={isFullHeight}\n reverseTransitionDirection={isBackDirection}\n className={className}\n >\n <nav>\n <ul className={styles.list}>\n {children}\n </ul>\n </nav>\n </Transition>\n );\n}\n\nDrillDown.propTypes = {\n id: PropTypes.string,\n isBackDirection: PropTypes.bool,\n children: PropTypes.node,\n isFullHeight: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default DrillDown;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___9VXm8\",\"menuTooltip\":\"styles-module__menuTooltip___1jOgB\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3fnHu\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___13VEo\",\"navigationBar\":\"styles-module__navigationBar___2s3MF\",\"navigationBarItem\":\"styles-module__navigationBarItem___aKnLr\",\"pageLink\":\"styles-module__pageLink___2KeY9\",\"activeItem\":\"styles-module__activeItem___1QK_q\",\"banner\":\"styles-module__banner___3majV\"};"],"sourceRoot":""}