{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./front/components/Dashboard/common/FeedPage/utils/constants.js","webpack:///./front/components/Autosuggest/components/wrapMenuList.jsx","webpack:///./front/components/Autosuggest/index.jsx","webpack:///./front/components/Visualization/Chart/Bar/index.jsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptionsButton/advanced-options-button.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/SlideUpModal/Header/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/SearchWrapper/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/Locales/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Collections/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/RecentCard/components/Icon/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/RecentCard/components/Title/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Loading/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/ItemName/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/HomeLink/components/Icon/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/ApplicationMenu/ActiveMenu/components/Directory/components/Categories/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/ApplicationMenu/ActiveMenu/components/Directory/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/ApplicationMenu/ActiveMenu/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/ApplicationMenu/styles.module.scss","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/Fields/styles.module.scss","webpack:///./front/components/PageNotFound/styles.module.scss","webpack:///./front/components/Dashboard/common/FeedPage/utils/shapes.js","webpack:///./front/components/Moneyball/utils/dataCommitteeTypes.js","webpack:///./front/components/Moneyball/utils/dataSourceTypes.js","webpack:///./front/components/Moneyball/utils/dataParties.js","webpack:///./front/components/Moneyball/utils/dataElectionTypes.js","webpack:///./front/components/Stakeholder/Profile/components/Contributions/utils.js","webpack:///./front/components/tracking/utils.js","webpack:///./front/components/NavigationV2/utils/constants.js","webpack:///./front/components/StaffersMailer/SelectList.jsx","webpack:///./front/components/StaffersMailer/Form.jsx","webpack:///./front/components/StaffersMailer/legislatorStaffersFetcher.js","webpack:///./front/components/StaffersMailer/index.jsx","webpack:///./front/components/Legislator/Name/index.jsx","webpack:///./front/components/Advocates/common/Modals/useModals.js","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/utils/errorMessages.js","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/utils/validationSchema.js","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/utils/index.js","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/utils/useForm.js","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/utils/withForm.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/CustomFields/index.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/Fields/components/AddRemoveButtons.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/Fields/BaseField.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/Fields/TagInputField.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/Fields/ButtonGroupField.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/AdditionalDetails.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/Fields/MultipleField.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/Fields/AddressField.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/Fields/EmailField.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/Fields/PhoneField.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/BasicInfo.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/index.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/utils/useErrorStepRedirect.js","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Container/index.jsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/index.jsx","webpack:///./front/components/LinkedAutosuggest/index.jsx","webpack:///./front/components/SharedFolder/suggester-filler-fetcher.jsx","webpack:///./front/components/UnifiedSearch/components/Paginator/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Feed/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/OptionsWrapper/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Trigger/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Dropdown/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/SlideUpModal/ActionsWrapper/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/SlideUpModal/ApplyButton/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/SlideUpModal/BackButton/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/SlideUpModal/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/CustomRegionsWrapper/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/ClearFiltersButton/clear-filters-button.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Collections/components/Options/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Error/NotFound/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/HiddenItemsDropdown/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Apps/components/Icon/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/HomeLink/styles.module.scss","webpack:///./front/components/image-cropper/components/context/context.jsx","webpack:///./front/components/image-cropper/components/helpers.js","webpack:///./front/components/image-cropper/components/api.js","webpack:///./front/components/image-cropper/components/context/provider.jsx","webpack:///./front/components/image-cropper/components/context/hoc.jsx","webpack:///./front/components/image-cropper/components/upload-button.jsx","webpack:///./front/components/image-cropper/components/container.jsx","webpack:///./front/components/image-cropper/components/modal/header.jsx","webpack:///./front/components/image-cropper/components/modal/content.jsx","webpack:///./front/components/image-cropper/components/modal/footer.jsx","webpack:///./front/components/image-cropper/components/modal.jsx","webpack:///./front/components/image-cropper/image-cropper.jsx","webpack:///./front/components/Dashboard/common/Sponsor/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/common/PanelHeader/styles.module.scss","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/styles.module.scss","webpack:///./front/components/Dashboard/common/UserNotifications/components/TrackedItemLink.jsx","webpack:///./front/components/Dashboard/common/UserNotifications/utils/index.js","webpack:///./front/components/Dashboard/common/UserNotifications/index.jsx","webpack:///./front/components/Dashboard/common/TrackFrequencyContent/index.jsx","webpack:///./front/components/Dashboard/common/FrequencyCard/styles.module.scss","webpack:///./front/components/Dashboard/Workspaces/components/NewWorkspaceModal/styles.module.scss","webpack:///./front/packs/utils/vh-fix.js","webpack:///./front/components/NavigationV2/utils/index.js","webpack:///./front/components/Dashboard/common/TrackFrequency/styles.module.scss","webpack:///./front/components/GrassrootsPortal/constants.js","webpack:///./front/components/NavigationV2/utils/useNavigation.js","webpack:///./front/components/UnifiedSearch/components/ResultsCount/index.tsx","webpack:///./front/components/UnifiedSearch/components/Paginator/index.tsx","webpack:///./front/components/UnifiedSearch/utils/constants.ts","webpack:///./front/components/UnifiedSearch/useSearch/helpers.ts","webpack:///./front/components/UnifiedSearch/components/Result/components/Tooltip/index.tsx","webpack:///./front/components/UnifiedSearch/components/Result/utils/helpers.ts","webpack:///./front/components/UnifiedSearch/components/Result/utils/constants.ts","webpack:///./front/components/UnifiedSearch/components/Result/index.tsx","webpack:///./front/components/UnifiedSearch/components/Feed/index.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptionsButton/AdvancedOptionsButton.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/OptionsWrapper/OptionsWrapper.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Option/Option.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Trigger/Trigger.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Dropdown/Dropdown.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/SlideUpModal/ActionsWrapper/ActionsWrapper.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/SlideUpModal/Header/Header.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/SlideUpModal/ApplyButton/ApplyButton.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/SlideUpModal/BackButton/BackButton.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/SlideUpModal/SlideUpModal.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Period/components/CustomPeriod/CustomPeriod.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Period/constants.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Period/components/Options/Options.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Period/Period.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/constants.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/Options/Options.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/helpers.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/SearchWrapper/SearchWrapper.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/States/useStates.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/States/States.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/Locales/components/Options/Options.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/Locales/factory.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/Locales/api.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/Locales/useLocales.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/Locales/Locales.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/CustomRegionsWrapper/CustomRegionsWrapper.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/Region.tsx","webpack:///./front/components/UnifiedSearch/useAdvancedOptions/initialState.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/ClearFiltersButton/ClearFiltersButton.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Collections/components/Options/helpers.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Collections/components/Options/Options.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Collections/constants.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Collections/helpers.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Collections/useCollections.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Collections/Collections.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Verbatim/constants.ts","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Verbatim/components/Options/Options.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Verbatim/Verbatim.tsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/AdvancedOptions.tsx","webpack:///./front/components/UnifiedSearch/components/Filters/index.tsx","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/RecentCard/components/Icon/helpers.ts","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/RecentCard/components/Icon/index.tsx","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/RecentCard/components/Title/index.tsx","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/RecentCard/components/Subtitle/helpers.ts","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/RecentCard/components/Subtitle/index.tsx","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/RecentCard/components/ActionIcons/index.tsx","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/RecentCard/index.tsx","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/VisitsPlaceholder/index.tsx","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/index.tsx","webpack:///./front/components/UnifiedSearch/components/Lobby/components/QuickLinks/index.tsx","webpack:///./front/components/UnifiedSearch/components/Lobby/index.tsx","webpack:///./front/components/UnifiedSearch/components/Loading/index.tsx","webpack:///./front/components/UnifiedSearch/components/Error/NotFound/index.tsx","webpack:///./front/components/UnifiedSearch/components/Error/ServerError/index.tsx","webpack:///./front/components/UnifiedSearch/helpers/useIsBackToTopVisible.ts","webpack:///./front/components/UnifiedSearch/useTags/factories.ts","webpack:///./front/components/UnifiedSearch/useTags/api.ts","webpack:///./front/components/UnifiedSearch/useTags/index.ts","webpack:///./front/components/UnifiedSearch/usePositions/factories.ts","webpack:///./front/components/UnifiedSearch/usePositions/api.ts","webpack:///./front/components/UnifiedSearch/usePositions/index.ts","webpack:///./front/components/UnifiedSearch/useTrackings/factories.ts","webpack:///./front/components/UnifiedSearch/useTrackings/helpers.ts","webpack:///./front/components/UnifiedSearch/useTrackings/api.ts","webpack:///./front/components/UnifiedSearch/useTrackings/index.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/constants.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/helpers.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/request.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/base.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/legislationAndRegulation/federalRegulations.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/legislationAndRegulation/helpers/federalRegulations.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/legislationAndRegulation/stateRegulations.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/legislationAndRegulation/helpers/stateRegulations.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/legislationAndRegulation/federalBill.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/legislationAndRegulation/helpers/federalBill.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/legislationAndRegulation/stateBill.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/legislationAndRegulation/helpers/stateBill.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/people/federalLegislator.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/people/helpers/federalLegislator.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/people/stateLegislator.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/people/helpers/stateLegislator.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/people/stakeholder.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/people/helpers/stakeholder.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/people/executive.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/people/helpers/executive.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/committees/helpers/federalCommittees.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/committees/federalCommittees.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/committees/stateCommittees.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/committees/helpers/stateCommittees.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/people/staffer.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/people/helpers/staffer.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/documents/documents.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/documents/helpers/documents.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/result/index.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/response.ts","webpack:///./front/components/UnifiedSearch/useSearch/factories/index.ts","webpack:///./front/components/UnifiedSearch/useSearch/api.ts","webpack:///./front/components/UnifiedSearch/useSearch/index.ts","webpack:///./front/components/UnifiedSearch/useFilters.ts","webpack:///./front/components/UnifiedSearch/useRecentVisits/api.ts","webpack:///./front/components/UnifiedSearch/useRecentVisits/index.ts","webpack:///./front/components/UnifiedSearch/useAdvancedOptions/useAdvancedOptions.ts","webpack:///./front/components/UnifiedSearch/useUnifiedSearch.ts","webpack:///./front/components/UnifiedSearch/index.tsx","webpack:///./front/components/NavigationV2/components/Navigation/components/Search/index.tsx","webpack:///./front/components/NavigationV2/components/common/NewStakeholderButton/components/Container.jsx","webpack:///./front/components/NavigationV2/components/common/NewStakeholderButton/index.jsx","webpack:///./front/components/NavigationV2/components/common/DisabledCreateMessage/index.jsx","webpack:///./front/components/NavigationV2/components/Navigation/components/SearchBar/components/CreateButton/index.jsx","webpack:///./front/components/NavigationV2/components/Navigation/components/SearchBar/index.tsx","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/HiddenItemsDropdown/useHiddenItemsLength.ts","webpack:///./front/components/NavigationV2/components/icons/Activity.jsx","webpack:///./front/components/NavigationV2/components/icons/ArrowDropDown.jsx","webpack:///./front/components/NavigationV2/components/icons/Bells.jsx","webpack:///./front/components/NavigationV2/components/icons/Briefcase.jsx","webpack:///./front/components/NavigationV2/components/icons/Dome.jsx","webpack:///./front/components/NavigationV2/components/icons/LightbulbDollar.jsx","webpack:///./front/components/NavigationV2/components/icons/Reports.jsx","webpack:///./front/components/NavigationV2/components/icons/UserGroup.jsx","webpack:///./front/components/NavigationV2/components/icons/Directory.jsx","webpack:///./front/components/NavigationV2/components/icons/Lock.jsx","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/HiddenItemsDropdown/DropdownContent/DropdownContent.tsx","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/HiddenItemsDropdown/HiddenItemsDropdown.tsx","webpack:///./front/components/NavigationV2/utils/directory/constants/common.js","webpack:///./front/components/NavigationV2/utils/directory/constants/people.js","webpack:///./front/components/NavigationV2/utils/directory/constants/legislationAndRegulation.js","webpack:///./front/components/NavigationV2/utils/directory/constants/committees.js","webpack:///./front/components/NavigationV2/utils/directory/constants/federalDocuments.js","webpack:///./front/components/NavigationV2/utils/directory/constants/stateAndLocalDocuments.js","webpack:///./front/components/NavigationV2/utils/directory/constants/newsAndSocial.js","webpack:///./front/components/NavigationV2/utils/directory/constants/index.js","webpack:///./front/components/NavigationV2/utils/directory/shapes.js","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/Directory/components/Categories/index.jsx","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/Directory/components/Links/components/Link/index.jsx","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/Directory/components/Links/index.jsx","webpack:///./front/components/NavigationV2/utils/directory/index.js","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/Directory/useDirectory.js","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/Directory/index.jsx","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/DirectoryToggler/index.tsx","webpack:///./front/components/NavigationV2/utils/apps.jsx","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/utils/useMenuBar.js","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/index.jsx","webpack:///./front/components/NavigationV2/components/Navigation/index.tsx","webpack:///./front/components/NavigationV2/components/MobileView/utils/useMobileDirectory.js","webpack:///./front/components/NavigationV2/components/MobileView/utils/useMobileNavigation.js","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/ItemName/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Create/components/Panel/components/Icons/Note.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Create/components/Panel/components/Icons/Stakeholder.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Create/components/Panel/components/Icons/Task.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Create/components/Panel/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Create/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Apps/components/Panel/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Apps/components/Icon/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Apps/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/HomeLink/components/Icon/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/HomeLink/utils/useHomeLink.js","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/HomeLink/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/index.tsx","webpack:///./front/components/NavigationV2/components/MobileView/components/ApplicationMenu/ActiveMenu/components/Directory/components/Links/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/ApplicationMenu/ActiveMenu/components/Directory/components/Categories/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/ApplicationMenu/ActiveMenu/components/Directory/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/ApplicationMenu/ActiveMenu/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/ApplicationMenu/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/index.tsx","webpack:///./front/components/NavigationV2/index.tsx","webpack:///./front/packs/navigation-pack.jsx","webpack:///./front/components/Dashboard/KeywordSearch/utils/constants.js","webpack:///./front/components/legislator-distances/constants.js","webpack:///./front/components/Stakeholder/Lookup/utils/Notifications.jsx","webpack:///./front/components/NavigationV2/utils/tracking.js","webpack:///./front/components/Dashboard/common/TrackModal/components/WorkspacesSelect/utils/useWorkspacesSelect.js","webpack:///./front/components/Dashboard/common/TrackModal/components/WorkspacesSelect/index.jsx","webpack:///./front/components/NavigationV2/components/icons/styles.module.scss","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/Fields/styles.module.scss","webpack:///./front/components/Advocates/common/utils/shapes.js","webpack:///./front/components/GlobalSearch/components/Menu/styles.module.scss","webpack:///./front/components/Dashboard/common/TrackModal/components/MyFeedFrequency/index.jsx","webpack:///./front/components/shared/link-to-legislator.jsx","webpack:///./front/components/Dashboard/common/TrackFrequencyContent/styles.module.scss","webpack:///./front/components/Dashboard/common/UserNotifications/components/WorkspaceLink.jsx","webpack:///./front/components/grassroots-campaign-builder/constants.js","webpack:///./front/components/Dashboard/utils/index.js","webpack:///./front/components/Dashboard/common/DisplayLink/index.jsx","webpack:///./front/components/Dashboard/common/PartyBadge/index.jsx","webpack:///./front/components/Dashboard/common/DisplayLink/styles.module.scss","webpack:///./front/components/royal-checkbox/components/container.jsx","webpack:///./front/components/royal-checkbox/royal-checkbox.jsx","webpack:///./front/components/Dashboard/utils/libProducts.js","webpack:///./front/components/shared/copy-to-clipboard-input/styles.module.scss","webpack:///./front/components/GlobalSearch/components/Control/styles.module.scss","webpack:///./front/components/GlobalSearch/utils/constants/resultLabels.js","webpack:///./front/components/Autosuggest/utils/shapes.js","webpack:///./front/components/Errors/SomethingWentWrong/SomethingWentWrong.tsx","webpack:///./front/components/Errors/SomethingWentWrong/index.ts","webpack:///./front/components/autocomplete/components/container.jsx","webpack:///./front/components/autocomplete/autocomplete.jsx","webpack:///./front/components/News/utils/Notifications.js","webpack:///./front/components/Dashboard/common/MultipleTrack/components/SubscribeOption/styles.module.scss","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/Fields/components/styles.module.scss","webpack:///./front/components/Dashboard/common/TrackModal/styles.module.scss","webpack:///./front/components/GlobalSearch/utils/index.js","webpack:///./front/components/GlobalSearch/utils/withGlobalSearch.jsx","webpack:///./front/components/GlobalSearch/components/Result/components/LinkIcon.jsx","webpack:///./front/components/GlobalSearch/components/Result/components/HighlightedTerm.jsx","webpack:///./front/components/GlobalSearch/components/Result/components/Label.jsx","webpack:///./front/components/GlobalSearch/components/Result/components/Byline.jsx","webpack:///./front/components/GlobalSearch/components/Result/index.jsx","webpack:///./front/components/GlobalSearch/components/Option/index.jsx","webpack:///./front/components/GlobalSearch/components/Input/index.jsx","webpack:///./front/components/GlobalSearch/components/DropShadow/index.jsx","webpack:///./front/components/GlobalSearch/components/Control/index.jsx","webpack:///./front/components/GlobalSearch/components/Menu/components/AdvancedSearchButton.jsx","webpack:///./front/components/GlobalSearch/components/Menu/index.jsx","webpack:///./front/components/GlobalSearch/components/MenuList/index.jsx","webpack:///./front/components/GlobalSearch/components/LoadingWarning/index.jsx","webpack:///./front/components/GlobalSearch/components/RecentVisits/useRecentVisits.js","webpack:///./front/components/GlobalSearch/components/RecentVisits/Visit/index.jsx","webpack:///./front/components/GlobalSearch/components/RecentVisits/Visits/index.jsx","webpack:///./front/components/GlobalSearch/components/EmptyWarning/index.jsx","webpack:///./front/components/GlobalSearch/components/RecentVisits/QuickLinks/index.jsx","webpack:///./front/components/GlobalSearch/components/RecentVisits/index.jsx","webpack:///./front/components/GlobalSearch/utils/optionsParser.js","webpack:///./front/components/GlobalSearch/index.tsx","webpack:///./front/components/map/helpers.js","webpack:///./front/components/shared/copy-to-clipboard.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/common/FooterBar/styles.module.scss","webpack:///./front/components/Dashboard/utils/notifications.js","webpack:///./front/components/GlobalSearch/components/DropShadow/styles.module.scss","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/styles.module.scss","webpack:///./front/components/Moneyball/utils/Notifications.js","webpack:///./front/components/Stakeholder/Lookup/utils/tableColumns.js","webpack:///./front/components/Dashboard/utils/constants.js","webpack:///./front/components/Stakeholder/utils/constants.js","webpack:///./front/components/Legislator/index.jsx","webpack:///./front/components/Errors/ErrorTemplate/styles.module.scss","webpack:///./front/components/PageNotifier/index.jsx","webpack:///./front/components/link-share-icons/components/container.jsx","webpack:///./front/components/Visualization/Chart/Bar/BillSponsors.jsx","webpack:///./front/components/Visualization/Chart/Line/index.jsx","webpack:///./front/components/SharedFolder/suggester-filler-button.jsx","webpack:///./front/components/SharedFolder/autofilled-autosugester.jsx","webpack:///./front/components/PageNotFound/index.jsx","webpack:///./front/components/PublicToolsNavBar/utils/options.js","webpack:///./front/components/PublicToolsNavBar/index.jsx","webpack:///./front/components/CosponsorshipNavBar/utils/options.js","webpack:///./front/components/CosponsorshipNavBar/index.jsx","webpack:///./front/packs/application.jsx","webpack:///./front/components/link-share-icons/link-share-icons.jsx","webpack:///./front/components/Moneyball/PACRankingPages/Lookup/utils/index.js","webpack:///./front/components/DashboardTrackingCenter/components/TheadMapping/utils.js","webpack:///./front/components/shared/copy-to-clipboard-input/components/InfoBar/constants.js","webpack:///./front/components/shared/copy-to-clipboard-input/components/InfoBar/index.jsx","webpack:///./front/components/shared/copy-to-clipboard-input/index.jsx","webpack:///./front/components/Reports/utils/shapes.js","webpack:///./app/assets/stylesheets/scss/navigation/settings.scss","webpack:///./front/components/GlobalSearch/utils/constants/productSlugs.js","webpack:///./front/components/Errors/SomethingWentWrong/styles.module.scss","webpack:///./front/components/GlobalSearch/components/RecentVisits/Visits/styles.module.scss","webpack:///./front/components/GlobalSearch/components/RecentVisits/QuickLinks/styles.module.scss","webpack:///./front/components/Dashboard/common/IconButton/styles.module.scss","webpack:///./front/components/Dashboard/common/MultipleTrack/utils/useButtonState.js","webpack:///./front/components/Dashboard/common/MultipleTrack/utils/useCommitteeItem.js","webpack:///./front/components/Dashboard/common/MultipleTrack/utils/useCommitteeTrack.js","webpack:///./front/components/Dashboard/common/MultipleTrack/components/SubscribeOption/index.jsx","webpack:///./front/components/Dashboard/common/MultipleTrack/components/SubscriptionCard/index.jsx","webpack:///./front/components/Dashboard/common/MultipleTrack/components/CommitteeTrack/index.jsx","webpack:///./front/components/Dashboard/common/MultipleTrack/utils/useTrackItemsModal.js","webpack:///./front/components/Dashboard/common/MultipleTrack/components/TrackItemsSubscriptions/index.jsx","webpack:///./front/components/Dashboard/common/MultipleTrack/index.jsx","webpack:///./front/components/Dashboard/common/TrackFrequency/index.jsx","webpack:///./front/components/Dashboard/Workspaces/components/NewWorkspaceModal/utils/nameValidation.js","webpack:///./front/components/Dashboard/Workspaces/utils/constants.js","webpack:///./front/components/Dashboard/common/FrequencyPlaceholder/index.jsx","webpack:///./front/components/Dashboard/Workspaces/components/NewWorkspaceModal/useNewWorkspaceModal.js","webpack:///./front/components/Dashboard/Workspaces/components/NewWorkspaceModal/index.jsx","webpack:///./front/components/Dashboard/common/TrackModal/components/WorkspacesSelect/styles.module.scss","webpack:///./front/components/Dashboard/common/MultipleTrack/components/CommitteeTrack/styles.module.scss","webpack:///./front/components/masked-input/mask-mapping.js","webpack:///./front/components/masked-input/masked-input.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Create/components/Panel/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/styles.module.scss","webpack:///./front/components/Moneyball/utils/constants.js","webpack:///./front/components/Dashboard/Workspaces/utils/index.js","webpack:///./front/components/royal-file-uploader/components/file-details.jsx","webpack:///./front/components/royal-file-uploader/components/upload-button.jsx","webpack:///./front/components/royal-file-uploader/components/hidden-inputs.jsx","webpack:///./front/components/royal-file-uploader/components/loading-message.jsx","webpack:///./front/components/royal-file-uploader/components/error-message.jsx","webpack:///./front/components/royal-file-uploader/components/file-list.jsx","webpack:///./front/components/royal-file-uploader/components/container.jsx","webpack:///./front/components/royal-file-uploader/components/constants.js","webpack:///./front/components/royal-file-uploader/royal-file-uploader.jsx","webpack:///./front/components/Moneyball/utils/index.js","webpack:///./front/components/Stakeholder/Lookup/components/Options/utils/constants.js","webpack:///./app/assets/stylesheets/scss/global/_variables.scss","webpack:///./front/components/tag-input/tag-input.jsx","webpack:///./front/components/Dashboard/common/FeedPage/utils/index.js","webpack:///./front/components/NavigationV2/components/MobileView/components/common/PanelHeader/index.jsx","webpack:///./front/components/GlobalSearch/components/Input/styles.module.scss","webpack:///./front/components/GlobalSearch/components/RecentVisits/Visit/styles.module.scss","webpack:///./front/components/map/constants.js","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/styles.module.scss","webpack:///./front/components/GlobalSearch/components/RecentVisits/Placeholder/index.jsx","webpack:///./front/components/shared/party-icon.jsx","webpack:///./front/components/shared/datepicker/helper.js","webpack:///./front/components/shared/datepicker/single-datepicker.jsx","webpack:///./front/components/UnifiedSearch/components/Result/components/Tooltip/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Result/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/components/Search/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/components/SearchBar/components/CreateButton/styles.module.scss","webpack:///./front/components/OnePageReport/Creator/reportDownloader.js","webpack:///./front/components/NavigationV2/components/RouteListener/index.jsx","webpack:///./front/components/Dashboard/Workspaces/utils/shapes.js","webpack:///./front/components/Dashboard/common/Sponsor/index.jsx","webpack:///./front/components/NavigationV2/components/MobileView/components/common/FooterBar/index.jsx","webpack:///./front/components/Stakeholder/common/Modals/useModals.js","webpack:///./front/components/Advocates/Lookup/utils/Notifications.jsx","webpack:///./front/components/Errors/ErrorTemplate/index.tsx","webpack:///./front/components/Advocates/common/Modals/StakeholderForm/components/Form/components/Fields/components/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/RecentCard/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Filters/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/DirectoryToggler/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/NavigationBar/components/Apps/components/Panel/styles.module.scss","webpack:///./front/components/GlobalSearch/components/LoadingWarning/styles.module.scss","webpack:///./front/components/GlobalSearch/components/RecentVisits/Placeholder/styles.module.scss","webpack:///./front/components/GlobalSearch/components/EmptyWarning/styles.module.scss","webpack:///./front/components/GlobalSearch/components/RecentVisits/styles.module.scss","webpack:///./front/components/Legislator/Name/styles.module.scss","webpack:///./front/components/Dashboard/common/TrackModal/components/SlideUpTrackModal.jsx","webpack:///./front/components/Dashboard/common/TrackModal/index.jsx","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Period/components/CustomPeriod/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/components/SearchBar/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/HiddenItemsDropdown/DropdownContent/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/styles.module.scss","webpack:///./front/components/NavigationV2/components/MobileView/components/ApplicationMenu/ActiveMenu/components/Directory/components/Links/styles.module.scss","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/utils/errorMessages.js","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/utils/validationSchema.js","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/utils/index.js","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/utils/useForm.js","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/utils/withForm.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/CustomFields/index.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/Fields/components/AddRemoveButtons.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/Fields/BaseField.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/Fields/TagInputField.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/Fields/ButtonGroupField.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/AdditionalDetails.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/Fields/MultipleField.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/Fields/AddressField.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/Fields/EmailField.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/Fields/PhoneField.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/components/BasicInfo.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Form/index.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/utils/useErrorStepRedirect.js","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/components/Container/index.jsx","webpack:///./front/components/Stakeholder/common/Modals/StakeholderForm/index.jsx","webpack:///./front/components/GlobalSearch/utils/constants/resultCategories.js","webpack:///./front/components/DelayedInput/useDebounce.tsx","webpack:///./front/components/Login/utils/remember-user-service.js","webpack:///./front/components/UnifiedSearch/components/Lobby/components/RecentVisits/components/VisitsPlaceholder/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/Directory/components/Categories/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/Directory/components/Links/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/Directory/styles.module.scss","webpack:///./front/components/hill-day-calendar/constants.js","webpack:///./front/components/Stakeholder/common/utils/getDistrictFilters.js","webpack:///./front/components/Dashboard/common/UserNotifications/styles.module.scss","webpack:///./front/components/shared/copy-to-clipboard-input/components/InfoBar/styles.module.scss","webpack:///./front/components/Dashboard/common/FrequencyCard/index.jsx","webpack:///./front/components/Advocates/utils/constants.js","webpack:///./front/components/UnifiedSearch/components/ResultsCount/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Option/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/Options/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/States/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/AdvancedOptions/components/Region/components/Locales/components/Options/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Lobby/components/QuickLinks/styles.module.scss","webpack:///./front/components/UnifiedSearch/components/Lobby/styles.module.scss","webpack:///./front/components/UnifiedSearch/styles.module.scss","webpack:///./front/components/NavigationV2/components/common/DisabledCreateMessage/styles.module.scss","webpack:///./front/components/NavigationV2/components/Navigation/components/MenuBar/components/Directory/components/Links/components/Link/styles.module.scss","webpack:///./front/components/GlobalNotifier/style.js","webpack:///./front/components/GlobalNotifier/index.jsx","webpack:///./front/components/hill-day-calendar/components/event-calendar/components/schedule/components/helpers.js","webpack:///./front/components/Dashboard/common/IconButton/index.jsx","webpack:///./front/components/GlobalSearch/components/Result/styles.module.scss","webpack:///./front/components/Dashboard/utils/shapes.js","webpack:///./front/components/Stakeholder/utils/Notifications.js","webpack:///./front/components/Dashboard/common/PartyBadge/styles.module.scss","webpack:///./front/components/GlobalSearch/utils/constants/index.js","webpack:///./front/components/modal.jsx"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","application","3","navigation-pack","utils/vh-fix","exports","module","l","e","promises","0","1","Promise","resolve","reject","href","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","head","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","BASE_URL","RECENT","TRACKED","EXPORT_LIMIT","TITLE_MAX_LENGTH","FILTER_READ_HIDE_READ","FILTER_READ_HIDE_UNREAD","responseEventTypes","SHARED_DOCUMENT","FEDERAL_BILL_ACTION","FEDERAL_BILL_COSPONSOR","FEDERAL_BILL_TEXT","FEDERAL_BILL_HEARING","FEDERAL_COMMITTEE_HEARING","FEDERAL_REGULATION_PUBLIC_SUBMISSION","FEDERAL_STAFFER_JOIN","FEDERAL_STAFFER_LEAVE","FEDERAL_STAFFER_TITLE_CHANGE","STATE_BILL_ACTION","STATE_BILL_SPONSOR","STATE_REGULATION_PUBLICATION","STATE_REGULATION_STATE_AGENCY_NOTICE","STATE_REGULATION_STATE_NOTICE","STATE_STAFFER_JOIN","STATE_STAFFER_LEAVE","STATE_STAFFER_TITLE_CHANGE","KEYWORD_FEDERAL_BILL","KEYWORD_CONGRESSIONAL_RECORD","KEYWORD_DOCTROVE_AGENCY_PRESS_RELEASE","KEYWORD_DOCTROVE_CBO","KEYWORD_DOCTROVE_COMMITTEE_REPORT","KEYWORD_DOCTROVE_CRS","KEYWORD_DOCTROVE_DEAR_COLLEAGUE_LETTER","KEYWORD_DOCTROVE_EXECUTIVE_ORDER","KEYWORD_DOCTROVE_FBO","KEYWORD_DOCTROVE_GAO","KEYWORD_DOCTROVE_GOVERNOR_ORDER","KEYWORD_DOCTROVE_GOVERNOR_PRESS_RELEASE","KEYWORD_DOCTROVE_GRANT","KEYWORD_DOCTROVE_HEARING_TRANSCRIPT","KEYWORD_DOCTROVE_LIVE_HEARING_TRANSCRIPT","KEYWORD_DOCTROVE_PRESS_BRIEFING","KEYWORD_DOCTROVE_PRESS_RELEASE","KEYWORD_DOCTROVE_SAP","KEYWORD_DOCTROVE_THIRD_PARTY_REPORT","KEYWORD_DOCTROVE_TREATY","KEYWORD_DOCTROVE_UNION_STATEMENT","KEYWORD_FEDERAL_REGULATION","KEYWORD_SOCIAL_MEDIA_POST","KEYWORD_STATE_BILL","KEYWORD_STATE_REGULATION","KEYWORD_TOWN_INTEL_DOCUMENT","FEDERAL_BILL_USER_POSITION","FEDERAL_REGULATION_USER_POSITION","STATE_BILL_USER_POSITION","STATE_REGULATION_USER_POSITION","STATE_COMMITTEE_HEARING","NEWS_STORY","responseTrackingTypes","FEDERAL_BILL","FEDERAL_REGULATION","FEDERAL_LEGISLATOR","FEDERAL_COMMITTEE_STAFFER","FEDERAL_LEGISLATOR_STAFFER","STATE_BILL","STATE_REGULATION","STATE_COMMITTEE_STAFFER","STATE_LEGISLATOR_STAFFER","STATE_LEGISLATOR","SUBSCRIBABLE_TYPES","KEYWORD","COMMITTEE","FEDERAL_REGISTER_REGULATION","FEDERAL_STAFFER_OFFICE","STATE_COMMITTEE","STATE_STAFFER_OFFICE","NEWSFEED","WORKSPACE","DOCUMENT_TYPES","STATE_EXECUTIVE","STATE_AGENCY_STAFFER","STATE_STAFFER","STATE_REGULATION_DOCUMENT","FEDERAL_COMMITTEE","FEDERAL_AGENCY_STAFFER","CONGRESSIONAL_STAFFER","TOWN_INTEL_DOCUMENT","HEARING_TRANSCRIPT","COMMITTEE_REPORT","CONGRESSIONAL_RECORD","SOCIAL_MEDIA_POST","DOCTROVE_PRESS_RELEASE","DOCTROVE_GOVERNOR_ORDER","DOCTROVE_GOVERNOR_PRESS_RELEASE","DOCTROVE_AGENCY_PRESS_RELEASE","DOCTROVE_TREATY","DOCTROVE_GAO","NEWS_SEARCH","GRM_V2_CARD","LOCAL_EXECUTIVE","POSITION_BUTTON_RECORD_TYPES","_defineProperty","_POSITION_BUTTON_RECO","FEDERAL_REGULATION_TYPES","notice","proposed_rule","rule","other","SAVE_ACTION","PRIORITY_ACTION","SUBSCRIPTION_ACTION","READ_ACTION","TRACKED_DEFAULT_SORT","label","direction","sortDirections","DESC","TRACKED_SORT_OPTIONS","ASC","DASHBOARD_BASE_URL","BACK_TO_WORKSPACES","wrapMenuList","MenuList","WrappedMenuList","_Component","_inherits","Component","_super","_createSuper","_this","_classCallCheck","this","_len","arguments","args","Array","_key","concat","innerRef","ref","menuListRef","props","setCheckAndHandleTimeout","checkAndHandle","checkTimeout","shouldLoadMore","scrollHeight","clientHeight","scrollTop","shouldHandle","_this$props$selectPro","selectProps","inputValue","onInputChange","handleScrolledToBottom","el","_this$props","isLoading","hasFilteredOptions","options","some","_ref","__isNew__","react_default","a","_extends","propTypes","paginationPage","paginationOptions","paginationHasMore","filterOption","Autosuggest","React","Autosuggest_classCallCheck","getName","multiple","state","isArrayWithEmptyValues","isEmptyValue","defaultRawValues","isArray_default","filter","renderInput","_this$props2","theme","pagination","asyncCreatable","clearIndicator","placeholder","autofocus","autoload","disabled","onBlur","onFocus","formatCreateLabel","allowCreateWhileLoading","createOptionPosition","customFilterOption","customMultiValueLabel","customOption","cacheOptions","isSearchable","className","strategy","withRichOption","getNewOptionData","isClearable","overriddenComponents","backspaceRemovesValue","onMenuClose","menuIsOpen","tabSelectsValue","noOptionsMessage","loadingMessage","getOptionValue","AutosuggestComponent","AsyncCreatable","Async","customSelectComponents","Autosuggest_extends","DropdownIndicator","Option","asyncProps","isMulti","isDisabled","styles","customSelectStyles","classNames","wrapperClassName","cacheKey","onChange","loadOptions","fetchOptions","components","getCustomNoOptionsText","defaultOptions","autoFocus","ASYNC_DELAY","handlePaginationReset","handleInputChange","currentInputValue","onMenuOpen","doDebouncedLoadOptionsWithPagination","MultiValueLabel","selectedValues","Autosuggest_assertThisInitialized","doFetching","loadOptionsWithPagination","debounce_default","doDebouncedFetching","reverseFetchDefaultRawValues","groupClassName","nextProps","isEqual_default","actionMeta","startTrimedValue","trimStart","isFunction_default","setState","minimumCharactersToSearch","getNoOptionsText","_this$props3","defaultSelections","option","inputText","callback","_this$props4","uri","optionsParser","strategyInputs","reqContentType","reqTransform","resTransform","reqMethod","withAjaxAbort","size_default","trim_default","pageSize","ajax","fetcher","strategySlug","page","newOptions","unionWith_default","handlePaginationOptions","reverseSearch","onSuccess","_this$props5","customFetcher","multipleStrategySlugs","_this$props6","isInputEmpty","isEmpty_default","noMinimumCharacters","trim","_this2","fromNewProps","_this$props7","shouldOverrideValue","overrideValue","_this$props8","noGroupClassName","keys","keys_default","join","values","values_default","_this$props9","labelClassName","inputClassName","labelComponent","defaultProps","labelItem","Bar","initializeMorris","Morris","element","id","xkey","ykeys","resize","hideHover","labels","barColors","row","find","cell","color","isEmpty","react__WEBPACK_IMPORTED_MODULE_1___default","advancedOptions","active","title","closeButton","searchWrapper","search","wrapper","loading","divider","open","slide-down","avatarContainer","avatarImage","party","loadingWrapper","loadingImage","icon","categories","category","largeNavHeaderHeight","tooltipStyles","navBarDropdownPadding","tooltipTrigger","loadingOverlay","drillDown","container","navSection","appMenu","appMenuActive","searchMenu","searchMenuActive","formField","complementaryFieldInput","primaryButton","hidden","formGroup","prefix","invalid","withPrefix","inputWithTypes","input","inputFieldGroup","buttonGroup","isActive","header","content","imgContainer","link","PropTypes","oneOf","uiShape","shape","isInfiniteDisabled","bool","isInitialSeenUpdated","isLoadingDefaultSubscription","isLoadingKeywords","isUpdatingDefaultSubscription","isLoadingNextPage","stafferTypes","ui","paginator","totalCount","number","stringNumberType","string","arrayOf","partyShape","position","lastActionDate","url","trackedShape","isRequired","func","titleUrl","displayTitle","cardTitle","stateShort","frequency","frequencyType","commonDescriptionPropTypes","isExternal","linkNodeOnlyPropTypes","afterLabel","sponsorOnlyPropTypes","partyShort","comeFrom","infoText","hearingPropTypes","subject","location","committee","descriptionNodeShape","eventShape","createdAt","priority","isSaved","description","descriptionNode","actionType","itemType","stateShape","tagShape","oneOfType","filterValuesShape","searchValue","date","dateRangeShape","dateAdded","emailFrequency","keywords","lastUpdate","readItems","removedItems","savedItems","status","tags","trackedItems","sharedItems","subscriptionShape","perPage","modelId","token","keyword","trackingsSlug","subscribableType","subscribableData","model_id","model_type","sendWeekAheadEmail","isTracking","commonCardProps","node","recordId","documentType","isRead","positionRecordType","withPosition","isLoadingPosition","isLoadingTags","recentCardShape","isLoadingTracking","isNewData","isRemoved","recordType","subscription","trackRecordType","withTrack","listSubscriptionsShape","subscribableTypePropType","officeHolderShape","addressableMoniker","partySlug","trackedCardShape","ids","subscriptionId","listSubscriptions","officeHolder","staffer","sourceContentType","isInitialLoad","last_visit_at","latest_event_token","track","keywordId","save","share","sort","toReset","dataCommitteeTypes","components_Moneyball_utils_constants__WEBPACK_IMPORTED_MODULE_0__","dataSourceTypes","FEC","IRS","STATE","embed","LOCAL","dataParties","REPUBLICAN","DEMOCRATIC","OTHER","dataElectionTypes","PRIMARY","GENERAL","SPECIAL","__webpack_exports__","DISCLAIMER_TYPES","hasMoneyballSubscription","supportEmail","hasRequiredInfo","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0__","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_0___default","CONTRIBUTIONS","gon","moneyballDisclaimer","isMoneyballEnabled","stakeholder","firstName","lastName","trackUsingFunctionName","utils_tracking__WEBPACK_IMPORTED_MODULE_0__","trackingFunctionName","eventContext","eventName","eventData","tracking","MY_FEED_LINKS","myFeed","myFeedSettings","keywordSearch","LINKS","workspaces","activity","advocates","stakeholders","moneyball","hillDay","reports","federalStaffers","NAMES","SelectList","_assertThisInitialized","updateSelected","Select","clearable","searchable","multi","displayName","staff","staffResp","responsibilities","displayResp","first_name","last_name","Form","Form_classCallCheck","closeModal","Form_assertThisInitialized","staffers","onToggleVisibility","map","email","emails","modal","isOpen","visible","onClick","aria-hidden","action","StaffersMailer_SelectList","legislatorStaffersFetcher","legislatorId","addNotification","app","GlobalNotifier","$","method","success","level","StaffersMailer","StaffersMailer_classCallCheck","toggleFormVisibility","StaffersMailer_assertThisInitialized","loadStaffers","response","formVisible","StaffersMailer_Form","Name","routerLink","contentClassName","partyIconClassName","rightContent","isPresentAvatar","avatarUrl","commonProps","nameWeight","nameNode","react__WEBPACK_IMPORTED_MODULE_2___default","getIcon","components_shared_party_icon__WEBPACK_IMPORTED_MODULE_7__","EMPTY_VALUE","lodash_isNil__WEBPACK_IMPORTED_MODULE_1___default","Fragment","avatarImg","alt","contentNode","components_core_Link__WEBPACK_IMPORTED_MODULE_6__","react_router_dom__WEBPACK_IMPORTED_MODULE_4__","to","useModals","currentStep","_useState2","_slicedToArray","useState","isStakeholderModalOpen","setIsStakeholderModalOpen","_useState4","stakeholderModalStep","setStakeholderModalStep","toggleStakeholderModal","handleChangeStakeholderModalStep","step","handleStakeholderModalClose","handleStakeholderModalOpen","errorMessages","required","phone","facebookProfileUrl","username","unique","Yup","validateUniqueness","propertyName","rules","test","item","path","parent","_rules$minArrayLength","minArrayLength","isInvalid","is","createError","validationSchema","customFields","defaultShape","middleName","addresses","of","place_id","address","primary","customRequired","organization","phones","matches","PHONE_REGEXP","excludeEmptyString","nullable","facebookProfile","FACEBOOK_PROFILE_URL_REGEXP","twitterName","TWITTER_USERNAME_REGEXP","customFieldsShape","getCustomFieldsSchema","emailPlaceholder","default","custom","phonePlaceholder","addressPlaceholder","getDefaultValue","defaultNewEmailValue","defaultEmailArray","defaultNewPhoneValue","defaultPhoneArray","defaultNewAddressValue","defaultAddressArray","getArray","array","defaultValues","normalizePayload","payload","tokens","_ref3","omit_default","removeCustomFieldsFromRoot","utils_extends","custom_fields","_ref4","pick_default","getCustomFieldsAnswers","normalizeAddresses","useForm","toggleOpen","customField","allCustomFields","createStakeholder","updateStakeholder","fetchCustomFields","handleChangeCurrentStep","isProfilePageUpdate","avoidDispatchFetch","_useModals","handleStepRedirect","useEffect","search_form","product_slugs","PRODUCT_SLUGS","STAKEHOLDER_MGMT","enabled","per_page","MAX_CUSTOM_FIELDS_PAGE_SIZE","Notifications","defaultFetchDataFailed","_ref2","lists","partyCode","valueOrEmpty","sortBy_default","arrayToSelectableItems","mapPropsToValues","useForm_extends","initialValues","schema","onRedirect","onChangeCurrentStep","onSubmit","formActions","setSubmitting","setFieldError","resetForm","_getNotifications","_ref5","submitAction","successNotification","stakeholderEditSuccess","failureNotification","stakeholderEditFailed","stakeholderCreateSuccess","stakeholderCreateFailed","getNotifications","profile","field","stakeholderData","transformStakeholderToBE","handleFailure","forEach","handleSuccess","StakeholderFormContext","createContext","withForm","Consumer","context","withForm_extends","controlStyles","wrapperClass","controlClass","formControl","CustomFields","formState","handleBlur","handleChange","submitForm","isSubmitting","isCustomFieldsRedirect","onCustomFieldsRedirect","isLoadingCustomFields","errors","touched","assign","handlers","emptyDescription","Button","linkButton","Loader","onlyIcon","size","enabledCustomFields","EmptyPlaceholder","controlState","CustomField","AddRemoveButtons","complementaryName","onToggle","buttonTitle","onRemove","onAdd","isAddMoreDisabled","showRemove","complementaryFieldProps","commonButtonProps","isVisible","AddRemoveButtons_extends","addButton","separator","removeButton","BaseField","typeValue","typeOptions","typeName","renderCustomInputNode","prefixClassName","maskSlug","setFieldValue","index","fieldName","optionalFieldName","errorMessage","onRemoveField","onAddField","hasMultipleValues","primaryValue","primaryName","onChangePrimary","complementaryFieldName","clearComplementaryField","restProps","_objectWithoutProperties","initialLoad","complementaryFieldState","setComplementaryFieldState","withTypes","errorText","getError","isError","prefixClassNames","inputProps","BaseField_extends","showComplementaryField","prev","addRemoveButtonsProps","primaryButtonProps","checked","RadioBox","Label","htmlFor","Asterisk","show","Placeholder","MaskedInput","Input","components_AddRemoveButtons","ErrorMessage","TagInputField","TagInputField_objectWithoutProperties","TagInput","TagInputField_extends","ButtonGroupField","handleButtonClick","dataValue","ButtonGroup","AdditionalDetails","getDefaultValues","listValues","Fields_BaseField","AdditionalDetails_extends","Fields_ButtonGroupField","PARTIES","Fields_TagInputField","TAG_STRATEGY_SLUG","MultipleField","defaultValue","viewLimit","setFieldTouched","MultipleField_objectWithoutProperties","getFieldName","getTitle","getErrorMessage","formik_esm","rerenderOnEveryChange","render","remove","isPrimary","selectedTypeValue","typeOption","MultipleField_extends","removedIndex","_","defaultTypeOptions","AddressField","AddressField_objectWithoutProperties","complementaryFieldPlaceholder","handleAddressChange","placeId","handleComplementaryFieldChange","addressClassNames","inputStyles","Fields_MultipleField","AddressField_extends","restInputProps","autocompleteValue","complementaryAddressValue","complement","AddressAutocomplete","allowInternationalSearch","personalTypeOptions","EmailField","EmailField_objectWithoutProperties","EmailField_extends","PhoneField","PhoneField_objectWithoutProperties","PhoneField_extends","BasicInfo","BasicInfo_extends","middle","Fields_EmailField","Fields_AddressField","Fields_PhoneField","handleSubmit","submitCount","isValid","Form_slicedToArray","setCustomFieldsRedirect","requiredCustomFields","filter_default","steps","errorFields","component","components_BasicInfo","Form_extends","components_AdditionalDetails","components_CustomFields","submitCountRef","useRef","firstErrorKey","current","modalStep","includes","useErrorStepRedirect","closeMessage","formControls","MultiStep","handleAction","customCloseMessage","withCloseConfirmation","onReset","resetStep","isSaving","showLoadingPlaceholder","Container","Container_objectWithoutProperties","_useForm","formProps","enableReinitialize","formikProps","components_Form","Container_extends","StakeholderForm","stakeholderContext","StakeholderForm_extends","StakeholderForm_objectWithoutProperties","Provider","components_Container","LinkedAutosuggest","react__WEBPACK_IMPORTED_MODULE_1__","components_Autosuggest_index_jsx__WEBPACK_IMPORTED_MODULE_2__","autosuggestChange","autosuggestChoice","prop_types__WEBPACK_IMPORTED_MODULE_0__","prop_types__WEBPACK_IMPORTED_MODULE_0___default","suggesterFillerFetcher","requiredInputs","strategy_slug","required_inputs","JSON","stringify","button","feed","trigger","actions","back","body","customRegions","clearFilters","searchText","dropdownButton","CropContext","imageSource","isOpenModal","purified","v","dataURItoBlob","dataURI","splitted","split","byteString","indexOf","atob","unescape","mimeString","ia","Uint8Array","charCodeAt","Blob","handleUpload","_regeneratorRuntime","mark","_callee","croppedImage","_props$options","inputName","_props$options$requir","wrap","_context","next","FormData","append","cache","contentType","processData","sent","abrupt","stop","_x","DATE_FORMAT","files","initialCrop","selectedFile","setInitialCrop","_this$props$options$s","square","x","y","width","height","minWidth","aspect","uploadImage","toggleModal","handleLoadFiles","file","uploadedAt","moment","created_at","format","_toConsumableArray","handleCropped","handleReset","handleDelete","prevProps","_this$props$options$f","fileUploadIds","requests","fileUploadId","fetchFiles","children","context_context","handleCrop","withContext","hoc_extends","UploadButton","upload_button_classCallCheck","inputReferer","createRef","resetInput","reader","FileReader","ev","readAsDataURL","reloadAfterSubmit","_this$props$options$r","replaceTargets","querySelector","NAVIGATION_USER_PROFILE_IMG_ID","currentUser","profileImgUrl","innerHTML","offsetWidth","offsetHeight","customError","reload","preventDefault","renderDeleteButton","renderFileName","renderFileList","renderLabel","_this$props$options","accept","buttonText","inputId","submitButton","renderSubmit","upload_button","ModalHeader","handleClose","data-dismiss","aria-label","ModalContent","crop","onImageLoaded","onComplete","renderPreview","croppedImageUrl","ReactCrop_default","keepSelection","ModalFooter","ModalEditor","onCropComplete","pixelCrop","makeClientCrop","image","imageRef","naturalWidth","naturalHeight","Math","round","onCropChange","getCroppedImg","canvas","getContext","fillStyle","fillRect","drawImage","dataURL","toDataURL","modal_regeneratorRuntime","modal_extends","_this$state","closeTimeoutMS","onRequestClose","shouldCloseOnOverlayClick","footer","ImageCropper","provider","components_modal","commonBadge","buttonLoader","TrackedItemLink","feedToken","_getTrackedItemProps","modelType","getItemType","feedUrl","isMyFeed","getTrackedItemProps","Link","baseLink","formattedItemType","upperFirst_default","commonSuccessAlert","alertSuccessAction","commonErrorAlert","alertErrorAction","MY_FEED_SETTINGS_URL","notifyTrackItem","_ref$url","_ref$trackingsCount","trackingsCount","pluralize","WorkspaceLink","notifyUpdateTrackItem","itemTitle","_ref2$url","notifyUntrackItem","_ref3$url","_ref3$trackingsCount","subscriptions","fromWorkspace","notifyUntrackItemFailure","lowerCase_default","notifySetPosition","positionLabel","notifySetPriority","_ref6","feedName","priorityLabel","notifyMarkItemAsRead","_ref7","notifyBulkMarkAsRead","_ref8","itemsLength","notifyRemoveItem","_ref9","notifySaveItem","_ref10","notifyAddTagsMultiple","notifyAddTags","_ref11","removedMultipleItems","_ref12","selectedItemsSize","savedMultipleItems","_ref13","prioritizedMultipleItems","_ref14","numberOfItems","notifySubscriptionChange","_ref15","notifySubscriptionChangeFailure","_ref16","notifySubscriptionSendEmail","_ref17","saveTrackItemsSuccess","workspaceLink","getFeedSettingsUrl","customNode","components_TrackedItemLink","resetSubscriptionFrequency","_ref21","restoreAllSubscriptions","_ref22","notifySharedToMyFeed","_ref24","_ref24$href","notifySharedToMyFeedMultiple","itemsSize","notifyLoadPageFailure","_ref25","notifyWorkspaceCreateSuccess","_ref26","getFeedUrl","notifyWorkspaceCreateFailure","notifyWorkspaceUpdateSuccess","_ref27","notifyWorkspaceUpdateFailure","_ref28","notifyWorkspaceDeleteSuccess","_ref29","notifyWorkspaceDeleteFailure","_ref30","notifyWorkspaceSubscriptionSubscribeSuccess","_ref31","itemToken","notifyWorkspaceSubscriptionSubscribeFailure","_ref32","notifyWorkspaceSubscriptionUpdateSuccess","_ref33","notifyWorkspaceSubscriptionUpdateFailure","_ref34","notifyWorkspaceSubscriptionUnsubscribeSuccess","_ref35","notifyWorkspaceSubscriptionUnsubscribeFailure","_ref36","notifyWorkspaceKeywordUpdateSuccess","_ref37","notifyWorkspaceKeywordUpdateFailure","_ref38","notifyWorkspaceItemUnsubscribeSuccess","_ref39","notifyWorkspaceItemUnsubscribeFailure","_ref40","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","classnames__WEBPACK_IMPORTED_MODULE_2__","classnames__WEBPACK_IMPORTED_MODULE_2___default","components_Dashboard_common_TrackFrequency__WEBPACK_IMPORTED_MODULE_4__","components_core_Checkbox__WEBPACK_IMPORTED_MODULE_5__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_6__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_6___default","TrackFrequencyContent","isMobile","withWeekAheadEmail","onChangeSendEmail","withFrequency","buttonClassName","frequencyButton","selectedOption","isChecked","checkbox","card","cardHeader","noBorder","topMessage","nameLabel","namePlaceholder","nameInput","frequencyLabel","lodash_debounce__WEBPACK_IMPORTED_MODULE_0__","lodash_debounce__WEBPACK_IMPORTED_MODULE_0___default","utils_breakpoints_constants__WEBPACK_IMPORTED_MODULE_1__","setDocHeight","documentElement","style","setProperty","innerHeight","innerWidth","MD_SCREEN","addEventListener","debounce","addNavigationV2Classes","getIsActiveExact","getIsActive","APP_MENU","getIsMyFeedActive","components_NavigationV2_utils_constants__WEBPACK_IMPORTED_MODULE_0__","mainEl","getElementById","classList","add","navigationEl","pathname","match","RegExp","frequencyDescription","MAPBOX_TYPE_BY_MATCHER_SLUG","_MAPBOX_TYPE_BY_MATCH","FEDERAL","_FEDERAL","HOUSE","mapConstants","CONGRESSIONAL_DISTRICTS","SENATE","_STATE","STATE_LEGISLATION_LOWER","STATE_LEGISLATION_UPPER","ACTION_TYPE","FACEBOOK_POST","MAIL","REGULATION_COMMENT","TWITTER_POST","RECIPIENT_TYPE","CUSTOM_RECIPIENT","useNavigation","appMenuTab","setAppMenuTab","isMobilePage","isFirstPageLoad","setIsFirstPageLoad","menuPlaceholder","isAppMenuOpen","toggleAppMenu","currentSelectedTab","ResultsCount","resultsCount","text","Paginator","core_Paginator","isLoadingMore","isPaginatorPresent","hasMore","renderCustomLoader","customIcon","iconClassName","isAddIcon","isRemoveIcon","loaderClassName","onLoad","loadMore","capture","FILTER_OPTIONS","RESULT_TEXT_LIMITS","executiveSlugs","peopleSlugs","legislationSlugs","regulationSlugs","legislationAndRegulationSlugs","committeesSlugs","documentsSlugs","TRACKABLE_SLUGS","COLLECTIONS_DEFAULT","getSlugLabel","slug","stakeholder_mgmt_stakeholders","rolodex","federal_agency_contacts","state_legislation_staffers","federal_legislators","state_legislation_legislators","federal_executive","state_executive","state_staffer_executive","local_executive","municipal_executive","county_executive","federal_committees","state_legislation_committees","federal_bills","state_legislation_bills","federal_register_regulations","state_legislation_regulations","doctrove_agency_press_releases","cbo_gov","committee_reports","press_releases","congressional_record","fbo_gov","doctrove_crs","doctrove_dear_colleague_letters","doctrove_executive_orders","gao_gov","grants_gov","lobby_filing_issues","doctrove_live_hearing_transcripts","doctrove_hearing_transcripts","doctrove_sap","doctrove_union_statements","treaties","doctrove_third_party_reports","doctrove_press_briefings","doctrove_governor_orders","doctrove_governor_press_releases","social_media","getRecordType","townintel","getSlug","doctrove_cbo","doctrove_agency_press_release","doctrove_governor_press_release","doctrove_governor_order","doctrove_executive_order","doctrove_hearing_transcript","doctrove_dear_colleague_letter","doctrove_fbo","doctrove_gao","doctrove_grant","doctrove_live_hearing_transcript","doctrove_press_briefing","doctrove_committee_report","doctrove_press_release","doctrove_third_party_report","doctrove_treaty","doctrove_union_statement","federal_bill","federal_committee","federal_committee_staffer","federal_committee_hearing","federal_legislator","federal_legislator_staffer","federal_register_regulation","stakeholder_mgmt_stakeholder","state_bill","state_committee","state_committee_staffer","state_committee_hearing","state_legislator","state_legislator_staffer","state_regulation","state_staffer","social_media_post","town_intel_document","state_agency_staffer","news_search","ResultTooltip","isActiveTooltip","setIsActiveTooltip","onUpdateTagItems","isTrackable","tippy_react_esm","tooltip","ButtonTagManager","tooltipItem","onSaveTags","isMultipleItems","updateDataItem","CustomButtonComponent","customIsOpenModal","customToggleModal","ButtonShare","itemUrl","itemName","withModal","TrackButton","trackings","withButtonContent","_result$updateTrackin","updateTrackings","shouldDisplayIcon","placement","onClickOutside","arrow","offset","onKeyDown","dots","truncateHighlight","highlight","limit","openingEmphasisRegex","closingEmphasisRegex","adjustedLimit","openingEmphasisStartIndex","lastIndex","closingEmphasisStartIndex","truncate","sufix","ACCEPTABLE_POSITION_RECORD_TYPES","Result","titleLength","onAddRecentVisit","Result_slicedToArray","resultTags","isExternalLink","handleResultClick","rightIcon","isRouterLink","displayExternalIcon","titleHighlight","dangerouslySetInnerHTML","__html","party_icon","subTitle","subtitleHighlight","descriptionHighlight","ViewTags","ButtonPosition","containerClassName","initialPosition","handleSetPosition","updatePosition","Tooltip","updateTags","Feed","useMediaQuery","components_ResultsCount","total","results","components_Result","components_Paginator","AdvancedOptionsButton","toggle","OptionsWrapper","isSelected","_ref$withCheckMark","withCheckMark","hasCheckMark","selected","data-testid","Trigger","Dropdown","maxWidth","interactive","components_Trigger_Trigger","ActionsWrapper","Header","ApplyButton","BackButton","SlideUpModal","bodyClassName","Modal","slideDurationMillis","SlideUpModal_Header_Header","CustomPeriod","toggleFilter","toggleSelectCustomPeriod","customPeriod","CustomPeriod_slicedToArray","from","startDate","setStartDate","endDate","setEndDate","isCustomPeriodSet","handleApply","change","period","DatePicker","start","end","maxDate","Date","calendar","mobileCalendar","selectsRange","inline","SlideUpModal_ActionsWrapper_ActionsWrapper","SlideUpModal_BackButton_BackButton","SlideUpModal_ApplyButton_ApplyButton","applyButton","applyDisabled","PERIOD_OPTIONS","any","hour","day","week","month","year","Options","Options_slicedToArray","mobileSelectedOption","setMobileSelectedOption","renderOption","components_Option_Option","handleClick","components_OptionsWrapper_OptionsWrapper","entries","Period","filters","isMounted","useMountedRef","Period_slicedToArray","setIsVisible","toggleIsVisible","isVisiblePrev","isCustomPeriodSelected","setIsCustomPeriodSelected","DEFAULT_SLIDE_DURATION","renderButtonContent","_values$customPeriod","_values$customPeriod2","formatDate","renderFilterContent","components_CustomPeriod_CustomPeriod","components_Options_Options","components_SlideUpModal_SlideUpModal","components_Dropdown_Dropdown","REGION_OPTIONS","federal","local","CUSTOM_STATE_DEFAULT","CUSTOM_LOCALE_DEFAULT","STATE_OPTIONS","MODAL_TITLES","onSelectCustomRegion","region","Options_Options_slicedToArray","isCustomRegion","customRegion","count","handleOptionClick","selectedOptions","setOptions","defaultOption","newCustomRegions","removeRegion","addRegion","SearchWrapper","useStates","_advancedOptions$valu","initialSelectedStates","useStates_slicedToArray","selectedStates","setSelectedStates","setSearch","regex","handleSearchChange","useMemo","States","onResetCustomRegion","states","components_SearchWrapper_SearchWrapper","locales","selectedLocales","setSelectedLocales","locale","hasPlaceholder","buildLocales","parsed","parse","city","api","getLocales","api_regeneratorRuntime","query","post","useLocales","initialSelectedLocales","useLocales_slicedToArray","_useState6","setStatus","_useState8","setLocales","debouncedSearch","useDebounce","latestSearch","reset","searchStatus","searchLocales","useLocales_regeneratorRuntime","currentSearch","isResponseOutdated","Locales","Locales_components_Options_Options","CustomRegionsWrapper","Region","Region_slicedToArray","setCustomRegion","resetCustomRegion","stateValues","components_CustomRegionsWrapper_CustomRegionsWrapper","localLabels","components_States_States","components_Locales_Locales","Region_components_Options_Options","handleCloseFilter","INITIAL_STATE","collections","verbatim","ClearFiltersButton","isEqual","setCollections","newCollections","collection","removeCollection","helpers_toConsumableArray","addCollection","setSelectedCollections","components_Options_Options_slicedToArray","COLLECTION_OPTIONS","people","federalLegislators","congressionalStaffers","federalExecutives","stateLegislators","stateStaffers","stateExecutives","localExecutives","legislation & regulation","federalBills","federalRegulations","stateBills","stateRegulations","committees","federalCommittees","stateCommittees","documents","federalDocuments","stateDocuments","localDocuments","REGION_COLLECTIONS","filterOptionsByRegion","collectionsByRegion","reduce","filteredOptions","helpers_slicedToArray","helpers_extends","useCollections","useCollections_slicedToArray","prevCollections","setPrevCollections","selectedCollections","getOptions","disabledOptionKeys","collectionOption","Collections","hasMultipleOptionsSelected","tooltipContent","Collections_components_Options_Options","VERBATIM_OPTIONS","Verbatim_components_Options_Options_slicedToArray","Verbatim","Verbatim_slicedToArray","Verbatim_components_Options_Options","AdvancedOptions","components_Period_Period","AdvancedOptions_extends","components_Verbatim_Verbatim","components_Region_Region","components_Collections_Collections","components_ClearFiltersButton_ClearFiltersButton","Filters","filtersContainer","filterItem","data-name","filterLabel","components_AdvancedOptionsButton_AdvancedOptionsButton","components_AdvancedOptions_AdvancedOptions","getIconClass","Icon","photoUrl","avatar","useAvatar","onError","handleError","Title","titleContent","getExecutiveSubtitle","visit","get_default","formattedState","getParenthesisItem","joinCompact","getLegislatorSubtitle","getLabelWithStateCode","stateCode","slugLabel","Subtitle","_ref$visit$slug","recentVisit","ActionIcons","handleRemove","stopPropagation","enter","RecentCard","onRemoveRecentVisit","handleOpenRecent","recentCard","main","components_Icon","components_Title","components_Subtitle","icons","components_ActionIcons","VisitPlaceholder","recentVisits","core_Placeholder","recentVisitsTextWrapper","subText","VisitsPlaceholder","VisitsPlaceholder_VisitPlaceholder","RecentVisits","_recentVisits$recentV","isIdle","showClearAll","clearBtn","clearAll","components_VisitsPlaceholder","noRecentVisits","isRecentVisitsError","RecentVisits_toConsumableArray","components_RecentCard","clear","QuickLinks","quickLinks","quick_links","trackQuickLinksResults","Lobby","lobby","components_RecentVisits","components_QuickLinks","Loading","NotFound","searchQuery","categoryLabel","categoryOption","getCategoryLabel","ErrorTemplate","ServerError","useIsBackToTopVisible","containerRef","useIsBackToTopVisible_slicedToArray","isBackToTopVisible","setIsBackToTopVisible","handleIsVisible","distanceToTop","removeEventListener","factories","groupedResults","groupBy_default","factories_slicedToArray","tagResults","record_type","record_ids","apiResponse","flatMap_default","record_tags","record_id","resultId","resultSlug","useTags_api","fetchTags","useTags_api_regeneratorRuntime","useTags","useTags_slicedToArray","setTags","useTags_regeneratorRuntime","newTags","map_default","getTags","updatedTags","useTags_extends","resultSlugsWithPosition","usePositions_factories","filteredResults","usePositions_factories_slicedToArray","positionResults","user_positions","position_type","usePositions_api","fetchPositions","usePositions_api_regeneratorRuntime","requestData","usePositions","usePositions_slicedToArray","positions","setPositions","usePositions_regeneratorRuntime","userPositions","getPosition","resultPosition","newPosition","updatedPositions","usePositions_extends","buildTracking","apiSubscription","is_saved","subscribable_data","subscribable_type","is_disabled","useTrackings_factories","searchForm","groups","useTrackings_factories_slicedToArray","trackingResults","recordIds","factories_toConsumableArray","getTrackableRecordType","groupedSubscriptions","trackingSubscriptions","useTrackings_api","fetchTrackings","useTrackings_api_regeneratorRuntime","useTrackings","useTrackings_slicedToArray","setTrackings","useTrackings_regeneratorRuntime","newTrackings","getTrackings","resultTrackings","updatedTrackings","useTrackings_extends","REGION_SLUGS","subtractTime","unit","time","_hour$day$month$year","setHours","getHours","setDate","getDate","setMonth","getMonth","setFullYear","getFullYear","setTime","categorySlugs","factories_helpers_toConsumableArray","getDefaultSlugs","getSearchSlugs","slugs","collectionSlugs","addSlugs","featureSlugs","filterSlugsByCollections","_REGION_SLUGS$region","filterSlugsByRegion","getUTCDate","minute","second","UTC","getAdvancedOptions","request_extends","_advancedOptions$valu2","from_date","to_date","toDate","getPeriodParams","is_verbatim","getVerbatimParams","_advancedOptions$valu3","customRegionsParam","state_codes","locale_names","getRegionParams","getHighlightedFields","_result$options","highlighted_fields","getBaseResult","apiResult","join_default","resultFactory","highlightedFields","agencyInfo","baseResult","highlights","federalRegulations_slicedToArray","typeHighlight","introduced","agencyName","docketNumber","closesDate","commentClosePeriod","docketNumberFormatted","federalRegulations_extends","getDescriptionHighlight","stateRegulations_slicedToArray","agencyTitle","documentTypeCapitalized","capitalize_default","billType","stateRegulations_extends","agency","displayId","federalBill_slicedToArray","officialTitle","federalBill_extends","titleStateName","titleBillNumber","billSlug","sessionName","stateBill_slicedToArray","stateAlpha","stateName","billNumber","getHighlights","session","formattedBillNumber","stateBill_extends","subtitleStateAlpha","subtitleSession","getSubtitleHighlight","universalMoniker","nickname","role","federalLegislator_slicedToArray","districtName","federalLegislator_extends","legislator","getHighlightedTitle","stateLegislator_slicedToArray","roleCode","stateLegislator_extends","subtitleCity","subtitleStateCode","stakeholder_slicedToArray","fullName","primaryAddress","stakeholder_extends","executive_slicedToArray","branch","mainPosition","people_executive_slicedToArray","getAddress","_address$state","items","parentheses","executive_extends","getCapitalizedChamberNameHighlight","emphasis","highlightRest","federalCommittees_slicedToArray","chair","chamberName","capitalizedChamberName","optionsChair","federalCommittees_extends","descriptionState","subtitleChamber","stateCommittees_slicedToArray","stateCommittees_extends","officeServed","staffer_slicedToArray","staffer_extends","textFiles","specificIssue","documents_slicedToArray","documents_extends","executive","federalLegislator","stateLegislator","federalBill","stateBill","base","getResults","resultFactories","current_page","total_pages","total_count","useSearch_factories","params","search_slugs","useSearch_api","fetchResults","useSearch_api_regeneratorRuntime","useSearch","useSearch_slicedToArray","setResults","setIsLoadingMore","setPage","_useState10","setTotal","_useState12","setHasMore","_useTags","_usePositions","_useTrackings","useSearch_asyncToGenerator","useSearch_regeneratorRuntime","apiResults","isSearchResultOutdated","t0","_callee2","_context2","useSearch_toConsumableArray","useSearch_extends","useFilters","useFilters_slicedToArray","setFilter","useRecentVisits_api","getRecentVisits","useRecentVisits_api_asyncToGenerator","useRecentVisits_api_regeneratorRuntime","recent_visits","addRecentVisit","visited","_x2","deleteRecentVisit","_callee3","_context3","_x3","deleteAllRecentVisits","_callee4","_context4","useRecentVisits","useRecentVisits_slicedToArray","setRecentVisits","loadRecentVisits","useRecentVisits_asyncToGenerator","useRecentVisits_regeneratorRuntime","t1","newVisits","newVisit","handleAdd","useAdvancedOptions","useAdvancedOptions_slicedToArray","setIsOpen","updatedOptions","prevOptions","useAdvancedOptions_extends","useUnifiedSearch","debouncedSearchQuery","UnifiedSearch","_useUnifiedSearch","_useIsBackToTopVisibl","components_Filters","components_Lobby","components_Loading","Error_NotFound","components_Feed","Error_ServerError","ButtonBackToTop","backToTop","Search","isUnifiedSearchOpen","onCloseUnifiedSearch","onSearchQueryChange","Search_slicedToArray","setInputText","inputRef","isDesktop","device","useDevice","handleCloseUnifiedSearch","blur","handleKeydown","searchIcon","closeButtonWrapper","hintText","TipMessage","close","isAdvocatesEnabled","AdvocateForm","_useModal","useModal","trackCreateStakeholderClicked","ConnectedContainer","reduxConnect","NewStakeholderButton_extends","customFieldsActions","commonActions","NewStakeholderButton","es","store","DisabledCreateMessage","messageContainer","CreateButton","isGrmEnabled","isStakeholderMgmtEnabled","common_DisabledCreateMessage","Grm2","isAddNoteEnabled","trackButtonClicked","trackNewNoteClicked","trackNewTaskClicked","common_NewStakeholderButton","withNavigation","_ref$isMobile","HomeButton","home","components_Search","globalSearch","rightItems","components_CreateButton","isNotificationEnabled","notifications","HelpButton","trackTasksClicked","UserMenuButton","Activity","viewBox","xmlns","ArrowDropDown","fill","Bells","Briefcase","Dome","LightbulbDollar","Reports","UserGroup","Directory","DropdownContent","dropdownList","dropdownItem","disabledText","Lock","disabledIcon","HiddenItemsDropdown","_ref$items","hiddenItemsLength","useHiddenItemsLength_slicedToArray","setHiddenItemsLength","handleResize","currentScreenSize","clientWidth","useHiddenItemsLength","hiddenItems","DropdownContent_DropdownContent","STATE_SUMMARIES","RELATED_APPS_SECTION","FEDERAL_SECTION","GENERAL_SECTION","people_extends","stakeholderManagement","STATE_SECTION","LOCAL_SECTION","RELATED_SECTION","districtMap","PEOPLE_COLUMNS","PEOPLE_SECTIONS","stateRegulation","legislationAndRegulation_extends","cosponsorshipSimilarities","LEGISLATION_AND_REGULATION_COLUMNS","LEGISLATION_AND_REGULATION_SECTIONS","committees_extends","COMMITTEES_COLUMNS","COMMITTEES_SECTIONS","DOCUMENTS_SECTION_1","DOCUMENTS_SECTION_2","federalDocuments_extends","FEDERAL_DOCUMENTS_COLUMNS","FEDERAL_DOCUMENTS_SECTIONS","federalDocuments_toConsumableArray","stateAndLocalDocuments_extends","STATE_AND_LOCAL_DOCUMENTS_COLUMNS","STATE_AND_LOCAL_DOCUMENTS_SECTIONS","SOCIAL_SECTION","socialMedia","NEWS_SECTION","news","NEWS_AND_SOCIAL_COLUMNS","NEWS_AND_SOCIAL_SECTIONS","newsAndSocial_toConsumableArray","PEOPLE_ID","CATEGORIES_BASE","COLUMNS","constants_defineProperty","_COLUMNS","CATEGORIES","constants_extends","columns","SECTIONS","_SECTIONS","MOBILE_CATEGORIES","sections","linkShape","sectionShape","columnShape","requiredCategoryProps","shapes_extends","Categories","activeId","onSetCategory","trackDirectoryCategoryClicked","withRelatedAppStyle","disabledProducts","relatedApp","trackDirectoryItemClicked","Links","activeCategory","renderSection","categorySection","components_Link","renderLink","links","columnKey","section","column","reduceSections","enabledItems","directory_toConsumableArray","directory_extends","getIsActiveSection","getIsActivePageCategory","getIsActiveMobilePageCategory","useDirectory","reduceColumns","acc","reducedColumn","getReducedCategories","activePageCategory","initialActiveId","useDirectory_slicedToArray","setActiveId","onCloseDirectory","_useDirectory","components_Categories","components_Links","DirectoryToggler","closeDirectory","toggleDirectory","components_Directory","directory","zIndex","directoryButton","icons_Directory","directoryIcon","directoryButtonText","icons_ArrowDropDown","directoryDropDownIcon","getAdvocatesItem","icons_UserGroup","getApps","sortBy","icons_Bells","dashboard","icons_Briefcase","isWorkspacesEnabled","icons_Activity","grm","icons_LightbulbDollar","icons_Dome","icons_Reports","useMenuBar","useMenuBar_slicedToArray","menuItems","setMenuItems","handleRouteEvent","ROUTE_EVENT","onpopstate","HIDDEN_ITEMS_MAX_LENGTH","MenuBar","linkProps","iconWrapper","isDirectoryVisible","MenuBar_toConsumableArray","reverse","menuBar","components_DirectoryToggler","leftItems","MenuBar_extends","trackAppClicked","itemText","HiddenItemsDropdown_HiddenItemsDropdown","hiddenItemsDropdown","Navigation","_ref$className","unifiedSearchView","Navigation_slicedToArray","setSearchQuery","openGlobalSearch","openModal","closeGlobalSearch","navigationWrapper","navigationContainer","components_SearchBar","components_MenuBar","unifiedSearch","components_UnifiedSearch","useMobileDirectory","getReducedMobileCategories","useMobileDirectory_slicedToArray","useMobileNavigation","useMobileNavigation_extends","toggleNavigationMenu","replace","homepage","ItemName","Note","Stakeholder","Task","Panel","renderContent","list","Icons_Note","withMobileStyle","Icons_Task","Icons_Stakeholder","Create","components_ItemName","components_Panel","apps","PanelHeader","onClose","background","cloneElement","appIcon","Apps","Apps_components_Icon","Apps_components_Panel","DEFAULT_LINK_PROPS","LINK_PROPS","getLinkProps","useHomeLink","isInactive","useHomeLink_slicedToArray","setIsActive","withActiveStyle","HomeLink","_useHomeLink","trackHomeButtonClicked","HomeLink_components_Icon","NavigationBar","isGlobalSearchOpen","toggleGlobalSearch","searchIconClassNames","activeIcon","handleCloseGlobalSearch","FooterBar","closedMenuContainer","components_Apps","navButton","components_Create","components_HomeLink","NavigationV2_components_Navigation","globalQuickSearch","startLoading","onReturn","setIsBackDirection","timer","TRANSITION_DURATION","sectionTitle","hasActiveCategory","Directory_slicedToArray","isBackDirection","DrillDown","isFullHeight","Directory_components_Links","Directory_components_Categories","ActiveMenu","ActiveMenu_components_Directory","withMenuItems","ApplicationMenu","transitionMenuId","appMenuSectionClassNames","MenuTransition","enable","ApplicationMenu_ActiveMenu","_useLoader","useLoader","_useMobileNavigation","MobileView_extends","showNavigationBar","components_NavigationBar","components_ApplicationMenu","NavigationV2","_ref$disabledProducts","userImgPath","userName","_useNavigation","addFreshchatClassName","useChatPosition","navContext","components_MobileView","loadGoogleMaps","showGMapsFailed","productBarElement","ReactDOM","ProductBar","navigationElement","dataset","_navigationElement$da","NavigationComponent","isNavigationV2Enabled","RememberUserService","init","STATES_TRACK_SLUGS","LOCAL_DOCUMENTS_TRACK_SLUGS","SOCIAL_LIST_TRACK_SLUGS","ALL_FREQUENCIES","FIRST_STEP","LAST_STEP","components_Dashboard_utils_libProducts__WEBPACK_IMPORTED_MODULE_0__","components_core_FrequencyOptions_constants__WEBPACK_IMPORTED_MODULE_1__","myFeedToken","itemsToTrack","localCities","isAllSocialMediaSelected","isAllLocalChecked","socialMediaToTrack","notificationFrequency","NONE_ID","workspacesToSubscribe","isFixed","STATE_BILLS_SLUG","GOVERNOR_PRESS_RELEASES_SLUG","GOVERNOR_ORDERS_SLUG","STATE_REGULATIONS_SLUG","LOCAL_DOCUMENTS_SLUG","SOCIAL_MEDIA_SLUG","NONE","WEEKLY","DAILY","CONTINUOUS","LEGISLATOR_DISTANCES","STATE_LEGISLATOR_DISTANCES","exportEventSuccess","exportEventFailed","tagEventSuccess","tagEventFailed","listEventSuccess","listEventFailed","trackNotificationsClicked","lodash_get__WEBPACK_IMPORTED_MODULE_0__","lodash_get__WEBPACK_IMPORTED_MODULE_0___default","utils_tracking_navigation__WEBPACK_IMPORTED_MODULE_1__","getUserId","trackNavigationBarEvent","userId","useWorkspacesSelect","onToggleNewWorkspaceModal","newWorkspaceName","setNewWorkspaceName","handleToggleModal","onToggleModal","newWorkspace","find_default","persistedWorkspaces","workspace","isNew","onChangeValues","transformTag","prevWorkspaces","WorkspacesSelect","_useWorkspacesSelect","FrequencyCard","onCheck","onCheckWorkspaces","isWorkspacesChecked","withTitle","checkboxClassName","AdvancedSearch","WORKSPACE_SUGGESTER_STRATEGY","partial","NewWorkspaceModal","initialName","customFieldsAnswersShape","emailsShape","phonesShape","listTagShape","addressShape","company_id","congressional_district_id","country","latitude","longitude","state_code","state_lower_district_id","state_upper_district_id","street","updated_at","zip","profileShape","editable","fieldType","isEditable","productSlugs","smartLists","statusType","statusShape","menuWrapper","menu","v2","advancedSearchButton","menuWithOptions","components_Dashboard_common_FrequencyCard__WEBPACK_IMPORTED_MODULE_2__","MyFeedFrequency","hideChildren","isCheckboxDisabled","LinkToLegislator","components_StaffersMailer__WEBPACK_IMPORTED_MODULE_3__","components_shared_party_icon__WEBPACK_IMPORTED_MODULE_4__","StyledStaffersMailer","mailerClassName","classnames","legislator-link__mailer","legislator-link__mailer--extra-side-margin","extraSideMargin","legislationLevel","_props$legislator","party_slug","party_short","universal_moniker","legislatorLink","TypeError","legislatorPath","showEnvelope","withMarginBottom","optionContainer","utils_Link__WEBPACK_IMPORTED_MODULE_3__","components_Dashboard_common_FeedPage_utils_constants__WEBPACK_IMPORTED_MODULE_4__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_5__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_5___default","linkThemes","light","lightTheme","CUSTOM","MAX_TWEET_LENGTH","CAMPAIGN_LEGISLATOR_TYPE","CAMPAIGN_REGULATION_TYPE","CAMPAIGN_TYPES","MESSAGES_CUSTOMIZATION_OPTION_APPEND","MESSAGES_CUSTOMIZATION_OPTION_EDIT","MESSAGES_CUSTOMIZATION_OPTION_NONE","REGULATION_SLUG","DEFAULT_CUSTOM_COLORS","MAX_REGULATION_COMMENT_LENGTH","MAX_REGULATION_COMMENT_COMPOSE_LENGTH","DISTRICT_SETTINGS","primary_color","secondary_color","ALL","REPRESENTATIVES","getMyFeedToken","getMyFeed","components_Dashboard_utils_constants__WEBPACK_IMPORTED_MODULE_1__","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_core_Link__WEBPACK_IMPORTED_MODULE_4__","utils_constants__WEBPACK_IMPORTED_MODULE_5__","DisplayLink","PartyBadge","_REPUBLICAN_PARTY_SHO2","formattedParty","toLowerCase","partyClassName","REPUBLICAN_PARTY_SHORT","redBadge","DEMOCRAT_PARTY_SHORT","blueBadge","INDEPENDENT_SHORT","gray","NONPARTISAN_SHORT","OTHER_SHORT","components_core_Badge__WEBPACK_IMPORTED_MODULE_4__","defaultTooltipAttr","ReactHint","ReactHintFactory","componentDidUpdate","getBoolValue","prevState","tooltipAttr","tooltipKey","_classnames","indeterminate","showTooltip","tooltipMessage","checkerClassName","elementClassName","royal-checkbox","royal-disabled","labelBlock","hiddenInput","isTooltipEnabled","attribute","events","hover","onRenderContent","RoyalCheckbox","container_Container","AGENCY_PRESS_RELEASES_SLUG","CBO_COST_ESTIMATES_SLUG","COMMITTEE_REPORTS_SLUG","CONGRESSIONAL_PRESS_RELEASE_SLUG","CONGRESSIONAL_RECORD_ITEMS_SLUG","CRS_REPORTS_SLUG","DEAR_COLLEAGUE_LETTERS_SLUG","EXECUTIVE_ORDERS_SLUG","FEDERAL_BILLS_SLUG","FEDERAL_CONTRACTS_SLUG","FEDERAL_GRANTS_SLUG","FEDERAL_PROPOSED_REGULATIONS_SLUG","GAO_REPORTS_SLUG","LIVE_HEARING_TRANSCRIPTS_SLUG","OFFICIAL_HEARING_TRANSCRIPTS_SLUG","SAP_REPORTS_SLUG","STATE_UNION_ADDRESSES_SLUG","THIRD_PARTY_REPORTS_SLUG","TREATIES_SLUG","WHITE_HOUSE_PRESS_BRIEFINGS_SLUG","NEWS_STORY_SLUG","isFederalProductEnabled","isStateProductEnabled","isStateRegulationsEnabled","localProductEnabledLocaleTypes","getDisabledMessage","productName","DISABLED_STATE_MESSAGE","DISABLED_STATE_REGULATION_MESSAGE","DISABLED_FEDERAL_MESSAGE","DISABLED_LOCAL_MESSAGE","DISABLED_GRM_MESSAGE","getFederalProducts","product","disabledMessage","getStateProducts","getLocalProducts","lodash_size__WEBPACK_IMPORTED_MODULE_2___default","getAllProducts","TRACKED_STATE_REGULATION","TRACKED_FEDERAL_BILL","TRACKED_FEDERAL_COMMITTEE_HEARING","TRACKED_FEDERAL_COMMITTEE_STAFFER","TRACKED_FEDERAL_LEGISLATIVE_STAFFER","TRACKED_STATE_LEGISLATIVE_STAFFER","TRACKED_STATE_COMMITTEE_HEARING","TRACKED_STATE_COMMITTEE_STAFFER","filterActiveAndInactiveOptions","statuses","lodash_filter__WEBPACK_IMPORTED_MODULE_0___default","ALL_ACTIVE","ALL_INACTIVE","getTrackedProducts","lodash_sortBy__WEBPACK_IMPORTED_MODULE_3___default","subItems","FEDERAL_BILL_STATUSES","withSelectAll","STATE_BILL_STATUSES","getState","lodash_toLower__WEBPACK_IMPORTED_MODULE_1___default","GRM_ACTIVITY_TYPE","getAllFilterProducts","control","closeInstructions","closeIcon","resultLabels","_resultLabels","SomethingWentWrong","iconNode","somethingWentWrongContainer","Errors_SomethingWentWrong_SomethingWentWrong","handleChangeCallback","alphabetize","wrappedOptions","sortAutocompleteOptions","otherProps","backspaceRemoves","deleteRemoves","Autocomplete","prevOption","nextOption","prevLabel","nextLabel","autocomplete_sortAutocompleteOptions","components_core_Notification__WEBPACK_IMPORTED_MODULE_0__","deleteFeedFailed","deleteFeedSuccess","createFeedSuccess","createFeedFailed","updateFeedFailed","updateFeedSuccess","subscriptionFailed","feedNotFound","transformSuggesterRequest","terms","QUICK_SEARCH_SLUGS","redirectToSelectedPage","FEDERAL_AGENCY_STAFFERS_SLUG","getSearchTermsRegExp","searchInputTerms","escapeRegExp_default","isItemLocked","productSlug","getExecutiveSlug","customOptions","LOCAL_EXECUTIVE_SLUG","STATE_EXECUTIVE_SLUG","FEDERAL_EXECUTIVE_SLUG","STATE_STAFFER_EXECUTIVE_SLUG","includes_default","GlobalSearchContext","withGlobalSearch","contexts","LinkIcon","externalIconClassNames","linkIcon","internalIconClassNames","internalLinkIcon","iconClassNames","HighlightedTerm","regExp","searchInputRegExp","formattedLabel","negate","term","termMatchesSearch","termClassName","highlightedTerm","resultTitle","padlockIconClassNames","padlockIcon","isLocked","onDelete","isUrlExternal","wrapperClassNames","readonly","components_HighlightedTerm","partyIcon","deleteWrapper","Icons","iconClass","deleteIcon","components_LinkIcon","Byline","byline","formattedDate","formatGlobalUtcDate","getResultDate","isFocused","isLegacyStrategy","EXECUTIVE_PERSON_SLUG","adjustedStrategy","resultClassNames","focusedResult","locked","components_Label","components_Byline","innerProps","Option_extends","GLOBAL_SEARCH_INPUT_ID","inputWrapper","keyCode","KEY_CODES","ESCAPE","DropShadow","withProductBar","hasMounted","setHasMounted","dropShadowClassNames","dropShadow","navV2","Control","isMenuOpen","_useMediaQuery","closeIconClassNames","Control_slicedToArray","hasCloseInstructions","setHasCloseInstructions","Control_extends","onTouchEnd","components_DropShadow","AdvancedSearchButton","optionsCount","trackGotoAdvancedSearch","Menu","menuClassName","canRenderTopBar","hasOptions","menuClassNames","Menu_extends","components_AdvancedSearchButton","optionsRef","isHTMLElement","HTMLElement","haveOptionsChanged","react_select_esm","MenuList_extends","LoadingWarning","warning","user_id","HISTORY_KEY","MAX_HISTORY_LENGTH","loadHistory","history","localStorage","getItem","updateHistory","newHistory","setItem","Visit","onSelect","Visits","records","onVisit","onClearAll","anyResult","Boolean","handleVisit","Visits_extends","trackRecentResultFound","visits","EmptyWarning","_ref$quickLinks","isExternalUrl","onDeleteVisit","onClearAllVisits","isDesktopLarge","parseOption","display_state","restOptions","optionsParser_objectWithoutProperties","pickBy","optionsParser_extends","getOptionsParser","parsedOptions","cloneDeep","optionsSorter","firstOption","secondOption","isFirstItemLocked","isSecondItemLocked","getOptionsSorter","GlobalSearch","_ref$isMenuOpen","_ref$autofocus","_ref$noGroupClassName","_useRecentVisits","loadVisits","persistVisits","maxHistoryLength","setVisits","updateVisits","newVisists","slicedVisits","slice_default","resultUrl","visitedItem","merge_default","unshift","deletedUrl","trackClearedAll","GlobalSearch_slicedToArray","searchResultOptions","resetInputText","globalSearchContext","trackAbandonedSearch","MIN_SEARCH_INPUT_LENGTH","GLOBAL_SEARCH_URL","trackResultFound","newInputValue","isChangeEvent","isBlurEvent","fetchMapBox","components_core_Map_utils_constants__WEBPACK_IMPORTED_MODULE_0__","coordinates","mapboxApiEndpoint","radius","access_token","mapboxAccessToken","copyToClipboard","selector","select","execCommand","footerBar","generalFailedNotification","defaultSubmitDataFailed","tableColumns","keyName","sortingKey","allowToggle","CARD_FREQUENCIES","RESET_SUBSCRIPTION_FREQUENCIES","WORKSPACES_DISABLED_SUBTITLE","components_core_FrequencyOptions_constants__WEBPACK_IMPORTED_MODULE_0__","LIST_STRATEGY_SLUG","STAKEHOLDER_BASE_URL","_Name__WEBPACK_IMPORTED_MODULE_0__","textContainer","notifierLevel","PageNotifier","notices","encodeURIComponent","mailLink","tweetLink","BillSponsors","Line","Line_classCallCheck","SuggesterFillerButton","AutofilledAutosuggester","selectedIds","updateSelectedIds","fillerStrategy","buttonGroupClassName","suggester_filler_button_SuggesterFillerButton","updateCollection","PageNotFound","goBack","PublicToolsNavBar","TabsNavigation","CosponsorshipNavBar","CopyToClipboardInput","SingleDatePicker","RoyalFileUploader","LinkShareIcons","Store","Visualization","Chart","VisualizationChartLine","Base","VisualizationChartBarBase","VisualizationChartBarBillSponsors","pageHeaderElement","PageHeader","lazy","_pageHeaderElement$da","noOffset","hideSeparator","noMobileOffset","customBreadcrumb","pageName","isRightOffset","applyExtraMargin","isMobileOffsetVisible","react","fallback","pageActionsButtonElement","PageActionsButton","_pageActionsButtonEle","tooltipTitle","pageLinks","currentTime","getTime","getSmartSearchState","_ref$lookup","cycle","smartSearchPacs","lookup","party_type","source_type","smartSearchFilters","operator","dimension","smartSearchBuilder","builder","isDataLoading","isTemplate","transactor","statement","statements","toType","toValue","findOptionsData","sector","generateOptions","withAllOption","PAC_PAGE_SIZE","DEFAULT_SORT_KEY","BILL_TABLE_MAPPING","sortKey","state_bills","federal_regulations","state_regulations","NORMAL","WARNING","DANGER","WARNING_RATIO","InfoBar","_classNames","_NORMAL$WARNING$DANGE","_NORMAL$WARNING$DANGE2","maxAllowed","chars","remaining","getStatus","hasFocus","setHasFocus","hasError","infoBar","danger","abs","constants","handleOnChange","autoSize","handleClickCopyButton","rows","lines","max","readOnly","inputClass","componentProps","copy_to_clipboard_input_extends","getRows","buttonClass","infoBarMax","infoBarError","showCopyButton","InfoBarComponent","Wrapper","wrapperProps","_productSlugs","cardContainer","loader","useButtonState","isPresentHearings","isPresentStaffers","isHearing","setHearings","isStaffer","setStaffers","resetButtonState","useCommitteeItem","_getCommitteeData","hearing","COMMITTEE_TYPE","STATE_COMMITTEE_TYPE","STAFFER_OFFICE_TYPE","STATE_STAFFER_OFFICE_TYPE","getCommitteeData","useCommitteeItem_slicedToArray","stafferSubscription","setStafferSubscription","hearingSubscription","setHearingSubscription","_useButtonState","buttonState","setStafferFrequency","setHearingsFrequency","resetData","setWeekAhead","useCommitteeTrack","defaultSubscription","updateParams","onUpdateTrackCommittee","_useCommitteeItem","workspacesCommitteeItem","showHearings","STATE_COMMITTEE_ITEM_TYPE","getActionData","useCommitteeTrack_objectWithoutProperties","omitBy_default","useCommitteeTrack_extends","isNil_default","getFrequency","getSendWeekAheadEmail","hearings","onSave","hearingData","stafferData","workspacesData","isMyFeedValid","isMyFeedChecked","_workspacesCommitteeI","isWorkspaceStaffer","isWorkspaceHearing","isWorkspacesValid","getIsDisabled","SubscribeOption","onCheckCard","hasFrequencyContent","SubscriptionCard","stafferLabel","TRACK_SUBSCRIPTION_FREQUENCIES","committeeLabel","components_SubscribeOption","CommitteeTrack","commonSubscriptionCardProps","withWorkspacesSelect","withSelectedWorkspace","_useCommitteeTrack","subscriptionProps","CommitteeTrack_objectWithoutProperties","modalActions","buttons","CommitteeTrack_extends","components_SubscriptionCard","FREQUENCY_TITLE","onCheckMyFeed","useTrackItemsModal","currentValue","TrackItemsSubscriptions","_useTrackItemsModal","TrackItemsSubscriptions_objectWithoutProperties","TrackItemsSubscriptions_extends","components_CommitteeTrack","components_TrackItemsSubscriptions","utils_useCommitteeItem","components_Dashboard_common_FrequencyPlaceholder__WEBPACK_IMPORTED_MODULE_3__","components_Dashboard_KeywordSearch_utils_constants__WEBPACK_IMPORTED_MODULE_4__","components_core_FrequencyOptions__WEBPACK_IMPORTED_MODULE_5__","TrackFrequency","duplicate","maxLength","getNameSchema","workspacesNames","yup","names","lodash_map__WEBPACK_IMPORTED_MODULE_0___default","validateName","validate","lodash_head__WEBPACK_IMPORTED_MODULE_2___default","FrequencyPlaceholder","_frequencyPlaceholder","frequencyPlaceholder","CONTINUOUS_ID","DAILY_ID","WEEKLY_ID","useNewWorkspaceModal","_ref$onSuccess","identity_default","_ref$initialName","setName","setFrequency","subscribe","setSubscribe","setErrorMessage","stopLoading","trimmedName","_yield$validateName","_yield$validateName2","isNameValid","validationError","onFailure","isUnprocessableEntityError","workspacesApi","handleNameChange","handleFrequencyChange","handleSubscribeChange","_useNewWorkspaceModal","loaderNode","messageContinue","disableContinue","keepItOpened","withHeaderNode","FrequencyOptions","labelCase","dateMask","dateTimeMask","maskMapping","us_phone_number_with_country_code","mask","integer","createNumberMask","date_time","HAS_ERROR","maskMapper","guide","placeholderChar","keepCharPositions","reactTextMask_default","activeMenu","REQUEST_CONTENT_TYPE","DISBURSEMENTS","RECEIPTS","INDIVIDUAL","VENDOR","BOTH","RECEIVED","DISBURSED","STATE_UPPER","STATE_LOWER","PRESIDENT","GOVERNOR","MONEYBALL_COMBINE_INDIVIDUALS_VIEW_URL","MONEYBALL_COMBINE_CORPORATION_VIEW_URL","MONEYBALL_CLUSTERBUCK_COMBINE_FIRST_QUEUE_URL","MONEYBALL_CLUSTERBUCK_COMBINE_SECOND_QUEUE_URL","MONEYBALL_TITLES","titlePrefix","vendors","receipts","candidates","pacRanking","individuals","smartSearch","corporations","disbursements","clusterBuck","getViewUrl","getEditUrl","components_Dashboard_utils__WEBPACK_IMPORTED_MODULE_0__","baseWorkspacesUrl","FileDetails","lastFile","deleteButton","fileDetails","fileNames","displayFileNames","details","wrappedFiles","HiddenInputs","buildInput","fileId","hiddenInputs","inputs","LoadingMessage","uploading","messages","showErrors","filesPresent","fileErrors","inputErrors","FileList","handleFileNameChange","fileNamesEditable","fileName","inputsList","normalizedFileUploadsWithNames","componentWillUnmount","deleteFiles","uploadFiles","initialAccumulator","container_defineProperty","handleDeleteSingleFile","deleteFile","fileUploadsWithNames","file_upload_id","fileDetailsClassName","displayFileDetails","upload_button_UploadButton","hidden_inputs_HiddenInputs","loading_message_LoadingMessage","loadingFiles","uploadingFiles","error_message_ErrorMessage","file_details_FileDetails","file_list","selectedItems","connect","royal_file_uploader_extends","royalFileUploader","dispatch","bindActionCreators","Actions","react_redux_es","currencyFormat","fractionDigits","parsedFloat","parseFloat","isNaN","toLocaleString","currency","minimumFractionDigits","maximumFractionDigits","formatCheckboxValues","newFieldValue","filteredPrevState","isArray","formatTypeFilterValues","formatTypeFilterItems","newFieldChecked","getValue","lodash_isNil__WEBPACK_IMPORTED_MODULE_2___default","lodash_isEmpty__WEBPACK_IMPORTED_MODULE_1___default","getCurrentUserName","getSelectedClusters","getSelectedRecords","lodash_flatten__WEBPACK_IMPORTED_MODULE_0___default","restItem","getWithClusterActionBarDescription","clusters","mobile","desktop","hasMoneyballV2Subscription","hasMoneyballClusterbuck","permitMoneyballClusterbuck","hasStakeholderMgmtSubscription","STRATEGIES","_STRATEGIES","none","congressionalDistricts","stateUpperDistricts","stateLowerDistricts","LOCATION_TYPES","countries","cities","zipCodes","TYPES","congressional","upper","lower","getDistrictFilters","getLocationFilters","tooltipZIndex","shareTooltipZIndex","priorityTooltipZIndex","positionTooltipZIndex","cardGroupTooltipZIndex","handleAddition","tagIndex","_tag","inputGroupClassName","tagClassName","tagsGroupClassName","tagInput","tagInputField","react_tag_input__WEBPACK_IMPORTED_MODULE_3__","formatString","lodash_isNumber__WEBPACK_IMPORTED_MODULE_1___default","lodash_isString__WEBPACK_IMPORTED_MODULE_0___default","getSubscribableType","_DOCUMENT_TYPES$FEDER2","FEDERAL_COMMITTEES_TYPE","STATE_COMMITTEES_TYPE","getEventType","queryEventType","eventType","components_core_Button__WEBPACK_IMPORTED_MODULE_3__","components_core_Logo__WEBPACK_IMPORTED_MODULE_4__","mapboxStyle","mapboxLayers","mapboxUrl","US_CENTER","itemIcon","components_Errors_SomethingWentWrong__WEBPACK_IMPORTED_MODULE_3__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_4__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_4___default","PartyIcon","dateFormat","requestDateFormat","dateTimeFormat","selectedDate","initiateSelectedDate","formatDateBy","handleInputChangeRaw","handleFocusOut","_len2","_key2","omit","inputWrapperClassName","placeholderText","dateFNSFormat","pickerProps","defaultPlaceholderText","react_datepicker__WEBPACK_IMPORTED_MODULE_5___default","onChangeRaw","coreDatePickerConstants","reportDownloader","reportBrand","fileType","visibleColumns","enabledColumns","reportSlug","customApiProps","onNotifyFailure","documentIds","parsedVisibleColumns","apiProps","exportFileName","strategy_inputs[use_company_logo]","strategy_inputs[order_column]","strategy_inputs[order_mode]","strategy_inputs[visible_columns]","strategy_inputs[enabled_columns]","strategy_inputs[document_ids]","strategy_inputs[file_extension]","strategy_inputs[per_page]","getTimeoutError","fileExtension","GOV_REPORTS_URL","XLSX_ID","DOCX_ID","PDF_ID","dataType","xhrFields","responseType","responseData","exportBlob","isFunction","react_router_dom__WEBPACK_IMPORTED_MODULE_1__","utils_shapes_history__WEBPACK_IMPORTED_MODULE_2__","RouteListener","dispatchEvent","CustomEvent","removeListener","listen","historyShape","withRouter","utils_shapes__WEBPACK_IMPORTED_MODULE_1__","utils_shapes_suggestion__WEBPACK_IMPORTED_MODULE_2__","utils_shapes_dateRange__WEBPACK_IMPORTED_MODULE_3__","components_core_FrequencyOptions_shapes__WEBPACK_IMPORTED_MODULE_4__","userShape","profileImg","workspaceShape","isDeletable","updatedAt","users","isLoadingWorkspace","isDeletingWorkspace","isNotFound","suggestionShape","subscribers","subscriptionStatus","components_core_Badge__WEBPACK_IMPORTED_MODULE_2__","_DisplayLink__WEBPACK_IMPORTED_MODULE_4__","_PartyBadge__WEBPACK_IMPORTED_MODULE_5__","Sponsor","withLink","displayLabel","_styles_module_scss__WEBPACK_IMPORTED_MODULE_3__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_3___default","utils_breakpoints_useMediaQuery__WEBPACK_IMPORTED_MODULE_1__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_2__","_styles_module_scss__WEBPACK_IMPORTED_MODULE_2___default","delete","SlideUpTrackModal","onSaveMobile","onChangeSendEmailMobile","TrackModal","isCommittee","frequencyTitle","withSlideUp","onCancel","withSaveToWorkspaces","modalProps","showWorkspacesSelect","MultipleTrack","components_SlideUpTrackModal","buttonsNode","frequencyContentNode","memo","allowCreate","PEOPLE","DOCUMENT","resultCategories","_resultCategories","delay","DEFAULT_DEBOUNCE_TIME","debouncedValue","setDebouncedValue","handler","PREFIX","_ref2$email","_ref2$first_name","_ref2$profileImgUrl","getFirstName","getProfileImgUrl","SPECIFIC","DEFAULT_CALENDAR_TIME_ZONE","EASTERN_TIME","EASTERN_TIME_ABBREVIATION","utils_constants_addresses__WEBPACK_IMPORTED_MODULE_0__","utils_constants_locationTypes__WEBPACK_IMPORTED_MODULE_1__","components_Stakeholder_Lookup_components_Options_utils_constants__WEBPACK_IMPORTED_MODULE_2__","isFederalSenator","districtId","chamberCategory","locationType","isPrimaryLocation","locations","US_COUNTRY","country_code","US_COUNTRY_CODE","districts","districtType","headerNodes","components_core_Checkbox__WEBPACK_IMPORTED_MODULE_3__","showChildren","cardProps","headerClassName","components_core_Card__WEBPACK_IMPORTED_MODULE_4__","slide-from-bottom","NotificationItem","DefaultStyle","backgroundColor","borderTop","fontSize","padding","borderLeft","borderRadius","boxShadow","fontWeight","margin","Dismiss","marginTop","marginRight","fontFamily","notificationSystem","notification","GlobalNotifierSingleton","NotificationSystem_default","eventDateFormat","titleDateFormat","pending","dateKeys","uniqueKeys","sortingByKeys","useFilterKeys","attendee_tokens","legislator_tokens","isBeforeResult","b","isBefore","dateTime","convertDateTimeZone","tz","attendeeNames","arr","argument","isEqualEvents","prevEvents","nextEvents","lodash_isEqual__WEBPACK_IMPORTED_MODULE_0___default","lodash_sortBy__WEBPACK_IMPORTED_MODULE_2___default","lodash_flatten__WEBPACK_IMPORTED_MODULE_3___default","deleteEventItem","eventToken","g","sortedSelected","formatedValue","starts_at","ends_at","prepareEventItem","prepareEvents","hill_day_token","routing","isEdit","isView","filteredValue","initialState","filtered","splittedValue","eventList","lodash_find__WEBPACK_IMPORTED_MODULE_4___default","lodash_flattenDeep__WEBPACK_IMPORTED_MODULE_1___default","full_name","getValues","queryValues","IconButton","buttonClassNames","components_core_Loader__WEBPACK_IMPORTED_MODULE_4__","components_core_FrequencyOptions_shapes__WEBPACK_IMPORTED_MODULE_1__","utils_shapes__WEBPACK_IMPORTED_MODULE_2__","components_Dashboard_common_FeedPage_utils_constants__WEBPACK_IMPORTED_MODULE_3__","modelSlugs","sectionType","listSubscriptionShape","percentage","lodash_keys__WEBPACK_IMPORTED_MODULE_0___default","lodash_omit__WEBPACK_IMPORTED_MODULE_1___default","TWITTER_SLUG","CONGRESSIONAL_PRESS_RELEASES_SLUG","customOptionsShape","react_modal__WEBPACK_IMPORTED_MODULE_2___default","ariaHideApp"],"mappings":"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","file":"js/application-0889c011e8c1af54456b.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"application\": 0,\n \t\t3: 0,\n \t\t\"navigation-pack\": 0,\n \t\t\"utils/vh-fix\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"application\": 0,\n \t\t3: 0,\n \t\t\"navigation-pack\": 0,\n \t\t\"utils/vh-fix\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \"-\" + {\"0\":\"bbe838559f529078f783\",\"1\":\"d6aa4bd292b6869acd84\"}[chunkId] + \".chunk.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"0\":1,\"1\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \"-\" + {\"0\":\"9be40641\",\"1\":\"9be40641\"}[chunkId] + \".chunk.css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://app.govpredict.com/packs/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([3520,\"redux\",\"utils\",\"vendor\",\"core\",\"grm2\",\"navigation\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import sortDirections from 'utils/constants/sortDirections';\n\nexport const BASE_URL = '/dashboard_v2';\n\nexport const RECENT = 'recent';\nexport const TRACKED = 'tracked';\nexport const EXPORT_LIMIT = 100;\nexport const TITLE_MAX_LENGTH = 155;\nexport const DESCRIPTION_MAX_LENGTH = 280;\n\nexport const FILTER_READ_HIDE_READ = 'hide_read';\nexport const FILTER_READ_HIDE_UNREAD = 'hide_unread';\n\nexport const responseEventTypes = {\n SHARED_DOCUMENT: 'shared_document',\n FEDERAL_BILL_ACTION: 'federal_bill_action', // is common\n FEDERAL_BILL_COSPONSOR: 'federal_bill_cosponsor',\n FEDERAL_BILL_TEXT: 'federal_bill_text',\n FEDERAL_BILL_HEARING: 'federal_bill_hearing',\n FEDERAL_COMMITTEE_HEARING: 'federal_committee_hearing', // is common\n FEDERAL_REGULATION_PUBLIC_SUBMISSION: 'federal_regulation_public_submission',\n FEDERAL_STAFFER_JOIN: 'federal_staffer_join',\n FEDERAL_STAFFER_LEAVE: 'federal_staffer_leave',\n FEDERAL_STAFFER_TITLE_CHANGE: 'federal_staffer_title_change',\n STATE_BILL_ACTION: 'state_bill_action', // is common\n STATE_BILL_SPONSOR: 'state_bill_sponsor',\n STATE_REGULATION_PUBLICATION: 'state_regulation_publication',\n STATE_REGULATION_STATE_AGENCY_NOTICE: 'state_regulation_state_agency_notice',\n STATE_REGULATION_STATE_NOTICE: 'state_regulation_state_notice',\n STATE_STAFFER_JOIN: 'state_staffer_join',\n STATE_STAFFER_LEAVE: 'state_staffer_leave',\n STATE_STAFFER_TITLE_CHANGE: 'state_staffer_title_change',\n KEYWORD_FEDERAL_BILL: 'keyword_federal_bill',\n KEYWORD_CONGRESSIONAL_RECORD: 'keyword_congressional_record',\n KEYWORD_DOCTROVE_AGENCY_PRESS_RELEASE: 'keyword_doctrove_agency_press_release',\n KEYWORD_DOCTROVE_CBO: 'keyword_doctrove_cbo',\n KEYWORD_DOCTROVE_COMMITTEE_REPORT: 'keyword_doctrove_committee_report',\n KEYWORD_DOCTROVE_CRS: 'keyword_doctrove_crs',\n KEYWORD_DOCTROVE_DEAR_COLLEAGUE_LETTER: 'keyword_doctrove_dear_colleague_letter',\n KEYWORD_DOCTROVE_EXECUTIVE_ORDER: 'keyword_doctrove_executive_order',\n KEYWORD_DOCTROVE_FBO: 'keyword_doctrove_fbo',\n KEYWORD_DOCTROVE_GAO: 'keyword_doctrove_gao',\n KEYWORD_DOCTROVE_GOVERNOR_ORDER: 'keyword_doctrove_governor_order',\n KEYWORD_DOCTROVE_GOVERNOR_PRESS_RELEASE: 'keyword_doctrove_governor_press_release',\n KEYWORD_DOCTROVE_GRANT: 'keyword_doctrove_grant',\n KEYWORD_DOCTROVE_HEARING_TRANSCRIPT: 'keyword_doctrove_hearing_transcript',\n KEYWORD_DOCTROVE_LIVE_HEARING_TRANSCRIPT: 'keyword_doctrove_live_hearing_transcript',\n KEYWORD_DOCTROVE_PRESS_BRIEFING: 'keyword_doctrove_press_briefing',\n KEYWORD_DOCTROVE_PRESS_RELEASE: 'keyword_doctrove_press_release',\n KEYWORD_DOCTROVE_SAP: 'keyword_doctrove_sap',\n KEYWORD_DOCTROVE_THIRD_PARTY_REPORT: 'keyword_doctrove_third_party_report',\n KEYWORD_DOCTROVE_TREATY: 'keyword_doctrove_treaty',\n KEYWORD_DOCTROVE_UNION_STATEMENT: 'keyword_doctrove_union_statement',\n KEYWORD_FEDERAL_REGULATION: 'keyword_federal_regulation',\n KEYWORD_SOCIAL_MEDIA_POST: 'keyword_social_media_post',\n KEYWORD_STATE_BILL: 'keyword_state_bill',\n KEYWORD_STATE_REGULATION: 'keyword_state_regulation',\n KEYWORD_TOWN_INTEL_DOCUMENT: 'keyword_town_intel_document',\n FEDERAL_BILL_USER_POSITION: 'federal_bill_user_position',\n FEDERAL_REGULATION_USER_POSITION: 'federal_regulation_user_position',\n STATE_BILL_USER_POSITION: 'state_bill_user_position',\n STATE_REGULATION_USER_POSITION: 'state_regulation_user_position',\n STATE_COMMITTEE_HEARING: 'state_committee_hearing',\n NEWS_STORY: 'news_story',\n};\n\nexport const responseTrackingTypes = {\n FEDERAL_BILL: 'federal_bill',\n FEDERAL_REGULATION: 'federal_register_regulation',\n FEDERAL_LEGISLATOR: 'federal_legislator',\n FEDERAL_COMMITTEE_HEARING: 'federal_committee_hearing',\n FEDERAL_COMMITTEE_STAFFER: 'federal_committee_staffer',\n FEDERAL_LEGISLATOR_STAFFER: 'federal_legislator_staffer',\n STATE_BILL: 'state_bill',\n STATE_REGULATION: 'state_regulation',\n STATE_COMMITTEE_HEARING: 'state_committee_hearing',\n STATE_COMMITTEE_STAFFER: 'state_committee_staffer',\n STATE_LEGISLATOR_STAFFER: 'state_legislator_staffer',\n STATE_LEGISLATOR: 'state_legislator',\n};\n\nexport const SUBSCRIBABLE_TYPES = {\n KEYWORD: 'keyword',\n FEDERAL_BILL: 'bill',\n COMMITTEE: 'committee',\n FEDERAL_REGISTER_REGULATION: 'federal_register_regulation',\n FEDERAL_STAFFER_OFFICE: 'staffer_office',\n STATE_BILL: 'state_bill',\n STATE_COMMITTEE: 'state_committee',\n STATE_REGULATION: 'state_regulation',\n STATE_STAFFER_OFFICE: 'state_staffer_office',\n STATE_COMMITTEE_STAFFER: 'state_committee_staffer',\n NEWSFEED: 'news',\n WORKSPACE: 'workspace',\n};\n\nexport const DOCUMENT_TYPES = {\n FEDERAL_BILL: 'federal_bill',\n STATE_BILL: 'state_bill',\n STATE_LEGISLATOR: 'state_legislator',\n STATE_LEGISLATOR_STAFFER: 'state_legislator_staffer',\n STATE_EXECUTIVE: 'state_executive',\n STATE_AGENCY_STAFFER: 'state_agency_staffer',\n STATE_STAFFER: 'state_staffer',\n FEDERAL_REGISTER_REGULATION: 'federal_register_regulation',\n STATE_REGULATION: 'state_regulation',\n STATE_REGULATION_DOCUMENT: 'state_regulation_document',\n FEDERAL_COMMITTEE: 'federal_committee',\n FEDERAL_LEGISLATOR: 'federal_legislator',\n FEDERAL_LEGISLATOR_STAFFER: 'federal_legislator_staffer',\n FEDERAL_AGENCY_STAFFER: 'federal_executive',\n CONGRESSIONAL_STAFFER: 'federal_staffer',\n STATE_COMMITTEE: 'state_committee',\n STATE_COMMITTEE_STAFFER: 'state_committee_staffer',\n TOWN_INTEL_DOCUMENT: 'town_intel_document',\n HEARING_TRANSCRIPT: 'doctrove_hearing_transcript',\n COMMITTEE_REPORT: 'doctrove_committee_report',\n CONGRESSIONAL_RECORD: 'congressional_record',\n SOCIAL_MEDIA_POST: 'social_media_post',\n DOCTROVE_PRESS_RELEASE: 'doctrove_press_release',\n DOCTROVE_GOVERNOR_ORDER: 'doctrove_governor_order',\n DOCTROVE_GOVERNOR_PRESS_RELEASE: 'doctrove_governor_press_release',\n DOCTROVE_AGENCY_PRESS_RELEASE: 'doctrove_agency_press_release',\n DOCTROVE_TREATY: 'doctrove_treaty',\n DOCTROVE_GAO: 'doctrove_gao',\n NEWS_SEARCH: 'news_search',\n NEWS_STORY: 'news_story',\n GRM_V2_CARD: 'grm_v2_card',\n LOCAL_EXECUTIVE: 'local_executive',\n};\n\nexport const POSITION_BUTTON_RECORD_TYPES = {\n [DOCUMENT_TYPES.FEDERAL_BILL]: 'federal_bill',\n [DOCUMENT_TYPES.STATE_BILL]: 'state_bill',\n [DOCUMENT_TYPES.FEDERAL_REGISTER_REGULATION]: 'federal_regulation',\n [responseTrackingTypes.FEDERAL_REGULATION]: 'federal_regulation',\n [DOCUMENT_TYPES.STATE_REGULATION]: 'state_regulation',\n};\n\nexport const FEDERAL_REGULATION_TYPES = {\n notice: 'Notice',\n proposed_rule: 'Proposed rule',\n rule: 'Rule',\n other: 'Other',\n};\n\nexport const SAVE_ACTION = 'SAVE_ACTION';\nexport const PRIORITY_ACTION = 'PRIORITY_ACTION';\nexport const SUBSCRIPTION_ACTION = 'SUBSCRIPTION_ACTION';\nexport const READ_ACTION = 'READ_ACTION';\n\nexport const TRACKED_DEFAULT_SORT = {\n label: 'Last action date (New→Old)',\n value: 'last_action_date',\n direction: sortDirections.DESC,\n};\n\nexport const TRACKED_SORT_OPTIONS = [\n TRACKED_DEFAULT_SORT,\n {\n label: 'Last action date (Old→New)',\n value: 'last_action_date',\n direction: sortDirections.ASC,\n },\n {\n label: 'State (A→Z)',\n value: 'state_name',\n direction: sortDirections.ASC,\n },\n {\n label: 'State (Z→A)',\n value: 'state_name',\n direction: sortDirections.DESC,\n },\n {\n label: 'Title (A→Z)',\n value: 'title',\n direction: sortDirections.ASC,\n },\n {\n label: 'Title (Z→A)',\n value: 'title',\n direction: sortDirections.DESC,\n },\n {\n label: 'Item type (A→Z)',\n value: 'item_type',\n direction: sortDirections.ASC,\n },\n {\n label: 'Item type (Z→A)',\n value: 'item_type',\n direction: sortDirections.DESC,\n },\n {\n label: 'Priority (High→Low)',\n value: 'priority',\n direction: sortDirections.DESC,\n },\n {\n label: 'Priority (Low→High)',\n value: 'priority',\n direction: sortDirections.ASC,\n },\n];\n\nexport const DASHBOARD_BASE_URL = '/dashboard_v2/feed';\n\nexport const BACK_TO_WORKSPACES = 'workspaces';\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function wrapMenuList(MenuList, timeout) {\n class WrappedMenuList extends Component {\n componentDidMount() {\n this.setCheckAndHandleTimeout();\n }\n\n componentWillUnmount() {\n if (this.checkTimeout) clearTimeout(this.checkTimeout);\n }\n\n innerRef = (ref) => {\n if (ref === this.menuListRef) return;\n\n const { innerRef } = this.props;\n this.menuListRef = ref;\n innerRef(ref);\n };\n\n setCheckAndHandleTimeout = () => {\n this.checkAndHandle();\n this.checkTimeout = setTimeout(this.setCheckAndHandleTimeout, timeout);\n };\n\n checkAndHandle() {\n if (this.shouldHandle()) {\n const { selectProps: { inputValue, onInputChange, handleScrolledToBottom } } = this.props;\n\n handleScrolledToBottom && handleScrolledToBottom(onInputChange, inputValue);\n }\n }\n\n shouldLoadMore = (scrollHeight, clientHeight, scrollTop) => {\n const bottomBorder = scrollHeight - clientHeight - 10;\n\n return bottomBorder < scrollTop;\n };\n\n shouldHandle() {\n const el = this.menuListRef;\n\n if (!el) return false;\n\n const { scrollTop, scrollHeight, clientHeight } = el;\n const { isLoading, options } = this.props;\n const hasFilteredOptions = options.some(({ __isNew__ }) => __isNew__ !== true);\n\n return !isLoading && hasFilteredOptions > 0 && this.shouldLoadMore(\n scrollHeight,\n clientHeight,\n scrollTop\n );\n }\n\n render() {\n return ;\n }\n }\n\n WrappedMenuList.propTypes = {\n isLoading: PropTypes.bool.isRequired,\n innerRef: PropTypes.func.isRequired,\n options: PropTypes.array.isRequired,\n selectProps: PropTypes.shape({\n handleScrolledToBottom: PropTypes.func.isRequired,\n }).isRequired,\n };\n\n return WrappedMenuList;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Async, AsyncCreatable, components } from 'react-select';\nimport classNames from 'classnames';\nimport {\n isEmpty,\n keys as _keys,\n values as _values,\n isArray,\n debounce,\n isEqual,\n unionWith,\n isFunction,\n trim,\n size,\n} from 'lodash';\n\nimport {\n wrapperClassName,\n getNoOptionsText,\n isArrayWithEmptyValues,\n isEmptyValue,\n} from 'components/core/Select/utils';\nimport Option from 'components/core/Select/components/Option';\nimport customSelectStyles from 'components/core/Select/theme';\nimport { DEFAULT_DEBOUNCE_TIME as ASYNC_DELAY } from 'utils/constants/intervals';\nimport fetcher from 'utils/fetcher';\n\nimport wrapMenuList from './components/wrapMenuList';\nimport { strategyInputsShape } from './utils/shapes';\n\nlet paginationPage = 1;\nlet paginationOptions = [];\nlet paginationHasMore = true;\n\nfunction filterOption() {\n return true;\n}\n\nclass Autosuggest extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n value: this.selectedValues(),\n inputValue: '',\n };\n\n this.cacheKey = this.cacheKey.bind(this);\n this.doFetching = this.doFetching.bind(this);\n this.loadOptionsWithPagination = this.loadOptionsWithPagination.bind(this);\n this.doDebouncedLoadOptionsWithPagination = debounce(this.loadOptionsWithPagination, ASYNC_DELAY);\n this.doDebouncedFetching = debounce(this.doFetching, ASYNC_DELAY);\n this.fetchOptions = this.fetchOptions.bind(this);\n this.reverseFetchDefaultRawValues = this.reverseFetchDefaultRawValues.bind(this);\n this.groupClassName = this.groupClassName.bind(this);\n this.onChange = this.onChange.bind(this);\n this.onInputChange = this.onInputChange.bind(this);\n this.value = this.value.bind(this);\n this.getCustomNoOptionsText = this.getCustomNoOptionsText.bind(this);\n }\n\n componentDidMount() {\n this.reverseFetchDefaultRawValues();\n }\n\n componentWillReceiveProps(nextProps) {\n const { defaultRawValues } = this.props;\n\n if (!isEqual(nextProps.defaultRawValues, defaultRawValues)) {\n this.props = nextProps;\n\n this.reverseFetchDefaultRawValues(true);\n }\n }\n\n onInputChange(inputValue, actionMeta) {\n const startTrimedValue = inputValue.trimStart();\n\n const { onInputChange } = this.props;\n isFunction(onInputChange) && onInputChange(startTrimedValue, actionMeta);\n\n this.setState({ inputValue: startTrimedValue });\n }\n\n getCustomNoOptionsText() {\n const { minimumCharactersToSearch } = this.props;\n\n if (minimumCharactersToSearch) {\n return `Type ${minimumCharactersToSearch} or more characters to search`;\n }\n\n return getNoOptionsText();\n }\n\n onChange(value) {\n // this hack is needed cause fetcher may run with delays\n // and may finish when element is unmounted\n if (!this) return;\n const { onChange } = this.props;\n\n if (onChange !== undefined) {\n onChange(value);\n }\n\n this.setState({ value });\n }\n\n getName = () => {\n const { name, multiple } = this.props;\n const { value } = this.state;\n\n if ((multiple && isArrayWithEmptyValues(value)) || isEmptyValue(value)) {\n return '';\n }\n\n // If input allow to specify multiple values\n // than we automatically append `[]` to input name\n if (multiple) {\n return `${name}[]`;\n }\n\n return name;\n };\n\n selectedValues() {\n const { multiple, defaultSelections } = this.props;\n\n if (multiple) {\n return defaultSelections.filter(option => !!option.value);\n }\n\n return defaultSelections[0];\n }\n\n // clear array from [null, undefined, NaN]\n defaultRawValues = () => {\n const { defaultRawValues } = this.props;\n\n if (defaultRawValues !== null && isArray(defaultRawValues)) {\n return defaultRawValues.filter(value => value);\n }\n\n return null;\n };\n\n loadOptionsWithPagination(inputText, callback) {\n const {\n uri,\n // eslint-disable-next-line no-shadow\n strategy,\n optionsParser,\n strategyInputs,\n defaultSelections,\n reqContentType,\n reqTransform,\n resTransform,\n reqMethod,\n withAjaxAbort,\n minimumCharactersToSearch,\n pagination,\n } = this.props;\n\n const inputTextSize = size(trim(inputText));\n const noMinimumCharacters = inputTextSize < minimumCharactersToSearch;\n\n if (noMinimumCharacters) {\n return;\n }\n\n const { pageSize } = pagination;\n const handlePaginationOptions = (newOptions) => {\n if (size(newOptions) < pageSize) paginationHasMore = false;\n paginationOptions = unionWith(paginationOptions, newOptions, isEqual);\n\n return paginationOptions;\n };\n\n const onSuccess = (newOptions) => {\n const options = handlePaginationOptions(newOptions);\n\n callback(options, { options });\n };\n\n const ajax = fetcher({\n uri,\n inputText,\n optionsParser,\n strategyInputs,\n defaultSelections,\n strategySlug: strategy,\n defaultRawValues: this.defaultRawValues(),\n page: paginationPage,\n reqContentType,\n reqTransform,\n resTransform,\n reqMethod,\n withAjaxAbort,\n });\n\n Promise.resolve(ajax).then(onSuccess);\n }\n\n doFetching(reverseSearch, onSuccess, inputText) {\n const {\n uri,\n strategy,\n optionsParser,\n strategyInputs,\n defaultSelections,\n reqContentType,\n reqTransform,\n resTransform,\n reqMethod,\n customFetcher,\n multipleStrategySlugs,\n withAjaxAbort,\n } = this.props;\n\n fetcher({\n uri,\n inputText,\n onSuccess,\n reverseSearch,\n optionsParser,\n strategyInputs,\n defaultSelections,\n strategySlug: strategy,\n defaultRawValues: this.defaultRawValues(),\n page: paginationPage,\n reqContentType,\n reqTransform,\n resTransform,\n reqMethod,\n customFetcher,\n multipleStrategySlugs,\n withAjaxAbort,\n });\n }\n\n fetchOptions(inputText, callback) {\n const {\n autoload,\n defaultSelections,\n minimumCharactersToSearch,\n } = this.props;\n\n const isInputEmpty = isEmpty(inputText) && !autoload;\n const noMinimumCharacters = inputText.trim().length < minimumCharactersToSearch;\n\n if (isInputEmpty || noMinimumCharacters) {\n callback(null, {\n options: defaultSelections,\n });\n\n return;\n }\n\n this.doDebouncedFetching(false, callback, inputText);\n }\n\n reverseFetchDefaultRawValues(fromNewProps = false) {\n const { multiple } = this.props;\n\n if (!isEmpty(this.defaultRawValues())) {\n this.doFetching(true, (err, data) => {\n if (multiple) {\n this.onChange(data.options);\n } else {\n this.onChange(data.options[0]);\n }\n });\n } else if (fromNewProps) {\n this.onChange([]);\n }\n }\n\n value() {\n const { shouldOverrideValue, overrideValue } = this.props;\n\n if (shouldOverrideValue) {\n return overrideValue || null;\n }\n\n // fix Clearable x Icon at the right, because of\n // state.value === '' when nothing is selected.\n const { value } = this.state;\n return value || undefined;\n }\n\n groupClassName() {\n const { groupClassName, noGroupClassName } = this.props;\n if (groupClassName) {\n return groupClassName;\n }\n\n if (noGroupClassName) {\n return null;\n }\n\n return 'form-group';\n }\n\n cacheKey() {\n const { strategyInputs } = this.props;\n const keys = _keys(strategyInputs).join('');\n const values = _values(strategyInputs).join('');\n\n return `${keys}${values}`;\n }\n\n labelComponent() {\n const { label, labelClassName } = this.props;\n\n if (!label) {\n return null;\n }\n\n return (\n \n );\n }\n\n renderInput = () => {\n const {\n theme,\n pagination,\n asyncCreatable,\n clearIndicator,\n placeholder,\n autofocus,\n autoload,\n disabled,\n multiple,\n onBlur,\n onFocus,\n formatCreateLabel,\n allowCreateWhileLoading,\n createOptionPosition,\n customFilterOption,\n customMultiValueLabel,\n customOption,\n cacheOptions,\n isSearchable,\n className,\n strategy,\n withRichOption,\n getNewOptionData,\n isClearable,\n overriddenComponents,\n backspaceRemovesValue,\n onMenuClose,\n menuIsOpen,\n tabSelectsValue,\n noOptionsMessage,\n loadingMessage,\n getOptionValue,\n } = this.props;\n\n const { inputValue } = this.state;\n\n const AutosuggestComponent = asyncCreatable ? AsyncCreatable : Async;\n const customSelectComponents = {\n ...overriddenComponents,\n ...(clearIndicator && { DropdownIndicator: null }),\n Option: customOption || Option,\n };\n\n let asyncProps = {\n filterOption: customFilterOption || filterOption,\n isClearable,\n isSearchable,\n isMulti: multiple,\n isDisabled: disabled,\n styles: theme || customSelectStyles(),\n className: classNames(wrapperClassName, className),\n key: this.cacheKey(),\n name: this.getName(),\n value: this.value(),\n onChange: this.onChange,\n inputValue,\n loadOptions: this.fetchOptions,\n components: customSelectComponents,\n noOptionsMessage: noOptionsMessage || this.getCustomNoOptionsText,\n defaultOptions: autoload,\n autoFocus: autofocus,\n allowCreateWhileLoading,\n createOptionPosition,\n formatCreateLabel,\n placeholder,\n onBlur,\n onFocus,\n cacheOptions,\n strategy,\n withRichOption,\n getNewOptionData,\n backspaceRemovesValue,\n onMenuClose,\n menuIsOpen,\n tabSelectsValue,\n onInputChange: this.onInputChange,\n loadingMessage,\n getOptionValue,\n };\n\n if (pagination) {\n const { MenuList: DefaultMenuList } = components;\n const MenuList = wrapMenuList(DefaultMenuList, ASYNC_DELAY);\n\n const handlePaginationMore = (handleInputChange, currentInputValue) => {\n if (paginationHasMore) {\n paginationPage += 1;\n handleInputChange(currentInputValue);\n }\n };\n\n const handlePaginationReset = () => {\n paginationPage = 1;\n paginationOptions = [];\n paginationHasMore = true;\n };\n\n const handleMenuClose = () => {\n handlePaginationReset();\n onMenuClose();\n };\n\n asyncProps = {\n ...asyncProps,\n components: { ...asyncProps.components, MenuList },\n handleScrolledToBottom: handlePaginationMore,\n onMenuClose: handleMenuClose,\n onMenuOpen: handlePaginationReset,\n loadOptions: this.doDebouncedLoadOptionsWithPagination,\n };\n }\n\n if (customMultiValueLabel) {\n asyncProps = {\n ...asyncProps,\n components: {\n ...asyncProps.components,\n MultiValueLabel: customMultiValueLabel,\n },\n };\n }\n\n return ;\n };\n\n render() {\n const { inputClassName } = this.props;\n return (\n
\n {this.labelComponent()}\n\n
\n {this.renderInput()}\n
\n
\n );\n }\n}\n\nconst optionShape = PropTypes.shape({\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n label: PropTypes.string,\n});\n\nAutosuggest.propTypes = {\n loadingMessage: PropTypes.func,\n asyncCreatable: PropTypes.bool,\n autofocus: PropTypes.bool,\n clearIndicator: PropTypes.bool,\n autoload: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n optionShape,\n ]),\n ),\n ]),\n defaultRawValues: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n optionShape,\n ]),\n ),\n defaultSelections: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n optionShape,\n ]),\n ),\n disabled: PropTypes.bool,\n groupClassName: PropTypes.string,\n inputClassName: PropTypes.string,\n label: PropTypes.string,\n labelClassName: PropTypes.string,\n multiple: PropTypes.bool,\n name: PropTypes.string,\n noGroupClassName: PropTypes.bool,\n formatCreateLabel: PropTypes.func,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onChange: PropTypes.func,\n overrideValue: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.oneOf([null, undefined]),\n ]),\n placeholder: PropTypes.string,\n shouldOverrideValue: PropTypes.bool,\n uri: PropTypes.string,\n strategy: PropTypes.string,\n strategyInputs: strategyInputsShape,\n theme: PropTypes.shape({\n control: PropTypes.func,\n option: PropTypes.func,\n dropdownIndicator: PropTypes.func,\n menu: PropTypes.func,\n clearIndicator: PropTypes.func,\n indicatorSeparator: PropTypes.func,\n multiValue: PropTypes.func,\n multiValueLabel: PropTypes.func,\n multiValueRemove: PropTypes.func,\n placeholder: PropTypes.func,\n }),\n optionsParser: PropTypes.func,\n allowCreateWhileLoading: PropTypes.bool,\n createOptionPosition: PropTypes.oneOf(['first', 'last']),\n reqMethod: PropTypes.oneOf(['GET', 'POST']),\n reqContentType: PropTypes.string,\n reqTransform: PropTypes.func,\n resTransform: PropTypes.func,\n customFilterOption: PropTypes.func,\n customMultiValueLabel: PropTypes.func,\n customOption: PropTypes.func,\n pagination: PropTypes.shape({\n pageSize: PropTypes.number,\n }),\n cacheOptions: PropTypes.bool,\n isSearchable: PropTypes.bool,\n className: PropTypes.string,\n customFetcher: PropTypes.func,\n multipleStrategySlugs: PropTypes.arrayOf(PropTypes.string),\n withRichOption: PropTypes.bool,\n withAjaxAbort: PropTypes.bool,\n isClearable: PropTypes.bool,\n getNewOptionData: PropTypes.func,\n overriddenComponents: PropTypes.shape({\n Input: PropTypes.elementType,\n Control: PropTypes.elementType,\n Menu: PropTypes.elementType,\n }),\n backspaceRemovesValue: PropTypes.bool,\n onMenuClose: PropTypes.func,\n menuIsOpen: PropTypes.bool,\n minimumCharactersToSearch: PropTypes.number,\n tabSelectsValue: PropTypes.bool,\n noOptionsMessage: PropTypes.func,\n onInputChange: PropTypes.func,\n getOptionValue: PropTypes.func,\n};\n\nAutosuggest.defaultProps = {\n asyncCreatable: false,\n autofocus: false,\n autoload: false,\n defaultRawValues: [],\n defaultSelections: [],\n disabled: false,\n multiple: false,\n shouldOverrideValue: false,\n strategyInputs: {},\n clearIndicator: false,\n allowCreateWhileLoading: false,\n createOptionPosition: 'first',\n formatCreateLabel: labelItem => labelItem,\n optionsParser: options => options,\n withRichOption: false,\n withAjaxAbort: true,\n isClearable: true,\n placeholder: '', // get rid of default 'Select...' placeholder\n backspaceRemovesValue: true,\n onMenuClose: () => {},\n minimumCharactersToSearch: 0,\n tabSelectsValue: true,\n onInputChange: () => {},\n};\n\nexport default Autosuggest;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nclass Bar extends React.Component {\n constructor(props) {\n super(props);\n this.data = this.props.data;\n this.xkey = this.props.xkey;\n }\n\n componentDidMount() {\n if (!isEmpty(this.props.data)) {\n this.initializeMorris();\n }\n }\n\n initializeMorris = () =>\n Morris.Bar({\n element: this.props.id,\n data: this.data,\n xkey: this.xkey,\n ykeys: this.props.ykeys,\n resize: this.props.resize,\n hideHover: this.props.hideHover,\n labels: this.props.labels,\n barColors: (row) => {\n const element = this.data.find(\n cell => cell[this.xkey] === row.label\n );\n if (element.color !== undefined) {\n return element.color;\n }\n\n return '#0b62a4';\n },\n })\n\n render() {\n const { id, data } = this.props;\n\n if (isEmpty(data)) {\n return (\n

No data to display

\n );\n }\n\n return (\n
\n );\n }\n}\n\nBar.propTypes = {\n id: PropTypes.string.isRequired,\n data: PropTypes.array.isRequired,\n xkey: PropTypes.string.isRequired,\n ykeys: PropTypes.array.isRequired,\n labels: PropTypes.array.isRequired,\n resize: PropTypes.bool,\n hideHover: PropTypes.bool,\n};\n\nBar.defaultProps = {\n resize: true,\n hideHover: true,\n};\n\nexport default Bar;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"advancedOptions\":\"advanced-options-button-module__advancedOptions___q5fMe\",\"active\":\"advanced-options-button-module__active___1DtCq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"styles-module__title___2x2oU\",\"closeButton\":\"styles-module__closeButton___2SudO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"searchWrapper\":\"styles-module__searchWrapper___2YiYC\",\"search\":\"styles-module__search___3SL76\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"styles-module__wrapper___NLsTx\",\"loading\":\"styles-module__loading___3g9l2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"divider\":\"styles-module__divider___Hn6ms\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"advancedOptions\":\"styles-module__advancedOptions___2iA9k\",\"open\":\"styles-module__open___s6DIq\",\"slide-down\":\"styles-module__slide-down___2ivsL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatarContainer\":\"styles-module__avatarContainer___3oLXW\",\"avatarImage\":\"styles-module__avatarImage___27VJN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"styles-module__title___2h_PV\",\"party\":\"styles-module__party___3sZoz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loadingWrapper\":\"styles-module__loadingWrapper___ogl0V\",\"loadingImage\":\"styles-module__loadingImage___EjVRi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"name\":\"styles-module__name___2BKwl\",\"active\":\"styles-module__active___1ZTSv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"styles-module__icon___2i8iC\",\"active\":\"styles-module__active___ZoagF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"categories\":\"styles-module__categories___2D4bE\",\"category\":\"styles-module__category___2u1Fh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___2ClCU\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3Hbc3\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___V0aAY\",\"loadingOverlay\":\"styles-module__loadingOverlay___3jih2\",\"drillDown\":\"styles-module__drillDown___BuvFp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2DjBR\",\"navSection\":\"styles-module__navSection___3kysS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___1USQE\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3isbz\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___NCRVr\",\"appMenu\":\"styles-module__appMenu___2aMTn\",\"appMenuActive\":\"styles-module__appMenuActive___3_Sc_\",\"searchMenu\":\"styles-module__searchMenu___3FMYv\",\"searchMenuActive\":\"styles-module__searchMenuActive___1UFgh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formField\":\"styles-module__formField___2b6Vp\",\"complementaryFieldInput\":\"styles-module__complementaryFieldInput___2ltXI\",\"primaryButton\":\"styles-module__primaryButton___21rgq\",\"hidden\":\"styles-module__hidden___2LL91\",\"placeholder\":\"styles-module__placeholder___3hDld\",\"formGroup\":\"styles-module__formGroup___1pb46\",\"prefix\":\"styles-module__prefix___27whe\",\"invalid\":\"styles-module__invalid___2pSzR\",\"withPrefix\":\"styles-module__withPrefix___3Q2zM\",\"inputWithTypes\":\"styles-module__inputWithTypes___2_FVH\",\"input\":\"styles-module__input___2Rb6c\",\"inputFieldGroup\":\"styles-module__inputFieldGroup___1LGSr\",\"buttonGroup\":\"styles-module__buttonGroup___27o-k\",\"isActive\":\"styles-module__isActive___2bdXj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"styles-module__wrapper___6luNw\",\"header\":\"styles-module__header___1Q_9e\",\"content\":\"styles-module__content___1U8-o\",\"imgContainer\":\"styles-module__imgContainer___1kVM2\",\"link\":\"styles-module__link___2BGhi\"};","import PropTypes from 'prop-types';\n\nimport { stringNumberType } from 'utils/shapes';\nimport { partyShape, subscribableTypePropType } from 'components/Dashboard/utils/shapes';\nimport { dateRangeShape } from 'utils/shapes/dateRange';\nimport { frequencyType } from 'components/core/FrequencyOptions/shapes';\nimport { RECENT, TRACKED } from 'components/Dashboard/common/FeedPage/utils/constants';\n\nexport const tabTypePropType = PropTypes.oneOf([RECENT, TRACKED]);\n\nexport const uiShape = PropTypes.shape({\n isInfiniteDisabled: PropTypes.bool,\n isInitialSeenUpdated: PropTypes.bool,\n isLoading: PropTypes.bool,\n isLoadingDefaultSubscription: PropTypes.bool,\n isLoadingKeywords: PropTypes.bool,\n isUpdatingDefaultSubscription: PropTypes.bool,\n isLoadingNextPage: PropTypes.bool,\n});\n\nexport const myFeedShape = PropTypes.shape({\n ui: uiShape,\n paginator: PropTypes.shape({\n totalCount: PropTypes.number,\n }),\n});\n\nexport const sponsorShape = {\n id: stringNumberType,\n addressableMoniker: PropTypes.string,\n partyShort: PropTypes.oneOf(['D', 'R', 'N', 'I']),\n partySlug: PropTypes.oneOf(['democrat', 'democratic', 'republican', 'nonpartisan', 'independent']),\n comeFrom: PropTypes.string,\n};\n\nexport const lastActionShape = {\n displayingProps: PropTypes.arrayOf(PropTypes.string),\n action: PropTypes.string,\n date: PropTypes.string,\n};\n\nexport const cosponsorsShape = {\n democrat: partyShape,\n republican: partyShape,\n other: partyShape,\n};\n\nexport const stafferTypes = {\n id: stringNumberType,\n position: PropTypes.string,\n title: PropTypes.string,\n name: PropTypes.string,\n lastActionDate: PropTypes.string,\n url: PropTypes.string,\n};\n\nexport const positionTrackShape = {\n id: stringNumberType,\n ids: PropTypes.arrayOf(stringNumberType),\n displayingProps: PropTypes.arrayOf(PropTypes.string),\n eventType: PropTypes.string,\n withPosition: PropTypes.bool,\n position: PropTypes.string,\n withTrack: PropTypes.bool,\n isTracking: PropTypes.bool,\n priority: PropTypes.string,\n feedToken: PropTypes.string.isRequired,\n};\n\nexport const trackItemShape = {\n isOpenTrackItem: PropTypes.bool.isRequired,\n openTrackItem: PropTypes.func.isRequired,\n closeTrackItem: PropTypes.func.isRequired,\n};\n\nexport const trackedShape = {\n title: PropTypes.string,\n category: PropTypes.string.isRequired,\n titleUrl: PropTypes.string,\n displayTitle: PropTypes.shape({\n cardTitle: PropTypes.string,\n stateShort: PropTypes.string,\n frequency: frequencyType,\n }),\n};\n\nconst commonDescriptionPropTypes = {\n url: PropTypes.string,\n label: PropTypes.string,\n isExternal: PropTypes.bool,\n};\n\nconst linkNodeOnlyPropTypes = {\n afterLabel: PropTypes.string,\n};\n\nexport const linkNodePropTypes = {\n ...commonDescriptionPropTypes,\n ...linkNodeOnlyPropTypes,\n};\n\nconst sponsorOnlyPropTypes = {\n partyShort: PropTypes.string,\n comeFrom: PropTypes.string,\n infoText: PropTypes.string,\n};\n\nexport const sponsorPropTypes = {\n ...commonDescriptionPropTypes,\n ...sponsorOnlyPropTypes,\n};\n\nexport const hearingPropTypes = {\n subject: PropTypes.string,\n location: PropTypes.string,\n committee: PropTypes.string,\n};\n\nconst descriptionNodeShape = PropTypes.shape({\n type: PropTypes.string.isRequired,\n data: PropTypes.shape({\n ...commonDescriptionPropTypes,\n ...hearingPropTypes,\n ...sponsorOnlyPropTypes,\n ...linkNodeOnlyPropTypes,\n }),\n});\n\nexport const eventShape = {\n title: PropTypes.string.isRequired,\n createdAt: PropTypes.string.isRequired,\n priority: PropTypes.string,\n isSaved: PropTypes.bool.isRequired,\n description: PropTypes.string,\n descriptionNode: descriptionNodeShape,\n actionType: PropTypes.string,\n itemType: PropTypes.string.isRequired,\n titleUrl: PropTypes.string,\n frequency: frequencyType,\n};\n\nconst stateShape = PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n});\n\nexport const tagShape = PropTypes.shape({\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n label: PropTypes.string,\n});\n\nexport const filterValuesShape = {\n searchValue: PropTypes.string,\n options: PropTypes.shape({\n date: dateRangeShape,\n dateAdded: dateRangeShape,\n emailFrequency: frequencyType,\n itemType: PropTypes.arrayOf(PropTypes.string),\n keywords: PropTypes.arrayOf(PropTypes.string),\n lastUpdate: dateRangeShape,\n position: PropTypes.arrayOf(PropTypes.string),\n priority: PropTypes.arrayOf(PropTypes.string),\n readItems: PropTypes.string,\n removedItems: PropTypes.arrayOf(PropTypes.string),\n savedItems: PropTypes.arrayOf(PropTypes.string),\n state: PropTypes.arrayOf(stateShape),\n status: PropTypes.arrayOf(PropTypes.string),\n tags: PropTypes.arrayOf(tagShape),\n trackedItems: PropTypes.string,\n sharedItems: PropTypes.string,\n }),\n};\n\nexport const appliedFiltersShape = PropTypes.shape({\n ...filterValuesShape,\n perPage: PropTypes.number,\n});\n\nexport const updateTrackShape = PropTypes.shape({\n id: stringNumberType.isRequired,\n modelId: stringNumberType.isRequired,\n type: PropTypes.string,\n priority: PropTypes.string,\n isSaved: PropTypes.bool,\n});\n\nexport const subscriptionShape = PropTypes.shape({\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n token: PropTypes.string,\n frequency: frequencyType,\n isSaved: PropTypes.bool,\n keyword: PropTypes.string,\n trackingsSlug: PropTypes.arrayOf(PropTypes.string),\n priority: PropTypes.string,\n title: PropTypes.string,\n subscribableType: PropTypes.string,\n subscribableData: PropTypes.shape({\n model_id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n model_type: PropTypes.string,\n }),\n isDisabled: PropTypes.bool,\n sendWeekAheadEmail: PropTypes.bool,\n isTracking: PropTypes.bool,\n});\n\nexport const eventSubscriptionShape = PropTypes.shape({\n token: PropTypes.string,\n frequency: frequencyType,\n keyword: PropTypes.string,\n subscribableType: PropTypes.string,\n isDisabled: PropTypes.bool,\n title: PropTypes.string,\n trackingsSlug: PropTypes.arrayOf(PropTypes.string),\n});\n\nexport const listFieldItemShape = PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n content: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.string,\n ]),\n});\n\nconst commonCardProps = {\n id: stringNumberType.isRequired,\n recordId: stringNumberType.isRequired,\n documentType: PropTypes.string.isRequired,\n isRead: PropTypes.bool,\n positionRecordType: PropTypes.string,\n withPosition: PropTypes.bool,\n title: PropTypes.string.isRequired,\n titleUrl: PropTypes.string,\n isDisabled: PropTypes.bool,\n isLoadingPosition: PropTypes.bool,\n isLoadingTags: PropTypes.bool,\n};\n\nexport const recentCardShape = PropTypes.shape({\n ...commonCardProps,\n ...eventShape,\n displayTitle: PropTypes.shape({\n cardTitle: PropTypes.string,\n stateShort: PropTypes.string,\n frequency: frequencyType,\n }),\n isLoadingTracking: PropTypes.bool,\n isNewData: PropTypes.bool,\n isRemoved: PropTypes.bool,\n isTracking: PropTypes.bool,\n position: PropTypes.string,\n recordType: PropTypes.string,\n sendWeekAheadEmail: PropTypes.bool,\n subscription: subscriptionShape,\n trackRecordType: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n withTrack: PropTypes.bool,\n});\n\nexport const listSubscriptionsShape = PropTypes.arrayOf(\n PropTypes.shape({\n content: PropTypes.string,\n frequency: frequencyType,\n isRemoved: PropTypes.bool,\n label: PropTypes.string,\n modelId: stringNumberType,\n sendWeekAheadEmail: PropTypes.bool,\n type: subscribableTypePropType,\n })\n);\n\nexport const officeHolderShape = PropTypes.shape({\n id: PropTypes.string.isRequired,\n url: PropTypes.string,\n addressableMoniker: PropTypes.string,\n partyShort: PropTypes.string,\n partySlug: PropTypes.string,\n comeFrom: PropTypes.string,\n});\n\nexport const trackedCardShape = PropTypes.shape({\n ...commonCardProps,\n ...trackedShape,\n ids: PropTypes.arrayOf(stringNumberType).isRequired,\n category: PropTypes.string.isRequired,\n itemType: PropTypes.string.isRequired,\n priority: PropTypes.string.isRequired,\n frequency: frequencyType.isRequired,\n isSaved: PropTypes.bool,\n subscriptionId: stringNumberType,\n description: PropTypes.string,\n isRemoved: PropTypes.bool.isRequired,\n lastActionDate: PropTypes.string,\n listSubscriptions: listSubscriptionsShape,\n officeHolder: officeHolderShape,\n staffer: PropTypes.shape(stafferTypes),\n});\n\nexport const cardShape = PropTypes.oneOfType([\n recentCardShape,\n trackedCardShape,\n]);\n\nexport const commonUiShape = PropTypes.shape({\n isInfiniteDisabled: PropTypes.bool,\n isInitialLoad: PropTypes.bool,\n isInitialSeenUpdated: PropTypes.bool,\n isLoading: PropTypes.bool,\n isLoadingDefaultSubscription: PropTypes.bool,\n isLoadingKeywords: PropTypes.bool,\n isUpdatingDefaultSubscription: PropTypes.bool,\n});\n\nexport const lastVisitShape = PropTypes.shape({\n last_visit_at: PropTypes.string,\n latest_event_token: PropTypes.string,\n});\n\nexport const sourceContentType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.shape({\n title: PropTypes.string,\n href: PropTypes.string,\n partyShort: PropTypes.string,\n comeFrom: PropTypes.string,\n }),\n]);\n\nexport const searchParamsShape = PropTypes.shape({\n position: PropTypes.string,\n track: PropTypes.string,\n keywordId: PropTypes.string,\n save: PropTypes.string,\n share: PropTypes.string,\n tag: PropTypes.string,\n priority: PropTypes.string,\n frequency: frequencyType,\n});\n\nexport const sortShape = PropTypes.shape({\n sort: PropTypes.string,\n direction: PropTypes.string,\n toReset: PropTypes.bool,\n});\n\nexport const officialSourceShape = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n })\n ),\n]);\n\nexport const keywordShape = PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n});\n","const dataCommitteeTypes = [\n { value: 'house', label: 'House' },\n { value: 'senate', label: 'Senate' },\n { value: 'presidential', label: 'Presidential' },\n { value: 'other_campaign_committees', label: 'All other campaign committees' },\n { value: 'party', label: 'Party' },\n { value: 'pac', label: 'PAC' },\n { value: 'super_pac', label: 'Super PAC' },\n { value: 'leadership_pac', label: 'Leadership PAC' },\n { value: 'joint_fundraising_committee', label: 'Joint fundraising committee' },\n { value: '527_org', label: '527 Org' },\n { value: 'other', label: 'Other' },\n];\n\nexport default dataCommitteeTypes;\n","import { STATE, LOCAL, FEC, IRS } from 'components/Moneyball/utils/constants';\n\nconst dataSourceTypes = [\n {\n label: 'FEC',\n value: FEC,\n },\n {\n label: 'IRS',\n value: IRS,\n },\n {\n label: 'State',\n value: STATE,\n embed: true,\n },\n {\n label: 'Local',\n value: LOCAL,\n disabled: true,\n },\n];\n\nexport default dataSourceTypes;\n","import {\n REPUBLICAN,\n DEMOCRATIC,\n OTHER,\n} from 'components/Moneyball/utils/constants';\n\nconst dataParties = [\n {\n label: 'Republican',\n value: REPUBLICAN,\n },\n {\n label: 'Democratic',\n value: DEMOCRATIC,\n },\n {\n label: 'Other',\n value: OTHER,\n },\n];\n\nexport default dataParties;\n","import {\n PRIMARY,\n GENERAL,\n SPECIAL,\n OTHER,\n} from 'components/Moneyball/utils/constants';\n\nconst dataElectionTypes = [\n {\n label: 'Primary',\n value: PRIMARY,\n }, {\n label: 'General',\n value: GENERAL,\n }, {\n label: 'Special',\n value: SPECIAL,\n }, {\n label: 'Other',\n value: OTHER,\n },\n];\n\nexport default dataElectionTypes;\n","import isEmpty from 'lodash/isEmpty';\n\nexport const DISCLAIMER_TYPES = {\n CONTRIBUTIONS: gon.moneyballDisclaimer,\n};\n\nexport const hasMoneyballSubscription = gon.isMoneyballEnabled || false;\n\nexport const supportEmail = gon.supportEmail;\n\nexport function hasRequiredInfo(stakeholder) {\n const { firstName, lastName } = stakeholder || {};\n\n return (!isEmpty(firstName) && !isEmpty(lastName));\n}\n","import * as tracking from 'utils/tracking';\n\nexport function trackUsingFunctionName({\n trackingFunctionName,\n eventContext,\n eventName,\n eventData,\n}) {\n if (!trackingFunctionName) {\n return;\n }\n\n const track = tracking[trackingFunctionName];\n if (typeof track !== 'function') {\n return;\n }\n\n if (eventName && eventContext) {\n track(eventContext, eventName, eventData);\n } else if (eventContext) {\n track(eventContext, eventData);\n } else {\n track(eventData);\n }\n}\n","import { DASHBOARD_BASE_URL } from 'components/Dashboard/common/FeedPage/utils/constants';\n\nexport const MY_FEED_LINKS = {\n myFeed: DASHBOARD_BASE_URL,\n myFeedSettings: '/dashboard_v2/my_subscriptions',\n keywordSearch: '/dashboard_v2/keyword_search',\n};\n\nexport const LINKS = {\n ...MY_FEED_LINKS,\n workspaces: '/dashboard_v2/workspaces',\n activity: '/grm',\n advocates: '/advocates',\n stakeholders: '/stakeholder_management/directory',\n moneyball: '/moneyball_v2',\n hillDay: '/hill_day/hill_days',\n reports: '/reports',\n federalStaffers: '/federal/congressional_staffers',\n};\n\nexport const NAMES = {\n myFeed: 'My feed',\n workspaces: 'Workspaces',\n activity: 'Activity',\n advocates: 'Stakeholders',\n stakeholders: 'Stakeholders',\n moneyball: 'Donor research',\n hillDay: 'Hill day',\n reports: 'Reports',\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Select from 'components/core/Select';\n\n\nclass SelectList extends React.Component {\n constructor(props) {\n super(props);\n this.state = { };\n this.onChange = this.onChange.bind(this);\n }\n\n onChange(value) {\n this.setState({ value }, () => {\n this.props.updateSelected(this.state.value);\n });\n }\n\n render() {\n return (\n
\n \n \n
\n );\n }\n}\n\nSelectList.propTypes = {\n updateSelected: PropTypes.func.isRequired,\n options: PropTypes.array.isRequired,\n};\n\nexport default SelectList;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Modal from 'components/modal.jsx';\nimport SelectList from './SelectList.jsx';\n\nfunction displayName(staff) {\n const staffResp = staff.responsibilities.join(', ');\n const displayResp = staffResp === '' ? '' : ` -- ${staffResp}`;\n\n return `${staff.first_name} ${staff.last_name} (${staff.title})${displayResp}`;\n}\n\nclass Form extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n href: '#',\n };\n this.closeModal = this.closeModal.bind(this);\n this.staffers = this.staffers.bind(this);\n }\n\n closeModal() {\n this.props.onToggleVisibility(false);\n }\n\n staffers() {\n return this.props.staffers.map(staff =>\n ({ value: staff.id, label: displayName(staff), email: staff.email })\n );\n }\n\n updateSelected(values) {\n if (values) {\n const emails = values.map(value => value.email).join(';');\n const href = `mailto:?bcc=${emails}`;\n this.setState({ href });\n }\n }\n\n render() {\n return (\n \n
\n
\n \n

Send an email through your email client

\n
\n
\n
\n \n
\n
\n \n \n  \n Email All\n \n \n Cancel\n \n
\n \n
\n \n );\n }\n}\n\nForm.propTypes = {\n onToggleVisibility: PropTypes.func.isRequired,\n visible: PropTypes.bool.isRequired,\n staffers: PropTypes.array.isRequired,\n};\n\nForm.defaultProps = {\n visible: false,\n};\n\nexport default Form;\n","import PropTypes from 'prop-types';\n\nfunction legislatorStaffersFetcher({ legislatorId, onSuccess }) {\n const addNotification = window.app.GlobalNotifier.addNotification;\n const url = `/api_web/legislators/${legislatorId}/staffers`;\n const method = 'GET';\n\n $.ajax({\n method,\n url,\n success: onSuccess,\n error: () => {\n addNotification({\n message: 'Failed to load staffers.',\n level: 'error',\n });\n },\n });\n}\n\nlegislatorStaffersFetcher.propTypes = {\n legislatorId: PropTypes.string.isRequired,\n onSuccess: PropTypes.func.isRequired,\n};\n\nexport default legislatorStaffersFetcher;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Form from './Form.jsx';\nimport legislatorStaffersFetcher from './legislatorStaffersFetcher';\n\nclass StaffersMailer extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n staffers: [],\n };\n this.toggleFormVisibility = this.toggleFormVisibility.bind(this);\n this.loadStaffers = this.loadStaffers.bind(this);\n }\n\n loadStaffers() {\n legislatorStaffersFetcher({\n legislatorId: this.props.legislatorId,\n onSuccess: (response) => {\n const staffers = response.data;\n this.setState({ staffers });\n },\n });\n }\n\n toggleFormVisibility(formVisible) {\n if (formVisible) {\n this.loadStaffers();\n }\n this.setState({ formVisible });\n }\n\n render() {\n return (\n \n \n \n \n );\n }\n}\n\nStaffersMailer.propTypes = {\n legislatorId: PropTypes.string.isRequired,\n};\n\nexport default StaffersMailer;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { isNil, isEmpty } from 'lodash';\nimport classNames from 'classnames';\n\nimport Link from 'components/core/Link';\nimport PartyIcon from 'components/shared/party-icon';\nimport { EMPTY_VALUE } from 'utils/constants';\nimport { stringNumberType } from 'utils/shapes';\n\nimport styles from './styles.module.scss';\n\nfunction Name({\n id,\n name,\n partyShort,\n partySlug,\n url,\n routerLink,\n className,\n contentClassName,\n partyIconClassName,\n onClick,\n rightContent,\n isPresentAvatar,\n avatarUrl,\n} = {}) {\n const commonProps = {\n onClick,\n className: classNames(styles.nameWeight, className),\n };\n\n const nameNode = {name};\n\n function getIcon() {\n if (isEmpty(partySlug)) {\n return null;\n }\n\n return (\n \n );\n }\n\n if (isEmpty(name)) {\n return EMPTY_VALUE;\n }\n\n if (isNil(id)) {\n return
{nameNode} {getIcon()}
;\n }\n\n const content = (\n <>\n {isPresentAvatar && (\n \n )}\n {nameNode} \n {getIcon()}\n {rightContent}\n \n );\n\n const contentNode = contentClassName\n ?
{content}
\n : content;\n\n if (!isEmpty(routerLink)) {\n return {contentNode};\n }\n\n return (\n \n {contentNode}\n \n );\n}\n\nName.propTypes = {\n id: stringNumberType,\n isPresentAvatar: PropTypes.bool,\n avatarUrl: PropTypes.string,\n rightContent: PropTypes.node,\n name: PropTypes.string,\n partySlug: PropTypes.string,\n url: PropTypes.string,\n partyShort: PropTypes.string,\n routerLink: PropTypes.string,\n isPlainText: PropTypes.bool,\n className: PropTypes.string,\n contentClassName: PropTypes.string,\n onClick: PropTypes.func,\n partyIconClassName: PropTypes.string,\n};\n\nexport default Name;\n","import { useState } from 'react';\n\nfunction useModals(currentStep = 0) {\n const [isStakeholderModalOpen, setIsStakeholderModalOpen] = useState(false);\n const [stakeholderModalStep, setStakeholderModalStep] = useState(currentStep);\n\n function toggleStakeholderModal() {\n setIsStakeholderModalOpen(!isStakeholderModalOpen);\n }\n\n function handleStakeholderModalOpen() {\n setIsStakeholderModalOpen(true);\n }\n\n function handleStakeholderModalClose() {\n setIsStakeholderModalOpen(false);\n }\n\n function handleChangeStakeholderModalStep(step) {\n setStakeholderModalStep(step);\n }\n\n return {\n stakeholderModalStep,\n isStakeholderModalOpen,\n toggleStakeholderModal,\n handleChangeStakeholderModalStep,\n handleStakeholderModalClose,\n handleStakeholderModalOpen,\n };\n}\n\nexport default useModals;\n","const errorMessages = {\n required: 'Required field',\n phone: 'Invalid phone number',\n email: 'Invalid email address',\n facebookProfileUrl: 'Invalid Facebook profile url',\n username: 'Invalid username',\n unique: 'This is a duplicate. Please enter different value',\n};\n\nexport default errorMessages;\n","import * as Yup from 'yup';\nimport isEmpty from 'lodash/isEmpty';\n\nimport {\n PHONE_REGEXP,\n TWITTER_USERNAME_REGEXP,\n FACEBOOK_PROFILE_URL_REGEXP,\n} from 'utils/constants';\nimport getCustomFieldsSchema from 'utils/forms/getCustomFieldsSchema';\nimport validateUniqueness from 'utils/yup/validateUniqueness';\n\nimport errorMessages from './errorMessages';\n\nYup.addMethod(Yup.array, 'unique', validateUniqueness);\n\nfunction customRequired(message, propertyName, rules = {}) {\n return this.test('customRequired', message, function requiredItem(item) {\n const { path, parent } = this;\n const { minArrayLength = 0, is } = rules;\n const isInvalid = is(item);\n\n if (parent.length > minArrayLength && isInvalid) {\n throw this.createError({\n path: `${path}.${propertyName}`,\n message,\n });\n }\n\n return true;\n });\n}\n\nYup.addMethod(Yup.object, 'customRequired', customRequired);\n\nconst validationSchema = (customFields) => {\n const defaultShape = {\n firstName: Yup.string().required(errorMessages.required),\n middleName: Yup.string(),\n lastName: Yup.string().required(errorMessages.required),\n addresses: Yup.array()\n .of(\n Yup.object().shape({\n place_id: Yup.string(),\n address: Yup.string(),\n category: Yup.string(),\n primary: Yup.bool(),\n })\n .customRequired(errorMessages.required, 'address', {\n is: item => isEmpty(item.address),\n minArrayLength: 1,\n })\n )\n .unique(errorMessages.unique, 'address'),\n organization: Yup.string(),\n phones: Yup.array()\n .of(\n Yup.object().shape({\n phone: Yup.string().trim().matches(PHONE_REGEXP, { message: errorMessages.phone, excludeEmptyString: true }),\n category: Yup.string().nullable(),\n primary: Yup.bool(),\n })\n .customRequired(errorMessages.required, 'phone', {\n is: item => isEmpty(item.phone),\n minArrayLength: 1,\n })\n )\n .unique(errorMessages.unique, 'phone'),\n emails: Yup.array().of(\n Yup.object().shape({\n email: Yup.string()\n .email(errorMessages.email)\n .required(errorMessages.required),\n category: Yup.string(),\n primary: Yup.bool(),\n })\n )\n .unique(errorMessages.unique, 'email'),\n facebookProfile: Yup.string().matches(FACEBOOK_PROFILE_URL_REGEXP, errorMessages.facebookProfileUrl),\n twitterName: Yup.string().matches(TWITTER_USERNAME_REGEXP, errorMessages.username),\n };\n const customFieldsShape = getCustomFieldsSchema(customFields, errorMessages.required);\n\n return Yup.object().shape({ ...defaultShape, ...customFieldsShape });\n};\n\nexport default validationSchema;\n","import { pick, omit, isEmpty, sortBy } from 'lodash';\n\nimport Notifications from 'components/Advocates/Lookup/utils/Notifications';\nimport { arrayToSelectableItems, valueOrEmpty } from 'utils/forms';\n\nexport const emailPlaceholder = {\n default: 'The primary email address (e.g., the default email contact method)',\n custom: 'An optional email address field.',\n};\n\nexport const phonePlaceholder = {\n default: 'This is the phone number for this stakeholder (e.g., +1-(555)-555-5555).',\n custom: 'An optional phone number field.',\n};\n\nexport const addressPlaceholder = {\n default: 'The primary address (e.g., the address used to map this stakeholder)',\n custom: 'An optional address field.',\n};\n\nfunction getDefaultValue(property, category, primary = true) {\n return { [property]: '', category, primary };\n}\n\nexport const defaultNewEmailValue = getDefaultValue('email', 'personal', false);\nexport const defaultEmailValue = getDefaultValue('email', 'personal');\nexport const defaultEmailArray = [defaultEmailValue];\n\nexport const defaultNewPhoneValue = getDefaultValue('phone', 'personal', false);\nexport const defaultPhoneValue = getDefaultValue('phone', 'personal');\nexport const defaultPhoneArray = [defaultPhoneValue];\n\nexport const defaultNewAddressValue = getDefaultValue('address', 'home', false);\nexport const defaultAddressValue = getDefaultValue('address', 'home');\nexport const defaultAddressArray = [defaultAddressValue];\n\nexport function getArray(array, defaultValues) {\n return !isEmpty(array) ? array : defaultValues;\n}\n\nexport function mapPropsToValues({\n id,\n firstName,\n middleName,\n lastName,\n phones,\n addresses,\n emails,\n organization,\n title,\n facebookProfile,\n twitterName,\n tags,\n lists,\n partyCode,\n description,\n}) {\n return {\n id,\n firstName: valueOrEmpty(firstName),\n middleName: valueOrEmpty(middleName),\n lastName: valueOrEmpty(lastName),\n phones: getArray(phones, defaultPhoneArray),\n addresses: getArray(sortBy(addresses, 'id'), defaultAddressArray),\n emails: getArray(emails, defaultEmailArray),\n facebookProfile: valueOrEmpty(facebookProfile),\n twitterName: valueOrEmpty(twitterName),\n organization: valueOrEmpty(organization),\n title: valueOrEmpty(title),\n tags: arrayToSelectableItems(tags) || [],\n lists: arrayToSelectableItems(lists) || [],\n partyCode: valueOrEmpty(partyCode),\n description,\n };\n}\n\nfunction removeCustomFieldsFromRoot(payload, customFields) {\n const tokens = customFields.map(({ token }) => token);\n\n return omit(payload, tokens);\n}\n\nfunction getCustomFieldsAnswers(payload, customFields) {\n const tokens = customFields.map(({ token }) => token);\n\n return pick(payload, tokens);\n}\n\nfunction normalizeAddresses(payload = {}) {\n const { addresses } = payload;\n\n if (addresses.length === 1 && isEmpty(addresses[0].address)) {\n return { ...payload, addresses: [] };\n }\n\n return { ...payload, addresses: addresses.filter(address => !isEmpty(address.address)) };\n}\n\nexport function normalizePayload(payload, customFields) {\n const custom_fields = getCustomFieldsAnswers(payload, customFields);\n const profile = { custom_fields, ...normalizeAddresses(payload) };\n\n return removeCustomFieldsFromRoot(profile, customFields);\n}\n\nexport function getNotifications({ id, createStakeholder, updateStakeholder }) {\n if (id) {\n return {\n submitAction: updateStakeholder,\n successNotification: Notifications.stakeholderEditSuccess,\n failureNotification: Notifications.stakeholderEditFailed,\n };\n }\n\n return {\n submitAction: createStakeholder,\n successNotification: Notifications.stakeholderCreateSuccess,\n failureNotification: Notifications.stakeholderCreateFailed,\n };\n}\n","import { useEffect } from 'react';\n\nimport Notifications from 'components/Advocates/Lookup/utils/Notifications';\nimport useModals from 'components/Advocates/common/Modals/useModals';\nimport { transformStakeholderToBE } from 'redux/stakeholder/Profile/utils';\nimport { MAX_CUSTOM_FIELDS_PAGE_SIZE } from 'components/Advocates/utils/constants';\nimport { PRODUCT_SLUGS } from 'components/core/CustomFields/utils/constants';\n\nimport validationSchema from './validationSchema';\nimport { mapPropsToValues, normalizePayload, getNotifications } from '.';\n\nexport default function useForm({\n isOpen,\n stakeholder,\n toggleOpen,\n customField,\n allCustomFields,\n createStakeholder,\n updateStakeholder,\n fetchCustomFields,\n currentStep,\n handleChangeCurrentStep,\n isProfilePageUpdate,\n avoidDispatchFetch,\n onSuccess,\n}) {\n const { stakeholderModalStep, handleChangeStakeholderModalStep } = useModals(currentStep);\n const { id } = stakeholder || {};\n\n function handleStepRedirect(step) {\n handleChangeCurrentStep && handleChangeCurrentStep(step);\n !handleChangeCurrentStep && handleChangeStakeholderModalStep(step);\n }\n\n const onOpen = () => (\n fetchCustomFields({\n search_form: {\n product_slugs: [PRODUCT_SLUGS.STAKEHOLDER_MGMT],\n enabled: true,\n },\n per_page: MAX_CUSTOM_FIELDS_PAGE_SIZE,\n }).catch((error) => {\n Notifications.defaultFetchDataFailed();\n throw error;\n })\n );\n\n useEffect(() => {\n isOpen && onOpen();\n }, [isOpen]);\n\n const values = mapPropsToValues({ ...stakeholder, id });\n\n const initialValues = { ...values, ...customField, id };\n const schema = validationSchema(allCustomFields);\n\n function onSubmit(payload, formActions) {\n const { setSubmitting, setFieldError, resetForm } = formActions;\n\n const {\n submitAction,\n successNotification,\n failureNotification,\n } = getNotifications({ id, createStakeholder, updateStakeholder });\n\n const profile = normalizePayload(payload, allCustomFields.filter(field => field.enabled));\n\n function handleFailure(error) {\n error && Object.keys(error).forEach((key) => {\n setFieldError(key, error[key]);\n });\n setSubmitting(false);\n failureNotification();\n }\n\n function handleSuccess() {\n setSubmitting(false);\n toggleOpen();\n resetForm();\n handleStepRedirect(0);\n successNotification();\n onSuccess && onSuccess();\n }\n\n const stakeholderData = transformStakeholderToBE(profile);\n\n return submitAction({\n stakeholderData,\n handleFailure,\n handleSuccess,\n isProfilePageUpdate,\n avoidDispatchFetch,\n });\n }\n\n return {\n currentStep: stakeholderModalStep,\n onRedirect: handleStepRedirect,\n onChangeCurrentStep: handleChangeCurrentStep,\n onSubmit,\n initialValues,\n schema,\n };\n}\n","import React, { createContext } from 'react';\n\nexport const StakeholderFormContext = createContext();\n\nfunction withForm(Component) {\n return props => (\n \n {context => }\n \n );\n}\n\nexport default withForm;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport CustomField from 'components/core/CustomField';\nimport EmptyPlaceholder from 'components/core/EmptyPlaceholder';\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\nimport {\n allCustomFieldsShape,\n profileShape,\n formStatusShape,\n errorsShape,\n} from 'components/Advocates/common/utils/shapes';\n\nimport withForm from '../../../../utils/withForm';\nimport styles from '../../styles.module.scss';\n\nconst controlStyles = {\n wrapperClass: styles.formField,\n controlClass: styles.formControl,\n};\n\nfunction CustomFields({\n allCustomFields: customFields,\n values,\n formState,\n handleBlur,\n handleChange,\n submitForm,\n isSubmitting,\n isCustomFieldsRedirect,\n onCustomFieldsRedirect,\n isLoadingCustomFields,\n}) {\n const { errors, touched } = formState;\n\n useEffect(() => {\n if (isEmpty(errors) && !isSubmitting && isCustomFieldsRedirect) {\n window.location.assign('/custom_fields');\n }\n }, [errors, isCustomFieldsRedirect, isSubmitting]);\n\n const handlers = { handleBlur, handleChange };\n\n function handleFormSubmit() {\n submitForm()\n .finally(() => onCustomFieldsRedirect(true));\n }\n\n const emptyDescription = (\n <>\n

You haven’t created/enabled any custom fields yet. When you do, they will be shown here.

\n \n Save this record and navigate to custom fields\n \n \n );\n\n if (isLoadingCustomFields) {\n return (\n \n );\n }\n\n const enabledCustomFields = customFields.filter(({ enabled }) => enabled);\n\n if (isEmpty(enabledCustomFields)) {\n return (\n \n );\n }\n\n return (\n enabledCustomFields.map((field) => {\n const { token } = field;\n const error = touched[token] && errors[token];\n const value = values[token] || [];\n const controlState = { value, error };\n\n return (\n \n );\n })\n );\n}\n\nCustomFields.propTypes = {\n allCustomFields: allCustomFieldsShape.isRequired,\n values: profileShape.isRequired,\n formState: PropTypes.shape({\n errors: errorsShape,\n touched: formStatusShape,\n }).isRequired,\n handleBlur: PropTypes.func.isRequired,\n handleChange: PropTypes.func.isRequired,\n submitForm: PropTypes.func.isRequired,\n isSubmitting: PropTypes.bool.isRequired,\n isCustomFieldsRedirect: PropTypes.bool,\n onCustomFieldsRedirect: PropTypes.func.isRequired,\n isLoadingCustomFields: PropTypes.bool.isRequired,\n};\n\nexport default withForm(CustomFields);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction AddRemoveButtons({\n name,\n onRemove,\n onAdd,\n isLoading,\n isAddMoreDisabled,\n showRemove,\n complementaryFieldProps,\n}) {\n const commonButtonProps = {\n type: 'button',\n size: 'none',\n theme: 'link',\n };\n\n function renderComplementaryFieldButton() {\n const { name: complementaryName, onToggle, isVisible } = complementaryFieldProps;\n const buttonTitle = isVisible ? `Remove ${complementaryName}` : `Add ${complementaryName}`;\n\n if (isEmpty(complementaryName)) {\n return null;\n }\n\n return (\n <>\n \n {buttonTitle}\n \n |\n \n );\n }\n\n function renderRemoveButton() {\n if (!showRemove) {\n return null;\n }\n\n return (\n <>\n |\n \n Remove this {name}\n \n \n );\n }\n\n return (\n
\n {renderComplementaryFieldButton()}\n \n Add another {name}\n \n {renderRemoveButton()}\n
\n );\n}\n\nAddRemoveButtons.propTypes = {\n name: PropTypes.string.isRequired,\n onAdd: PropTypes.func.isRequired,\n onRemove: PropTypes.func.isRequired,\n isLoading: PropTypes.bool,\n isAddMoreDisabled: PropTypes.bool,\n showRemove: PropTypes.bool.isRequired,\n complementaryFieldProps: PropTypes.shape({\n name: PropTypes.string,\n onToggle: PropTypes.func,\n isVisible: PropTypes.bool,\n }),\n};\n\nexport default AddRemoveButtons;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Input, { InputSelect } from 'components/core/Input';\nimport MaskedInput from 'components/core/MaskedInput';\nimport Label from 'components/core/Label';\nimport ErrorMessage from 'components/core/ErrorMessage';\nimport RadioBox from 'components/core/RadioBox';\nimport Asterisk from 'components/core/Asterisk';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\nimport { getError } from 'utils/forms';\nimport { formStatusShape, errorsShape } from 'components/Advocates/common/utils/shapes';\nimport { suggestionShape } from 'utils/shapes/suggestion';\n\nimport AddRemoveButtons from './components/AddRemoveButtons';\nimport styles from './styles.module.scss';\n\nfunction BaseField({\n id,\n name,\n placeholder,\n title,\n className,\n formState,\n isRequired,\n typeValue,\n typeOptions,\n typeName,\n renderCustomInputNode,\n prefix,\n prefixClassName,\n maskSlug,\n setFieldValue,\n multiple,\n index,\n fieldName,\n optionalFieldName,\n errorMessage,\n onRemoveField,\n onAddField,\n isLoading,\n hasMultipleValues,\n primaryValue,\n primaryName,\n onChangePrimary,\n isAddMoreDisabled,\n complementaryFieldName,\n clearComplementaryField,\n ...restProps\n}) {\n const [complementaryFieldState, setComplementaryFieldState] = useState({\n isVisible: false,\n initialLoad: true,\n });\n const { isVisible } = complementaryFieldState;\n\n const withTypes = !isEmpty(typeOptions);\n const errorText = !isEmpty(errorMessage)\n ? errorMessage\n : getError(name || id, formState);\n\n const isError = !isEmpty(errorText);\n\n const prefixClassNames = classNames(\n styles.prefix,\n errorMessage && styles.invalid,\n prefixClassName,\n );\n\n const inputProps = {\n ...restProps,\n index,\n id,\n name,\n placeholder: ' ',\n isError,\n };\n\n function toggleComplementaryFieldVisibilty() {\n setComplementaryFieldState(prev => ({\n isVisible: !prev.isVisible,\n initialLoad: false,\n }));\n clearComplementaryField(index);\n }\n\n function showComplementaryField() {\n setComplementaryFieldState(prev => ({\n ...prev,\n isVisible: true,\n }));\n }\n\n const addRemoveButtonsProps = {\n name: optionalFieldName || fieldName,\n onAdd: onAddField,\n onRemove: () => onRemoveField(index),\n isLoading,\n isAddMoreDisabled,\n showRemove: hasMultipleValues,\n complementaryFieldProps: {\n isVisible,\n name: complementaryFieldName,\n onToggle: toggleComplementaryFieldVisibilty,\n },\n };\n\n const primaryButtonProps = {\n ...restProps,\n label: index === 0 ? 'Primary' : '',\n name: primaryName,\n theme: 'button',\n checked: primaryValue,\n onChange: onChangePrimary,\n className: styles.primaryButton,\n };\n\n const primaryButton = ;\n\n function getInput() {\n if (renderCustomInputNode) {\n return renderCustomInputNode({\n ...inputProps,\n showComplementaryField,\n complementaryFieldState,\n });\n }\n\n if (maskSlug) {\n return (\n \n );\n }\n\n return ;\n }\n\n return (\n
\n {title && (\n \n )}\n \n {placeholder}\n \n\n
\n
\n {prefix && (\n \n {prefix}\n \n )}\n\n {getInput()}\n\n {withTypes && (\n \n )}\n
\n\n {multiple && hasMultipleValues && primaryButton}\n
\n\n {multiple && }\n\n \n
\n );\n}\n\nBaseField.defaultProps = {\n isRequired: false,\n value: '',\n title: '',\n optionalFieldName: '',\n typeValue: {},\n};\n\nBaseField.propTypes = {\n formState: PropTypes.shape({\n errors: errorsShape,\n touched: formStatusShape,\n }).isRequired,\n id: PropTypes.string.isRequired,\n name: PropTypes.string,\n placeholder: PropTypes.string,\n title: PropTypes.string,\n className: PropTypes.string,\n inputClassName: PropTypes.string,\n isRequired: PropTypes.bool,\n typeValue: suggestionShape,\n typeOptions: PropTypes.arrayOf(suggestionShape),\n onChangeType: PropTypes.func,\n setFieldValue: PropTypes.func,\n typeName: PropTypes.string,\n renderCustomInputNode: PropTypes.func,\n prefix: PropTypes.string,\n prefixClassName: PropTypes.string,\n maskSlug: PropTypes.string,\n value: PropTypes.string,\n multiple: PropTypes.bool,\n index: PropTypes.number,\n fieldName: PropTypes.string,\n optionalFieldName: PropTypes.string,\n errorMessage: PropTypes.string,\n onRemoveField: PropTypes.func,\n onAddField: PropTypes.func,\n isLoading: PropTypes.bool,\n isAddMoreDisabled: PropTypes.bool,\n hasMultipleValues: PropTypes.bool,\n primaryValue: PropTypes.bool,\n primaryName: PropTypes.string,\n onChangePrimary: PropTypes.func,\n complementaryFieldName: PropTypes.string,\n clearComplementaryField: PropTypes.func,\n};\n\nexport default BaseField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport TagInput from 'components/core/TagInput';\nimport Label from 'components/core/Label';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './styles.module.scss';\n\nfunction TagInputField({ placeholder, title, className, ...restProps }) {\n return (\n
\n \n \n {placeholder}\n \n\n \n
\n );\n}\n\nTagInputField.propTypes = {\n placeholder: PropTypes.string,\n title: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nexport default TagInputField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Label from 'components/core/Label';\nimport Button from 'components/core/Button';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\nimport { suggestionShape } from 'utils/shapes/suggestion';\n\nimport styles from './styles.module.scss';\n\nfunction ButtonGroupField({ id, title, placeholder, value, setFieldValue, data }) {\n function handleButtonClick(dataValue) {\n return () => {\n setFieldValue(id, dataValue);\n };\n }\n\n return (\n
\n \n \n {placeholder}\n \n \n {\n data.map(({ label, value: dataValue }) => (\n \n {label}\n \n ))\n }\n \n
\n );\n}\n\nButtonGroupField.propTypes = {\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n placeholder: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(suggestionShape).isRequired,\n value: PropTypes.string,\n setFieldValue: PropTypes.func.isRequired,\n};\n\nexport default ButtonGroupField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { PARTIES } from 'utils/constants';\nimport { TAG_STRATEGY_SLUG } from 'components/Advocates/utils/constants';\nimport {\n formStatusShape,\n profileShape,\n errorsShape,\n} from 'components/Advocates/common/utils/shapes';\n\nimport withForm from '../../../utils/withForm';\nimport styles from '../styles.module.scss';\nimport BaseField from './Fields/BaseField';\nimport TagInputField from './Fields/TagInputField';\nimport ButtonGroupField from './Fields/ButtonGroupField';\n\nfunction AdditionalDetails({ values, formState, handleBlur, handleChange, setFieldValue }) {\n const commonProps = {\n onChange: handleChange,\n onBlur: handleBlur,\n className: styles.formControl,\n formState,\n };\n\n function getDefaultValues(listValues) {\n return listValues.map(({ value }) => value);\n }\n\n function handleChangeLists(lists) {\n return setFieldValue('lists', lists);\n }\n\n function handleChangeTags(tags) {\n return setFieldValue('tags', tags);\n }\n\n return (\n <>\n \n\n \n\n \n\n \n\n \n\n \n\n \n \n );\n}\n\nAdditionalDetails.propTypes = {\n formState: PropTypes.shape({\n errors: errorsShape,\n touched: formStatusShape,\n }).isRequired,\n values: profileShape.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n setFieldValue: PropTypes.func.isRequired,\n};\n\nexport default withForm(AdditionalDetails);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FieldArray } from 'formik';\n\nimport { getError } from 'utils/forms';\nimport { formStatusShape, errorsShape } from 'components/Advocates/common/utils/shapes';\nimport { suggestionShape } from 'utils/shapes/suggestion';\n\nimport BaseField from './BaseField';\n\nfunction MultipleField({\n options,\n typeName,\n typeOptions,\n isLoading,\n name,\n fieldName,\n optionalFieldName,\n formState,\n id,\n title,\n defaultValue,\n placeholder,\n setFieldValue,\n viewLimit,\n setFieldTouched,\n ...restProps\n}) {\n const hasMultipleValues = options.length > 1;\n const isAddMoreDisabled = viewLimit && options.length > viewLimit;\n\n function getFieldName(field, index = 0, property = '') {\n return `${field}[${index}][${property}]`;\n }\n\n function getTitle(index) {\n return `${title} ${index > 0 ? index : ''}`;\n }\n\n function getPlaceholder(isPrimary) {\n return isPrimary ? placeholder.default : placeholder.custom;\n }\n\n function getErrorMessage(index) {\n return getError(getFieldName(name, index, fieldName), formState);\n }\n\n function resetPrimaryButtonValue() {\n options.forEach((_, index) => {\n setFieldValue(getFieldName(name, index, 'primary'), false);\n });\n }\n\n function renderOptions({ remove, push }) {\n return options.map((option, index) => {\n const selectedTypeValue = (\n typeOptions && typeOptions.find(typeOption => typeOption.value === option[typeName])\n );\n\n function handleChangePrimary(event) {\n resetPrimaryButtonValue();\n setFieldValue(getFieldName(name, index, 'primary'), event.target.checked);\n setFieldTouched && setFieldTouched(getFieldName(name, index, fieldName), true);\n }\n\n function handleRemoveField(removedIndex) {\n remove(removedIndex);\n\n if (options[removedIndex].primary) {\n setFieldValue(getFieldName(name, 0, 'primary'), true);\n }\n }\n\n function handleAddField() {\n push(defaultValue);\n }\n\n return (\n \n );\n });\n }\n\n return (\n \n );\n}\n\nMultipleField.propTypes = {\n options: PropTypes.arrayOf(suggestionShape).isRequired,\n typeName: PropTypes.string,\n typeOptions: PropTypes.arrayOf(suggestionShape),\n isLoading: PropTypes.bool,\n name: PropTypes.string,\n fieldName: PropTypes.string,\n optionalFieldName: PropTypes.string,\n formState: PropTypes.shape({\n errors: errorsShape,\n touched: formStatusShape,\n }).isRequired,\n id: PropTypes.string,\n viewLimit: PropTypes.number,\n title: PropTypes.string.isRequired,\n defaultValue: PropTypes.oneOfType([\n suggestionShape,\n PropTypes.string,\n ]),\n placeholder: PropTypes.oneOfType([\n suggestionShape,\n PropTypes.string,\n ]),\n setFieldValue: PropTypes.func.isRequired,\n setFieldTouched: PropTypes.func,\n};\n\nexport default MultipleField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { typeOptions } from 'utils/constants';\nimport AddressAutocomplete from 'components/core/AddressAutocomplete';\nimport inputStyles from 'components/core/Input/styles.module.scss';\nimport {\n addressPlaceholder,\n defaultNewAddressValue,\n} from 'components/Advocates/common/Modals/StakeholderForm/utils';\nimport {\n profileShape,\n formStatusShape,\n errorsShape,\n} from 'components/Advocates/common/utils/shapes';\n\nimport MultipleField from './MultipleField';\nimport BaseField from './BaseField';\nimport styles from './styles.module.scss';\n\nconst { defaultTypeOptions } = typeOptions;\n\nfunction AddressField({\n className,\n values,\n formState,\n setFieldValue,\n setFieldTouched,\n ...restProps\n}) {\n const name = 'addresses';\n const complementaryFieldName = 'Apt/Unit #(Optional)';\n const complementaryFieldPlaceholder = 'An optional address field (e.g., “Apt. 102”)';\n const options = values.addresses;\n\n function clearComplementaryField(index) {\n setFieldValue(`${name}.${index}.complement`, '');\n }\n\n function handleAddressChange(inputProps) {\n const { index } = inputProps;\n\n return ({ address, placeId }) => {\n setFieldValue(`${name}.${index}.place_id`, placeId);\n setFieldValue(`${name}.${index}.address`, address);\n setFieldTouched(`${name}.${index}.address`, true);\n };\n }\n\n function handleComplementaryFieldChange(inputProps) {\n const { index } = inputProps;\n\n return ({ target }) => {\n const { value } = target;\n\n setFieldValue(`${name}.${index}.complement`, value);\n setFieldTouched(`${name}.${index}.complement`, true);\n };\n }\n\n const addressClassNames = classNames(\n inputStyles.input,\n inputStyles.default,\n className,\n styles.input,\n );\n\n function renderAddress(inputProps) {\n const {\n index,\n id,\n showComplementaryField,\n complementaryFieldState,\n ...restInputProps\n } = inputProps;\n const address = options[index] || {};\n const { place_id: placeId, address: autocompleteValue, complement } = address;\n const complementaryAddressValue = complement || '';\n const { isVisible, initialLoad } = complementaryFieldState;\n\n if (initialLoad && !isVisible && !isEmpty(complementaryAddressValue)) {\n showComplementaryField();\n }\n\n return (\n <>\n \n {isVisible && (\n \n )}\n \n );\n }\n\n return (\n <>\n \n {options.length > 1 &&
}\n \n );\n}\n\nAddressField.propTypes = {\n values: profileShape.isRequired,\n formState: PropTypes.shape({\n errors: errorsShape,\n touched: formStatusShape,\n }).isRequired,\n className: PropTypes.string,\n setFieldValue: PropTypes.func,\n setFieldTouched: PropTypes.func,\n};\n\nexport default AddressField;\n","import React, { Fragment } from 'react';\n\nimport {\n defaultNewEmailValue,\n emailPlaceholder,\n} from 'components/Advocates/common/Modals/StakeholderForm/utils';\nimport { typeOptions } from 'utils/constants';\nimport { profileShape } from 'components/Advocates/common/utils/shapes';\n\nimport MultipleField from './MultipleField';\n\nconst { personalTypeOptions } = typeOptions;\n\nfunction EmailField({ values, ...restProps }) {\n const options = values.emails;\n\n return (\n <>\n \n {options.length > 1 &&
}\n \n );\n}\n\nEmailField.propTypes = {\n values: profileShape.isRequired,\n};\n\nexport default EmailField;\n","import React from 'react';\n\nimport { typeOptions } from 'utils/constants';\nimport { defaultNewPhoneValue, phonePlaceholder } from 'components/Advocates/common/Modals/StakeholderForm/utils';\nimport { profileShape } from 'components/Advocates/common/utils/shapes';\n\nimport MultipleField from './MultipleField';\n\nconst { personalTypeOptions } = typeOptions;\n\nfunction PhoneField({ values, ...restProps }) {\n const options = values.phones;\n\n return (\n \n );\n}\n\nPhoneField.propTypes = {\n values: profileShape.isRequired,\n};\n\nexport default PhoneField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n profileShape,\n formStatusShape,\n errorsShape,\n} from 'components/Advocates/common/utils/shapes';\n\nimport withForm from '../../../utils/withForm';\nimport styles from '../styles.module.scss';\nimport BaseField from './Fields/BaseField';\nimport AddressField from './Fields/AddressField';\nimport EmailField from './Fields/EmailField';\nimport PhoneField from './Fields/PhoneField';\n\nfunction BasicInfo({\n values,\n formState,\n handleBlur,\n handleChange,\n setFieldValue,\n setFieldTouched,\n}) {\n const commonProps = {\n onChange: handleChange,\n onBlur: handleBlur,\n className: styles.formControl,\n formState,\n values,\n setFieldValue,\n };\n\n return (\n <>\n
\n \n \n \n
\n \n \n \n \n );\n}\n\nBasicInfo.propTypes = {\n formState: PropTypes.shape({\n errors: errorsShape,\n touched: formStatusShape,\n }).isRequired,\n values: profileShape.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n setFieldValue: PropTypes.func.isRequired,\n setFieldTouched: PropTypes.func.isRequired,\n};\n\nexport default withForm(BasicInfo);\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { filter, isEmpty } from 'lodash';\n\nimport MultiStepModal from 'components/core/Modal/components/MultiStep';\n\nimport {\n allCustomFieldsShape,\n profileShape,\n formStatusShape,\n errorsShape,\n} from 'components/Advocates/common/utils/shapes';\n\nimport useErrorStepRedirect from '../../utils/useErrorStepRedirect';\nimport withForm from '../../utils/withForm';\nimport CustomFields from './components/CustomFields';\nimport AdditionalDetails from './components/AdditionalDetails';\nimport BasicInfo from './components/BasicInfo';\nimport styles from './styles.module.scss';\n\nfunction Form({\n isOpen,\n toggleOpen,\n values,\n errors,\n touched,\n handleChange,\n handleBlur,\n handleSubmit,\n setFieldValue,\n submitCount,\n isValid,\n allCustomFields,\n resetForm,\n currentStep,\n isLoading,\n onRedirect,\n setFieldTouched,\n onChangeCurrentStep,\n submitForm,\n isSubmitting,\n isLoadingCustomFields,\n}) {\n const [isCustomFieldsRedirect, setCustomFieldsRedirect] = useState(false);\n\n function handleFormChange(props) {\n handleChange(props);\n onRedirect(null);\n setCustomFieldsRedirect(false);\n }\n\n const commonProps = {\n formState: { errors, touched },\n values,\n handleChange: handleFormChange,\n handleBlur,\n setFieldValue,\n submitForm,\n isSubmitting,\n };\n const requiredCustomFields = filter(allCustomFields, 'required');\n\n const steps = [\n {\n index: 0,\n title: 'Basic information',\n errorFields: ['firstName', 'middleName', 'lastName', 'addresses', 'phones', 'emails'],\n component: ,\n },\n {\n index: 1,\n title: 'Additional details',\n errorFields: ['partyCode', 'organization', 'title', 'lists', 'tags', 'facebookProfile', 'twitterName'],\n component: ,\n },\n {\n index: 2,\n title: 'Custom fields',\n errorFields: requiredCustomFields.map(customField => customField.token),\n component: (\n \n ),\n },\n ];\n\n useErrorStepRedirect({\n submitCount,\n errors,\n isValid,\n onRedirect,\n steps,\n });\n\n const closeMessage =

You're about to exit the stakeholder edit window. Are you sure you want to exit?

;\n\n const onSubmit = () => {\n handleSubmit();\n if (!isEmpty(errors)) {\n requiredCustomFields.forEach(customField => setFieldTouched(customField.token));\n }\n };\n\n return (\n
\n
\n \n \n
\n );\n}\n\nForm.propTypes = {\n values: profileShape.isRequired,\n errors: errorsShape.isRequired,\n touched: formStatusShape.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n setFieldValue: PropTypes.func.isRequired,\n setFieldTouched: PropTypes.func.isRequired,\n submitCount: PropTypes.number.isRequired,\n isValid: PropTypes.bool.isRequired,\n allCustomFields: allCustomFieldsShape.isRequired,\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n resetForm: PropTypes.func.isRequired,\n currentStep: PropTypes.number,\n isLoading: PropTypes.bool,\n onRedirect: PropTypes.func,\n onChangeCurrentStep: PropTypes.func,\n submitForm: PropTypes.func,\n isSubmitting: PropTypes.bool,\n isLoadingCustomFields: PropTypes.bool.isRequired,\n};\n\nexport default withForm(Form);\n","import { useRef, useEffect } from 'react';\n\nexport default function useErrorStepRedirect({ submitCount, errors, isValid, onRedirect, steps }) {\n const submitCountRef = useRef(submitCount);\n const firstErrorKey = Object.keys(errors)[0];\n\n useEffect(() => {\n if (submitCountRef.current !== submitCount && !isValid && firstErrorKey) {\n submitCountRef.current = submitCount;\n const filteredErrorStep = steps.filter(step => step.errorFields.includes(firstErrorKey))[0] || {};\n const modalStep = filteredErrorStep.index || 0;\n\n onRedirect(modalStep);\n }\n }, [submitCount, isValid, firstErrorKey]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Formik } from 'formik';\n\nimport {\n allCustomFieldsShape,\n profileShape,\n customFieldsAnswersShape,\n} from 'components/Advocates/common/utils/shapes';\n\nimport useForm from '../../utils/useForm';\nimport withForm from '../../utils/withForm';\nimport Form from '../Form';\n\nfunction Container({\n isOpen,\n toggleOpen,\n customField,\n allCustomFields,\n fetchCustomFields,\n createStakeholder,\n updateStakeholder,\n currentStep,\n handleChangeCurrentStep,\n stakeholder,\n isProfilePageUpdate,\n avoidDispatchFetch,\n onSuccess,\n ...restProps\n}) {\n const {\n initialValues,\n schema,\n onSubmit,\n ...formProps\n } = useForm({\n isOpen,\n stakeholder,\n toggleOpen,\n customField,\n allCustomFields,\n createStakeholder,\n updateStakeholder,\n fetchCustomFields,\n currentStep,\n handleChangeCurrentStep,\n isProfilePageUpdate,\n avoidDispatchFetch,\n onSuccess,\n });\n\n return (\n \n {formikProps => (\n \n )}\n \n );\n}\n\nContainer.defaultProps = {\n customField: {},\n avoidDispatchFetch: false,\n};\n\nContainer.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n fetchCustomFields: PropTypes.func.isRequired,\n createStakeholder: PropTypes.func,\n updateStakeholder: PropTypes.func,\n handleChangeCurrentStep: PropTypes.func,\n allCustomFields: allCustomFieldsShape,\n customField: customFieldsAnswersShape,\n currentStep: PropTypes.number,\n stakeholder: profileShape,\n isProfilePageUpdate: PropTypes.bool,\n avoidDispatchFetch: PropTypes.bool,\n onSuccess: PropTypes.func,\n};\n\nexport default withForm(Container);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { allCustomFieldsShape, customFieldsAnswersShape } from '../../utils/shapes';\nimport Container from './components/Container';\nimport withForm, { StakeholderFormContext } from './utils/withForm';\n\nfunction StakeholderForm({ ui, ...restProps }) {\n const { isSubmitting: isLoading, isLoadingCustomFields } = ui;\n const stakeholderContext = {\n ...restProps,\n isLoading,\n isLoadingCustomFields,\n };\n\n return (\n \n \n \n );\n}\n\nStakeholderForm.defaultProps = {\n customField: {},\n allCustomFields: [],\n};\n\nStakeholderForm.propTypes = {\n id: PropTypes.number,\n ui: PropTypes.shape({\n isSubmitting: PropTypes.bool.isRequired,\n isLoadingCustomFields: PropTypes.bool.isRequired,\n }).isRequired,\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n createStakeholder: PropTypes.func,\n updateStakeholder: PropTypes.func,\n fetchCustomFields: PropTypes.func.isRequired,\n allCustomFields: allCustomFieldsShape,\n customField: customFieldsAnswersShape,\n handleChangeCurrentStep: PropTypes.func,\n};\n\nexport default withForm(StakeholderForm);\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Autosuggest from 'components/Autosuggest/index.jsx';\n\nfunction autosuggestChange(autosuggestChoice) {\n window.location.href = autosuggestChoice.link;\n}\n\nexport default function LinkedAutosuggest({ strategySlug, placeholder,\n className, strategyInputs, clearIndicator }) {\n return (\n \n );\n}\n\nLinkedAutosuggest.propTypes = {\n className: PropTypes.string,\n placeholder: PropTypes.string.isRequired,\n strategySlug: PropTypes.string.isRequired,\n strategyInputs: PropTypes.object,\n clearIndicator: PropTypes.bool,\n};\n\nLinkedAutosuggest.defaultProps = {\n clearIndicator: false,\n};\n","import PropTypes from 'prop-types';\n\nfunction suggesterFillerFetcher({ strategySlug, requiredInputs, onSuccess }) {\n const addNotification = window.app.GlobalNotifier.addNotification;\n const url = '/api_web/suggester_filler';\n const method = 'GET';\n const data = {\n strategy_slug: strategySlug,\n required_inputs: JSON.stringify(requiredInputs),\n };\n\n $.ajax({\n method,\n url,\n data,\n success: onSuccess,\n error: () => {\n addNotification({\n message: 'Failed to add items to select box.',\n level: 'error',\n });\n },\n });\n}\n\nsuggesterFillerFetcher.propTypes = {\n onSuccess: PropTypes.func.isRequired,\n strategySlug: PropTypes.string.isRequired,\n requiredInputs: PropTypes.object.isRequired,\n};\n\nexport default suggesterFillerFetcher;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___1QTTa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"feed\":\"styles-module__feed___3PQk_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options\":\"styles-module__options___1hp1w\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"trigger\":\"styles-module__trigger___5C_3H\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options\":\"styles-module__options___2b9hM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"actions\":\"styles-module__actions___1Pjus\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"apply\":\"styles-module__apply___1FwmZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"back\":\"styles-module__back___3fwA7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"body\":\"styles-module__body___31IIo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"customRegions\":\"styles-module__customRegions___2IZRZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"clearFilters\":\"clear-filters-button-module__clearFilters___204He\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"styles-module__option___3dLF0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"searchText\":\"styles-module__searchText___2jtOl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdownButton\":\"styles-module__dropdownButton___2-N1t\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"styles-module__icon___2oFmS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___2SlxB\"};","import React from 'react';\n\nconst CropContext = React.createContext({\n imageSource: null,\n isOpenModal: false,\n});\n\nexport default CropContext;\n","export function purified(arr = []) {\n return arr.filter(v => v !== undefined);\n}\n\nexport function dataURItoBlob(dataURI) {\n const splitted = dataURI.split(',');\n\n // convert base64/URLEncoded data component to raw binary data held in a string\n const length = splitted[0].indexOf('base64') >= 0;\n\n const byteString = length\n ? atob(splitted[1])\n : unescape(splitted[1]);\n\n // separate out the mime component\n const mimeString = splitted[0].split(':')[1].split(';')[0];\n\n // write the bytes of the string to a typed array\n const ia = new Uint8Array(byteString.length);\n\n for (let i = 0; i < byteString.length; i += 1) {\n ia[i] = byteString.charCodeAt(i);\n }\n\n return new Blob([ia], { type: mimeString });\n}\n","import { dataURItoBlob } from './helpers';\n\nexport const handleUpload = async (props) => {\n const {\n croppedImage,\n options: {\n url, method, inputName, strategySlug, requiredInputs = {},\n },\n } = props;\n\n const data = new FormData();\n\n if (method) {\n data.append('_method', method);\n }\n\n data.append(inputName, dataURItoBlob(croppedImage), 'image.jpg');\n data.append('required_inputs', JSON.stringify(requiredInputs));\n\n if (strategySlug) {\n data.append('strategy_slug', strategySlug);\n }\n\n const ajax = await $.ajax({\n url,\n data,\n method: 'POST',\n cache: false,\n contentType: false,\n processData: false,\n });\n\n return ajax;\n};\n\nexport const fetchFiles = (fileUploadIds) => {\n const cleanFileIds = fileUploadIds.filter(fileUploadId => !!fileUploadId);\n\n const requests = cleanFileIds.map((fileUploadId) => {\n const url = `/api_web/file_uploads/${fileUploadId}`;\n\n const ajax = $.ajax({\n method: 'GET',\n url,\n });\n\n return Promise.resolve(ajax);\n });\n\n return Promise.all(requests);\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport moment from 'moment';\n\nimport CropContext from './context.jsx';\nimport { purified } from '../helpers';\nimport { handleUpload, fetchFiles } from '../api';\n\nconst DATE_FORMAT = 'L';\n\nclass Provider extends React.Component {\n static propTypes = {\n options: PropTypes.object,\n children: PropTypes.array,\n }\n\n state = {\n files: [],\n imageSource: '',\n initialCrop: {},\n isOpenModal: false,\n croppedImage: null,\n selectedFile: null,\n }\n\n componentDidMount() {\n this.setInitialCrop();\n }\n\n componentDidUpdate(prevProps) {\n const { options } = prevProps;\n const { fileUploadIds = [] } = this.props.options;\n\n if (purified(fileUploadIds).length && !purified(options.fileUploadIds).length) {\n fetchFiles(fileUploadIds)\n .then(this.handleLoadFiles);\n }\n }\n\n setInitialCrop = () => {\n const { options: { square = false } } = this.props;\n\n const defaultCrop = {\n x: 5,\n y: 5,\n width: 90,\n height: 90,\n minWidth: 10,\n };\n\n this.setState({\n initialCrop: {\n ...defaultCrop,\n ...square && {\n aspect: 1,\n x: 15,\n y: null,\n width: 70,\n height: 70,\n },\n },\n });\n }\n\n uploadImage = imageSource => this.setState({ imageSource, isOpenModal: true })\n\n toggleModal = () =>\n this.setState(state => ({ isOpenModal: !state.isOpenModal }))\n\n handleLoadFiles = (response) => {\n const files = [];\n\n response.forEach((file) => {\n const uploadedAt = moment(file.created_at).format(DATE_FORMAT);\n\n files.push({\n ...file,\n name: `Uploaded ${uploadedAt}`,\n });\n });\n\n this.setState(state => ({\n files: [...state.files, ...files],\n }));\n }\n\n handleCropped = croppedImage =>\n this.setState({ croppedImage, isOpenModal: false }, () => {\n if (this.props.options.handleSuccess) {\n handleUpload({ croppedImage: this.state.croppedImage, ...this.props })\n .then(this.props.options.handleSuccess);\n }\n })\n\n handleReset = () =>\n this.setState({\n files: [],\n selectedFile: null,\n croppedImage: null,\n isOpenModal: false,\n })\n\n handleChange = selectedFile =>\n this.setState({\n selectedFile,\n isOpenModal: true,\n })\n\n handleDelete = () => this.setState({ files: [], croppedImage: null }, () => {\n if (this.props.options.handleDelete) {\n this.props.options.handleDelete();\n }\n })\n\n render() {\n const { options, children } = this.props;\n\n return (\n \n {children}\n \n );\n }\n}\n\nexport default Provider;\n","import React from 'react';\n\nimport CropContext from './context.jsx';\n\nexport default function withContext(Component) {\n return function ContextComponent(props) {\n return (\n \n {context => }\n \n );\n };\n}\n","import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\n\nimport { NAVIGATION_USER_PROFILE_IMG_ID } from 'components/Navigation/utils/constants';\nimport { customError } from 'utils/customError';\n\nimport withContext from './context/hoc.jsx';\nimport { handleUpload } from './api';\n\nclass UploadButton extends Component {\n constructor() {\n super();\n this.state = {\n isLoading: false,\n };\n }\n\n inputReferer = React.createRef()\n\n resetInput = () => {\n this.inputReferer.current.value = null;\n }\n\n handleChange = (e) => {\n const { files } = e.target;\n\n const reader = new FileReader();\n\n const selectedFile = (files && files[0]) || null;\n\n reader.onload = ev => this.props.uploadImage(ev.target.result);\n\n reader.readAsDataURL(selectedFile);\n\n this.resetInput();\n\n this.props.handleChange(selectedFile);\n }\n\n handleSuccess = () => {\n const {\n croppedImage,\n reloadAfterSubmit,\n options: { replaceTargets = [] },\n } = this.props;\n\n replaceTargets.forEach((node) => {\n const item = document.querySelector(node);\n\n if (!item) {\n customError(`Could not find an element for '${node}' selector`);\n return;\n }\n\n if (node === '#'.concat(NAVIGATION_USER_PROFILE_IMG_ID)) {\n window.gon.currentUser.profileImgUrl = croppedImage;\n\n item.setAttribute(\n 'style',\n `background-image: url(${croppedImage}); background-size: cover;`\n );\n item.innerHTML = '';\n } else {\n const { offsetWidth, offsetHeight } = item;\n\n item.setAttribute('src', croppedImage);\n item.setAttribute('width', offsetWidth);\n item.setAttribute('height', offsetHeight);\n }\n });\n\n this.setState({ isLoading: false });\n\n if (reloadAfterSubmit) {\n window.location.reload();\n }\n }\n\n handleSubmit = (e) => {\n e.preventDefault();\n\n this.setState({ isLoading: true }, () => {\n handleUpload(this.props).then(this.handleSuccess);\n });\n }\n\n renderDeleteButton = () => (\n \n \n \n )\n\n renderFileName = (file, id) => (\n \n {file && file.name && {file.name}}\n {file && file.name && this.renderDeleteButton()}\n \n )\n\n renderFileList = files => files.map(this.renderFileName)\n\n renderLabel = () => {\n const { options: { accept, buttonText, inputId, inputName } } = this.props;\n\n return (\n \n );\n }\n\n renderSubmit() {\n const { isLoading } = this.state;\n const { options: { submitButton }, croppedImage } = this.props;\n\n if (!submitButton) {\n return null;\n }\n\n const disabled = isLoading || !croppedImage;\n\n return (\n <>\n \n {isLoading && }\n \n );\n }\n\n render() {\n const { files, selectedFile, croppedImage } = this.props;\n\n return (\n <>\n
\n
\n {this.renderLabel()}\n {croppedImage && this.renderFileName(selectedFile)}\n {files.length && this.renderFileList(files)}\n
\n
\n {this.renderSubmit()}\n \n );\n }\n}\n\nUploadButton.defaultProps = {\n files: [],\n croppedImage: '',\n reloadAfterSubmit: false,\n};\n\nUploadButton.propTypes = {\n files: PropTypes.array,\n options: PropTypes.object,\n uploadImage: PropTypes.func,\n handleChange: PropTypes.func,\n handleDelete: PropTypes.func,\n croppedImage: PropTypes.string,\n selectedFile: PropTypes.object,\n reloadAfterSubmit: PropTypes.bool,\n};\n\nexport default withContext(UploadButton);\n","import React from 'react';\n\nimport withContext from './context/hoc.jsx';\nimport UploadButton from './upload-button.jsx';\n\nfunction Container() {\n return (\n \n );\n}\n\nexport default withContext(Container);\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ModalHeader({ handleClose }) {\n return (\n
\n \n ×\n \n

Crop your photo using the dotted box below

\n
\n );\n}\n\nModalHeader.propTypes = {\n handleClose: PropTypes.func,\n};\n\nexport default ModalHeader;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactCrop from 'react-image-crop';\n\nfunction ModalContent({\n crop, imageSource, onChange, onImageLoaded, onComplete, renderPreview, croppedImageUrl,\n}) {\n return (\n
\n
\n {imageSource && (\n \n )}\n
\n\n
\n {croppedImageUrl && renderPreview('Small Preview')}\n {croppedImageUrl && renderPreview('Large Preview', 'large')}\n
\n
\n );\n}\n\nModalContent.propTypes = {\n crop: PropTypes.object,\n imageSource: PropTypes.string,\n onChange: PropTypes.func,\n onComplete: PropTypes.func,\n renderPreview: PropTypes.func,\n onImageLoaded: PropTypes.func,\n croppedImageUrl: PropTypes.string,\n};\n\nexport default ModalContent;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction ModalFooter({ handleClose, handleSubmit }) {\n return (\n
\n \n \n
\n );\n}\n\nModalFooter.propTypes = {\n handleClose: PropTypes.func,\n handleSubmit: PropTypes.func,\n};\n\nexport default ModalFooter;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Modal from 'components/modal.jsx';\n\nimport withContext from './context/hoc.jsx';\nimport ModalHeader from './modal/header.jsx';\nimport ModalContent from './modal/content.jsx';\nimport ModalFooter from './modal/footer.jsx';\n\nclass ModalEditor extends React.Component {\n static propTypes = {\n toggleModal: PropTypes.func,\n handleReset: PropTypes.func,\n isOpenModal: PropTypes.bool,\n imageSource: PropTypes.string,\n handleCropped: PropTypes.func,\n }\n\n static defaultProps = {\n isOpenModal: false,\n imageSource: '',\n initialCrop: {\n x: 5,\n y: 5,\n width: 90,\n height: 90,\n minWidth: 10,\n },\n }\n\n static getDerivedStateFromProps(props, state) {\n if (!Object.keys(state.crop).length) {\n return {\n ...state,\n crop: props.initialCrop,\n };\n }\n\n return null;\n }\n\n state = {\n src: null,\n croppedImageUrl: null,\n crop: {},\n }\n\n onCropComplete = (crop, pixelCrop) => this.makeClientCrop(crop, pixelCrop)\n\n onImageLoaded = (image) => {\n this.imageRef = image;\n\n // We need to manually do an initial crop to get a initial preview\n // since the onChange event is not triggered when the image is loaded\n // Ref: https://github.com/DominicTobias/react-image-crop/issues/148\n const { crop } = this.state;\n const { naturalWidth, naturalHeight } = image;\n\n const pixelCrop = {\n x: Math.round(naturalWidth * (crop.x / 100)),\n y: Math.round(naturalHeight * (crop.y / 100)),\n width: Math.round(naturalWidth * (crop.width / 100)),\n height: Math.round(naturalHeight * (crop.height / 100)),\n };\n\n this.makeClientCrop(crop, pixelCrop);\n }\n\n onCropChange = crop => this.setState({ crop })\n\n getCroppedImg = (image, pixelCrop) => {\n const canvas = document.createElement('canvas');\n canvas.width = pixelCrop.width;\n canvas.height = pixelCrop.height;\n const context = canvas.getContext('2d');\n\n context.fillStyle = '#fff';\n context.fillRect(0, 0, canvas.width, canvas.height);\n\n context.drawImage(\n image,\n pixelCrop.x,\n pixelCrop.y,\n pixelCrop.width,\n pixelCrop.height,\n 0,\n 0,\n pixelCrop.width,\n pixelCrop.height,\n );\n\n return new Promise((resolve) => {\n this.dataURL = canvas.toDataURL('image/jpeg');\n resolve(this.dataURL);\n });\n }\n\n makeClientCrop = async (crop, pixelCrop) => {\n if (this.imageRef && crop.width && crop.height) {\n const croppedImageUrl = await this.getCroppedImg(\n this.imageRef, pixelCrop,\n );\n\n this.setState({ croppedImageUrl });\n }\n }\n\n handleClose = () => {\n this.props.handleReset();\n }\n\n handleSubmit = () => this.props.handleCropped(this.dataURL)\n\n renderPreview = (title, size = 'small') => {\n const { croppedImageUrl } = this.state;\n\n return (\n
\n
{title}
\n \"\"\n
\n );\n }\n\n render() {\n const { crop, croppedImageUrl } = this.state;\n const { isOpenModal, imageSource, toggleModal } = this.props;\n\n return (\n \n
\n \n \n \n
\n \n );\n }\n}\n\nexport default withContext(ModalEditor);\n","import React from 'react';\n\nimport Provider from './components/context/provider.jsx';\nimport Container from './components/container.jsx';\nimport Modal from './components/modal.jsx';\n\nexport default function ImageCropper(props) {\n return (\n \n \n \n \n );\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___1lNiL\",\"commonBadge\":\"styles-module__commonBadge___1LubR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles-module__header___oGk9A\",\"title\":\"styles-module__title___3TlSV\",\"closeButton\":\"styles-module__closeButton___HPFuD\",\"icon\":\"styles-module__icon___uNkOT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formControls\":\"styles-module__formControls___2NDRW\",\"formControl\":\"styles-module__formControl___1R_4w\",\"formField\":\"styles-module__formField___27QYX\",\"hidden\":\"styles-module__hidden___3tKlI\",\"buttonLoader\":\"styles-module__buttonLoader___UH8Q2\",\"placeholder\":\"styles-module__placeholder___2Oaq4\",\"name\":\"styles-module__name___w_hhR\",\"middle\":\"styles-module__middle___HVLCu\",\"linkButton\":\"styles-module__linkButton___RYVlF\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Link from 'utils/Link';\nimport { subscriptionShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\n\nimport { getTrackedItemProps } from '../utils';\nimport styles from '../styles.module.scss';\n\nfunction TrackedItemLink({ feedToken, subscription, className }) {\n const { itemType, url } = getTrackedItemProps(subscription, feedToken);\n\n return (\n \n {itemType}\n \n );\n}\n\nTrackedItemLink.propTypes = {\n feedToken: PropTypes.string.isRequired,\n subscription: subscriptionShape.isRequired,\n className: PropTypes.string,\n};\n\nexport default TrackedItemLink;\n","import { BASE_URL, SUBSCRIBABLE_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport { getItemType } from 'redux/dashboardV2/common/subscriptions/utils';\nimport { isMyFeed } from 'components/Dashboard/utils';\n\nexport function getTrackedItemProps({ id, subscribableType, subscribableData }, feedToken) {\n const { model_type: modelType } = subscribableData || {};\n const itemType = getItemType(subscribableType, modelType);\n const feedUrl = isMyFeed(feedToken)\n ? `${BASE_URL}/feed/tracked/${id}`\n : `${BASE_URL}/workspaces/${feedToken}/tracked/${id}`;\n const url = subscribableType === SUBSCRIBABLE_TYPES.NEWSFEED\n ? '/news'\n : feedUrl;\n\n return { itemType, url };\n}\n","import React from 'react';\nimport { isEmpty, size, upperFirst, lowerCase } from 'lodash';\n\nimport { BASE_URL } from 'components/Dashboard/utils/constants';\nimport { alertErrorAction, alertSuccessAction } from 'components/core/Notification';\nimport { pluralize } from 'utils/string';\nimport { getFeedUrl, getFeedSettingsUrl } from 'components/Dashboard/utils';\nimport Link from 'utils/Link';\n\nimport TrackedItemLink from './components/TrackedItemLink';\nimport WorkspaceLink from './components/WorkspaceLink';\nimport styles from './styles.module.scss';\n\nfunction getItemType(itemType, href = '') {\n const formattedItemType = upperFirst(itemType);\n\n if (!isEmpty(href)) {\n return (\n \n {formattedItemType}\n \n );\n }\n\n return {formattedItemType};\n}\n\nexport function commonSuccessAlert(content) {\n alertSuccessAction({\n content: (\n
\n {content}\n
\n ),\n });\n}\n\nexport function commonErrorAlert(content) {\n alertErrorAction({\n content: (\n
\n {content}\n
\n ),\n });\n}\n\nexport const MY_FEED_SETTINGS_URL = `${BASE_URL}/my_subscriptions`;\n\n// @TODO link itemType to single card view\nexport function notifyTrackItem({ itemType, url = MY_FEED_SETTINGS_URL, trackingsCount = 1 }) {\n const label = `${pluralize('Subscription', 'Subscriptions', trackingsCount)} added`;\n\n commonSuccessAlert((\n <>\n for {getItemType(itemType)}.\n \n ));\n}\n\nexport function notifyUpdateTrackItem({ itemTitle, url = MY_FEED_SETTINGS_URL }) {\n commonSuccessAlert((\n <>\n Keyword search subscription updated in .\n \n ));\n}\n\n// @TODO link itemType to single card view\nexport function notifyUntrackItem({\n itemType,\n itemTitle,\n url = MY_FEED_SETTINGS_URL,\n trackingsCount = 1,\n}) {\n const subscriptions = pluralize('subscription', 'subscriptions', trackingsCount);\n const fromWorkspace = trackingsCount === 1 && (\n <> from \n );\n\n commonSuccessAlert((\n <>\n {getItemType(itemType)} {subscriptions} removed{fromWorkspace}.\n \n ));\n}\n\nexport function notifyUntrackItemFailure({ itemType }) {\n commonErrorAlert((\n <>\n Failed to delete {lowerCase(itemType)} subscription. Please try again.\n \n ));\n}\n\n// @TODO link itemType to single card view\nexport function notifySetPosition({ itemType, positionLabel }) {\n commonSuccessAlert((\n <>\n Position on {getItemType(itemType)} updated to ‘{positionLabel}’.\n \n ));\n}\n\n// @TODO link itemType to single card view\nexport function notifySetPriority({ itemType, feedName, url, priorityLabel }) {\n commonSuccessAlert((\n <>\n priority on\n  {getItemType(itemType)} updated to ‘{priorityLabel}’.\n \n ));\n}\n\nexport function notifyMarkItemAsRead({ itemType, isRead }) {\n commonSuccessAlert((\n <>\n {getItemType(itemType)} update marked as {isRead && 'un'}read.\n \n ));\n}\n\nexport function notifyBulkMarkAsRead({ itemsLength, isRead }) {\n commonSuccessAlert((\n <>\n {itemsLength} {pluralize('update', 'updates', itemsLength)} marked as {!isRead && 'un'}read.\n \n ));\n}\n\nexport function notifyRemoveItem({ feedName, itemType, url }) {\n commonSuccessAlert((\n <>\n {getItemType(itemType)} removed from .\n \n ));\n}\n\n// @TODO link itemType to single card view\nexport function notifySaveItem({ feedName, itemType, isSaved, url }) {\n commonSuccessAlert((\n <>\n {getItemType(itemType)} {isSaved ? 'saved to' : 'unsaved from'}\n  .\n \n ));\n}\n\nexport function notifyAddTagsMultiple(itemsLength) {\n commonSuccessAlert((\n <>\n Tags added to {itemsLength} {pluralize('item', 'items', itemsLength)}.\n \n ));\n}\n\n// @TODO link itemType to single card view\nexport function notifyAddTags({ itemType }) {\n commonSuccessAlert((\n <>\n Tags updated on {getItemType(itemType)}.\n \n ));\n}\n\nexport function removedMultipleItems({ selectedItemsSize, feedName, url }) {\n commonSuccessAlert((\n <>\n {selectedItemsSize} {pluralize('item', 'items', selectedItemsSize)} removed from\n  .\n \n ));\n}\n\nexport function savedMultipleItems({ selectedItemsSize, feedName, url }) {\n commonSuccessAlert((\n <>\n {selectedItemsSize} {pluralize('item', 'items', selectedItemsSize)} saved to\n  .\n \n ));\n}\n\nexport function prioritizedMultipleItems({ url, feedName, numberOfItems, priority }) {\n commonSuccessAlert((\n <>\n priority on {numberOfItems}\n  {pluralize('item', 'items', numberOfItems)} updated to ‘{priority}’.\n \n ));\n}\n\n// @TODO link itemType to single card view\nexport function notifySubscriptionChange({ itemType }) {\n commonSuccessAlert((\n <>\n {getItemType(itemType)} subscription updated.\n \n ));\n}\n\nexport function notifySubscriptionChangeFailure({ itemType }) {\n commonErrorAlert((\n <>\n Failed to update {lowerCase(itemType)} subscription. Please try again.\n \n ));\n}\n\n// @TODO link itemType to single card view\nexport function notifySubscriptionSendEmail({ itemType, sendWeekAheadEmail }) {\n commonSuccessAlert((\n <>\n for\n your {getItemType(itemType)} subscription is turned {sendWeekAheadEmail ? 'on' : 'off'}.\n \n ));\n}\n\nexport function notifySubscriptionSendEmailMultiple({ numberOfItems, sendWeekAheadEmail }) {\n commonSuccessAlert((\n <>\n for\n your {pluralize('subscription', 'subscriptions', numberOfItems)} is\n turned {sendWeekAheadEmail ? 'on' : 'off'}.\n \n ));\n}\n\nexport function notifySubscriptionChangeMultiple({ numberOfItems, frequency }) {\n commonSuccessAlert((\n <>\n for\n your {numberOfItems} {pluralize('subscription', 'subscriptions', numberOfItems)} updated to ‘{frequency}’.\n \n ));\n}\n\nexport function notifyRemoveSubscription({ itemType }) {\n commonSuccessAlert((\n <>\n {getItemType(itemType)} subscription removed from .\n \n ));\n}\n\nexport function notifyRemoveSubscriptionMultiple(numberOfItems) {\n commonSuccessAlert((\n <>\n {numberOfItems} {pluralize('subscription', 'subscriptions', numberOfItems)}\n  removed from .\n \n ));\n}\n\nexport function saveTrackItemsSuccess(subscriptions, feedToken, label) {\n const itemsLength = size(subscriptions);\n\n if (itemsLength === 0) {\n return;\n }\n\n const [subscription] = subscriptions;\n const message = pluralize('subscription', 'subscriptions', itemsLength);\n const workspaceLink = ;\n const customNode = pluralize(\n , itemsLength, itemsLength\n );\n\n commonSuccessAlert((\n <>{customNode} {message} added to {workspaceLink}.\n ));\n}\n\nexport function resetSubscriptionFrequency({ frequency }) {\n commonSuccessAlert((\n <>\n updated to ‘{frequency}’.\n \n ));\n}\n\nexport function restoreAllSubscriptions({ frequency }) {\n commonSuccessAlert((\n <>\n restored to default ‘{frequency}’.\n \n ));\n}\n\nexport function notifyAddedToMyFeed({ itemType }) {\n commonSuccessAlert((\n <>\n {getItemType(itemType)} saved to .\n \n ));\n}\n\nexport function notifySharedToMyFeed({ itemType, href = '' }) {\n commonSuccessAlert((\n <>\n {getItemType(itemType, href)} shared to .\n \n ));\n}\n\nexport function notifySharedToMyFeedMultiple(itemsSize) {\n alertSuccessAction({\n content: (\n
\n {`${itemsSize} ${pluralize('item', 'items', itemsSize)}`} shared to .\n
\n ),\n });\n}\n\nexport function notifyLoadPageFailure({ itemTitle }) {\n commonErrorAlert((\n <>Failed to load {itemTitle} page. Please try again.\n ));\n}\n\n// workspace\nexport function notifyWorkspaceCreateSuccess({ token, itemTitle }) {\n commonSuccessAlert((\n <>\n Created new workspace .\n \n ));\n}\n\nexport function notifyWorkspaceCreateFailure() {\n commonErrorAlert((\n <>Failed to create workspace. Please try again.\n ));\n}\n\nexport function notifyWorkspaceUpdateSuccess({ token, itemTitle }) {\n commonSuccessAlert((\n <>\n updated.\n \n ));\n}\n\nexport function notifyWorkspaceUpdateFailure({ itemTitle }) {\n commonErrorAlert((\n <>Failed to update {itemTitle}. Please try again.\n ));\n}\n\nexport function notifyWorkspaceDeleteSuccess({ itemTitle }) {\n commonSuccessAlert((\n <>{itemTitle} deleted.\n ));\n}\n\nexport function notifyWorkspaceDeleteFailure({ itemTitle }) {\n commonErrorAlert((\n <>Failed to delete {itemTitle}. Please try again.\n ));\n}\n\n// workspace subscription\nexport function notifyWorkspaceSubscriptionSubscribeSuccess({ itemToken, itemTitle }) {\n commonSuccessAlert((\n <>\n Subscription added for .\n \n ));\n}\n\nexport function notifyWorkspaceSubscriptionSubscribeFailure({ itemTitle }) {\n commonErrorAlert((\n <>Failed to subscribe to {itemTitle}. Please try again.\n ));\n}\n\nexport function notifyWorkspaceSubscriptionUpdateSuccess({ itemTitle }) {\n commonSuccessAlert((\n <>Subscription updated for {itemTitle}.\n ));\n}\n\nexport function notifyWorkspaceSubscriptionUpdateFailure({ itemTitle }) {\n commonErrorAlert((\n <>Failed to update subscription for {itemTitle}. Please try again.\n ));\n}\n\nexport function notifyWorkspaceSubscriptionUnsubscribeSuccess({ itemTitle }) {\n commonSuccessAlert((\n <>\n Workspace subscription removed from .\n \n ));\n}\n\nexport function notifyWorkspaceSubscriptionUnsubscribeFailure({ itemTitle }) {\n commonErrorAlert((\n <>Failed to unsubscribe from {itemTitle}. Please try again.\n ));\n}\n\n// workspace items\nexport function notifyWorkspaceKeywordUpdateSuccess({ itemType, itemToken, itemTitle }) {\n commonSuccessAlert((\n <>\n {itemType} updated in .\n \n ));\n}\n\nexport function notifyWorkspaceKeywordUpdateFailure({ itemTitle }) {\n commonErrorAlert((\n <>Failed to update subscription in {itemTitle}. Please try again.\n ));\n}\n\nexport function notifyWorkspaceItemUnsubscribeSuccess({ itemType, itemToken, itemTitle }) {\n commonSuccessAlert((\n <>\n {itemType} subscription removed from .\n \n ));\n}\n\nexport function notifyWorkspaceItemUnsubscribeFailure({ itemTitle }) {\n commonErrorAlert((\n <>Failed to remove subscription from {itemTitle}. Please try again.\n ));\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { frequencyType } from 'components/core/FrequencyOptions/shapes';\nimport TrackFrequency from 'components/Dashboard/common/TrackFrequency';\nimport Checkbox from 'components/core/Checkbox';\n\nimport styles from './styles.module.scss';\n\nfunction TrackFrequencyContent({\n isMobile,\n isLoading,\n frequency,\n withWeekAheadEmail,\n sendWeekAheadEmail,\n onChangeSendEmail,\n onChange,\n withFrequency,\n groupClassName,\n buttonClassName,\n}) {\n return (\n <>\n {withFrequency && (\n \n )}\n\n {withWeekAheadEmail && (\n \n )}\n \n );\n}\n\nTrackFrequencyContent.defaultProps = {\n withFrequency: false,\n};\n\nTrackFrequencyContent.propTypes = {\n isMobile: PropTypes.bool,\n isLoading: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n frequency: frequencyType,\n withWeekAheadEmail: PropTypes.bool,\n sendWeekAheadEmail: PropTypes.bool,\n onChangeSendEmail: PropTypes.func,\n withFrequency: PropTypes.bool,\n groupClassName: PropTypes.string,\n buttonClassName: PropTypes.string,\n};\n\nexport default TrackFrequencyContent;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"card\":\"styles-module__card___27yze\",\"container\":\"styles-module__container___3jXCs\",\"cardHeader\":\"styles-module__cardHeader___23q7t\",\"noBorder\":\"styles-module__noBorder___35Z2T\",\"topMessage\":\"styles-module__topMessage___YXbut\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nameLabel\":\"styles-module__nameLabel___1bvSm\",\"namePlaceholder\":\"styles-module__namePlaceholder___13nV8\",\"nameInput\":\"styles-module__nameInput___ZG-Y6\",\"frequencyLabel\":\"styles-module__frequencyLabel___1lJwD\",\"frequencyButton\":\"styles-module__frequencyButton___2w5uZ\"};","import debounce from 'lodash/debounce';\n\nimport { MD_SCREEN } from 'utils/breakpoints/constants';\n\nfunction setDocHeight() {\n document\n .documentElement\n .style\n .setProperty('--vh', `${window.innerHeight * 0.01}px`);\n}\n\n(window.innerWidth < MD_SCREEN) && setDocHeight();\n\nwindow.addEventListener('resize', debounce(setDocHeight, 100));\n","import { MY_FEED_LINKS } from 'components/NavigationV2/utils/constants';\n\nexport const addNavigationV2Classes = () => {\n const mainEl = document.getElementById('main');\n mainEl && mainEl.classList.add('navigation-v2');\n\n const navigationEl = document.getElementById('navigation');\n navigationEl && navigationEl.classList.add('v2');\n};\n\nexport const getIsActiveExact = link => !!window.location.pathname.match(new RegExp(`^${link}$`));\nexport const getIsActive = link => !!window.location.pathname.match(new RegExp(link));\n\nexport const APP_MENU = 'menu';\n\nexport const getIsMyFeedActive = () => (\n Object.values(MY_FEED_LINKS).some(link => getIsActive(link))\n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___1ixZJ\",\"frequencyDescription\":\"styles-module__frequencyDescription___3biiD\",\"label\":\"styles-module__label___3-Trg\",\"frequencyButton\":\"styles-module__frequencyButton___2hyjz\",\"loading\":\"styles-module__loading___3VzCZ\"};","import mapConstants from 'components/map/constants';\nimport { HOUSE, SENATE, FEDERAL, STATE } from 'components/grassroots-campaign-builder/constants';\n\nexport const MAPBOX_TYPE_BY_MATCHER_SLUG = {\n [FEDERAL]: {\n [HOUSE]: mapConstants.CONGRESSIONAL_DISTRICTS,\n [SENATE]: mapConstants.CONGRESSIONAL_DISTRICTS,\n },\n [STATE]: {\n [HOUSE]: mapConstants.STATE_LEGISLATION_LOWER,\n [SENATE]: mapConstants.STATE_LEGISLATION_UPPER,\n },\n};\n\nexport const ACTION_TYPE = {\n FACEBOOK_POST: 'facebook_post',\n MAIL: 'mail',\n REGULATION_COMMENT: 'regulation_comment',\n TWITTER_POST: 'twitter_post',\n};\n\nexport const RECIPIENT_TYPE = {\n FEDERAL_LEGISLATOR: 'federal_legislator',\n STATE_LEGISLATOR: 'state_legislator',\n FEDERAL_REGISTER_REGULATION: 'federal_register_regulation',\n CUSTOM_RECIPIENT: 'custom_recipient',\n};\n","import { useEffect, useState } from 'react';\n\nimport { APP_MENU } from '.';\n\nfunction useNavigation() {\n const [appMenuTab, setAppMenuTab] = useState(null);\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 return {\n appMenuTab,\n isMobilePage,\n isAppMenuOpen: isMobilePage || (appMenuTab === APP_MENU),\n isFirstPageLoad,\n toggleAppMenu,\n };\n}\n\nexport default useNavigation;\n","import React, { FC } from 'react';\nimport classNames from 'classnames';\n\nimport { pluralize } from 'utils/string';\n\nimport styles from './styles.module.scss';\n\ntype ResultsCountProps = {\n value: number,\n isVisible: boolean,\n};\n\nconst ResultsCount: FC = ({ value, isVisible }) => {\n if (!value) return null;\n\n return (\n
\n \n {pluralize(`${value} result`, `About ${value} results`, value)}\n \n
\n );\n};\n\nexport default ResultsCount;\n","import React from 'react';\n\nimport { InfiniteLoadPaginator } from 'components/core/Paginator';\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\nimport { Search } from '../../types';\n\ntype PaginatorProps = {\n search: Search;\n};\n\nconst Paginator = ({ search }: PaginatorProps) => {\n const renderCustomLoader = () => (\n \n Loading...\n \n );\n\n return (\n \n );\n};\n\nexport default Paginator;\n","import { Slug, Category, Collection } from 'components/UnifiedSearch/types';\n\nexport const FILTER_OPTIONS: { label: string, value: Category }[] = [\n {\n label: 'All',\n value: 'all',\n },\n {\n label: 'People',\n value: 'people',\n },\n {\n label: 'Legislation & Regulation',\n value: 'legislation & regulation',\n },\n {\n label: 'Committees',\n value: 'committees',\n },\n {\n label: 'Documents',\n value: 'documents',\n },\n];\n\nexport const RESULT_TEXT_LIMITS = {\n title: 88,\n titleMobile: 33,\n description: 313,\n};\n\nexport const executiveSlugs: Slug[] = [\n 'local_executive',\n 'federal_executive',\n 'state_executive',\n];\n\nexport const peopleSlugs: Slug [] = [\n 'stakeholder_mgmt_stakeholders',\n 'rolodex',\n 'federal_agency_contacts' as Slug,\n 'state_staffer_executives' as Slug,\n 'state_legislation_staffers',\n 'federal_legislators',\n 'state_legislation_legislators',\n 'federal_executive',\n 'state_executive',\n 'state_staffer_executive',\n 'local_executive',\n 'municipal_executive' as Slug,\n 'county_executive' as Slug,\n];\n\nexport const legislationSlugs: Slug[] = [\n 'federal_bills',\n 'state_legislation_bills',\n];\n\nexport const regulationSlugs: Slug[] = [\n 'federal_register_regulations',\n 'state_legislation_regulations',\n];\n\nexport const legislationAndRegulationSlugs: Slug[] = [\n ...legislationSlugs,\n ...regulationSlugs,\n];\n\nexport const committeesSlugs: Slug[] = [\n 'federal_committees',\n 'state_legislation_committees',\n];\n\nexport const documentsSlugs: Slug[] = [\n 'doctrove_agency_press_releases',\n 'cbo_gov',\n 'committee_reports',\n 'press_releases',\n 'congressional_record',\n 'fbo_gov',\n 'doctrove_crs',\n 'doctrove_dear_colleague_letters',\n 'doctrove_executive_orders',\n 'gao_gov',\n 'grants_gov',\n 'lobby_filing_issues',\n 'doctrove_live_hearing_transcripts',\n 'doctrove_hearing_transcripts',\n 'doctrove_sap',\n 'doctrove_union_statements',\n 'treaties',\n 'doctrove_third_party_reports',\n 'doctrove_press_briefings',\n 'doctrove_governor_orders',\n 'doctrove_governor_press_releases',\n];\n\nexport const TRACKABLE_SLUGS: Slug[] = [\n 'federal_committees',\n 'state_legislation_committees',\n 'federal_bills',\n 'federal_register_regulations',\n 'federal_legislators',\n 'state_legislation_bills',\n 'state_legislation_regulations',\n 'state_legislation_legislators',\n];\n\nexport const COLLECTIONS_DEFAULT: Collection[] = ['all'];\n","import { filter, isEmpty } from 'lodash';\n\nimport { Slug, TagRecordType, TrackableRecordType } from '../types';\n\ntype SlugLabel = {\n [key in Slug | string]: string;\n};\n\nconst getSlugLabel = (slug: Slug) => {\n const slugLabels: SlugLabel = {\n stakeholder_mgmt_stakeholders: 'Stakeholder',\n rolodex: 'Congressional staffer',\n federal_agency_contacts: 'Federal agency staffer',\n state_legislation_staffers: 'State staffer',\n federal_legislators: 'Federal legislator',\n state_legislation_legislators: 'State legislator',\n federal_executive: 'Federal executive',\n state_executive: 'State executive',\n state_staffer_executive: 'State executive staffer',\n local_executive: 'Local executive',\n municipal_executive: 'Municipal executive',\n county_executive: 'County executive',\n federal_committees: 'Federal committee',\n state_legislation_committees: 'State committee',\n federal_bills: 'Federal bill',\n state_legislation_bills: 'State bill',\n federal_register_regulations: 'Federal regulation',\n state_legislation_regulations: 'State regulation',\n doctrove_agency_press_releases: 'Agency press release',\n cbo_gov: 'CBO cost estimate',\n committee_reports: 'Committee report',\n press_releases: 'Congressional press release',\n congressional_record: 'Congressional record item',\n fbo_gov: 'Contract',\n doctrove_crs: 'CRS report',\n doctrove_dear_colleague_letters: 'Dear Colleague letter',\n doctrove_executive_orders: 'Executive order',\n gao_gov: 'GAO report',\n grants_gov: 'Grant',\n lobby_filing_issues: 'LD-2 reports',\n doctrove_live_hearing_transcripts: 'Live hearing transcript',\n doctrove_hearing_transcripts: 'Official hearing transcript',\n doctrove_sap: 'SAP report',\n doctrove_union_statements: 'State of the Union address',\n treaties: 'Treaty document',\n doctrove_third_party_reports: 'Third party reports',\n doctrove_press_briefings: 'White House press briefing',\n doctrove_governor_orders: 'Governor order',\n doctrove_governor_press_releases: 'Governor press releases',\n social_media: 'Twitter',\n };\n return slugLabels[slug] || slug;\n};\n\ntype Chamber = 'house' | 'senate';\n\nconst getChamberLabel = (chamber: Chamber) => {\n if (chamber === 'house') return 'House';\n if (chamber === 'senate') return 'Senate';\n\n return chamber;\n};\n\nconst parentheses = (items: (string | undefined)[], separator = ', ') => {\n const content = filter(items).join(separator);\n\n if (isEmpty(content)) return '';\n\n return `(${content})`;\n};\n\ntype Mapper = {\n [key in Slug]: TagRecordType | null;\n};\n\nconst getRecordType = (slug: Slug): TagRecordType | null => {\n const mapper: Mapper = {\n cbo_gov: 'doctrove_cbo',\n congressional_record: 'congressional_record',\n doctrove_crs: 'doctrove_crs',\n doctrove_agency_press_releases: 'doctrove_agency_press_release',\n doctrove_governor_press_releases: 'doctrove_governor_press_release',\n doctrove_governor_orders: 'doctrove_governor_order',\n doctrove_executive_orders: 'doctrove_executive_order',\n doctrove_hearing_transcripts: 'doctrove_hearing_transcript',\n doctrove_dear_colleague_letters: 'doctrove_dear_colleague_letter',\n fbo_gov: 'doctrove_fbo',\n gao_gov: 'doctrove_gao',\n grants_gov: 'doctrove_grant',\n doctrove_sap: 'doctrove_sap',\n doctrove_live_hearing_transcripts: 'doctrove_live_hearing_transcript',\n doctrove_press_briefings: 'doctrove_press_briefing',\n committee_reports: 'doctrove_committee_report',\n press_releases: 'doctrove_press_release',\n doctrove_third_party_reports: 'doctrove_third_party_report',\n treaties: 'doctrove_treaty',\n doctrove_union_statements: 'doctrove_union_statement',\n federal_bills: 'federal_bill',\n federal_committees: 'federal_committee',\n federal_legislators: 'federal_legislator',\n federal_register_regulations: 'federal_register_regulation',\n stakeholder_mgmt_stakeholders: 'stakeholder_mgmt_stakeholder',\n state_legislation_bills: 'state_bill',\n state_legislation_committees: 'state_committee',\n state_legislation_legislators: 'state_legislator',\n state_legislation_regulations: 'state_regulation',\n state_legislation_staffers: 'state_staffer',\n social_media: 'social_media_post',\n townintel: 'town_intel_document',\n federal_executive: 'federal_executive',\n state_executive: 'state_executive',\n local_executive: 'local_executive',\n state_staffer_executive: 'state_agency_staffer',\n\n // not taggable\n rolodex: null,\n lobby_filing_issues: null,\n };\n\n return mapper[slug];\n};\n\ntype RecordTypeToSlugMapper = {\n [key in TagRecordType | TrackableRecordType]: Slug;\n};\n\nconst getSlug = (recordType: TagRecordType | TrackableRecordType): Slug => {\n const mapper: RecordTypeToSlugMapper = {\n doctrove_cbo: 'cbo_gov',\n congressional_record: 'congressional_record',\n doctrove_crs: 'doctrove_crs',\n doctrove_agency_press_release: 'doctrove_agency_press_releases',\n doctrove_governor_press_release: 'doctrove_governor_press_releases',\n doctrove_governor_order: 'doctrove_governor_orders',\n doctrove_executive_order: 'doctrove_executive_orders',\n doctrove_hearing_transcript: 'doctrove_hearing_transcripts',\n doctrove_dear_colleague_letter: 'doctrove_dear_colleague_letters',\n doctrove_fbo: 'fbo_gov',\n doctrove_gao: 'gao_gov',\n doctrove_grant: 'grants_gov',\n doctrove_sap: 'doctrove_sap',\n doctrove_live_hearing_transcript: 'doctrove_live_hearing_transcripts',\n doctrove_press_briefing: 'doctrove_press_briefings',\n doctrove_committee_report: 'committee_reports',\n doctrove_press_release: 'press_releases',\n doctrove_third_party_report: 'doctrove_third_party_reports',\n doctrove_treaty: 'treaties',\n doctrove_union_statement: 'doctrove_union_statements',\n federal_bill: 'federal_bills',\n federal_committee: 'federal_committees',\n federal_committee_staffer: 'federal_committees',\n federal_committee_hearing: 'federal_committees',\n federal_legislator: 'federal_legislators',\n federal_legislator_staffer: 'federal_legislators',\n federal_register_regulation: 'federal_register_regulations',\n stakeholder_mgmt_stakeholder: 'stakeholder_mgmt_stakeholders',\n state_bill: 'state_legislation_bills',\n state_committee: 'state_legislation_committees',\n state_committee_staffer: 'state_legislation_committees',\n state_committee_hearing: 'state_legislation_committees',\n state_legislator: 'state_legislation_legislators',\n state_legislator_staffer: 'state_legislation_legislators',\n state_regulation: 'state_legislation_regulations',\n state_staffer: 'state_legislation_staffers',\n social_media_post: 'social_media',\n town_intel_document: 'townintel',\n federal_executive: 'federal_executive',\n state_executive: 'state_executive',\n local_executive: 'local_executive',\n state_agency_staffer: 'state_staffer_executive',\n news_search: 'news_search' as Slug,\n };\n\n return mapper[recordType];\n};\n\nexport {\n getSlugLabel, getChamberLabel, parentheses, getRecordType, getSlug,\n};\n","import React, { Dispatch, FC, KeyboardEvent, SetStateAction } from 'react';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\n\nimport { getRecordType, getSlugLabel } from 'components/UnifiedSearch/useSearch/helpers';\nimport { OnSaveTagsSuccessProps } from 'components/core/ButtonTagManager/types';\nimport ButtonTagManager from 'components/core/ButtonTagManager';\nimport ButtonShare from 'components/core/ButtonShare';\nimport TrackButton from 'components/core/TrackButton';\nimport { Result } from 'components/UnifiedSearch/types';\n\nimport styles from './styles.module.scss';\n\ntype ResultTooltipProps = {\n result: Result,\n isActiveTooltip: boolean,\n setIsActiveTooltip: Dispatch>,\n onUpdateTagItems: (item: OnSaveTagsSuccessProps) => void,\n isTrackable: boolean,\n};\n\nconst ResultTooltip: FC = ({\n result,\n isActiveTooltip,\n setIsActiveTooltip,\n onUpdateTagItems,\n isTrackable,\n}) => {\n const handleKeyDown = (event: KeyboardEvent) => (\n event.key === 'Enter' ? setIsActiveTooltip(!isActiveTooltip) : null\n );\n\n const ToolTipContent = () => (\n
\n \n \n {isTrackable && (\n result.updateTrackings?.(item.trackings)}\n trackings={result.trackings}\n shouldDisplayIcon={false}\n />\n )}\n
\n );\n return (\n setIsActiveTooltip(!visible)}\n arrow={false}\n offset={[2, 5]}\n >\n setIsActiveTooltip(!isActiveTooltip)}\n onKeyDown={handleKeyDown}\n className={classNames(styles.dots, isActiveTooltip && styles.active)}\n >\n \n
\n \n );\n};\n\nexport default ResultTooltip;\n","import truncate from 'lodash/truncate';\n\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nconst OMISSION_LENGTH = 3;\n\nexport const truncateHighlight = (highlight: HighlightedString, limit: number) => {\n if (highlight.length <= limit) return highlight;\n\n const openingEmphasisRegex = //g;\n const closingEmphasisRegex = /<\\/em>/g;\n\n const openingTag = '';\n const closingTag = '';\n\n let adjustedLimit = limit;\n\n while (openingEmphasisRegex.test(highlight) && closingEmphasisRegex.test(highlight)) {\n const openingEmphasisStartIndex = openingEmphasisRegex.lastIndex - openingTag.length;\n const closingEmphasisStartIndex = closingEmphasisRegex.lastIndex - closingTag.length;\n\n if (openingEmphasisStartIndex < adjustedLimit) {\n adjustedLimit += openingTag.length;\n } else {\n break;\n }\n\n if ((adjustedLimit - openingEmphasisRegex.lastIndex) <= OMISSION_LENGTH) {\n return truncate(highlight, { length: adjustedLimit - openingTag.length });\n }\n\n if (closingEmphasisStartIndex <= adjustedLimit) {\n adjustedLimit += closingTag.length;\n } else {\n return truncate(highlight, { length: adjustedLimit }).concat(closingTag);\n }\n\n if ((adjustedLimit - closingEmphasisRegex.lastIndex) < OMISSION_LENGTH) {\n const prefix = highlight.slice(0, closingEmphasisStartIndex);\n const sufix = highlight.slice(closingEmphasisRegex.lastIndex);\n\n adjustedLimit -= closingTag.length;\n\n return truncate(prefix.concat(sufix), { length: adjustedLimit }).concat(closingTag);\n }\n }\n\n return truncate(highlight, { length: adjustedLimit });\n};\n","export const ACCEPTABLE_POSITION_RECORD_TYPES = [\n 'federal_bill', 'state_bill', 'federal_regulation', 'state_regulation',\n];\n","import React, { FC, useState } from 'react';\nimport truncate from 'lodash/truncate';\n\nimport Link from 'components/core/Link';\nimport ViewTags from 'components/core/ViewTags';\nimport TrackButton from 'components/core/TrackButton';\nimport PositionButton from 'components/core/ButtonPosition';\nimport { OnSaveTagsSuccessProps, ResponseTag } from 'components/core/ButtonTagManager/types';\nimport { RESULT_TEXT_LIMITS, TRACKABLE_SLUGS } from 'components/UnifiedSearch/utils/constants';\nimport { Result as ResultType, Tag } from 'components/UnifiedSearch/types';\nimport { getRecordType, getSlugLabel } from 'components/UnifiedSearch/useSearch/helpers';\nimport PartyIcon from 'components/shared/party-icon';\nimport { isExternal } from 'utils/url';\n\nimport Tooltip from './components/Tooltip';\nimport { truncateHighlight } from './utils/helpers';\nimport { ACCEPTABLE_POSITION_RECORD_TYPES } from './utils/constants';\nimport styles from './styles.module.scss';\n\ntype ResultProps = {\n result: ResultType,\n isMobile?: boolean,\n onAddRecentVisit: (visited: ResultType) => Promise\n};\n\nconst Result: FC = ({ result, onAddRecentVisit, isMobile }) => {\n const [isActiveTooltip, setIsActiveTooltip] = useState(false);\n const recordType = getRecordType(result.slug);\n const isTrackable = TRACKABLE_SLUGS.includes(result.slug);\n\n const resultTags = result.tags.map(tag => ({\n value: tag.id, label: tag.name,\n }));\n\n const handleUpdateResultTags = (item: OnSaveTagsSuccessProps) => (\n result.updateTags && result.updateTags(\n item.tags && item.tags.map((tag: ResponseTag): Tag => ({\n id: tag.value, name: tag.label,\n })),\n )\n );\n\n const renderTitle = () => {\n const titleLength = isMobile ? RESULT_TEXT_LIMITS.titleMobile : RESULT_TEXT_LIMITS.title;\n\n if (result.titleHighlight) {\n return (\n \n );\n }\n\n return truncate(result.title, { length: titleLength });\n };\n\n const renderSubtitle = () => {\n if (result.subtitleHighlight) {\n return ;\n }\n\n return result.subTitle;\n };\n\n const renderDescription = () => {\n if (result.descriptionHighlight) {\n return truncateHighlight(result.descriptionHighlight, RESULT_TEXT_LIMITS.description);\n }\n\n return truncate(result.description, { length: RESULT_TEXT_LIMITS.description });\n };\n\n const isExternalLink = isExternal(result.url);\n\n const handleResultClick = async (event: MouseEvent) => {\n event.preventDefault();\n await onAddRecentVisit(result);\n window.open(result.url, '_self');\n };\n\n return (\n
\n
\n \n {renderTitle()}\n \n\n {result.party && (\n \n )}\n
\n
\n {renderSubtitle()}\n
\n \n \n
\n {isTrackable && (\n result.updateTrackings && result.updateTrackings(item.trackings)}\n trackings={result.trackings}\n />\n )}\n {ACCEPTABLE_POSITION_RECORD_TYPES.includes(recordType as string) && (\n \n )}\n
\n {!isMobile && (\n \n )}\n
\n );\n};\n\nexport default Result;\n","import React, { FC } from 'react';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport {\n Result as ResultType,\n Search,\n AdvancedOptions,\n} from '../../types';\nimport ResultsCount from '../ResultsCount';\nimport Paginator from '../Paginator';\nimport Result from '../Result';\nimport styles from './styles.module.scss';\n\ntype FeedProps = {\n search: Search;\n onAddRecentVisit: (visited: ResultType) => Promise;\n advancedOptions: AdvancedOptions;\n};\n\nconst Feed: FC = ({ search, onAddRecentVisit, advancedOptions }) => {\n const { isMobile } = useMediaQuery();\n\n return (\n
\n \n\n {search.results.map(result => (\n \n ))}\n\n \n
\n );\n};\n\nexport default Feed;\n","import React, { FC } from 'react';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport { AdvancedOptions } from '../../types';\nimport styles from './advanced-options-button.module.scss';\n\ntype AdvancedOptionsButtonProps = {\n advancedOptions: AdvancedOptions,\n};\n\nconst AdvancedOptionsButton: FC = ({ advancedOptions }) => (\n \n \n Advanced options\n \n);\n\nexport default AdvancedOptionsButton;\n","import React, { FC, ReactNode } from 'react';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\ntype OptionsWrapperProps = {\n children: ReactNode,\n className?: string,\n};\n\nconst OptionsWrapper: FC = ({ children, className }) => (\n
    \n {children}\n
\n);\n\nexport default OptionsWrapper;\n","import React, { FC, ReactNode } from 'react';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\ntype OptionProps = {\n onClick: () => void,\n id: string,\n isSelected: boolean,\n children: ReactNode,\n className?: string,\n isDisabled?: boolean,\n isMobile: boolean,\n withCheckMark?: boolean,\n};\n\nconst Option: FC = ({\n onClick,\n id,\n isSelected,\n children,\n className,\n isDisabled,\n isMobile,\n withCheckMark = true,\n}) => {\n const hasCheckMark = isSelected && withCheckMark;\n\n return (\n
  • \n \n {!isMobile && hasCheckMark && }\n\n {children}\n\n {isMobile && hasCheckMark && }\n \n
  • \n );\n};\n\nexport default Option;\n","import React, { ReactNode, FC } from 'react';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\ntype TriggerProps = {\n onClick: () => void,\n children: ReactNode,\n isDisabled?: boolean,\n};\n\nconst Trigger: FC = ({ onClick, isDisabled, children }) => (\n \n {children}\n \n \n);\n\nexport default Trigger;\n","import React, { FC, ReactNode } from 'react';\nimport Tooltip from '@tippyjs/react';\n\nimport Trigger from '../Trigger';\nimport styles from './styles.module.scss';\n\ntype DropdownProps = {\n isVisible: boolean,\n content: ReactNode,\n onClickOutside: () => void,\n onClick: () => void,\n children: ReactNode,\n isDisabled?: boolean,\n};\n\nconst Dropdown: FC = ({\n isVisible,\n content,\n onClickOutside,\n onClick,\n children,\n isDisabled,\n}) => (\n \n \n \n {children}\n \n \n \n);\n\nexport default Dropdown;\n","import React, { FC, ReactNode } from 'react';\n\nimport styles from './styles.module.scss';\n\nconst ActionsWrapper: FC<{ children: ReactNode }> = ({ children }) => (\n
    \n {children}\n
    \n);\n\nexport default ActionsWrapper;\n","import React, { FC } from 'react';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\ntype HeaderProps = {\n title: string,\n toggleOpen: () => void,\n};\n\nconst Header: FC = ({ title, toggleOpen }) => (\n
    \n {title}\n \n
    \n);\n\nexport default Header;\n","import React, { FC } from 'react';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\ntype ApplyButtonProps = {\n onClick: () => void,\n isDisabled?: boolean,\n};\n\nconst ApplyButton: FC = ({ onClick, isDisabled }) => (\n \n);\n\nexport default ApplyButton;\n","import React, { FC } from 'react';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\ntype BackButtonProps = {\n onClick: () => void,\n};\n\nconst BackButton: FC = ({ onClick }) => (\n \n);\n\nexport default BackButton;\n","import React, { ReactNode, FC } from 'react';\nimport classNames from 'classnames';\n\nimport { SlideUpModal as CoreModal } from 'components/core/Modal';\n\nimport Header from './Header';\nimport styles from './styles.module.scss';\n\ntype ModalProps = {\n isOpen: boolean,\n toggleOpen: () => void,\n children: ReactNode,\n className?: string,\n title: string,\n bodyClassName?: string,\n};\n\nconst SlideUpModal: FC = ({\n isOpen,\n toggleOpen,\n children,\n className,\n title,\n bodyClassName,\n}) => (\n \n
    \n {children}\n \n);\n\nexport default SlideUpModal;\n","import React, { FC, useState } from 'react';\nimport classNames from 'classnames';\n\nimport { AdvancedOptions } from 'components/UnifiedSearch/types';\nimport DatePicker from 'components/core/DatePicker';\nimport Button from 'components/core/Button';\n\nimport { ActionsWrapper, ApplyButton, BackButton } from '../../../SlideUpModal';\nimport styles from './styles.module.scss';\n\ntype CustomPeriodProps = {\n advancedOptions: AdvancedOptions,\n toggleFilter: () => void,\n toggleSelectCustomPeriod: () => void,\n isMobile: boolean,\n};\n\nconst CustomPeriod: FC = ({\n advancedOptions,\n toggleFilter,\n toggleSelectCustomPeriod,\n isMobile,\n}) => {\n const { customPeriod } = advancedOptions.values;\n const [startDate, setStartDate] = useState(customPeriod?.from || null);\n const [endDate, setEndDate] = useState(customPeriod?.to || null);\n\n const handleChange = ([start, end]: [Date, Date]) => {\n setStartDate(start);\n setEndDate(end);\n };\n\n const isCustomPeriodSet = startDate && endDate;\n\n const handleApply = () => {\n if (!isCustomPeriodSet) return;\n\n toggleFilter();\n\n advancedOptions.change({\n period: 'custom',\n customPeriod: { from: startDate, to: endDate },\n });\n };\n\n const renderActions = () => {\n if (isMobile) {\n return (\n \n \n\n \n \n );\n }\n\n return (\n \n Apply filter\n \n );\n };\n\n return (\n
    \n \n\n {renderActions()}\n
    \n );\n};\n\nexport default CustomPeriod;\n","import { Period } from 'components/UnifiedSearch/types';\n\nexport const PERIOD_OPTIONS: { [key in Period]: string } = {\n any: 'Any time',\n hour: 'Past hour',\n day: 'Past 24 hours',\n week: 'Past week',\n month: 'Past month',\n year: 'Past year',\n custom: 'Custom range...',\n};\n","import React, { FC, useState } from 'react';\n\nimport { AdvancedOptions, Period } from 'components/UnifiedSearch/types';\n\nimport OptionsWrapper from '../../../OptionsWrapper';\nimport Option from '../../../Option';\nimport { ActionsWrapper, ApplyButton } from '../../../SlideUpModal';\nimport { PERIOD_OPTIONS } from '../../constants';\n\ntype OptionsProps = {\n advancedOptions: AdvancedOptions,\n toggleFilter: () => void,\n toggleSelectCustomPeriod: () => void,\n isMobile: boolean,\n};\n\nconst Options: FC = ({\n advancedOptions,\n toggleFilter,\n toggleSelectCustomPeriod,\n isMobile,\n}) => {\n const { period } = advancedOptions.values;\n const [mobileSelectedOption, setMobileSelectedOption] = useState(period);\n const selectedOption = isMobile ? mobileSelectedOption : period;\n\n const handleClick = (key: Period) => {\n if (key === 'custom') {\n toggleSelectCustomPeriod();\n return;\n }\n\n if (isMobile) {\n setMobileSelectedOption(key);\n return;\n }\n\n advancedOptions.change({ period: key, customPeriod: null });\n toggleFilter();\n };\n\n const renderOption = (key: Period, value: string) => {\n const isSelected = selectedOption === key;\n\n return (\n handleClick(key)}\n isSelected={isSelected}\n id={key}\n key={key}\n isMobile={isMobile}\n >\n {value}\n \n );\n };\n\n const handleApply = () => {\n advancedOptions.change({ period: mobileSelectedOption, customPeriod: null });\n toggleFilter();\n };\n\n return (\n <>\n \n {Object.entries(PERIOD_OPTIONS).map(([key, value]) => (\n renderOption(key as Period, value)\n ))}\n \n {isMobile && (\n \n \n \n )}\n \n );\n};\n\nexport default Options;\n","import React, { FC, useState } from 'react';\n\nimport { AdvancedOptions, Filters } from 'components/UnifiedSearch/types';\nimport { formatDate } from 'utils/intl';\nimport { DEFAULT_SLIDE_DURATION } from 'components/core/Modal/components/SlideUpModal';\nimport useMountedRef from 'utils/useMountedRef';\n\nimport Dropdown from '../Dropdown';\nimport Trigger from '../Trigger';\nimport SlideUpModal from '../SlideUpModal';\nimport CustomPeriod from './components/CustomPeriod';\nimport Options from './components/Options';\nimport { PERIOD_OPTIONS } from './constants';\n\ntype PeriodProps = {\n advancedOptions: AdvancedOptions,\n filters: Filters,\n isMobile: boolean,\n};\n\nconst Period: FC = ({ advancedOptions, filters, isMobile }) => {\n const isMounted = useMountedRef();\n const [isVisible, setIsVisible] = useState(false);\n const toggleIsVisible = () => setIsVisible(isVisiblePrev => !isVisiblePrev);\n const [isCustomPeriodSelected, setIsCustomPeriodSelected] = useState(false);\n const toggleFilter = () => {\n toggleIsVisible();\n\n setTimeout(() => isMounted && setIsCustomPeriodSelected(false), DEFAULT_SLIDE_DURATION);\n };\n const toggleSelectCustomPeriod = () => setIsCustomPeriodSelected(!isCustomPeriodSelected);\n\n const renderButtonContent = () => {\n const { values } = advancedOptions;\n\n if (values.period !== 'custom') {\n return PERIOD_OPTIONS[values.period];\n }\n\n return [\n formatDate(values.customPeriod?.from),\n formatDate(values.customPeriod?.to),\n ].join(' - ');\n };\n\n const isDisabled = filters.value === 'committees' || filters.value === 'people';\n\n const renderFilterContent = () => {\n const commonProps = {\n advancedOptions,\n toggleFilter,\n toggleSelectCustomPeriod,\n isMobile,\n };\n\n return isCustomPeriodSelected\n ? \n : ;\n };\n\n if (isMobile) {\n return (\n <>\n \n {renderButtonContent()}\n \n \n {renderFilterContent()}\n \n \n );\n }\n\n return (\n \n {renderButtonContent()}\n \n );\n};\n\nexport default Period;\n","import { Region } from 'components/UnifiedSearch/types';\n\nexport const REGION_OPTIONS: { [key in Region]: string } = {\n all: 'All regions',\n federal: 'Federal',\n state: 'State...',\n local: 'Local...',\n};\n\nexport const CUSTOM_STATE_DEFAULT = { label: 'All states', value: 'all' };\nexport const CUSTOM_LOCALE_DEFAULT = { label: 'All locales', value: 'all' };\n\nexport const STATE_OPTIONS = [\n CUSTOM_STATE_DEFAULT,\n { label: 'Alabama', value: 'AL' },\n { label: 'Alaska', value: 'AK' },\n { label: 'Arizona', value: 'AZ' },\n { label: 'Arkansas', value: 'AR' },\n { label: 'California', value: 'CA' },\n { label: 'Colorado', value: 'CO' },\n { label: 'Connecticut', value: 'CT' },\n { label: 'Delaware', value: 'DE' },\n { label: 'District of Columbia', value: 'DC' },\n { label: 'Florida', value: 'FL' },\n { label: 'Georgia', value: 'GA' },\n { label: 'Hawaii', value: 'HI' },\n { label: 'Idaho', value: 'ID' },\n { label: 'Illinois', value: 'IL' },\n { label: 'Indiana', value: 'IN' },\n { label: 'Iowa', value: 'IA' },\n { label: 'Kansas', value: 'KS' },\n { label: 'Kentucky', value: 'KY' },\n { label: 'Louisiana', value: 'LA' },\n { label: 'Maine', value: 'ME' },\n { label: 'Maryland', value: 'MD' },\n { label: 'Massachusetts', value: 'MA' },\n { label: 'Michigan', value: 'MI' },\n { label: 'Minnesota', value: 'MN' },\n { label: 'Mississippi', value: 'MS' },\n { label: 'Missouri', value: 'MO' },\n { label: 'Montana', value: 'MT' },\n { label: 'Nebraska', value: 'NE' },\n { label: 'Nevada', value: 'NV' },\n { label: 'New Hampshire', value: 'NH' },\n { label: 'New Jersey', value: 'NJ' },\n { label: 'New Mexico', value: 'NM' },\n { label: 'New York', value: 'NY' },\n { label: 'North Carolina', value: 'NC' },\n { label: 'North Dakota', value: 'ND' },\n { label: 'Ohio', value: 'OH' },\n { label: 'Oklahoma', value: 'OK' },\n { label: 'Oregon', value: 'OR' },\n { label: 'Pennsylvania', value: 'PA' },\n { label: 'Puerto Rico', value: 'PR' },\n { label: 'Rhode Island', value: 'RI' },\n { label: 'South Carolina', value: 'SC' },\n { label: 'South Dakota', value: 'SD' },\n { label: 'Tennessee', value: 'TN' },\n { label: 'Texas', value: 'TX' },\n { label: 'Utah', value: 'UT' },\n { label: 'Vermont', value: 'VT' },\n { label: 'Virginia', value: 'VA' },\n { label: 'Washington', value: 'WA' },\n { label: 'West Virginia', value: 'WV' },\n { label: 'Wisconsin', value: 'WI' },\n { label: 'Wyoming', value: 'WY' },\n] as const;\n\nexport const MODAL_TITLES = {\n local: 'Select City or school district',\n state: 'Select State',\n};\n","import React, { FC, useState } from 'react';\n\nimport { AdvancedOptions, Region } from 'components/UnifiedSearch/types';\n\nimport OptionsWrapper from '../../../OptionsWrapper';\nimport Option from '../../../Option';\nimport { ActionsWrapper, ApplyButton } from '../../../SlideUpModal';\nimport { CUSTOM_LOCALE_DEFAULT, CUSTOM_STATE_DEFAULT, REGION_OPTIONS } from '../../constants';\nimport styles from './styles.module.scss';\n\ntype OptionsProps = {\n advancedOptions: AdvancedOptions,\n toggleFilter: () => void,\n onSelectCustomRegion: (key: 'state' | 'local') => void,\n isMobile: boolean,\n};\n\nconst Options: FC = ({\n advancedOptions,\n toggleFilter,\n onSelectCustomRegion,\n isMobile,\n}) => {\n const { region } = advancedOptions.values;\n const [mobileSelectedOption, setMobileSelectedOption] = useState(region);\n const selectedOption = isMobile ? mobileSelectedOption : region;\n\n const handleClick = (key: Region) => {\n if (key === 'state' || key === 'local') {\n onSelectCustomRegion(key);\n\n if (isMobile) return;\n\n if (region !== key) {\n const customRegion = key === 'state' ? CUSTOM_STATE_DEFAULT : CUSTOM_LOCALE_DEFAULT;\n\n advancedOptions.change({ region: key, customRegions: [customRegion] });\n }\n\n return;\n }\n\n if (isMobile) {\n setMobileSelectedOption(key);\n return;\n }\n\n advancedOptions.change({ region: key, customRegions: [] });\n toggleFilter();\n };\n\n const renderOption = (key: Region, value: string) => {\n const isSelected = selectedOption === key;\n const isCustomRegion = key === 'state' || key === 'local';\n\n const getContent = () => {\n const { customRegions } = advancedOptions.values;\n const displayCount = isCustomRegion\n && isSelected\n && customRegions.length;\n\n if (displayCount) {\n return (\n \n {value} {customRegions.length}\n \n );\n }\n\n return value;\n };\n\n return (\n handleClick(key)}\n isSelected={isSelected}\n id={key}\n key={key}\n isMobile={isMobile}\n withCheckMark={!(isMobile && isCustomRegion)}\n >\n {getContent()}\n \n );\n };\n\n const handleApply = () => {\n const isAlreadyApplied = selectedOption === region;\n\n if (!isAlreadyApplied) {\n advancedOptions.change({ region: selectedOption, customRegions: [] });\n }\n\n toggleFilter();\n };\n\n return (\n <>\n \n {Object.entries(REGION_OPTIONS).map(([key, value]) => (\n renderOption(key as Region, value)\n ))}\n \n {isMobile && (\n \n \n \n )}\n \n );\n};\n\nexport default Options;\n","import { isEmpty } from 'lodash';\n\nimport { Locale, State } from './types';\n\ntype Option = State | Locale;\ntype SelectHandlerProps = {\n option: Option,\n selectedOptions: Option[],\n setOptions: (options: Option[]) => void,\n defaultOption: Option,\n};\n\nconst removeRegion = ({\n option,\n selectedOptions,\n setOptions,\n defaultOption,\n}: SelectHandlerProps) => {\n const newCustomRegions = selectedOptions.filter(region => region.value !== option.value);\n\n setOptions(isEmpty(newCustomRegions) ? [defaultOption] : newCustomRegions);\n};\n\nconst addRegion = ({\n option,\n selectedOptions,\n setOptions,\n}: Omit) => {\n const newCustomRegions = selectedOptions.filter(region => region.value !== 'all');\n\n setOptions([...newCustomRegions, option]);\n};\n\nexport const handleOptionClick = ({\n option,\n selectedOptions,\n setOptions,\n defaultOption,\n}: SelectHandlerProps) => {\n if (option.value === 'all') {\n setOptions([option]);\n return;\n }\n\n const isOptionSelected = selectedOptions.some(region => region.value === option.value);\n\n if (isOptionSelected) {\n removeRegion({ option, selectedOptions, setOptions, defaultOption });\n return;\n }\n\n addRegion({ option, selectedOptions, setOptions });\n};\n","import React, { ChangeEvent, FC } from 'react';\n\nimport Input from 'components/core/Input';\n\nimport styles from './styles.module.scss';\n\ntype SearchWrapperProps = {\n value: string,\n onChange: (event: ChangeEvent) => void,\n placeholder: string,\n};\n\nconst SearchWrapper: FC = ({ value, onChange, placeholder }) => (\n
    \n \n
    \n);\n\nexport default SearchWrapper;\n","import { useState, useMemo, ChangeEvent } from 'react';\n\nimport { AdvancedOptions } from 'components/UnifiedSearch/types';\n\nimport { CUSTOM_STATE_DEFAULT, STATE_OPTIONS } from '../../constants';\nimport { State } from './types';\n\nconst useStates = (advancedOptions: AdvancedOptions) => {\n const { region, customRegions } = advancedOptions.values;\n const isSelectedRegion = region === 'state';\n const initialSelectedStates = isSelectedRegion ? customRegions : [CUSTOM_STATE_DEFAULT];\n const [selectedStates, setSelectedStates] = useState(initialSelectedStates);\n\n const [search, setSearch] = useState('');\n\n const regex = new RegExp(search, 'i');\n const filteredOptions = useMemo(() => STATE_OPTIONS.filter(\n option => option.label.match(regex) || option.value.match(regex),\n ), [regex]);\n\n const handleSearchChange = (event: ChangeEvent) => {\n setSearch(event.target.value);\n };\n\n return {\n search,\n handleSearchChange,\n options: filteredOptions,\n selectedStates,\n setSelectedStates,\n };\n};\n\nexport default useStates;\n","import React, { FC } from 'react';\n\nimport { AdvancedOptions } from 'components/UnifiedSearch/types';\n\nimport { ActionsWrapper, ApplyButton, BackButton } from '../../../SlideUpModal';\nimport OptionsWrapper from '../../../OptionsWrapper';\nimport Option from '../../../Option';\nimport { handleOptionClick } from '../../helpers';\nimport { CUSTOM_STATE_DEFAULT } from '../../constants';\nimport SearchWrapper from '../SearchWrapper';\nimport { State } from './types';\nimport useStates from './useStates';\nimport styles from './styles.module.scss';\n\ntype StatesProps = {\n advancedOptions: AdvancedOptions,\n isMobile: boolean,\n onResetCustomRegion: () => void,\n toggleFilter: () => void,\n};\n\nconst States: FC = ({\n advancedOptions,\n isMobile,\n onResetCustomRegion,\n toggleFilter,\n}) => {\n const states = useStates(advancedOptions);\n\n const { customRegions } = advancedOptions.values;\n const selectedOptions = isMobile ? states.selectedStates : customRegions;\n const setCustomRegions = (newCustomRegions: State[]) => (\n advancedOptions.change({ customRegions: newCustomRegions })\n );\n const setOptions = isMobile ? states.setSelectedStates : setCustomRegions;\n\n const renderOption = (state: State) => {\n const isSelected = selectedOptions.some(region => region.value === state.value);\n const content = state.value === 'all' ? state.label : `${state.label} (${state.value})`;\n\n const handleClick = () => handleOptionClick({\n option: state,\n selectedOptions,\n setOptions,\n defaultOption: CUSTOM_STATE_DEFAULT,\n });\n\n return (\n \n {content}\n \n );\n };\n\n const placeholder = isMobile ? 'Search a State...' : 'State name';\n\n const handleApply = () => {\n advancedOptions.change({ region: 'state', customRegions: states.selectedStates });\n toggleFilter();\n onResetCustomRegion();\n };\n\n return (\n
    \n \n\n \n {states.options.map((state: State) => renderOption(state))}\n \n\n {isMobile && (\n \n \n\n \n \n )}\n
    \n );\n};\n\nexport default States;\n","import React, { FC } from 'react';\n\nimport {\n OptionsWrapper,\n Option,\n} from 'components/UnifiedSearch/components/AdvancedOptions';\nimport { AdvancedOptions } from 'components/UnifiedSearch/types';\n\nimport { CUSTOM_LOCALE_DEFAULT } from '../../../../constants';\nimport { handleOptionClick } from '../../../../helpers';\nimport { Locale, Locales } from '../../types';\nimport styles from './styles.module.scss';\n\ntype OptionsProps = {\n advancedOptions: AdvancedOptions,\n locales: Locales,\n isMobile: boolean,\n};\n\nconst Options: FC = ({\n advancedOptions,\n locales,\n isMobile,\n}) => {\n const { customRegions } = advancedOptions.values;\n const selectedOptions = isMobile ? locales.selectedLocales : customRegions;\n\n const setCustomRegions = (newCustomRegions: Locale[]) => (\n advancedOptions.change({ customRegions: newCustomRegions })\n );\n const setOptions = isMobile ? locales.setSelectedLocales : setCustomRegions;\n\n const renderOption = (locale: Locale) => {\n const isSelected = selectedOptions.some(region => region.value === locale.value);\n\n const handleClick = () => handleOptionClick({\n option: locale,\n selectedOptions,\n setOptions,\n defaultOption: CUSTOM_LOCALE_DEFAULT,\n });\n\n return (\n \n {locale.label}\n \n );\n };\n\n const defaultOption = renderOption(CUSTOM_LOCALE_DEFAULT);\n\n const hasPlaceholder = !(isMobile || locales.options.length);\n\n return (\n \n {hasPlaceholder && (\n
    Type to search
    \n )}\n\n {defaultOption}\n {locales.options.map(renderOption)}\n
    \n );\n};\n\nexport default Options;\n","import { Locale, ParsedLocale } from './types';\n\nexport const buildLocales = (locales: Locale[]) => (\n locales.map((locale) => {\n const parsed: ParsedLocale = JSON.parse(locale.value);\n\n return {\n label: `${parsed.city} (${parsed.state.code})`,\n value: parsed.city,\n };\n })\n);\n","import { Locale } from './types';\nimport { buildLocales } from './factory';\n\nconst getLocales = async (query: string) => {\n const url = '/api_web/suggester';\n const data = {\n strategy_slug: 'local_executive_city',\n required_inputs: JSON.stringify({ query }),\n };\n\n const locales: Locale[] = await $.post(url, data).then(response => response.data);\n\n return buildLocales(locales);\n};\n\nexport default { getLocales };\n","import { useState, ChangeEvent, useEffect, useRef } from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport useDebounce from 'components/DelayedInput/useDebounce';\nimport { AdvancedOptions } from 'components/UnifiedSearch/types';\nimport useMountedRef from 'utils/useMountedRef';\n\nimport { CUSTOM_LOCALE_DEFAULT } from '../../constants';\nimport { Locale, Status } from './types';\nimport api from './api';\n\nconst useLocales = (advancedOptions: AdvancedOptions) => {\n const isMounted = useMountedRef();\n\n const { region, customRegions } = advancedOptions.values;\n const isSelectedRegion = region === 'local';\n const initialSelectedLocales = isSelectedRegion ? customRegions : [CUSTOM_LOCALE_DEFAULT];\n const [selectedLocales, setSelectedLocales] = useState(initialSelectedLocales);\n\n const [search, setSearch] = useState('');\n const [status, setStatus] = useState('idle');\n const [locales, setLocales] = useState([]);\n const debouncedSearch = useDebounce(search);\n const latestSearch = useRef>();\n\n const reset = (searchStatus: Status = 'idle') => {\n setStatus(searchStatus);\n setLocales([]);\n };\n\n const searchLocales = async (query: string) => {\n if (isEmpty(query)) {\n reset();\n return;\n }\n\n reset('loading');\n\n const currentSearch = api.getLocales(query);\n latestSearch.current = currentSearch;\n const response = await currentSearch;\n\n // If the user changes the filter/query, a new search is performed.\n // If there is a previous search running we can end up with concurrency issues.\n // This will make sure that we will display only the results for the latest search.\n const isResponseOutdated = currentSearch !== latestSearch.current;\n\n if (!isMounted || isResponseOutdated) return;\n\n setLocales(response);\n setStatus('idle');\n };\n\n useEffect(() => {\n searchLocales(debouncedSearch);\n }, [debouncedSearch]);\n\n const handleSearchChange = (event: ChangeEvent) => {\n setSearch(event.target.value);\n };\n\n return {\n search,\n status,\n options: locales,\n handleSearchChange,\n selectedLocales,\n setSelectedLocales,\n };\n};\n\nexport default useLocales;\n","import React, { FC } from 'react';\n\nimport { AdvancedOptions } from 'components/UnifiedSearch/types';\n\nimport { ActionsWrapper, ApplyButton, BackButton } from '../../../SlideUpModal';\nimport SearchWrapper from '../SearchWrapper';\nimport Options from './components/Options';\nimport useLocales from './useLocales';\nimport styles from './styles.module.scss';\n\ntype LocalesProps = {\n advancedOptions: AdvancedOptions,\n isMobile: boolean,\n onResetCustomRegion: () => void,\n toggleFilter: () => void,\n};\n\nconst Locales: FC = ({\n advancedOptions,\n isMobile,\n onResetCustomRegion,\n toggleFilter,\n}) => {\n const locales = useLocales(advancedOptions);\n const placeholder = isMobile ? 'Type to search' : 'City or school district';\n\n const handleApply = () => {\n advancedOptions.change({ region: 'local', customRegions: locales.selectedLocales });\n toggleFilter();\n onResetCustomRegion();\n };\n\n return (\n
    \n \n\n {locales.status === 'loading' &&
    Loading...
    }\n\n {locales.status === 'idle' && (\n \n )}\n\n {isMobile && (\n \n \n\n \n \n )}\n
    \n );\n};\n\nexport default Locales;\n","import React, { FC, ReactNode } from 'react';\n\nimport styles from './styles.module.scss';\n\ntype CustomRegionsWrapperProps = {\n children: ReactNode,\n};\n\nconst CustomRegionsWrapper: FC = ({ children }) => (\n {children}\n);\n\nexport default CustomRegionsWrapper;\n","import React, { FC, useState } from 'react';\n\nimport { AdvancedOptions } from 'components/UnifiedSearch/types';\n\nimport Dropdown from '../Dropdown';\nimport Trigger from '../Trigger';\nimport SlideUpModal from '../SlideUpModal';\nimport { MODAL_TITLES, REGION_OPTIONS } from './constants';\nimport Options from './components/Options';\nimport States from './components/States';\nimport Locales from './components/Locales';\nimport CustomRegionsWrapper from './components/CustomRegionsWrapper';\nimport { CustomRegion } from './types';\n\ntype RegionProps = {\n advancedOptions: AdvancedOptions,\n isMobile: boolean,\n};\n\nconst Region: FC = ({ advancedOptions, isMobile }) => {\n const [isVisible, setIsVisible] = useState(false);\n const toggleFilter = () => setIsVisible(!isVisible);\n const [customRegion, setCustomRegion] = useState(null);\n const resetCustomRegion = () => setCustomRegion(null);\n\n const renderButtonContent = () => {\n const { region, customRegions } = advancedOptions.values;\n\n if (region === 'state') {\n const stateValues = customRegions.map((state) => {\n if (state.value === 'all') return state.label;\n\n return state.value;\n });\n\n return (\n \n {`State: ${stateValues.join(', ')}`}\n \n );\n }\n\n if (region === 'local') {\n const localLabels = customRegions.map(local => local.label);\n\n return (\n \n {`Local: ${localLabels.join(', ')}`}\n \n );\n }\n\n return REGION_OPTIONS[region];\n };\n\n const renderFilterContent = () => {\n const commonProps = {\n advancedOptions,\n isMobile,\n toggleFilter,\n onResetCustomRegion: resetCustomRegion,\n };\n\n if (customRegion === 'state') {\n return ;\n }\n\n if (customRegion === 'local') {\n return ;\n }\n\n return (\n \n );\n };\n\n const handleCloseFilter = () => {\n toggleFilter();\n setCustomRegion(null);\n };\n\n if (isMobile) {\n const getModalTitle = () => {\n if (customRegion) {\n return MODAL_TITLES[customRegion];\n }\n\n return 'Level';\n };\n\n return (\n <>\n \n {renderButtonContent()}\n \n \n {renderFilterContent()}\n \n \n );\n }\n\n return (\n \n {renderButtonContent()}\n \n );\n};\n\nexport default Region;\n","import { COLLECTIONS_DEFAULT } from '../utils/constants';\nimport { AdvancedOptionsValues } from '../types';\n\nexport const INITIAL_STATE: AdvancedOptionsValues = {\n period: 'any',\n customPeriod: null,\n region: 'all',\n customRegions: [],\n collections: COLLECTIONS_DEFAULT,\n verbatim: 'all',\n};\n","import React, { FC } from 'react';\nimport isEqual from 'lodash/isEqual';\n\nimport Button from 'components/core/Button';\nimport { INITIAL_STATE } from 'components/UnifiedSearch/useAdvancedOptions/initialState';\nimport { AdvancedOptions } from 'components/UnifiedSearch/types';\n\nimport styles from './clear-filters-button.module.scss';\n\ntype ClearFiltersButtonProps = {\n advancedOptions: AdvancedOptions,\n};\n\nconst ClearFiltersButton: FC = ({ advancedOptions }) => {\n const hasFiltersApplied = !isEqual(INITIAL_STATE, advancedOptions.values);\n\n if (!hasFiltersApplied) return null;\n\n return (\n \n Clear filters\n \n );\n};\n\nexport default ClearFiltersButton;\n","import { isEmpty } from 'lodash';\n\nimport { Collection } from 'components/UnifiedSearch/types';\n\nimport { Collections } from '../../types';\n\ntype SelectHandlerProps = {\n key: Collection,\n collections: Collections,\n setCollections: (newCollections: Collection[]) => void,\n};\n\nconst removeCollection = ({ key, collections, setCollections }: SelectHandlerProps) => {\n const newCollections = collections.value.filter(collection => collection !== key);\n\n if (isEmpty(newCollections)) {\n return setCollections(['all']);\n }\n\n return setCollections(newCollections);\n};\n\nconst addCollection = ({ key, collections, setCollections }: SelectHandlerProps) => {\n const newCollections = collections.value.filter(collection => collection !== 'all');\n\n return setCollections([...newCollections, key]);\n};\n\nexport const handleOptionClick = ({ key, collections, setCollections }: SelectHandlerProps) => {\n if (key === 'all') {\n return setCollections([key]);\n }\n\n if (collections.value.includes(key)) {\n return removeCollection({ key, collections, setCollections });\n }\n\n return addCollection({ key, collections, setCollections });\n};\n","import React, { FC } from 'react';\n\nimport { AdvancedOptions, Collection } from 'components/UnifiedSearch/types';\n\nimport OptionsWrapper from '../../../OptionsWrapper';\nimport Option from '../../../Option';\nimport { ActionsWrapper, ApplyButton } from '../../../SlideUpModal';\nimport { CollectionOption, Collections } from '../../types';\nimport { handleOptionClick } from './helpers';\nimport styles from './styles.module.scss';\n\ntype OptionsProps = {\n advancedOptions: AdvancedOptions,\n isMobile: boolean,\n collections: Collections,\n};\n\nconst Options: FC = ({\n advancedOptions,\n isMobile,\n collections,\n}) => {\n const setCollections = (newCollections: Collection[]) => {\n if (isMobile) {\n collections.setSelectedCollections(newCollections);\n return;\n }\n\n advancedOptions.change({ collections: newCollections });\n };\n\n const renderOption = (key: Collection, value: CollectionOption) => {\n const isSelected = collections.value.some(collection => collection === key);\n const isDisabled = typeof value !== 'string' && value.isDisabled;\n\n const handleClick = () => {\n handleOptionClick({ key, collections, setCollections });\n };\n\n return (\n \n {typeof value === 'string' ? value : value.label}\n \n );\n };\n\n const handleApply = () => {\n advancedOptions.change({ collections: collections.value });\n collections.toggleFilter();\n };\n\n return (\n <>\n \n {Object.entries(collections.options).map(([key, value]) => (\n renderOption(key as Collection, value)\n ))}\n \n {isMobile && (\n \n \n \n )}\n \n );\n};\n\nexport default Options;\n","import {\n CollectionsPeople,\n CollectionsLegislation,\n CollectionsCommittees,\n CollectionsDocuments,\n Collection,\n Region,\n} from 'components/UnifiedSearch/types';\n\nexport const COLLECTION_OPTIONS_PEOPLE: { [key in CollectionsPeople]: string } = {\n all: 'All collections',\n federalLegislators: 'Federal legislators',\n congressionalStaffers: 'Congressional staffers',\n federalExecutives: 'Federal executives',\n stateLegislators: 'State legislators',\n stateStaffers: 'State staffers',\n stateExecutives: 'State executives',\n localExecutives: 'Local executives',\n stakeholder: 'Stakeholders',\n};\n\nexport const COLLECTION_OPTIONS_LEGISLATION: { [key in CollectionsLegislation]: string } = {\n all: 'All collections',\n federalBills: 'Federal bills',\n federalRegulations: 'Federal regulations',\n stateBills: 'State bills',\n stateRegulations: 'State regulations',\n};\n\nexport const COLLECTION_OPTIONS_COMMITTEES: { [key in CollectionsCommittees]: string } = {\n all: 'All collections',\n federalCommittees: 'Federal committees',\n stateCommittees: 'State committees',\n};\n\nexport const COLLECTION_OPTIONS_DOCUMENTS: { [key in CollectionsDocuments]: string } = {\n all: 'All collections',\n federalDocuments: 'Federal documents',\n stateDocuments: 'State documents',\n localDocuments: 'Local documents',\n};\n\nexport const COLLECTION_OPTIONS = {\n all: {},\n people: COLLECTION_OPTIONS_PEOPLE,\n 'legislation & regulation': COLLECTION_OPTIONS_LEGISLATION,\n committees: COLLECTION_OPTIONS_COMMITTEES,\n documents: COLLECTION_OPTIONS_DOCUMENTS,\n};\n\nexport const REGION_COLLECTIONS: { [key in Region]?: Partial[] } = {\n federal: [\n 'all',\n 'federalLegislators',\n 'congressionalStaffers',\n 'federalExecutives',\n 'federalBills',\n 'federalRegulations',\n 'federalCommittees',\n 'federalDocuments',\n ],\n state: [\n 'all',\n 'stateLegislators',\n 'stateStaffers',\n 'stateExecutives',\n 'localExecutives',\n 'stakeholder',\n 'stateBills',\n 'stateRegulations',\n 'stateCommittees',\n 'stateDocuments',\n 'localDocuments',\n ],\n local: [\n 'all',\n 'localExecutives',\n 'stakeholder',\n 'localDocuments',\n ],\n};\n","import { AdvancedOptions, Collection, Filters } from 'components/UnifiedSearch/types';\n\nimport { COLLECTION_OPTIONS, REGION_COLLECTIONS } from './constants';\nimport { CollectionOptions } from './types';\n\nconst filterOptionsByRegion = (advancedOptions: AdvancedOptions, options: CollectionOptions) => {\n const { region } = advancedOptions.values;\n\n if (region === 'all') return options;\n\n const collectionsByRegion = REGION_COLLECTIONS[region];\n\n return Object.entries(options).reduce((filteredOptions: CollectionOptions, [key, label]) => ({\n ...filteredOptions,\n [key]: {\n label,\n isDisabled: !collectionsByRegion?.includes(key as Collection),\n },\n }), {} as CollectionOptions);\n};\n\nexport const getOptions = (advancedOptions: AdvancedOptions, filters: Filters) => {\n const options = COLLECTION_OPTIONS[filters.value] as CollectionOptions;\n\n return filterOptionsByRegion(advancedOptions, options);\n};\n","import { useState, useEffect, useMemo } from 'react';\nimport { isEmpty, isEqual } from 'lodash';\n\nimport { AdvancedOptions, Filters, Collection } from 'components/UnifiedSearch/types';\nimport { COLLECTIONS_DEFAULT } from 'components/UnifiedSearch/utils/constants';\n\nimport { CollectionOptions } from './types';\nimport { getOptions } from './helpers';\n\ntype UseCollectionsProps = {\n advancedOptions: AdvancedOptions,\n filters: Filters,\n isMobile: boolean,\n};\n\nconst useCollections = ({ advancedOptions, filters, isMobile }: UseCollectionsProps) => {\n const { region, collections } = advancedOptions.values;\n\n const [isVisible, setIsVisible] = useState(false);\n const toggleFilter = () => setIsVisible(!isVisible);\n\n const [prevCollections, setPrevCollections] = useState(collections);\n const [selectedCollections, setSelectedCollections] = useState(collections);\n\n if (prevCollections !== collections) {\n setPrevCollections(collections);\n setSelectedCollections(collections);\n }\n\n const options = useMemo(\n () => getOptions(advancedOptions, filters) as CollectionOptions,\n [region, filters.value],\n );\n\n const setCollections = (newCollections: Collection[]) => {\n advancedOptions.change({ collections: newCollections });\n setSelectedCollections(newCollections);\n };\n\n useEffect(() => {\n const disabledOptionKeys = Object.keys(options).filter((key) => {\n const collectionOption = options[key as Collection];\n\n return typeof collectionOption !== 'string' && collectionOption.isDisabled;\n });\n const newCollections = collections.filter(\n collection => !disabledOptionKeys.includes(collection),\n );\n\n if (isEqual(collections, newCollections)) return;\n\n setCollections(isEmpty(newCollections) ? COLLECTIONS_DEFAULT : newCollections);\n }, [JSON.stringify(options)]);\n\n return {\n isVisible,\n toggleFilter,\n options,\n value: isMobile ? selectedCollections : collections,\n setSelectedCollections,\n };\n};\n\nexport default useCollections;\n","import React, { FC } from 'react';\n\nimport { AdvancedOptions, Filters } from 'components/UnifiedSearch/types';\n\nimport Trigger from '../Trigger';\nimport SlideUpModal from '../SlideUpModal';\nimport Dropdown from '../Dropdown';\nimport Options from './components/Options';\nimport { COLLECTION_OPTIONS } from './constants';\nimport { CollectionOptions } from './types';\nimport styles from './styles.module.scss';\nimport useCollections from './useCollections';\n\ntype CollectionsProps = {\n advancedOptions: AdvancedOptions,\n filters: Filters,\n isMobile: boolean,\n};\n\nconst Collections: FC = ({ advancedOptions, filters, isMobile }) => {\n const collections = useCollections({ advancedOptions, filters, isMobile });\n\n const renderButtonContent = () => {\n const { values } = advancedOptions;\n const hasMultipleOptionsSelected = values.collections.length > 1;\n const filteredOptions = COLLECTION_OPTIONS[filters.value] as CollectionOptions;\n const collectionKey = values.collections[0];\n const displayedCollection = filteredOptions[collectionKey];\n\n return displayedCollection + (hasMultipleOptionsSelected ? '...' : '');\n };\n\n const tooltipContent = (\n \n );\n\n if (filters.value === 'all') return null;\n\n if (isMobile) {\n return (\n <>\n \n \n {renderButtonContent()}\n \n \n {tooltipContent}\n \n \n );\n }\n\n return (\n <>\n \n \n {renderButtonContent()}\n \n \n );\n};\n\nexport default Collections;\n","import { VerbatimFilter } from 'components/UnifiedSearch/types';\n\nexport const VERBATIM_OPTIONS: { [key in VerbatimFilter]: string } = {\n all: 'All results',\n verbatim: 'Verbatim',\n};\n","import React, { FC, useState } from 'react';\n\nimport { AdvancedOptions, VerbatimFilter } from 'components/UnifiedSearch/types';\n\nimport OptionsWrapper from '../../../OptionsWrapper';\nimport { ActionsWrapper, ApplyButton } from '../../../SlideUpModal';\nimport Option from '../../../Option';\nimport { VERBATIM_OPTIONS } from '../../constants';\n\ntype OptionsProps = {\n advancedOptions: AdvancedOptions,\n toggleFilter: () => void,\n isMobile: boolean,\n};\n\nconst Options: FC = ({ advancedOptions, toggleFilter, isMobile }) => {\n const { verbatim } = advancedOptions.values;\n const [mobileSelectedOption, setMobileSelectedOption] = useState(verbatim);\n const selectedOption = isMobile ? mobileSelectedOption : verbatim;\n\n const handleClick = (key: VerbatimFilter) => {\n if (isMobile) {\n setMobileSelectedOption(key);\n return;\n }\n\n advancedOptions.change({ verbatim: key });\n toggleFilter();\n };\n\n const renderOption = (key: VerbatimFilter, value: string) => {\n const isSelected = selectedOption === key;\n\n return (\n handleClick(key)}\n isSelected={isSelected}\n id={key}\n key={key}\n isMobile={isMobile}\n >\n {value}\n \n );\n };\n\n const handleApply = () => {\n advancedOptions.change({ verbatim: selectedOption });\n toggleFilter();\n };\n\n return (\n <>\n \n {Object.entries(VERBATIM_OPTIONS).map(([key, value]) => (\n renderOption(key as VerbatimFilter, value)\n ))}\n \n {isMobile && (\n \n \n \n )}\n \n );\n};\n\nexport default Options;\n","import React, { FC, useState } from 'react';\n\nimport { AdvancedOptions, Filters } from 'components/UnifiedSearch/types';\n\nimport Dropdown from '../Dropdown';\nimport Trigger from '../Trigger';\nimport SlideUpModal from '../SlideUpModal';\nimport Options from './components/Options';\nimport { VERBATIM_OPTIONS } from './constants';\n\ntype VerbatimProps = {\n advancedOptions: AdvancedOptions,\n filters: Filters,\n isMobile: boolean,\n};\n\nconst Verbatim: FC = ({ advancedOptions, isMobile }) => {\n const [isVisible, setIsVisible] = useState(false);\n const toggleFilter = () => setIsVisible(!isVisible);\n\n const renderButtonContent = () => {\n const { values } = advancedOptions;\n\n return VERBATIM_OPTIONS[values.verbatim];\n };\n\n const tooltipContent = (\n \n );\n\n if (isMobile) {\n return (\n <>\n \n {renderButtonContent()}\n \n \n {tooltipContent}\n \n \n );\n }\n\n return (\n \n {renderButtonContent()}\n \n );\n};\n\nexport default Verbatim;\n","import React, { FC } from 'react';\nimport classNames from 'classnames';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport { AdvancedOptions as AdvancedOptionsType, Filters } from '../../types';\nimport Period from './components/Period';\nimport Region from './components/Region';\nimport ClearFiltersButton from './components/ClearFiltersButton';\nimport Collections from './components/Collections';\nimport Verbatim from './components/Verbatim';\nimport styles from './styles.module.scss';\n\ntype AdvancedOptionsProps = {\n advancedOptions: AdvancedOptionsType,\n filters: Filters,\n};\n\nconst AdvancedOptions: FC = ({ advancedOptions, filters }) => {\n const { isMobile } = useMediaQuery();\n const commonProps = { advancedOptions, isMobile };\n\n return (\n
    \n \n\n \n\n \n\n \n\n \n
    \n );\n};\n\nexport default AdvancedOptions;\n","import React, { FC } from 'react';\nimport classNames from 'classnames';\n\nimport { FILTER_OPTIONS } from 'components/UnifiedSearch/utils/constants';\n\nimport {\n AdvancedOptions as AdvancedOptionsType,\n Filters as FiltersType,\n} from '../../types';\nimport AdvancedOptionsButton from '../AdvancedOptionsButton';\nimport AdvancedOptions from '../AdvancedOptions';\nimport styles from './styles.module.scss';\n\ntype FiltersProps = {\n filters: FiltersType,\n advancedOptions: AdvancedOptionsType,\n};\n\nconst Filters: FC = ({ filters, advancedOptions }) => (\n
    \n
    \n {FILTER_OPTIONS.map(item => (\n (event.key === 'Enter' ? filters.change(item.value) : null)}\n onClick={() => filters.change(item.value)}\n data-name={item.label}\n >\n
    \n {item.label}\n
    \n \n ))}\n\n
    \n\n \n
    \n\n \n
    \n);\n\nexport default Filters;\n","import { Slug } from 'components/UnifiedSearch/types';\nimport {\n peopleSlugs,\n committeesSlugs,\n documentsSlugs,\n executiveSlugs,\n regulationSlugs,\n legislationSlugs,\n} from 'components/UnifiedSearch/utils/constants';\n\nexport const getIconClass = (slug: Slug) => {\n if (peopleSlugs.includes(slug) || executiveSlugs.includes(slug)) {\n return 'fas fa-user';\n }\n\n if (documentsSlugs.includes(slug) || legislationSlugs.includes(slug)) {\n return 'fas fa-file-alt';\n }\n\n if (regulationSlugs.includes(slug)) {\n return 'fas fa-stamp';\n }\n\n if (committeesSlugs.includes(slug)) {\n return 'fas fa-adjust';\n }\n\n return '';\n};\n","import React, { FC } from 'react';\nimport classNames from 'classnames';\n\nimport useAvatar from 'components/core/Avatar/useAvatar';\nimport { Slug } from 'components/UnifiedSearch/types';\n\nimport { getIconClass } from './helpers';\nimport styles from './styles.module.scss';\n\ntype IconComponent = FC<{ slug: Slug, photoUrl?: string }>;\n\nconst Icon: IconComponent = ({ slug, photoUrl }) => {\n const avatar = useAvatar(photoUrl);\n\n return (\n
    \n {avatar.isValid ? (\n \"User\n ) : (\n \n )}\n
    \n );\n};\n\nexport default Icon;\n","import React, { FC } from 'react';\nimport truncate from 'lodash/truncate';\n\nimport PartyIcon from 'components/shared/party-icon';\nimport { RESULT_TEXT_LIMITS } from 'components/UnifiedSearch/utils/constants';\n\nimport styles from './styles.module.scss';\n\ntype TitleProps = {\n title: string;\n party?: string;\n isMobile?: boolean;\n};\n\nconst Title: FC = ({ title, party, isMobile }) => {\n const titleContent = truncate(title, {\n length: isMobile ? RESULT_TEXT_LIMITS.titleMobile : RESULT_TEXT_LIMITS.title,\n });\n\n return (\n \n {titleContent}\n {party && (\n \n )}\n \n );\n};\n\nexport default Title;\n","import { get } from 'lodash';\n\nimport { Result, Slug } from 'components/UnifiedSearch/types';\nimport { getSlugLabel } from 'components/UnifiedSearch/useSearch/helpers';\nimport { getParenthesisItem, joinCompact } from 'utils/string';\n\ntype Helpers = { [s in Slug]?: (visit?: Result) => string };\n\nconst getExecutiveSubtitle = (visit: Result) => {\n const title = get(visit, 'options.title');\n const state = get(visit, 'options.state');\n const formattedState = getParenthesisItem(joinCompact([state?.name, state?.code]));\n\n return joinCompact([getSlugLabel(visit.slug), joinCompact([title, formattedState], ' ')], ' | ');\n};\n\nconst getLegislatorSubtitle = (visit: Result) => (visit.subTitle);\n\nconst getLabelWithStateCode = (visit: Result) => {\n if (!visit.stateCode) {\n return visit.slugLabel;\n }\n\n return `${visit.slugLabel} - ${visit.stateCode}`;\n};\n\nexport const getSubtitle = (visit: Result) => {\n const { [visit.slug]: getResultTitle = () => (\n joinCompact([getSlugLabel(visit.slug), visit.state], ' - ')\n ) } = {\n state_executive: getExecutiveSubtitle,\n federal_executive: getExecutiveSubtitle,\n local_executive: getExecutiveSubtitle,\n state_legislation_legislators: getLegislatorSubtitle,\n federal_legislators: getLegislatorSubtitle,\n state_legislation_bills: getLabelWithStateCode,\n state_legislation_regulations: getLabelWithStateCode,\n };\n\n return getResultTitle(visit);\n};\n","import React from 'react';\n\nimport { Result } from 'components/UnifiedSearch/types';\n\nimport { getSubtitle } from './helpers';\n\nconst Subtitle = ({ recentVisit }: { recentVisit: Result }) => (\n
    \n {getSubtitle(recentVisit)}\n
    \n);\n\nexport default Subtitle;\n","import React, { FC, KeyboardEvent, MouseEvent } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '../../styles.module.scss';\n\ntype ActionIconsProps = {\n onRemove: () => void;\n isMobile?: boolean;\n};\n\nconst ActionIcons: FC = ({ onRemove, isMobile }) => {\n const handleRemove = (event: MouseEvent | KeyboardEvent) => {\n event.stopPropagation();\n onRemove();\n };\n\n return (\n <>\n \n {!isMobile && }\n \n );\n};\n\nexport default ActionIcons;\n","import React, { FC } from 'react';\n\nimport { RecentVisit } from 'components/UnifiedSearch/types';\n\nimport Icon from './components/Icon';\nimport Title from './components/Title';\nimport Subtitle from './components/Subtitle';\nimport ActionIcons from './components/ActionIcons';\nimport styles from './styles.module.scss';\n\ntype RecentCardProps = {\n recentVisit: RecentVisit,\n isMobile?: boolean,\n onRemoveRecentVisit: (id: number) => void\n};\n\nconst RecentCard: FC = ({\n recentVisit,\n isMobile,\n onRemoveRecentVisit,\n}) => {\n const handleOpenRecent = () => {\n window.location.href = recentVisit.payload.url as string;\n };\n\n const removeRecentVisit = () => {\n onRemoveRecentVisit(recentVisit.id);\n };\n\n return (\n \n
    \n \n
    \n \n <Subtitle recentVisit={recentVisit.payload} />\n </div>\n </div>\n <div className={styles.icons}>\n <ActionIcons\n onRemove={() => removeRecentVisit()}\n isMobile={isMobile}\n />\n </div>\n </div>\n );\n};\n\nexport default RecentCard;\n","import React from 'react';\n\nimport { TextPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './styles.module.scss';\n\nconst VisitPlaceholder = () => (\n <div className={styles.recentVisits}>\n <TextPlaceholder className={styles.document} />\n <div className={styles.recentVisitsTextWrapper}>\n <TextPlaceholder />\n <TextPlaceholder className={styles.subText} />\n </div>\n </div>\n);\n\nconst VisitsPlaceholder = () => (\n <>\n <VisitPlaceholder />\n <VisitPlaceholder />\n <VisitPlaceholder />\n </>\n);\n\nexport default VisitsPlaceholder;\n","import React, { FC } from 'react';\n\nimport Placeholder from 'components/GlobalSearch/components/RecentVisits/Placeholder';\nimport { RecentVisits as RecentVisitsType } from 'components/UnifiedSearch/types';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport RecentCard from './components/RecentCard';\nimport VisitsPlaceholder from './components/VisitsPlaceholder';\nimport styles from './styles.module.scss';\n\ntype RecentVisitsProps = {\n recentVisits: RecentVisitsType\n};\n\nconst RecentVisits: FC<RecentVisitsProps> = ({ recentVisits }) => {\n const { isMobile } = useMediaQuery();\n const isLoading = recentVisits.status === 'loading';\n const isError = recentVisits.status === 'error';\n const isIdle = recentVisits.status === 'idle';\n const isEmpty = isIdle && !recentVisits.recentVisits?.length;\n const showClearAll = isIdle && !isEmpty;\n\n const renderVisits = () => {\n if (isLoading) {\n return <VisitsPlaceholder />;\n }\n\n if (isError || isEmpty) {\n return (\n <Placeholder\n className={styles.noRecentVisits}\n isRecentVisitsError={isError}\n />\n );\n }\n return (\n <>\n {[...recentVisits?.recentVisits].map(visit => (\n <RecentCard\n key={visit.payload.key}\n recentVisit={visit}\n onRemoveRecentVisit={recentVisits.clear}\n isMobile={isMobile}\n />\n ))}\n </>\n );\n };\n\n return (\n <div className={styles.recentVisits}>\n <div className={styles.header}>\n <div className={styles.title}>RECENT VISITS</div>\n {showClearAll && (\n <button className={styles.clearBtn} type=\"button\" onClick={recentVisits.clearAll}>\n Clear all\n </button>\n )}\n </div>\n {renderVisits()}\n </div>\n );\n};\n\nexport default RecentVisits;\n","import React from 'react';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { isExternal } from 'utils/url';\nimport { trackQuickLinksResults } from 'utils/tracking/globalSearch';\nimport Link from 'components/core/Link';\nimport { Link as LinkType } from 'components/UnifiedSearch/types';\n\nimport styles from './styles.module.scss';\n\nconst QuickLinks = () => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const quickLinks = gon.quick_links;\n\n if (isEmpty(quickLinks)) return null;\n\n const renderQuickLink = ({ label, url }: LinkType) => (\n <Link\n href={url}\n theme=\"default\"\n className={styles.link}\n key={url}\n isExternal={isExternal(url)}\n onClick={() => trackQuickLinksResults(label, url, quickLinks.length)}\n size={undefined}\n customIcon={undefined}\n rightIcon={undefined}\n isRouterLink={undefined}\n displayExternalIcon={undefined}\n iconClassName={undefined}\n disabled={undefined}\n >\n {label}\n </Link>\n );\n\n return (\n <div className={styles.quickLinks}>\n <div className={styles.title}>QUICK LINKS</div>\n {quickLinks.map(renderQuickLink)}\n </div>\n );\n};\n\nexport default QuickLinks;\n","import React from 'react';\n\nimport { RecentVisits as RecentVisitsType } from '../../types';\nimport RecentVisits from './components/RecentVisits';\nimport QuickLinks from './components/QuickLinks';\nimport styles from './styles.module.scss';\n\ntype LobbyProps = {\n recentVisits: RecentVisitsType;\n};\n\nconst Lobby = ({ recentVisits }: LobbyProps) => (\n <div className={styles.lobby}>\n <div className={styles.recentVisits}>\n <RecentVisits recentVisits={recentVisits} />\n </div>\n <div className={styles.quickLinks}>\n <QuickLinks />\n </div>\n </div>\n);\n\nexport default Lobby;\n","import React from 'react';\n\nimport styles from './styles.module.scss';\n\nconst Loading = () => (\n <div className={styles.loadingWrapper}>\n <img src=\"/images/loading_search.gif\" className={styles.loadingImage} alt=\"loading...\" />\n </div>\n);\n\nexport default Loading;\n","import React, { FC } from 'react';\n\nimport ErrorTemplate from 'components/Errors/ErrorTemplate';\n\nimport { Category } from '../../../types';\nimport { FILTER_OPTIONS } from '../../../utils/constants';\nimport styles from './styles.module.scss';\n\ntype NotFoundProps = {\n searchQuery: string; category: Category;\n};\n\nconst getCategoryLabel = (category: Category) => {\n if (category === 'all') return '';\n\n const categoryOption = FILTER_OPTIONS.find(({ value }) => value === category);\n\n if (!categoryOption) return '';\n\n return categoryOption.label;\n};\n\nconst NotFound: FC<NotFoundProps> = ({ searchQuery, category }) => {\n const categoryLabel = getCategoryLabel(category);\n\n const text = (\n <>\n There are no matches for\n <span className={styles.searchText}>\n {' '}\n “\n {searchQuery}\n ”\n </span>\n {!!categoryLabel && (\n <span>\n {' '}\n in\n {' '}\n {categoryLabel}\n </span>\n )}\n </>\n );\n\n return (\n <ErrorTemplate\n src=\"/images/no-results.svg\"\n alt=\"No Results\"\n text={text}\n subText=\"Try typing something else or changing your filter criteria\"\n />\n );\n};\n\nexport default NotFound;\n","import React from 'react';\n\nimport ErrorTemplate from 'components/Errors/ErrorTemplate';\n\nconst ServerError = () => (\n <ErrorTemplate\n src=\"/images/error.svg\"\n alt=\"Server error\"\n text=\"Something went wrong...\"\n subText=\"The data you requested encountered an issue. Please try again.\"\n />\n);\n\nexport default ServerError;\n","import { useEffect, useState, useRef } from 'react';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nconst useIsBackToTopVisible = () => {\n const MIN_DISTANCE_TO_SHOW_BACK_TO_TOP_BUTTON = 400;\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [isBackToTopVisible, setIsBackToTopVisible] = useState(false);\n const { isMobile } = useMediaQuery();\n\n const handleIsVisible = () => {\n if (containerRef.current) {\n const distanceToTop = containerRef.current.scrollTop || 0;\n setIsBackToTopVisible(distanceToTop > MIN_DISTANCE_TO_SHOW_BACK_TO_TOP_BUTTON);\n }\n };\n\n useEffect(() => {\n if (isMobile) return undefined;\n\n document.addEventListener('scroll', handleIsVisible, true);\n\n return () => document.removeEventListener('scroll', handleIsVisible, true);\n }, []);\n\n return {\n isBackToTopVisible,\n containerRef,\n };\n};\n\nexport default useIsBackToTopVisible;\n","import { flatMap, groupBy } from 'lodash';\n\nimport { Result, Slug } from '../types';\nimport { getRecordType, getSlug } from '../useSearch/helpers';\nimport { ApiResponse, SearchForm, TagsByRecord } from './types';\n\nconst buildRequestData = (results: Result[]): SearchForm => {\n const groupedResults = groupBy(results, 'slug');\n\n return {\n search_form: Object.entries(groupedResults)\n .map(([slug, tagResults]) => ({\n record_type: getRecordType(slug as Slug),\n record_ids: tagResults.map(result => result.id),\n }))\n .filter(({ record_type }) => record_type !== null),\n };\n};\n\nconst buildResponse = (apiResponse: ApiResponse): TagsByRecord[] => flatMap(apiResponse.data, ((\n {\n record_type,\n record_tags,\n },\n) => (\n record_tags.map(({ record_id, tags }) => {\n const tagsByRecord: TagsByRecord = {\n tags,\n resultId: record_id,\n resultSlug: getSlug(record_type),\n };\n\n return tagsByRecord;\n })\n)));\n\nexport default {\n buildRequestData,\n buildResponse,\n};\n","import { isEmpty } from 'lodash';\nimport { Result } from '../types';\nimport { ApiResponse, TagsByRecord } from './types';\nimport factories from './factories';\n\nconst fetchTags = async (results: Result[]): Promise<TagsByRecord[]> => {\n if (isEmpty(results)) return [];\n\n const apiResponse: ApiResponse = await $.ajax({\n method: 'POST',\n url: '/api_web/tags/lookup',\n data: JSON.stringify(factories.buildRequestData(results)),\n contentType: 'application/json',\n });\n\n return factories.buildResponse(apiResponse);\n};\n\nexport default {\n fetchTags,\n};\n","import { useEffect, useState } from 'react';\nimport { map } from 'lodash';\n\nimport useMountedRef from 'utils/useMountedRef';\n\nimport { Result, Tag } from '../types';\nimport { TagsByRecord } from './types';\nimport api from './api';\n\ntype UseTags = (results: Result[]) => {\n getTags: (result: Result) => Tag[];\n updateTags: (result: Result, tags: Tag[]) => void;\n};\n\nconst useTags: UseTags = (results) => {\n const isMounted = useMountedRef();\n const [tags, setTags] = useState<TagsByRecord[]>([]);\n\n const getTags = (result: Result) => {\n const resultTags = tags.find(\n tag => tag.resultId === result.id && tag.resultSlug === result.slug,\n );\n\n if (resultTags) {\n return resultTags.tags;\n }\n\n return [];\n };\n\n const fetchTags = async () => {\n const newTags = await api.fetchTags(results);\n\n if (!isMounted) return;\n\n setTags(newTags);\n };\n\n const updateTags = (result: Result, newTags: Tag[]) => {\n const updatedTags = tags.map((tag) => {\n if (tag.resultId === result.id && tag.resultSlug === result.slug) {\n return {\n ...tag,\n tags: newTags,\n };\n }\n\n return tag;\n });\n\n setTags(updatedTags);\n };\n\n useEffect(() => {\n fetchTags();\n }, [JSON.stringify(map(results, 'key'))]);\n\n return {\n getTags,\n updateTags,\n };\n};\n\nexport default useTags;\n","import { flatMap, groupBy, isEmpty } from 'lodash';\n\nimport { getRecordType, getSlug } from '../useSearch/helpers';\nimport { Result, Slug, TagRecordType } from '../types';\nimport { ApiResponse, PositionByRecord, SearchForm } from './types';\n\nconst resultSlugsWithPosition: Slug[] = [\n 'federal_bills',\n 'state_legislation_regulations',\n 'federal_register_regulations',\n 'state_legislation_regulations',\n];\n\nconst buildRequestData = (results: Result[]): SearchForm | null => {\n const filteredResults = results.filter(({ slug }) => resultSlugsWithPosition.includes(slug));\n\n if (isEmpty(filteredResults)) return null;\n\n const groupedResults = groupBy(filteredResults, 'slug');\n\n return {\n search_form: Object.entries(groupedResults)\n .map(([slug, positionResults]) => ({\n record_type: getRecordType(slug as Slug) as TagRecordType,\n record_ids: positionResults.map(result => result.id),\n }))\n .filter(({ record_type }) => record_type !== null),\n };\n};\n\nconst buildResponse = (\n apiResponse: ApiResponse,\n): PositionByRecord[] => flatMap(apiResponse.data, (({ record_type, user_positions }) => (\n user_positions.map(({ record_id, position_type }) => {\n const positionByRecord: PositionByRecord = {\n position: position_type,\n resultId: record_id,\n resultSlug: getSlug(record_type),\n };\n\n return positionByRecord;\n })\n)));\n\nexport default {\n buildRequestData,\n buildResponse,\n};\n","import { isEmpty } from 'lodash';\nimport { Result } from '../types';\nimport { ApiResponse, PositionByRecord } from './types';\nimport factories from './factories';\n\nconst fetchPositions = async (results: Result[]): Promise<PositionByRecord[]> => {\n if (isEmpty(results)) return [];\n\n const requestData = factories.buildRequestData(results);\n\n if (!requestData) return [];\n\n const apiResponse: ApiResponse = await $.ajax({\n method: 'POST',\n url: '/api_web/user_positions/lookup',\n data: JSON.stringify(requestData),\n contentType: 'application/json',\n });\n\n return factories.buildResponse(apiResponse);\n};\n\nexport default {\n fetchPositions,\n};\n","import { useEffect, useState } from 'react';\nimport { map } from 'lodash';\n\nimport useMountedRef from 'utils/useMountedRef';\n\nimport { Position, Result } from '../types';\nimport { PositionByRecord } from './types';\nimport api from './api';\n\ntype UsePositions = (results: Result[]) => {\n getPosition: (result: Result) => Position | null;\n updatePosition: (result: Result, position: Position | null) => void;\n};\n\nconst usePositions: UsePositions = (results) => {\n const isMounted = useMountedRef();\n const [positions, setPositions] = useState<PositionByRecord[]>([]);\n\n const getPosition = (result: Result) => {\n const resultPosition = positions.find(\n position => position.resultId === result.id && position.resultSlug === result.slug,\n );\n\n if (resultPosition) {\n return resultPosition.position;\n }\n\n return null;\n };\n\n const fetchPositions = async () => {\n const userPositions = await api.fetchPositions(results);\n\n if (!isMounted) return;\n\n setPositions(userPositions);\n };\n\n const updatePosition = (result: Result, newPosition: Position | null) => {\n const updatedPositions = positions.map((position) => {\n if (position.resultId === result.id && position.resultSlug === result.slug) {\n return {\n ...position,\n position: newPosition,\n };\n }\n\n return position;\n });\n\n setPositions(updatedPositions);\n };\n\n useEffect(() => {\n fetchPositions();\n }, [JSON.stringify(map(results, 'key'))]);\n\n return {\n getPosition,\n updatePosition,\n };\n};\n\nexport default usePositions;\n","import { flatMap, groupBy, map, isEmpty } from 'lodash';\n\nimport { TRACKABLE_SLUGS } from 'components/UnifiedSearch/utils/constants';\n\nimport { getSlug } from '../useSearch/helpers';\nimport { getTrackableRecordType } from './helpers';\nimport { Result, Slug, Tracking } from '../types';\nimport {\n ApiResponse,\n ApiSubscription,\n SearchForm,\n TrackingsByRecord,\n SearchFormElement,\n} from './types';\n\nconst buildRequestData = (results: Result[]): SearchForm | null => {\n const groupedResults: { [key in Slug]?: Result[] } = groupBy(results, 'slug');\n\n const getSearchFormElement = (\n groups: SearchFormElement[],\n [slug, trackingResults]: [string, Result[]],\n ): SearchFormElement[] => {\n if (!TRACKABLE_SLUGS.includes(slug as Slug)) {\n return groups;\n }\n\n const recordIds = map(trackingResults, 'id');\n\n // Federal and State committees tracking is split into staffer and hearing\n if (slug === 'federal_committees') {\n return [\n ...groups,\n { record_type: 'federal_committee_staffer', record_ids: recordIds },\n { record_type: 'federal_committee_hearing', record_ids: recordIds },\n ];\n }\n\n if (slug === 'state_legislation_committees') {\n return [\n ...groups,\n { record_type: 'state_committee_staffer', record_ids: recordIds },\n { record_type: 'state_committee_hearing', record_ids: recordIds },\n ];\n }\n\n const recordType = getTrackableRecordType(slug as Slug);\n\n if (recordType) {\n return [...groups, { record_type: recordType, record_ids: recordIds }];\n }\n\n return groups;\n };\n\n const searchForm = Object.entries(groupedResults)\n .reduce(getSearchFormElement, []);\n\n if (isEmpty(searchForm)) return null;\n\n return {\n search_form: searchForm,\n };\n};\n\nconst buildTracking = (apiSubscription: ApiSubscription): Tracking => ({\n feed: {\n name: apiSubscription.feed.name,\n token: apiSubscription.feed.token,\n },\n subscription: {\n id: apiSubscription.subscription.id,\n token: apiSubscription.subscription.token,\n frequency: apiSubscription.subscription.frequency,\n isSaved: apiSubscription.subscription.is_saved,\n priority: apiSubscription.subscription.priority,\n title: apiSubscription.subscription.title,\n subscribableData: apiSubscription.subscription.subscribable_data,\n subscribableType: apiSubscription.subscription.subscribable_type,\n isDisabled: apiSubscription.subscription.is_disabled,\n isTracking: true,\n },\n});\n\nconst buildResponse = (apiResponse: ApiResponse): TrackingsByRecord[] => flatMap(\n apiResponse.data, ({ subscriptions, record_type }) => {\n const groupedSubscriptions = groupBy(subscriptions, 'record_id');\n\n return Object.entries(groupedSubscriptions)\n .map(([record_id, trackingSubscriptions]) => ({\n resultId: record_id,\n resultSlug: getSlug(record_type),\n trackings: map(trackingSubscriptions, buildTracking),\n }));\n },\n);\n\nexport default {\n buildRequestData,\n buildResponse,\n};\n","import { Slug, TrackableRecordType } from '../types';\n\ntype TrackableMapper = {\n [key in Slug]?: TrackableRecordType\n};\n\nexport const getTrackableRecordType = (slug: Slug): TrackableRecordType | undefined => {\n const trackableMapper: TrackableMapper = {\n federal_bills: 'federal_bill',\n federal_register_regulations: 'federal_register_regulation',\n federal_legislators: 'federal_legislator_staffer',\n state_legislation_bills: 'state_bill',\n state_legislation_regulations: 'state_regulation',\n state_legislation_legislators: 'state_legislator_staffer',\n };\n\n return trackableMapper[slug];\n};\n","import { isEmpty } from 'lodash';\nimport { Result } from '../types';\nimport { ApiResponse, TrackingsByRecord } from './types';\nimport factories from './factories';\n\nconst fetchTrackings = async (results: Result[]): Promise<TrackingsByRecord[]> => {\n if (isEmpty(results)) return [];\n\n const requestData = factories.buildRequestData(results);\n\n if (!requestData) return [];\n\n const apiResponse: ApiResponse = await $.ajax({\n method: 'POST',\n url: '/api_web/discovery/feeds/subscriptions/trackings/lookup',\n data: JSON.stringify(requestData),\n contentType: 'application/json',\n });\n\n return factories.buildResponse(apiResponse);\n};\n\nexport default {\n fetchTrackings,\n};\n","import { useEffect, useState } from 'react';\nimport { map } from 'lodash';\n\nimport useMountedRef from 'utils/useMountedRef';\n\nimport { Result, Tracking } from '../types';\nimport { TrackingsByRecord } from './types';\nimport api from './api';\n\ntype UseTrackings = (results: Result[]) => {\n getTrackings: (result: Result) => Tracking[];\n updateTrackings: (result: Result, trackings: Tracking[]) => void;\n};\n\nconst useTrackings: UseTrackings = (results) => {\n const isMounted = useMountedRef();\n const [trackings, setTrackings] = useState<TrackingsByRecord[]>([]);\n\n const getTrackings = (result: Result) => {\n const resultTrackings = trackings.find(\n tracking => tracking.resultId === result.id && tracking.resultSlug === result.slug,\n );\n\n if (resultTrackings) {\n return resultTrackings.trackings;\n }\n\n return [];\n };\n\n const fetchTrackings = async () => {\n const newTrackings = await api.fetchTrackings(results);\n\n if (!isMounted) return;\n\n setTrackings(newTrackings);\n };\n\n const updateTrackings = (result: Result, newTrackings: Tracking[]) => {\n const updatedTrackings = trackings.map((tracking) => {\n if (tracking.resultId === result.id && tracking.resultSlug === result.slug) {\n return {\n ...tracking,\n trackings: newTrackings,\n };\n }\n\n return tracking;\n });\n\n setTrackings(updatedTrackings);\n };\n\n useEffect(() => {\n fetchTrackings();\n }, [JSON.stringify(map(results, 'key'))]);\n\n return {\n getTrackings,\n updateTrackings,\n };\n};\n\nexport default useTrackings;\n","import { Region, Slug } from 'components/UnifiedSearch/types';\n\nexport const REGION_SLUGS: { [key in Region]?: Slug[] } = {\n federal: [\n 'federal_legislators',\n 'rolodex',\n 'federal_executive',\n 'federal_bills',\n 'federal_register_regulations',\n 'federal_committees',\n 'doctrove_agency_press_releases',\n 'cbo_gov',\n 'committee_reports',\n 'press_releases',\n 'congressional_record',\n 'fbo_gov',\n 'doctrove_crs',\n 'doctrove_dear_colleague_letters',\n 'doctrove_executive_orders',\n 'gao_gov',\n 'grants_gov',\n 'doctrove_live_hearing_transcripts',\n 'doctrove_hearing_transcripts',\n 'doctrove_sap',\n 'doctrove_union_statements',\n 'doctrove_third_party_reports',\n 'treaties',\n 'doctrove_press_briefings',\n ],\n state: [\n 'state_legislation_legislators',\n 'state_legislation_staffers',\n 'state_executive',\n 'local_executive',\n 'stakeholder_mgmt_stakeholders',\n 'state_legislation_bills',\n 'state_legislation_regulations',\n 'state_legislation_committees',\n 'doctrove_governor_orders',\n 'doctrove_governor_press_releases',\n 'townintel',\n ],\n local: [\n 'local_executive',\n 'stakeholder_mgmt_stakeholders',\n 'townintel',\n ],\n};\n","import {\n AdvancedOptions,\n Category,\n Filters,\n Slug,\n} from 'components/UnifiedSearch/types';\nimport * as featureSlugs from 'utils/constants/featureSlugs';\nimport {\n peopleSlugs,\n legislationAndRegulationSlugs,\n committeesSlugs,\n documentsSlugs,\n} from 'components/UnifiedSearch/utils/constants';\n\nimport { REGION_SLUGS } from './constants';\n\ntype Unit = 'hour' | 'day' | 'month' | 'year';\ntype CategorySlugs = {\n [key in Category]: Slug[];\n};\ntype FilterSlugsProps = {\n filters?: Filters,\n advancedOptions: AdvancedOptions,\n slugs: Slug[],\n};\n\nexport const subtractTime = (unit: Unit, time: number, date: Date = new Date()) => {\n const { [unit]: setTime }: { [key in Unit]: () => void } = {\n hour: () => date.setHours(date.getHours() - time),\n day: () => date.setDate(date.getDate() - time),\n month: () => date.setMonth(date.getMonth() - time),\n year: () => date.setFullYear(date.getFullYear() - time),\n };\n setTime();\n\n return date;\n};\n\nconst categorySlugs: CategorySlugs = {\n people: peopleSlugs,\n 'legislation & regulation': legislationAndRegulationSlugs,\n committees: committeesSlugs,\n documents: documentsSlugs,\n all: [...peopleSlugs, ...legislationAndRegulationSlugs, ...committeesSlugs, ...documentsSlugs],\n};\n\nconst getDefaultSlugs = (filters: Filters): Slug[] => categorySlugs[filters.value];\n\nconst filterSlugsByRegion = ({ advancedOptions, slugs }: FilterSlugsProps) => {\n const { region } = advancedOptions.values;\n\n if (region === 'all') return slugs;\n\n return slugs.filter(slug => REGION_SLUGS[region]?.includes(slug));\n};\n\nconst filterSlugsByCollections = ({ filters, advancedOptions, slugs }: FilterSlugsProps) => {\n const collectionSlugs: Slug[] = [];\n const { collections } = advancedOptions.values;\n\n if (collections.includes('all')) {\n return slugs;\n }\n\n const addSlugs = {\n all: () => filters && getDefaultSlugs(filters),\n federalLegislators: () => collectionSlugs.push(featureSlugs.FEDERAL_LEGISLATORS_SLUG),\n stateLegislators: () => collectionSlugs.push(featureSlugs.STATE_LEGISLATORS_SLUG),\n congressionalStaffers: () => collectionSlugs.push(featureSlugs.CONGRESSIONAL_STAFFERS_SLUG),\n stateStaffers: () => collectionSlugs.push(featureSlugs.STATE_STAFFERS_SLUG),\n stateExecutives: () => collectionSlugs.push(featureSlugs.STATE_EXECUTIVE_SLUG),\n federalExecutives: () => collectionSlugs.push(featureSlugs.FEDERAL_EXECUTIVE_SLUG),\n stakeholder: () => collectionSlugs.push(featureSlugs.STAKEHOLDER_SLUG),\n federalBills: () => collectionSlugs.push(featureSlugs.FEDERAL_BILLS_SLUG),\n stateBills: () => collectionSlugs.push(featureSlugs.STATE_BILLS_SLUG),\n federalRegulations: () => collectionSlugs.push(featureSlugs.FEDERAL_REGULATIONS_SLUG),\n stateRegulations: () => collectionSlugs.push(featureSlugs.STATE_REGULATIONS_SLUG),\n federalCommittees: () => collectionSlugs.push(featureSlugs.FEDERAL_COMMITTEE_SLUG),\n stateCommittees: () => collectionSlugs.push(featureSlugs.STATE_COMMITTEE_SLUG),\n federalDocuments: () => collectionSlugs.push(...featureSlugs.FEDERAL_DOCUMENTS as Slug[]),\n stateDocuments: () => collectionSlugs.push(\n featureSlugs.GOVERNOR_ORDERS_SLUG,\n featureSlugs.GOVERNOR_PRESS_RELEASES_SLUG,\n ),\n localExecutives: () => collectionSlugs.push(featureSlugs.LOCAL_EXECUTIVE_SLUG),\n localDocuments: () => collectionSlugs.push(featureSlugs.LD2_REPORTS),\n };\n\n collections.forEach((collection) => {\n addSlugs[collection]();\n });\n\n return slugs.filter(slug => collectionSlugs.includes(slug));\n};\n\nexport const getSearchSlugs = (advancedOptions: AdvancedOptions, filters: Filters): Slug[] => {\n let slugs = getDefaultSlugs(filters);\n\n slugs = filterSlugsByRegion({ advancedOptions, slugs });\n slugs = filterSlugsByCollections({ filters, advancedOptions, slugs });\n\n return slugs;\n};\n","import { Filters, AdvancedOptions } from 'components/UnifiedSearch/types';\n\nimport { RequestParams } from '../types';\nimport { getSearchSlugs, subtractTime } from './helpers';\n\ntype PeriodRange = { from_date?: Date, to_date?: Date };\n\nconst getVerbatimParams = (advancedOptions: AdvancedOptions) => (\n advancedOptions.values.verbatim === 'verbatim' ? { is_verbatim: true } : {}\n);\n\nconst getUTCDate = (date?: Date, hour = 0, minute = 0, second = 0) => (\n date && new Date(Date.UTC(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n hour,\n minute,\n second,\n ))\n);\n\nconst getPeriodParams = (advancedOptions: AdvancedOptions, filters: Filters): PeriodRange => {\n const isDisabled = filters.value === 'committees' || filters.value === 'people';\n\n if (isDisabled) return {};\n\n if (advancedOptions.values.period === 'custom') {\n return {\n from_date: getUTCDate(advancedOptions.values.customPeriod?.from),\n to_date: getUTCDate(advancedOptions.values.customPeriod?.to, 23, 59, 59),\n };\n }\n\n const toDate = new Date();\n const { [advancedOptions.values.period]: periodRange } = {\n any: {},\n hour: { from_date: subtractTime('hour', 1), to_date: toDate },\n day: { from_date: subtractTime('day', 1), to_date: toDate },\n week: { from_date: subtractTime('day', 7), to_date: toDate },\n month: { from_date: subtractTime('month', 1), to_date: toDate },\n year: { from_date: subtractTime('year', 1), to_date: toDate },\n };\n\n return periodRange;\n};\n\nconst getRegionParams = (advancedOptions: AdvancedOptions) => {\n const { region, customRegions } = advancedOptions.values;\n\n const customRegionsParam = customRegions\n .filter(customRegion => customRegion.value !== 'all')\n .map(customRegion => customRegion.value);\n\n if (region === 'state') {\n return { state_codes: customRegionsParam };\n }\n\n if (region === 'local') {\n return { locale_names: customRegionsParam };\n }\n\n return {};\n};\n\nconst getAdvancedOptions = (advancedOptions: AdvancedOptions, filters: Filters) => ({\n ...getPeriodParams(advancedOptions, filters),\n ...getVerbatimParams(advancedOptions),\n ...getRegionParams(advancedOptions),\n});\n\nexport const buildARequestData = (params: RequestParams) => (\n JSON.stringify({\n search: {\n ...getAdvancedOptions(params.advancedOptions, params.filters),\n query: params.searchQuery,\n search_slugs: getSearchSlugs(params.advancedOptions, params.filters),\n page: params.page,\n },\n })\n);\n","import { get, join } from 'lodash';\n\nimport { ApiResult } from '../../types';\nimport { getSlugLabel } from '../../helpers';\nimport { ResultFactory } from '../types';\n\nexport const getHighlightedFields = (result: ApiResult) => (\n result?.options?.highlighted_fields\n);\n\nconst getBaseResult: ResultFactory = (apiResult: ApiResult) => {\n const title = apiResult.label;\n\n const subTitle = getSlugLabel(apiResult.slug);\n\n const description = get(apiResult, 'options.snippet');\n\n const onClick = (event: MouseEvent) => {\n event.preventDefault();\n // TODO add tracking event\n\n return true;\n };\n const slugLabel = getSlugLabel(apiResult.slug);\n\n return {\n id: apiResult.id,\n slug: apiResult.slug,\n key: join([apiResult.id, apiResult.slug], '-'),\n title,\n subTitle,\n onClick,\n description,\n slugLabel,\n url: apiResult.url,\n };\n};\n\nexport default getBaseResult;\n","import { get } from 'lodash';\n\nimport { getParenthesisItem, joinCompact } from 'utils/string';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/federalRegulations';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const documentType = get(apiResult, 'options.display_type');\n\n const typeHighlight = highlights.documentType || documentType;\n\n const introduced = get(apiResult, 'options.publication_date');\n\n const subTitle = () => (\n joinCompact([\n baseResult.slugLabel,\n documentType,\n introduced,\n ], ' - ')\n );\n\n const getSubtitleHighlight = () => (\n joinCompact([\n baseResult.slugLabel,\n typeHighlight,\n introduced,\n ], ' - ')\n );\n\n const agencyName = get(apiResult, 'options.agencies[0].name');\n const docketNumber = get(apiResult, 'options.docket.id');\n const closesDate = get(apiResult, 'options.comments_close_at');\n const commentClosePeriod = closesDate && `Comment period closes ${closesDate}.`;\n const docketNumberFormatted = getParenthesisItem(docketNumber);\n\n const getDescription = () => {\n const agencyInfo = joinCompact([\n documentType,\n agencyName && `from the ${agencyName}`,\n docketNumberFormatted,\n ], ' ');\n\n return joinCompact([agencyInfo, commentClosePeriod], '. ');\n };\n\n const getDescriptionHighlight = () => {\n const agencyInfo = joinCompact([\n typeHighlight,\n agencyName && `from the ${agencyName}`,\n docketNumberFormatted,\n ], ' ');\n\n return joinCompact([agencyInfo, commentClosePeriod], '. ');\n };\n\n return {\n ...baseResult,\n description: getDescription(),\n descriptionHighlight: getDescriptionHighlight(),\n subTitle: subTitle(),\n subtitleHighlight: getSubtitleHighlight(),\n title: get(apiResult, 'options.title'),\n titleHighlight: highlights.title,\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n documentType?: HighlightedString,\n title?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [documentType] = get(highlightedFields, 'display_type', []);\n const [title] = get(highlightedFields, 'title', []);\n\n return { documentType, title };\n};\n","import { get, capitalize } from 'lodash';\n\nimport { getParenthesisItem, joinCompact } from 'utils/string';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/stateRegulations';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const documentType = get(apiResult, 'options.document_type');\n const introduced = get(apiResult, 'options.first_published_date');\n const state = get(apiResult, 'options.state.alpha2');\n\n const documentTypeCapitalized = capitalize(documentType);\n const billType = joinCompact([documentTypeCapitalized, introduced], ' - ');\n\n const subTitle = () => (\n joinCompact([\n baseResult.slugLabel,\n getParenthesisItem(state),\n ' - ',\n billType,\n ], ' ')\n );\n\n const getSubtitleHighlight = () => (\n joinCompact([\n baseResult.slugLabel,\n getParenthesisItem(highlights.state || state),\n ' - ',\n billType,\n ], ' ')\n );\n\n const agencyTitle = get(apiResult, 'options.agencies[0].title');\n const closesDate = get(apiResult, 'options.comments_closed');\n\n const getDescription = () => (\n joinCompact([\n documentTypeCapitalized,\n agencyTitle && `from the ${agencyTitle}.`,\n closesDate && `Comment period closes ${closesDate}.`,\n ], ' ')\n );\n\n const getDescriptionHighlight = () => {\n if (highlights.text) return highlights.text;\n\n const agency = highlights.agencyTitle || agencyTitle;\n\n return joinCompact([\n documentTypeCapitalized,\n agency && `from the ${agency}.`,\n closesDate && `Comment period closes ${closesDate}.`,\n ], ' ');\n };\n\n return {\n ...baseResult,\n stateCode: get(apiResult, 'options.state.alpha2'),\n description: getDescription(),\n descriptionHighlight: getDescriptionHighlight(),\n subTitle: subTitle(),\n subtitleHighlight: getSubtitleHighlight(),\n title: get(apiResult, 'options.title'),\n titleHighlight: highlights.title,\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n state?: HighlightedString,\n title?: HighlightedString,\n agencyTitle?: HighlightedString,\n text?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [state] = get(highlightedFields, 'state.alpha2', []);\n const [title] = get(highlightedFields, 'title', []);\n const [agencyTitle] = get(highlightedFields, 'agencies.title', []);\n const [text] = get(highlightedFields, 'regulation_documents.text', []);\n\n return { state, title, agencyTitle, text };\n};\n","import { filter, get } from 'lodash';\n\nimport { joinCompact } from 'utils/string';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/federalBill';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const getSubTitle = () => {\n const status = get(apiResult, 'options.status_full');\n\n return filter([\n baseResult.slugLabel,\n status,\n ]).join(' - ');\n };\n\n const displayId = get(apiResult, 'options.display_id');\n const displayTitle = get(apiResult, 'options.display_title');\n\n const getTitle = () => joinCompact([displayId, displayTitle], ': ');\n\n const getTitleHighlight = () => (\n joinCompact([\n highlights.displayId || displayId,\n highlights.officialTitle || displayTitle,\n ], ': ')\n );\n\n return {\n ...baseResult,\n description: displayTitle,\n descriptionHighlight: highlights.officialTitle || highlights.text || displayTitle,\n subTitle: getSubTitle(),\n title: getTitle(),\n titleHighlight: getTitleHighlight(),\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n displayId?: HighlightedString,\n officialTitle?: HighlightedString,\n text?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [displayId] = get(highlightedFields, 'display_id', []);\n const [officialTitle] = get(highlightedFields, 'official_title', []);\n const [text] = get(highlightedFields, 'text_versions.text', []);\n\n return { displayId, officialTitle, text };\n};\n","import { filter, get } from 'lodash';\n\nimport { getParenthesisItem, joinCompact } from 'utils/string';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/stateBill';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const status = get(apiResult, 'options.status_type');\n const session = get(apiResult, 'options.session.name');\n const stateAlpha = get(apiResult, 'options.state.alpha2');\n\n const subTitle = () => {\n const billSlug = filter([\n baseResult.slugLabel,\n stateAlpha && `${(stateAlpha)}`,\n ]).join(' ');\n\n return filter([billSlug, status, session]).join(' - ');\n };\n\n const getSubtitleHighlight = () => {\n const subtitleStateAlpha = highlights.stateAlpha || stateAlpha;\n const subtitleSession = highlights.sessionName || session;\n\n const billSlug = joinCompact([\n baseResult.slugLabel,\n getParenthesisItem(subtitleStateAlpha),\n ], ' ');\n\n return joinCompact([billSlug, status, subtitleSession], ' - ');\n };\n\n const stateName = get(apiResult, 'options.state.name');\n const title = get(apiResult, 'options.title');\n const billNumber = get(apiResult, 'options.bill_number');\n const formattedBillNumber = `${billNumber}:`;\n\n const getTitle = () => (\n joinCompact([stateName, formattedBillNumber, title], ' ')\n );\n\n const getTitleHighlight = () => {\n const titleStateName = highlights.stateName || stateName;\n const titleBillNumber = highlights.billNumber\n ? `${highlights.billNumber}:`\n : formattedBillNumber;\n\n return joinCompact([titleStateName, titleBillNumber, highlights.title || title], ' ');\n };\n\n return {\n ...baseResult,\n description: get(apiResult, 'options.description'),\n descriptionHighlight: highlights.description,\n stateCode: get(apiResult, 'options.state.alpha2'),\n subTitle: subTitle(),\n subtitleHighlight: getSubtitleHighlight(),\n title: getTitle(),\n titleHighlight: getTitleHighlight(),\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n sessionName?: HighlightedString,\n stateAlpha?: HighlightedString,\n stateName?: HighlightedString,\n title?: HighlightedString,\n billNumber?: HighlightedString,\n description?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [sessionName] = get(highlightedFields, 'session.name', []);\n const [stateAlpha] = get(highlightedFields, 'state.alpha2', []);\n const [stateName] = get(highlightedFields, 'state.name', []);\n const [title] = get(highlightedFields, 'title', []);\n const [billNumber] = get(highlightedFields, 'bill_number', []);\n const [description] = get(highlightedFields, 'description', []);\n const [text] = get(highlightedFields, 'text_versions.text', []);\n\n return {\n sessionName,\n stateAlpha,\n stateName,\n title,\n billNumber,\n description: description || text,\n };\n};\n","import { get } from 'lodash';\nimport { joinCompact } from 'utils/string';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/federalLegislator';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const party = get(apiResult, 'options.party_short');\n\n const subTitle = () => {\n const role = get(apiResult, 'options.full_title');\n\n return (\n joinCompact([\n baseResult.slugLabel,\n role && `United States ${role}`,\n ], ' - ')\n );\n };\n\n const getHighlightedTitle = () => {\n if (highlights.districtName) {\n const legislator = (highlights.title || apiResult.label).split('(')[0];\n\n return `${legislator} (${highlights.districtName})`;\n }\n\n return highlights.title || apiResult.label;\n };\n\n return {\n ...baseResult,\n titleHighlight: getHighlightedTitle(),\n subTitle: subTitle(),\n description: get(apiResult, 'options.full_biography'),\n descriptionHighlight: highlights.description,\n party,\n photoUrl: get(apiResult, 'options.photo_url'),\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n description?: HighlightedString,\n title?: HighlightedString,\n nickname?: HighlightedString,\n districtName?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [description] = get(highlightedFields, 'full_biography', []);\n const [universalMoniker] = get(highlightedFields, 'universal_moniker', []);\n const [nickname] = get(highlightedFields, 'nickname', []);\n const [districtName] = get(highlightedFields, 'display_district_name', []);\n\n return { description, title: universalMoniker || nickname, districtName };\n};\n","import { get, upperFirst } from 'lodash';\n\nimport { joinCompact } from 'utils/string';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/stateLegislator';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const party = get(apiResult, 'options.party_short');\n const roleCode = get(apiResult, 'options.role_code');\n const state = get(apiResult, 'options.state.name');\n\n const role = roleCode && `State ${upperFirst(roleCode)}`;\n\n const subTitle = () => (\n joinCompact([\n baseResult.slugLabel,\n joinCompact([state, role], ' '),\n ], ' - ')\n );\n\n const getSubtitleHighlight = () => (\n joinCompact([\n baseResult.slugLabel,\n joinCompact([highlights.stateName || state, role], ' '),\n ], ' - ')\n );\n\n const getHighlightedTitle = () => {\n if (highlights.districtName) {\n const legislator = (highlights.title || apiResult.label).split('(')[0];\n\n return `${legislator} (${highlights.districtName})`;\n }\n\n return highlights.title || apiResult.label;\n };\n\n return {\n ...baseResult,\n titleHighlight: getHighlightedTitle(),\n subTitle: subTitle(),\n subtitleHighlight: getSubtitleHighlight(),\n description: get(apiResult, 'options.full_biography'),\n descriptionHighlight: highlights.description,\n party,\n photoUrl: get(apiResult, 'options.photo_url'),\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n stateName?: HighlightedString,\n description?: HighlightedString,\n title?: HighlightedString,\n districtName?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [stateName] = get(highlightedFields, 'state.name', []);\n const [description] = get(highlightedFields, 'full_biography', []);\n const [title] = get(highlightedFields, 'universal_moniker', []);\n const [nickname] = get(highlightedFields, 'nickname', []);\n const [districtName] = get(highlightedFields, 'display_district_name', []);\n\n return { stateName, description, title: title || nickname, districtName };\n};\n","import { get } from 'lodash';\n\nimport { getParenthesisItem, joinCompact } from 'utils/string';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/stakeholder';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const primaryAddress = get(apiResult, 'options.primary_address');\n const stateCode = get(primaryAddress, 'state_code');\n\n const organization = get(apiResult, 'options.organization');\n const title = get(apiResult, 'options.title');\n const city = get(primaryAddress, 'city');\n\n const subTitle = () => (\n [\n joinCompact([\n baseResult.slugLabel,\n getParenthesisItem(joinCompact([city, stateCode])),\n ], ' '),\n joinCompact([\n title,\n getParenthesisItem(organization),\n ], ' '),\n ].join(' - ')\n );\n\n const getSubtitleHighlight = () => {\n const subtitleCity = highlights.city || city;\n const subtitleStateCode = highlights.stateCode || stateCode;\n\n return [\n joinCompact([\n baseResult.slugLabel,\n getParenthesisItem(joinCompact([subtitleCity, subtitleStateCode])),\n ], ' '),\n joinCompact([\n highlights.title || title,\n getParenthesisItem(highlights.organization || organization),\n ], ' '),\n ].join(' - ');\n };\n\n const phone = get(apiResult, 'options.primary_phone');\n const address = get(apiResult, 'options.address');\n const description = get(apiResult, 'options.description');\n\n const getDescription = () => (\n joinCompact([\n joinCompact([\n phone && `Phone: ${phone}`,\n address && `Address: ${address}`,\n ]),\n description,\n ], '. ')\n );\n\n const getDescriptionHighlight = () => (\n joinCompact([\n joinCompact([\n phone && `Phone: ${phone}`,\n address && `Address: ${address}`,\n ]),\n highlights.description || description,\n ], '. ')\n );\n\n return {\n ...baseResult,\n titleHighlight: highlights.fullName,\n subTitle: subTitle(),\n subtitleHighlight: getSubtitleHighlight(),\n description: getDescription(),\n descriptionHighlight: getDescriptionHighlight(),\n state: stateCode,\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n title?: HighlightedString,\n organization?: HighlightedString,\n city?: HighlightedString,\n stateCode?: HighlightedString,\n description?: HighlightedString,\n fullName?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [title] = get(highlightedFields, 'title', []);\n const [organization] = get(highlightedFields, 'organization', []);\n const [city] = get(highlightedFields, 'addresses.city', []);\n const [stateCode] = get(highlightedFields, 'addresses.state_code', []);\n const [description] = get(highlightedFields, 'description', []);\n const [fullName] = get(highlightedFields, 'full_name', []);\n\n return {\n title,\n organization,\n city,\n stateCode,\n description,\n fullName,\n };\n};\n","import { get } from 'lodash';\n\nimport { getParenthesisItem, joinCompact } from 'utils/string';\n\nimport { parentheses } from '../../../helpers';\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/executive';\n\ntype Address = {\n city: string;\n room: string;\n state?: {\n code: string;\n name: string;\n };\n street: string;\n building: string;\n street_2: string;\n zip_code: string;\n};\n\ntype Position = {\n address: Address;\n branch: string;\n};\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const [mainPosition]: [pos?: Position] = get(apiResult, 'options.executive_positions', []);\n const address = mainPosition?.address;\n\n const getAddress = () => parentheses([address?.city, address?.state?.code]);\n const branch = get(apiResult, 'options.branch');\n const title = get(apiResult, 'options.title');\n\n const getSubTitle = () => (\n joinCompact([\n baseResult.slugLabel,\n getAddress(),\n '-',\n title,\n getParenthesisItem(branch),\n ], ' ')\n );\n\n const getSubtitleHighlight = () => (\n joinCompact([\n baseResult.slugLabel,\n getAddress(),\n '-',\n highlights.title || title,\n getParenthesisItem(highlights.branch || branch),\n ], ' ')\n );\n\n return {\n ...baseResult,\n titleHighlight: highlights.fullName,\n subTitle: getSubTitle(),\n subtitleHighlight: getSubtitleHighlight(),\n description: get(apiResult, 'options.biography'),\n descriptionHighlight: highlights.description,\n options: {\n ...apiResult.options,\n state: address?.state,\n },\n party: get(apiResult, 'options.party.code'),\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n fullName?: HighlightedString,\n title?: HighlightedString,\n branch?: HighlightedString,\n description?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [fullName] = get(highlightedFields, 'full_name', []);\n const [title] = get(highlightedFields, 'executive_positions.title', []);\n const [branch] = get(highlightedFields, 'executive_positions.additional_info.branch', []);\n const [description] = get(highlightedFields, 'biography', []);\n\n return { fullName, title, branch, description };\n};\n","import { get, capitalize } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n chamberName?: HighlightedString,\n chair?: HighlightedString,\n title?: HighlightedString,\n};\n\nexport const getCapitalizedChamberNameHighlight = (highlight?: HighlightedString) => {\n if (!highlight) return;\n\n const emphasis = '<em>';\n const [, highlightRest] = highlight.split(emphasis);\n\n // eslint-disable-next-line consistent-return\n return [emphasis, capitalize(highlightRest)].join('');\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [chamberName] = get(highlightedFields, 'type', []);\n const [chair] = get(highlightedFields, 'current_chairman.universal_moniker', []);\n const [title] = get(highlightedFields, 'name', []);\n\n return {\n chamberName: getCapitalizedChamberNameHighlight(chamberName),\n chair,\n title,\n };\n};\n","import { get, capitalize } from 'lodash';\n\nimport { joinCompact } from 'utils/string';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/federalCommittees';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const chamberName = get(apiResult, 'options.type');\n const capitalizedChamberName = capitalize(chamberName);\n\n const subTitle = () => (\n joinCompact([baseResult.slugLabel, capitalizedChamberName], ' - ')\n );\n\n const getSubtitleHighlight = () => (\n joinCompact([\n baseResult.slugLabel,\n highlights.chamberName || capitalizedChamberName,\n ], ' - ')\n );\n\n const optionsChair = get(apiResult, 'options.current_chairman.universal_moniker');\n\n const getDescription = () => (\n joinCompact([\n baseResult.slugLabel,\n capitalizedChamberName,\n optionsChair && `Chair: ${optionsChair}`,\n ])\n );\n\n const getDescriptionHighlight = () => {\n const chair = highlights.chair || optionsChair;\n\n return joinCompact([\n baseResult.slugLabel,\n highlights.chamberName || capitalizedChamberName,\n chair && `Chair: ${chair}`,\n ]);\n };\n\n return {\n ...baseResult,\n title: baseResult.title,\n titleHighlight: highlights.title,\n subTitle: subTitle(),\n subtitleHighlight: getSubtitleHighlight(),\n description: getDescription(),\n descriptionHighlight: getDescriptionHighlight(),\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { joinCompact } from 'utils/string';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/stateCommittees';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const chamberName = get(apiResult, 'options.chamber_name');\n const stateAlpha = get(apiResult, 'options.state.alpha2');\n\n const subTitle = () => (\n joinCompact([\n baseResult.slugLabel,\n stateAlpha && `(${stateAlpha})`,\n '-',\n chamberName,\n ], ' ')\n );\n\n const getSubtitleHighlight = () => {\n const subtitleStateAlpha = highlights.stateAlpha || stateAlpha;\n const subtitleChamber = highlights.chamberName || chamberName;\n\n return joinCompact([\n baseResult.slugLabel,\n subtitleStateAlpha && `(${subtitleStateAlpha})`,\n '-',\n subtitleChamber,\n ], ' ');\n };\n\n const stateName = get(apiResult, 'options.state.name');\n const chair = get(apiResult, 'options.chairman.universal_moniker');\n\n const getDescription = () => (\n joinCompact([\n stateName && `${stateName} state committee`,\n chamberName,\n chair && `Chair: ${chair}`,\n ])\n );\n\n const getDescriptionHighlight = () => {\n const descriptionState = highlights.stateName || stateName;\n\n return joinCompact([\n descriptionState && `${descriptionState} state committee`,\n highlights.chamberName || chamberName,\n highlights.chair || chair,\n ]);\n };\n\n return {\n ...baseResult,\n titleHighlight: highlights.title,\n subTitle: subTitle(),\n subtitleHighlight: getSubtitleHighlight(),\n description: getDescription(),\n descriptionHighlight: getDescriptionHighlight(),\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n chamberName?: HighlightedString,\n stateAlpha?: HighlightedString,\n stateName?: HighlightedString,\n chair?: HighlightedString,\n title?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [chamberName] = get(highlightedFields, 'chamber_name', []);\n const [stateAlpha] = get(highlightedFields, 'state.alpha2', []);\n const [stateName] = get(highlightedFields, 'state.name', []);\n const [chair] = get(highlightedFields, 'chairman.universal_moniker', []);\n const [title] = get(highlightedFields, 'name', []);\n\n return {\n chamberName,\n stateAlpha,\n stateName,\n chair,\n title,\n };\n};\n","import { get } from 'lodash';\nimport { getParenthesisItem, joinCompact } from 'utils/string';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/staffer';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const party = get(apiResult, 'options.party_short');\n const state = get(apiResult, 'options.state');\n\n const title = get(apiResult, 'options.title');\n const officeServed = get(apiResult, 'options.boss_name');\n const role = get(apiResult, 'options.role');\n\n const subTitle = () => (\n joinCompact([\n baseResult.slugLabel,\n joinCompact([joinCompact([title, role], '/'), getParenthesisItem(officeServed)], ' '),\n ])\n );\n\n const getSubtitleHighlight = () => (\n joinCompact([\n baseResult.slugLabel,\n joinCompact([\n joinCompact([title, role], '/'),\n getParenthesisItem(highlights.officeServed || officeServed),\n ], ' '),\n ])\n );\n\n const description = joinCompact([officeServed, title], '. ');\n\n const getDescriptionHighlight = () => joinCompact([\n highlights.officeServed || officeServed,\n highlights.title || title,\n ], '. ');\n\n return {\n ...baseResult,\n titleHighlight: highlights.fullName,\n subTitle: subTitle(),\n subtitleHighlight: getSubtitleHighlight(),\n description,\n descriptionHighlight: getDescriptionHighlight(),\n party,\n state,\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n officeServed?: HighlightedString,\n fullName?: HighlightedString,\n title?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [officeServed] = get(highlightedFields, 'boss_name', []);\n const [fullName] = get(highlightedFields, 'full_name', []);\n const [title] = get(highlightedFields, 'titles', []);\n\n return { officeServed, fullName, title };\n};\n","import { filter, get } from 'lodash';\nimport moment from 'moment';\n\nimport { ResultFactory } from '../../types';\nimport getBaseResult from '../base';\nimport { getHighlights } from './helpers/documents';\n\nconst resultFactory: ResultFactory = (apiResult) => {\n const baseResult = getBaseResult(apiResult);\n const highlights = getHighlights(apiResult);\n\n const getSubTitle = () => {\n const date = moment(\n get(apiResult, 'options.date'),\n ).format('dddd, MMMM Do, YYYY');\n\n return filter([\n 'Document',\n ` - ${baseResult.slugLabel}`,\n ` - ${date}`,\n ]).join(' ');\n };\n\n return {\n ...baseResult,\n titleHighlight: highlights.title,\n subTitle: getSubTitle(),\n descriptionHighlight: highlights.description,\n };\n};\n\nexport default resultFactory;\n","import { get } from 'lodash';\n\nimport { ApiResult } from 'components/UnifiedSearch/useSearch/types';\nimport { HighlightedString } from 'components/UnifiedSearch/types';\n\nimport { getHighlightedFields } from '../../base';\n\ntype Highlights = {\n title?: HighlightedString,\n description?: HighlightedString,\n};\n\nexport const getHighlights = (result: ApiResult): Highlights => {\n const highlightedFields = getHighlightedFields(result);\n\n const [title] = get(highlightedFields, 'title', []);\n const [text] = get(highlightedFields, 'text', []);\n const [textFiles] = get(highlightedFields, 'text_files.text', []);\n const [specificIssue] = get(highlightedFields, 'specific_issue', []);\n const [description] = get(highlightedFields, 'description', []);\n\n return {\n title,\n description: text || textFiles || specificIssue || description,\n };\n};\n","import { Slug } from '../../../types';\nimport { ResultFactory } from '../types';\nimport federalRegulations from './legislationAndRegulation/federalRegulations';\nimport stateRegulations from './legislationAndRegulation/stateRegulations';\nimport federalBill from './legislationAndRegulation/federalBill';\nimport stateBill from './legislationAndRegulation/stateBill';\nimport federalLegislator from './people/federalLegislator';\nimport stateLegislator from './people/stateLegislator';\nimport stakeholder from './people/stakeholder';\nimport executive from './people/executive';\nimport federalCommittees from './committees/federalCommittees';\nimport stateCommittees from './committees/stateCommittees';\nimport staffer from './people/staffer';\nimport documents from './documents/documents';\nimport base from './base';\n\ntype Factories = {\n [key in Slug]?: ResultFactory;\n};\n\nconst factories: Factories & { base: ResultFactory } = {\n stakeholder_mgmt_stakeholders: stakeholder,\n federal_executive: executive,\n state_executive: executive,\n state_staffer_executive: executive,\n local_executive: executive,\n federal_committees: federalCommittees,\n state_legislation_committees: stateCommittees,\n federal_register_regulations: federalRegulations,\n state_legislation_regulations: stateRegulations,\n federal_legislators: federalLegislator,\n state_legislation_legislators: stateLegislator,\n rolodex: staffer,\n state_legislation_staffers: staffer,\n federal_bills: federalBill,\n state_legislation_bills: stateBill,\n doctrove_agency_press_releases: documents,\n cbo_gov: documents,\n committee_reports: documents,\n press_releases: documents,\n congressional_record: documents,\n fbo_gov: documents,\n doctrove_crs: documents,\n doctrove_dear_colleague_letters: documents,\n doctrove_executive_orders: documents,\n gao_gov: documents,\n doctrove_governor_orders: documents,\n doctrove_governor_press_releases: documents,\n grants_gov: documents,\n lobby_filing_issues: documents,\n doctrove_live_hearing_transcripts: documents,\n doctrove_hearing_transcripts: documents,\n doctrove_sap: documents,\n doctrove_union_statements: documents,\n doctrove_third_party_reports: documents,\n treaties: documents,\n doctrove_press_briefings: documents,\n base,\n};\n\nexport default factories;\n","import { map } from 'lodash';\n\nimport { Result } from '../../types';\nimport { ApiResponse, Response } from '../types';\nimport resultFactories from './result';\n\nconst getResults = (apiResponse: ApiResponse): Omit<\nResult & { slugLabel?: string }, 'tags' | 'trackings'\n>[] => map(apiResponse.data, (item) => {\n const factory = resultFactories[item.slug] || resultFactories.base;\n\n return factory(item);\n});\n\nconst hasMore = (apiResponse: ApiResponse): boolean => (\n apiResponse.pagination.current_page < apiResponse.pagination.total_pages\n);\n\nconst total = (apiResponse: ApiResponse): number => (\n apiResponse.pagination.total_count\n);\n\nexport const buildResponse = (apiResponse: ApiResponse) => <Response>({\n results: getResults(apiResponse),\n hasMore: hasMore(apiResponse),\n total: total(apiResponse),\n});\n","import { buildARequestData } from './request';\nimport { buildResponse } from './response';\n\nexport default {\n buildARequestData,\n buildResponse,\n};\n","import factories from './factories';\nimport { RequestParams, Response } from './types';\n\nconst GLOBAL_SEARCH_V2_URL = '/api_web/global_search_v2/search/lookup';\n\ntype FetchResults = (params: RequestParams) => Promise<Response>;\n\nconst fetchResults: FetchResults = async (params) => {\n const response = await $.ajax({\n method: 'POST',\n url: GLOBAL_SEARCH_V2_URL,\n data: factories.buildARequestData(params),\n contentType: 'application/json',\n });\n\n return factories.buildResponse(response);\n};\n\nexport default {\n fetchResults,\n};\n","import { useEffect, useState, useRef } from 'react';\n\nimport {\n AdvancedOptions,\n Filters,\n Result,\n Search,\n SearchStatus,\n} from 'components/UnifiedSearch/types';\nimport useMountedRef from 'utils/useMountedRef';\n\nimport useTags from '../useTags';\nimport usePositions from '../usePositions';\nimport useTrackings from '../useTrackings';\nimport api from './api';\nimport { Response } from './types';\n\ntype UseSearchProps = {\n searchQuery: string;\n filters: Filters;\n advancedOptions: AdvancedOptions;\n};\ntype UseSearch = (props: UseSearchProps) => Search;\n\nconst useSearch: UseSearch = ({ searchQuery, filters, advancedOptions }) => {\n const isMounted = useMountedRef();\n const [results, setResults] = useState<Result[]>([]);\n const [isLoadingMore, setIsLoadingMore] = useState(false);\n const [status, setStatus] = useState<SearchStatus>('idle');\n const [page, setPage] = useState(1);\n const [total, setTotal] = useState(0);\n const [hasMore, setHasMore] = useState(false);\n const latestSearch = useRef<Promise<Response>>();\n\n const { getTags, updateTags } = useTags(results);\n const { getPosition, updatePosition } = usePositions(results);\n const { getTrackings, updateTrackings } = useTrackings(results);\n\n const reset = (searchStatus: SearchStatus) => {\n setResults([]);\n setStatus(searchStatus);\n setPage(1);\n setHasMore(false);\n setIsLoadingMore(false);\n setTotal(0);\n };\n\n const search = async () => {\n if (searchQuery.length < 1) {\n reset('idle');\n return;\n }\n\n reset('loading');\n\n let currentSearch;\n\n try {\n currentSearch = api.fetchResults({ searchQuery, filters, page: 1, advancedOptions });\n latestSearch.current = currentSearch;\n const apiResults = await currentSearch;\n\n // If the user changes the filter/query, a new search is performed.\n // If there is a previous search running we can end up with concurrency issues.\n // This will make sure that we will display only the results for the latest search.\n const isSearchResultOutdated = currentSearch !== latestSearch.current;\n\n if (!isMounted || isSearchResultOutdated) return;\n\n if (apiResults.total === 0) {\n reset('not_found');\n } else {\n setStatus('loaded');\n setResults(apiResults.results);\n setHasMore(apiResults.hasMore);\n setTotal(apiResults.total);\n }\n } catch (error) {\n const isSearchResultOutdated = currentSearch !== latestSearch.current;\n\n if (!isSearchResultOutdated) {\n reset('error');\n }\n\n throw error;\n }\n };\n\n const loadMore = async () => {\n if (!hasMore) return;\n\n setIsLoadingMore(true);\n\n const currentSearch = api.fetchResults({\n searchQuery,\n filters,\n page: page + 1,\n advancedOptions,\n });\n latestSearch.current = currentSearch;\n const apiResults = await currentSearch;\n\n const isSearchResultOutdated = currentSearch !== latestSearch.current;\n\n if (!isMounted || isSearchResultOutdated) return;\n\n setResults([...results, ...apiResults.results]);\n setHasMore(apiResults.hasMore);\n setPage(page + 1);\n setIsLoadingMore(false);\n };\n\n useEffect(() => {\n search();\n }, [searchQuery, JSON.stringify(filters), JSON.stringify(advancedOptions.values)]);\n\n return {\n results: results.map(result => ({\n ...result,\n tags: getTags(result),\n updateTags: tags => updateTags(result, tags),\n position: getPosition(result),\n updatePosition: position => updatePosition(result, position),\n trackings: getTrackings(result),\n updateTrackings: trackings => updateTrackings(result, trackings),\n })),\n hasMore,\n isLoadingMore,\n status,\n total,\n loadMore,\n };\n};\n\nexport default useSearch;\n","import { useState } from 'react';\n\nimport { AdvancedOptions, Category, Filters } from 'components/UnifiedSearch/types';\n\nimport { COLLECTIONS_DEFAULT } from './utils/constants';\n\ntype UseFilters = Filters;\n\nfunction useFilters(advancedOptions: AdvancedOptions): UseFilters {\n const [filter, setFilter] = useState<Category>('all');\n\n const change = (value: Category) => {\n setFilter(value);\n advancedOptions.change({ collections: COLLECTIONS_DEFAULT });\n };\n\n return {\n value: filter,\n change,\n };\n}\n\nexport default useFilters;\n","import GlobalNotifier from 'components/GlobalNotifier';\nimport { RecentVisits, Result } from 'components/UnifiedSearch/types';\n\nconst { addNotification } = GlobalNotifier;\n\nconst error = (message: string) => addNotification({ message, level: 'error' });\n\ntype StatusHandler = (value: RecentVisits['status']) => void;\nconst getRecentVisits = async (setStatus: StatusHandler) => {\n setStatus('loading');\n try {\n const response = await $.ajax({\n method: 'GET',\n url: '/api_web/recent_visits',\n });\n setStatus('idle');\n\n return response.recent_visits;\n } catch (e) {\n setStatus('error');\n throw e;\n }\n};\n\nconst addRecentVisit = async (visited: Result) => {\n await $.ajax({\n method: 'POST',\n url: '/api_web/recent_visits',\n data: JSON.stringify({ url: visited.url, payload: visited }),\n contentType: 'application/json',\n });\n};\n\nconst deleteRecentVisit = async (id: number) => {\n try {\n await $.ajax({\n method: 'DELETE', url: `/api_web/recent_visits/${id}`,\n });\n } catch (e) {\n error('Something went wrong, please try again');\n }\n};\n\nconst deleteAllRecentVisits = async () => {\n await $.ajax({\n method: 'DELETE', url: '/api_web/recent_visits/destroy_all',\n });\n};\n\nexport default {\n getRecentVisits,\n addRecentVisit,\n deleteRecentVisit,\n deleteAllRecentVisits,\n};\n","import { useEffect, useState } from 'react';\n\nimport { RecentVisit, RecentVisits, Result as ResultType } from '../types';\nimport api from './api';\n\ntype UseRecentVisits = RecentVisits;\n\nconst useRecentVisits = (): UseRecentVisits => {\n const [recentVisits, setRecentVisits] = useState<RecentVisit[] | []>([]);\n const [status, setStatus] = useState<RecentVisits['status']>('idle');\n\n const loadRecentVisits = async () => {\n setRecentVisits(await api.getRecentVisits(setStatus));\n };\n\n useEffect(() => {\n loadRecentVisits();\n }, []);\n\n const clear = async (id: number) => {\n await api.deleteRecentVisit(id);\n const newVisits = recentVisits.filter(newVisit => +newVisit.id !== id);\n setRecentVisits(newVisits);\n };\n\n const clearAll = () => {\n api.deleteAllRecentVisits();\n setRecentVisits([]);\n };\n\n const handleAdd = async (visited: ResultType) => {\n await api.addRecentVisit(visited);\n };\n\n return {\n recentVisits,\n clear,\n clearAll,\n handleAdd,\n status,\n };\n};\n\nexport default useRecentVisits;\n","import { useState } from 'react';\n\nimport { AdvancedOptions, AdvancedOptionsValues } from 'components/UnifiedSearch/types';\n\nimport { INITIAL_STATE } from './initialState';\n\nconst useAdvancedOptions = (): AdvancedOptions => {\n const [options, setOptions] = useState<AdvancedOptionsValues>(INITIAL_STATE);\n const [isOpen, setIsOpen] = useState(false);\n\n const change = (updatedOptions: Partial<AdvancedOptionsValues>) => {\n setOptions(prevOptions => ({ ...prevOptions, ...updatedOptions }));\n };\n\n const toggle = () => setIsOpen(!isOpen);\n\n const reset = () => setOptions(INITIAL_STATE);\n\n return {\n values: options,\n change,\n isOpen,\n toggle,\n reset,\n };\n};\n\nexport default useAdvancedOptions;\n","import useDebounce from 'components/DelayedInput/useDebounce';\n\nimport { AdvancedOptions, Filters as FiltersType, RecentVisits, Search } from './types';\nimport useSearch from './useSearch';\nimport useFilters from './useFilters';\nimport useRecentVisits from './useRecentVisits';\nimport useAdvancedOptions from './useAdvancedOptions';\n\ntype UseUnifiedSearchProps = {\n searchQuery: string;\n};\n\ntype UseUnifiedSearch = {\n filters: FiltersType;\n search: Search;\n recentVisits: RecentVisits;\n debouncedSearchQuery: string;\n advancedOptions: AdvancedOptions;\n};\n\nfunction useUnifiedSearch({\n searchQuery,\n}: UseUnifiedSearchProps): UseUnifiedSearch {\n const DEBOUNCE_SEARCH_QUERY_DELAY = 800;\n const debouncedSearchQuery = useDebounce(searchQuery, DEBOUNCE_SEARCH_QUERY_DELAY);\n const advancedOptions = useAdvancedOptions();\n const filters = useFilters(advancedOptions);\n const search = useSearch({ searchQuery: debouncedSearchQuery, filters, advancedOptions });\n const recentVisits = useRecentVisits();\n\n return {\n filters,\n search,\n recentVisits,\n debouncedSearchQuery,\n advancedOptions,\n };\n}\n\nexport default useUnifiedSearch;\n","import React, { FC } from 'react';\n\nimport BackToTopButton from 'components/core/ButtonBackToTop';\n\nimport Feed from './components/Feed';\nimport Filters from './components/Filters';\nimport Lobby from './components/Lobby';\nimport Loading from './components/Loading';\nimport NotFound from './components/Error/NotFound';\nimport Error from './components/Error/ServerError';\nimport useIsBackToTopVisible from './helpers/useIsBackToTopVisible';\nimport useUnifiedSearch from './useUnifiedSearch';\nimport styles from './styles.module.scss';\n\ntype UnifiedSearchProps = {\n searchQuery: string,\n};\n\nconst UnifiedSearch: FC<UnifiedSearchProps> = ({ searchQuery }) => {\n const {\n filters,\n recentVisits,\n search,\n debouncedSearchQuery,\n advancedOptions,\n } = useUnifiedSearch({ searchQuery });\n\n const { isBackToTopVisible, containerRef } = useIsBackToTopVisible();\n\n return (\n <div className={styles.searchWrapper}>\n <Filters filters={filters} advancedOptions={advancedOptions} />\n\n <div className={styles.content} ref={containerRef}>\n {search.status === 'idle' && <Lobby recentVisits={recentVisits} />}\n\n {search.status === 'loading' && <Loading />}\n\n {search.status === 'not_found' && (\n <NotFound searchQuery={debouncedSearchQuery} category={filters.value} />\n )}\n\n {search.status === 'loaded' && (\n <Feed\n search={search}\n onAddRecentVisit={recentVisits.handleAdd}\n advancedOptions={advancedOptions}\n />\n )}\n\n {search.status === 'error' && (\n <Error />\n )}\n\n {isBackToTopVisible && (\n <BackToTopButton className={styles.backToTop} containerRef={containerRef} />\n )}\n </div>\n </div>\n );\n};\n\nexport default UnifiedSearch;\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport useDevice from 'utils/breakpoints/useDevice';\nimport { Kbd } from 'components/core/TipMessage';\n\nimport styles from './styles.module.scss';\n\ntype SearchProps = {\n className: string,\n isUnifiedSearchOpen: boolean,\n onCloseUnifiedSearch: () => void,\n onSearchQueryChange: (inputText: string) => void,\n onFocus: () => void,\n placeholder?: string\n};\n\nconst Search: FC<SearchProps> = ({\n className,\n isUnifiedSearchOpen,\n onCloseUnifiedSearch,\n onSearchQueryChange,\n onFocus,\n placeholder,\n}) => {\n const [inputText, setInputText] = useState('');\n const inputRef = useRef<HTMLInputElement>(null);\n const { isDesktop } = useMediaQuery();\n const device = useDevice();\n\n const handleCloseUnifiedSearch = () => {\n inputRef.current && inputRef.current.blur();\n setInputText('');\n onCloseUnifiedSearch();\n };\n\n useEffect(() => {\n onSearchQueryChange(inputText);\n }, [inputText]);\n\n useEffect(() => {\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n handleCloseUnifiedSearch();\n }\n };\n\n document.addEventListener('keydown', handleKeydown, true);\n\n return () => {\n document.removeEventListener('keydown', handleKeydown, true);\n };\n }, []);\n\n return (\n <div className={className}>\n <div className={styles.search}>\n <i className={classNames('fa fa-search', styles.searchIcon)} />\n <input\n type=\"text\"\n placeholder={placeholder}\n className={styles.input}\n onFocus={onFocus}\n ref={inputRef}\n value={inputText}\n onChange={event => setInputText(event.target.value)}\n autoFocus={isUnifiedSearchOpen}\n />\n {isUnifiedSearchOpen && (\n <div className={styles.closeButtonWrapper}>\n {device.isMobile || isDesktop && (\n <span className={styles.hintText}>\n To cancel hit <Kbd className={styles.key}>ESC</Kbd> or press\n </span>\n )}\n <i\n className={classNames('fas fa-times-circle', styles.close)}\n onClick={handleCloseUnifiedSearch}\n onKeyDown={handleCloseUnifiedSearch}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default Search;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport AdvocateForm from 'components/Advocates/common/Modals/StakeholderForm';\nimport StakeholderForm from 'components/Stakeholder/common/Modals/StakeholderForm';\nimport useModal from 'components/core/Modal/useModal';\nimport {\n allCustomFieldsShape,\n customFieldsAnswersShape,\n} from 'components/Advocates/common/utils/shapes';\nimport { trackCreateStakeholderClicked } from 'components/NavigationV2/utils/tracking';\n\nfunction Container({\n className,\n createStakeholder,\n fetchCustomFields,\n stakeholder,\n customFields,\n content,\n onSuccess,\n}) {\n const Form = gon.isAdvocatesEnabled ? AdvocateForm : StakeholderForm;\n const { isOpenModal, toggleModal } = useModal();\n\n const ui = { ...stakeholder.ui, ...customFields.ui };\n\n const handleClick = () => {\n toggleModal();\n trackCreateStakeholderClicked();\n };\n\n return (\n <>\n <Button onClick={handleClick} className={className} theme=\"tertiary\">\n {content}\n </Button>\n <Form\n isOpen={isOpenModal}\n toggleOpen={toggleModal}\n createStakeholder={createStakeholder}\n fetchCustomFields={fetchCustomFields}\n ui={ui}\n allCustomFields={customFields.allCustomFields}\n onSuccess={onSuccess}\n avoidDispatchFetch\n />\n </>\n );\n}\n\nContainer.defaultProps = {\n content: 'Stakeholder',\n};\n\nContainer.propTypes = {\n className: PropTypes.string,\n createStakeholder: PropTypes.func.isRequired,\n fetchCustomFields: PropTypes.func.isRequired,\n stakeholder: PropTypes.shape({\n ui: PropTypes.shape({\n isSubmitting: PropTypes.bool.isRequired,\n }).isRequired,\n }).isRequired,\n customFields: PropTypes.shape({\n ui: PropTypes.shape({\n isLoadingCustomFields: PropTypes.bool.isRequired,\n }).isRequired,\n allCustomFields: allCustomFieldsShape,\n customField: customFieldsAnswersShape,\n }).isRequired,\n content: PropTypes.node,\n onSuccess: PropTypes.func,\n};\n\nexport default Container;\n","import React from 'react';\nimport { Provider } from 'react-redux';\n\nimport store from 'redux/store';\nimport * as commonActions from 'redux/stakeholder/common/actions';\nimport * as customFieldsActions from 'redux/customFields/actions';\nimport reduxConnect from 'utils/redux-connect';\n\nimport Container from './components/Container';\n\nconst ConnectedContainer = reduxConnect('stakeholder.standalone', {\n ...customFieldsActions,\n ...commonActions,\n})(Container);\n\nfunction NewStakeholderButton(props) {\n return (\n <Provider store={store}>\n <ConnectedContainer {...props} />\n </Provider>\n );\n}\n\nexport default NewStakeholderButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\n\nimport styles from './styles.module.scss';\n\nfunction DisabledCreateMessage({ isMobile }) {\n const image = isMobile ? 'not-allowed-illustration' : 'not-allowed-icon';\n\n return (\n <div className={styles.messageContainer}>\n <img\n src={`/images/${image}.png`}\n alt=\"alert symbol\"\n className={styles.image}\n />\n\n <p>\n Contact our Customer Success team to enable collaboration with your team across the app.\n </p>\n\n <Link\n href=\"mailto:success@phone2action.com\"\n theme=\"light\"\n className={styles.link}\n >\n Get in touch with Customer Success\n </Link>\n </div>\n );\n}\n\nDisabledCreateMessage.defaultProps = {\n isMobile: false,\n};\n\nDisabledCreateMessage.propTypes = {\n isMobile: PropTypes.bool,\n};\n\nexport default DisabledCreateMessage;\n","import React from 'react';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\n\nimport {\n NewNoteForNavigation as NewNoteButton,\n NewTaskForNavigation as NewTaskButton,\n} from 'components/Grm2';\nimport Button from 'components/core/Button';\nimport {\n trackNewNoteClicked,\n trackNewTaskClicked,\n} from 'components/Navigation/GlobalHeader/utils/tracking';\nimport NewStakeholderButton from 'components/NavigationV2/components/common/NewStakeholderButton';\nimport DisabledCreateMessage from 'components/NavigationV2/components/common/DisabledCreateMessage';\n\nimport styles from './styles.module.scss';\n\nfunction CreateButton() {\n const isDisabled = !(gon.isGrmEnabled || gon.isStakeholderMgmtEnabled);\n const renderList = () => {\n if (isDisabled) {\n return <DisabledCreateMessage />;\n }\n\n return (\n <>\n <h5>Create...</h5>\n {gon.isGrmEnabled && (\n <>\n <NewNoteButton\n isAddNoteEnabled\n trackButtonClicked={trackNewNoteClicked}\n className={styles.option}\n content=\"Note\"\n />\n <NewTaskButton trackButtonClicked={trackNewTaskClicked} className={styles.option} />\n </>\n )}\n {gon.isStakeholderMgmtEnabled && (\n <NewStakeholderButton className={styles.option} />\n )}\n </>\n );\n };\n\n const tooltipContent = (\n <div className={styles.content}>\n {renderList()}\n </div>\n );\n\n return (\n <Tooltip\n arrow\n theme=\"light\"\n trigger=\"click\"\n placement=\"bottom-end\"\n content={tooltipContent}\n className={classNames(styles.tooltip, isDisabled && styles.disabled)}\n >\n <span>\n <Button className={styles.create} theme=\"tertiary\">+ Create</Button>\n </span>\n </Tooltip>\n );\n}\n\nexport default CreateButton;\n","// @ts-nocheck\nimport React, { FC } from 'react';\n\nimport { TasksButton } from 'components/Grm2';\nimport HelpButton from 'components/core/HelpButton';\nimport Notifications from 'components/core/Notifications';\nimport HomeButton from 'components/Navigation/GlobalHeader/components/HomeButton';\nimport UserMenuButton from 'components/Navigation/GlobalHeader/components/UserMenuButton';\nimport withNavigation from 'components/Navigation/utils/withNavigation';\nimport { trackTasksClicked } from 'components/NavigationV2/utils/tracking';\n\nimport Search from '../Search';\nimport CreateButton from './components/CreateButton';\nimport styles from './styles.module.scss';\n\ntype SearchBarProps = {\n onSearchQueryChange: (inputText: string) => void;\n onFocus: () => void;\n onCloseUnifiedSearch: () => void;\n isUnifiedSearchOpen: boolean;\n isMobile?: boolean;\n};\n\nconst SearchBar: FC<SearchBarProps> = ({\n onSearchQueryChange,\n onFocus,\n onCloseUnifiedSearch,\n isUnifiedSearchOpen,\n isMobile = false,\n}) => (\n <div className={styles.container}>\n {!isMobile && <HomeButton className={styles.home} />}\n\n <Search\n isUnifiedSearchOpen={isUnifiedSearchOpen}\n className={styles.globalSearch}\n onCloseUnifiedSearch={onCloseUnifiedSearch}\n onSearchQueryChange={onSearchQueryChange}\n onFocus={onFocus}\n placeholder={\n isMobile ? undefined : 'Search documents, bills, regulations, staffers, legislators, etc.'\n }\n />\n\n {!isMobile && (\n <div className={styles.rightItems}>\n <CreateButton />\n {gon.isNotificationEnabled ? (\n <Notifications isMobile={false} className={styles.notifications} />\n ) : (\n <HelpButton />\n )}\n <TasksButton onClick={trackTasksClicked} />\n <UserMenuButton />\n </div>\n )}\n </div>\n);\n\nexport default withNavigation(SearchBar);\n","import { useEffect, useState } from 'react';\n\nconst HIDE_FIRST_ELEMENT_OFFSET = 1200;\nconst HIDE_SECOND_ELEMENT_OFFSET = 1065;\nconst HIDE_THIRD_ELEMENT_OFFSET = 980;\nconst HIDE_FOURTH_ELEMENT_OFFSET = 820;\n\nexport const useHiddenItemsLength = () => {\n const [hiddenItemsLength, setHiddenItemsLength] = useState<0 | 1 | 2 | 3 | 4>(0);\n\n useEffect(() => {\n const handleResize = () => {\n const currentScreenSize = document.body.clientWidth;\n\n if (currentScreenSize > HIDE_FIRST_ELEMENT_OFFSET) {\n setHiddenItemsLength(0);\n return;\n }\n\n const showOneElement = currentScreenSize <= HIDE_FIRST_ELEMENT_OFFSET\n && currentScreenSize >= HIDE_SECOND_ELEMENT_OFFSET;\n\n if (showOneElement) {\n setHiddenItemsLength(1);\n return;\n }\n\n const showTwoElements = currentScreenSize <= HIDE_SECOND_ELEMENT_OFFSET\n && currentScreenSize >= HIDE_THIRD_ELEMENT_OFFSET;\n\n if (showTwoElements) {\n setHiddenItemsLength(2);\n return;\n }\n\n const showThreeElements = currentScreenSize <= HIDE_THIRD_ELEMENT_OFFSET\n && currentScreenSize >= HIDE_FOURTH_ELEMENT_OFFSET;\n\n if (showThreeElements) {\n setHiddenItemsLength(3);\n return;\n }\n\n setHiddenItemsLength(4);\n };\n\n handleResize();\n window.addEventListener('resize', handleResize);\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return hiddenItemsLength;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Activity({ className }) {\n return (\n <svg width=\"19\" height=\"15\" viewBox=\"0 0 19 15\" xmlns=\"http://www.w3.org/2000/svg\" className={classNames(styles.icon, className)}>\n <path d=\"M17.575 7.09831H13.75C13.503 7.09831 13.2783 7.23946 13.1731 7.46079L12.2227 9.45956L10.1168 1.47157C10.0437 1.19346 9.7898 1 9.5 1C9.49495 1 9.48911 1 9.48353 1.00053C9.18816 1.00789 8.93581 1.21607 8.87578 1.50311L6.86128 11.1374L5.86439 7.56173C5.78816 7.28809 5.53634 7.09857 5.24947 7.09857H1.425C1.19019 7.09857 1 7.28678 1 7.51914V7.93972C1 8.17208 1.19019 8.36029 1.425 8.36029H4.76444L6.33588 13.9954C6.41197 14.2689 6.66334 14.4584 6.95 14.4583C6.95664 14.4583 6.96408 14.4583 6.97072 14.4578C7.2653 14.4483 7.51445 14.2404 7.57422 13.9552L9.57145 4.40191L11.4332 11.4633C11.5004 11.7201 11.7238 11.9078 11.991 11.932C12.2699 11.962 12.5122 11.8129 12.6269 11.5727L14.1543 8.36003H17.575C17.8098 8.36003 18 8.17182 18 7.93945V7.51888C18 7.28651 17.8098 7.09831 17.575 7.09831Z\" />\n </svg>\n );\n}\n\nActivity.propTypes = {\n className: PropTypes.string,\n};\n\nexport default Activity;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nconst ArrowDropDown = ({ className }) => (\n <svg width=\"8\" height=\"6\" viewBox=\"0 0 8 6\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" className={classNames(styles.icon, className)}>\n <path d=\"M7.76418 2.16499L4.58668 5.36499C4.40918 5.52249 4.20418 5.59999 3.99918 5.59999C3.79418 5.59999 3.58968 5.52186 3.43343 5.36561L0.255934 2.16561C0.00479379 1.93749 -0.0637162 1.59249 0.0601338 1.29499C0.183984 0.997488 0.475934 0.799988 0.799184 0.799988H7.17668C7.50018 0.799988 7.79218 0.994513 7.91618 1.29374C8.04018 1.59296 7.99418 1.93749 7.76418 2.16499Z\" fill=\"black\" />\n </svg>\n);\n\nArrowDropDown.propTypes = {\n className: PropTypes.string,\n};\n\nexport default ArrowDropDown;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Bells({ className }) {\n return (\n <svg width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" xmlns=\"http://www.w3.org/2000/svg\" className={classNames(styles.icon, className)}>\n <path d=\"M6.62733 8.11288C6.93812 8.98242 6.96999 9.93124 6.72296 10.8226L6.69108 10.9293L0.568162 8.63515C0.266146 8.52304 0.0524507 8.24413 0.0157174 7.91601C-0.0210265 7.58788 0.125577 7.26523 0.394708 7.08202L0.61199 6.9371C1.53026 6.29179 2.22991 5.40859 2.60736 4.34765L2.99624 3.2539C3.64171 1.37921 5.66046 0.412611 7.50655 1.09593C7.63405 1.14351 7.7589 1.1982 7.87577 1.2589C6.17311 2.41171 5.39749 4.65663 6.13061 6.71288L6.62733 8.11288ZM6.92749 6.41484C6.23421 4.46523 7.20905 2.30808 9.10561 1.59769C10.9995 0.887572 13.1006 1.89245 13.7939 3.84179L14.2906 5.24179C14.6625 6.28632 15.3478 7.1832 16.2456 7.80117L16.6122 8.05273C16.8778 8.23593 17.0212 8.53398 16.9841 8.88398C16.9442 9.2121 16.7317 9.46367 16.4316 9.60038L8.52921 12.5617C8.22905 12.6738 7.89171 12.6027 7.65796 12.3785C7.42421 12.1543 7.33124 11.8125 7.4189 11.498L7.54108 11.0633C7.83858 9.99687 7.79874 8.83476 7.42686 7.81484L6.92749 6.41484ZM12.7712 13.125C12.2081 13.125 11.7087 12.8488 11.398 12.4168L14.4819 11.2629C14.4845 11.2984 14.4845 11.334 14.4845 11.3695C14.4845 12.3402 13.7169 13.125 12.7712 13.125ZM2.5059 10.2867L5.62858 11.4707C5.32046 11.941 4.79983 12.2473 4.20749 12.2473C3.26186 12.2473 2.49447 11.4625 2.49447 10.4918C2.49447 10.4207 2.49819 10.3523 2.5059 10.2867Z\" />\n </svg>\n );\n}\n\nBells.propTypes = {\n className: PropTypes.string,\n};\n\nexport default Bells;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Briefcase({ className }) {\n return (\n <svg width=\"13\" height=\"12\" viewBox=\"0 0 13 12\" xmlns=\"http://www.w3.org/2000/svg\" className={classNames(styles.icon, className)}>\n <path d=\"M8.125 8.03125C8.125 8.2557 7.9432 8.4375 7.71875 8.4375H5.28125C5.0568 8.4375 4.875 8.2557 4.875 8.03125V6.8125H0V10.4688C0 11.1187 0.56875 11.6875 1.21875 11.6875H11.7812C12.4312 11.6875 13 11.1187 13 10.4688V6.8125H8.125V8.03125ZM11.7812 2.75H9.75V1.53125C9.75 0.88125 9.18125 0.3125 8.53125 0.3125H4.46875C3.81875 0.3125 3.25 0.88125 3.25 1.53125V2.75H1.21875C0.56875 2.75 0 3.31875 0 3.96875V6H13V3.96875C13 3.31875 12.4312 2.75 11.7812 2.75ZM8.125 2.75H4.875V1.9375H8.125V2.75Z\" />\n </svg>\n );\n}\n\nBriefcase.propTypes = {\n className: PropTypes.string,\n};\n\nexport default Briefcase;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Dome({ className }) {\n return (\n <svg width=\"17\" height=\"17\" viewBox=\"0 0 17 17\" xmlns=\"http://www.w3.org/2000/svg\" className={classNames(styles.icon, className)}>\n <path d=\"M1.59375 8.5H15.4062C15.6984 8.5 15.9375 8.26094 15.9375 7.96875V6.90625C15.9375 6.61406 15.6984 6.375 15.4062 6.375H14.7787C14.3305 3.70879 12.2287 1.60703 9.5625 1.15879V0.53125C9.5625 0.239063 9.32344 0 9.03125 0H7.96875C7.67656 0 7.4375 0.239063 7.4375 0.53125V1.15879C4.77129 1.60703 2.66953 3.70879 2.22129 6.375H1.59375C1.30156 6.375 1.0625 6.61406 1.0625 6.90625V7.96875C1.0625 8.26094 1.30156 8.5 1.59375 8.5Z\" />\n <path d=\"M16.4688 14.5714H15.9375V13.9643C15.9375 13.6304 15.6984 13.3571 15.4062 13.3571H14.875V8.5H12.75V13.3571H9.5625V8.5H7.4375V13.3571H4.25V8.5H2.125V13.3571H1.59375C1.30156 13.3571 1.0625 13.6304 1.0625 13.9643V14.5714H0.53125C0.239063 14.5714 0 14.8446 0 15.1786V16.3929C0 16.7268 0.239063 17 0.53125 17H16.4688C16.7609 17 17 16.7268 17 16.3929V15.1786C17 14.8446 16.7609 14.5714 16.4688 14.5714Z\" />\n </svg>\n );\n}\n\nDome.propTypes = {\n className: PropTypes.string,\n};\n\nexport default Dome;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction LightbulbDollar({ className }) {\n return (\n <svg width=\"12\" height=\"17\" viewBox=\"0 0 12 17\" xmlns=\"http://www.w3.org/2000/svg\" className={classNames(styles.icon, className)}>\n <path d=\"M3.27477 15.0855C3.27511 15.2944 3.33852 15.4989 3.4575 15.6729L4.04011 16.5259C4.13964 16.6717 4.27463 16.7913 4.43308 16.874C4.59153 16.9567 4.76852 17 4.9483 17H7.05205C7.23182 17 7.40881 16.9567 7.56726 16.874C7.72571 16.7913 7.8607 16.6717 7.96023 16.5259L8.54284 15.6729C8.66177 15.4989 8.72533 15.2946 8.72557 15.0855L8.72693 13.8122H3.27307L3.27477 15.0855ZM5.98125 2.83077e-05C2.50364 0.0103211 0 2.75483 0 5.84365C0 7.31685 0.560795 8.66088 1.485 9.68783C2.04818 10.3137 2.92909 11.6212 3.26489 12.7242C3.26625 12.7328 3.26727 12.7415 3.26864 12.7501H8.73136C8.73273 12.7415 8.73375 12.7332 8.73511 12.7242C9.07091 11.6212 9.95182 10.3137 10.515 9.68783C11.4392 8.66088 12 7.31685 12 5.84365C12 2.61007 9.30375 -0.00993242 5.98125 2.83077e-05ZM6.54545 8.49586V9.03109C6.54545 9.17784 6.42341 9.29671 6.27273 9.29671H5.72727C5.57659 9.29671 5.45455 9.17784 5.45455 9.03109V8.49022C5.06966 8.47096 4.69534 8.34014 4.38511 8.11337C4.25216 8.01609 4.24534 7.82219 4.36568 7.71029L4.76625 7.3381C4.86068 7.25044 5.00114 7.24646 5.11159 7.31386C5.24352 7.39421 5.39318 7.43737 5.54864 7.43737H6.50693C6.72852 7.43737 6.9092 7.24081 6.9092 6.99943C6.9092 6.80188 6.78614 6.6279 6.61023 6.57676L5.07614 6.12853C4.44239 5.94326 3.99955 5.35093 3.99955 4.68788C3.99955 3.87375 4.64898 3.21236 5.45421 3.19145V2.65622C5.45421 2.50947 5.57625 2.3906 5.72693 2.3906H6.27239C6.42307 2.3906 6.54511 2.50947 6.54511 2.65622V3.19709C6.93 3.21635 7.30432 3.34683 7.61455 3.57394C7.7475 3.67122 7.75432 3.86512 7.63398 3.97701L7.23341 4.34921C7.13898 4.43687 6.99852 4.44085 6.88807 4.37345C6.75614 4.29277 6.60648 4.24994 6.45102 4.24994H5.49273C5.27114 4.24994 5.09046 4.4465 5.09046 4.68788C5.09046 4.88543 5.21352 5.05941 5.38943 5.11055L6.92352 5.55878C7.55727 5.74405 8.00011 6.33638 8.00011 6.99943C8.00011 7.81389 7.35068 8.47495 6.54545 8.49586Z\" />\n </svg>\n );\n}\n\nLightbulbDollar.propTypes = {\n className: PropTypes.string,\n};\n\nexport default LightbulbDollar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Reports({ className }) {\n return (\n <svg width=\"12\" height=\"16\" viewBox=\"0 0 12 16\" xmlns=\"http://www.w3.org/2000/svg\" className={classNames(styles.icon, className)}>\n <path d=\"M8 0V4H12L8 0ZM7 4V0H1.5C0.671562 0 0 0.671562 0 1.5V14.5C0 15.3281 0.671562 16 1.5 16H10.5C11.3284 16 12 15.3284 12 14.5V5H8.02812C7.44687 5 7 4.55313 7 4ZM4 13.6031C4 13.8 3.8 14 3.60313 14H2.4C2.19938 14 2 13.8 2 13.6031V11.4C2 11.2 2.19938 11 2.39844 11H3.60156C3.8 11 4 11.2 4 11.4V13.6031ZM7 13.6031C7 13.8 6.8 14 6.60313 14H5.4C5.2 14 5 13.8 5 13.6031V7.4C5 7.2 5.2 7 5.4 7H6.60313C6.8 7 7 7.2 7 7.4V13.6031ZM8.4 9H9.60312C9.8 9 10 9.2 10 9.4V13.6031C10 13.8 9.8 14 9.60312 14H8.4C8.2 14 8 13.8 8 13.6031V9.4C8 9.2 8.2 9 8.4 9Z\" />\n </svg>\n );\n}\n\nReports.propTypes = {\n className: PropTypes.string,\n};\n\nexport default Reports;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction UserGroup({ className }) {\n return (\n <svg width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" xmlns=\"http://www.w3.org/2000/svg\" className={classNames(styles.icon, className)}>\n <path d=\"M5.95 6.8C7.82797 6.8 9.35 5.2777 9.35 3.4C9.35 1.5223 7.82797 0 5.95 0C4.07203 0 2.55 1.5223 2.55 3.4C2.55 5.2777 4.07203 6.8 5.95 6.8ZM7.29672 8.075H4.60328C2.06045 8.075 0 10.1363 0 12.6783C0 13.1883 0.41225 13.6 0.920656 13.6H10.9783C11.4883 13.6 11.9 13.1883 11.9 12.6783C11.9 10.1363 9.83875 8.075 7.29672 8.075ZM12.7261 8.5H10.7645C11.985 9.50141 12.75 10.9995 12.75 12.6783C12.75 13.0183 12.6491 13.3317 12.4844 13.6H16.15C16.6202 13.6 17 13.2175 17 12.7261C17 10.4019 15.0981 8.5 12.7261 8.5ZM11.475 6.8C13.1192 6.8 14.45 5.46922 14.45 3.825C14.45 2.18078 13.1192 0.85 11.475 0.85C10.808 0.85 10.1989 1.07724 9.70275 1.44792C10.0087 2.03548 10.2 2.69344 10.2 3.4C10.2 4.3435 9.88311 5.20997 9.36089 5.91573C9.89984 6.46 10.6463 6.8 11.475 6.8Z\" />\n </svg>\n );\n}\n\nUserGroup.propTypes = {\n className: PropTypes.string,\n};\n\nexport default UserGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Directory({ className }) {\n return (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\" className={classNames(styles.icon, className)}>\n <path d=\"M13.2222 1.55555H10.5L9.72222 0.777771H7.77778C7.5715 0.777771 7.37367 0.859715 7.22781 1.00558C7.08194 1.15144 7 1.34927 7 1.55555V5.44444C7 5.65072 7.08194 5.84855 7.22781 5.99441C7.37367 6.14027 7.5715 6.22222 7.77778 6.22222H13.2222C13.4285 6.22222 13.6263 6.14027 13.7722 5.99441C13.9181 5.84855 14 5.65072 14 5.44444V2.33333C14 2.12705 13.9181 1.92922 13.7722 1.78335C13.6263 1.63749 13.4285 1.55555 13.2222 1.55555ZM13.2222 8.55555H10.5L9.72222 7.77777H7.77778C7.5715 7.77777 7.37367 7.85972 7.22781 8.00558C7.08194 8.15144 7 8.34927 7 8.55555V12.4444C7 12.6507 7.08194 12.8485 7.22781 12.9944C7.37367 13.1403 7.5715 13.2222 7.77778 13.2222H13.2222C13.4285 13.2222 13.6263 13.1403 13.7722 12.9944C13.9181 12.8485 14 12.6507 14 12.4444V9.33333C14 9.12705 13.9181 8.92922 13.7722 8.78335C13.6263 8.63749 13.4285 8.55555 13.2222 8.55555ZM1.55556 1.16666C1.55556 1.06352 1.51458 0.964605 1.44165 0.891674C1.36872 0.818743 1.26981 0.777771 1.16667 0.777771H0.388889C0.285749 0.777771 0.186834 0.818743 0.113903 0.891674C0.0409721 0.964605 0 1.06352 0 1.16666L0 10.8889C0 11.0952 0.0819442 11.293 0.227806 11.4389C0.373667 11.5847 0.571498 11.6667 0.777778 11.6667H6.22222V10.1111H1.55556V4.66666H6.22222V3.1111H1.55556V1.16666Z\" />\n </svg>\n );\n}\n\nDirectory.propTypes = {\n className: PropTypes.string,\n};\n\nexport default Directory;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Reports({ className }) {\n return (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" className={classNames(styles.icon, className)}>\n <path d=\"M5.5 8V6.5C5.5 4.01469 7.51562 2 10 2C12.4844 2 14.5 4.01469 14.5 6.5V8H15C16.1031 8 17 8.89688 17 10V16C17 17.1031 16.1031 18 15 18H5C3.89531 18 3 17.1031 3 16V10C3 8.89688 3.89531 8 5 8H5.5ZM7.5 8H12.5V6.5C12.5 5.11937 11.3813 4 10 4C8.61875 4 7.5 5.11937 7.5 6.5V8Z\" fill=\"#E9EAEF\" />\n </svg>\n );\n}\n\nReports.propTypes = {\n className: PropTypes.string,\n};\n\nexport default Reports;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport { Lock as LockIcon } from 'components/NavigationV2/components/icons';\n\nimport { DropdownContentComponent } from '../HiddenItemsDropdown.types';\nimport styles from './styles.module.scss';\n\nexport const DropdownContent: DropdownContentComponent = ({ items }) => (\n <div className={styles.dropdownList}>\n {items.map(item => (\n <a\n key={item.name}\n href={item.href}\n className={classNames(\n styles.dropdownItem,\n { [styles.disabled]: item.isDisabled },\n )}\n >\n <span className={classNames(item.isDisabled && styles.disabledText)}>{item.name}</span>\n {item.isDisabled && <LockIcon className={styles.disabledIcon} />}\n </a>\n ))}\n </div>\n);\n","import React, { useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\n\nimport { useHiddenItemsLength } from './useHiddenItemsLength';\nimport { DropdownContent } from './DropdownContent';\nimport { HiddenItemsDropdownComponent } from './HiddenItemsDropdown.types';\nimport styles from './styles.module.scss';\n\nexport const HiddenItemsDropdown: HiddenItemsDropdownComponent = ({ items = [], className }) => {\n const computeHiddenItems = (itemsLength: number) => (itemsLength ? items.slice(0, itemsLength) : []);\n\n const hiddenItemsLength = useHiddenItemsLength();\n const hiddenItems = useMemo(() => computeHiddenItems(hiddenItemsLength), [hiddenItemsLength]);\n\n return (\n <Tooltip\n content={<DropdownContent items={hiddenItems} />}\n trigger=\"click\"\n placement=\"bottom-start\"\n theme=\"light\"\n arrow={false}\n >\n <button\n type=\"button\"\n className={classNames(styles.dropdownButton, className)}\n >\n <i className=\"far fa-bars\" />\n </button>\n </Tooltip>\n );\n};\n","import slugs from 'components/Navigation/menuData/slugs';\n\nexport const STATE_SUMMARIES = {\n title: 'State summaries',\n description: 'Session dates, commitees, and legislators',\n href: '/state/states',\n slug: slugs.state,\n};\n\nexport const RELATED_APPS_SECTION = {\n id: 'relatedApps',\n title: 'Related apps',\n};\n","import slugs from 'components/Navigation/menuData/slugs';\n\nimport { RELATED_APPS_SECTION } from './common';\n\nconst FEDERAL_SECTION = {\n id: 'federal',\n title: 'Federal',\n items: [\n {\n title: 'Federal legislators',\n description: 'Members of Congress',\n href: '/federal/legislators',\n slug: slugs.federal,\n },\n {\n title: 'Federal staffers',\n description: 'Congressional and committee staffers',\n href: '/federal/congressional_staffers',\n slug: slugs.federalStaffers,\n },\n {\n title: 'Agency staffers',\n description: 'Staffers of regulatory agencies',\n href: '/federal/agency_staffers',\n slug: slugs.federalStaffers,\n },\n ],\n};\n\nconst GENERAL_SECTION = {\n id: 'general',\n title: 'General',\n items: [\n {\n title: 'Stakeholder management',\n description: 'View and manage stakeholders your organization has imported',\n ...(gon.isAdvocatesEnabled ? {\n href: '/advocates',\n slug: slugs.advocates,\n } : {\n href: '/stakeholder_management/directory',\n slug: slugs.stakeholderManagement,\n }),\n },\n ],\n};\n\nconst STATE_SECTION = {\n id: 'state',\n title: 'State',\n items: [\n {\n title: 'State staffers',\n description: 'State legislative & committee staffers',\n href: '/state/staffers',\n slug: slugs.state,\n },\n {\n title: 'State legislators',\n description: 'State Upper/Lower/Joint legislators',\n href: '/state/legislators',\n slug: slugs.state,\n },\n {\n title: 'State executives',\n description: 'Governor, State Department Executives and Staff',\n href: '/state/executives',\n slug: slugs.state,\n },\n ],\n};\n\nconst LOCAL_SECTION = {\n id: 'local',\n title: 'Local',\n items: [\n {\n title: 'Local executives',\n description: 'County/Municipal Legislators and Officials',\n href: '/local/executives',\n slug: slugs.localExecutives,\n },\n ],\n};\n\nconst RELATED_SECTION = {\n ...RELATED_APPS_SECTION,\n items: [\n {\n title: 'District maps',\n description: 'Find a legislator by geographic district',\n href: '/district_map',\n slug: slugs.districtMap,\n },\n {\n title: 'Legislator spreasheet builder',\n description: 'Analyze data by dimensions and attributes',\n href: '/federal/congregator',\n slug: slugs.federal,\n },\n {\n title: 'State legislator batting average',\n description: 'Success rate for bill passage',\n href: '/state/batting_averages',\n slug: slugs.state,\n },\n {\n title: 'Custom fields',\n description: 'Create and manage custom fields for your notes and stakeholder records',\n href: '/custom_fields',\n slug: slugs.customFields,\n },\n ],\n};\n\nexport const PEOPLE_COLUMNS = [\n [FEDERAL_SECTION, GENERAL_SECTION],\n [STATE_SECTION, LOCAL_SECTION],\n [RELATED_SECTION],\n];\n\nexport const PEOPLE_SECTIONS = [\n FEDERAL_SECTION,\n STATE_SECTION,\n GENERAL_SECTION,\n RELATED_SECTION,\n];\n","import slugs from 'components/Navigation/menuData/slugs';\n\nimport { RELATED_APPS_SECTION, STATE_SUMMARIES } from './common';\n\nconst FEDERAL_SECTION = {\n id: 'federal',\n title: 'Federal',\n items: [\n {\n title: 'Federal bills',\n description: 'Current and past federal legislation',\n href: '/federal/bills',\n slug: slugs.federal,\n },\n {\n title: 'Federal regulations',\n description: 'Federal rules and administrative codes',\n href: '/federal/regulations',\n slug: slugs.federal,\n },\n {\n title: 'Lobbying (LD-2)',\n description: 'Domestic lobbying disclosures',\n href: '/lobbying_research/ld2',\n slug: slugs.federal,\n },\n {\n title: 'Lobbying (FARA)',\n description: 'Foreign lobbying disclosures',\n href: '/lobbying_research/fara',\n slug: slugs.federal,\n },\n ],\n};\n\nconst STATE_SECTION = {\n id: 'state',\n title: 'State',\n items: [\n {\n title: 'State bills',\n description: 'Current and past state legislation',\n href: '/state/bills',\n slug: slugs.state,\n },\n {\n title: 'State regulations',\n description: 'State rules and administrative codes',\n href: '/state/regulations',\n slug: slugs.stateRegulation,\n },\n ],\n};\n\nconst RELATED_SECTION = {\n ...RELATED_APPS_SECTION,\n items: [\n {\n title: 'Cosponsor oracle',\n description: 'Federal legislators most likely to cosponsor a bill',\n href: '/federal/cosponsors_oracle',\n slug: slugs.federal,\n },\n {\n title: 'Cosponsorship similarities',\n description: 'Most common cosponsors for state & fed leg.',\n href: '/federal/cosponsorship_similarity',\n slug: slugs.cosponsorshipSimilarities,\n },\n STATE_SUMMARIES,\n ],\n};\n\nexport const LEGISLATION_AND_REGULATION_COLUMNS = [\n [FEDERAL_SECTION],\n [STATE_SECTION],\n [RELATED_SECTION],\n];\n\nexport const LEGISLATION_AND_REGULATION_SECTIONS = [\n FEDERAL_SECTION,\n STATE_SECTION,\n RELATED_SECTION,\n];\n","import slugs from 'components/Navigation/menuData/slugs';\n\nimport { RELATED_APPS_SECTION, STATE_SUMMARIES } from './common';\n\nconst FEDERAL_SECTION = {\n id: 'federal',\n title: 'Federal',\n items: [\n {\n title: 'Federal committees',\n description: 'Federal committee information',\n href: '/federal/committees',\n slug: slugs.federal,\n },\n {\n title: 'Federal hearings calendar',\n description: 'Past and present federal committee hearings',\n href: '/federal/committee_hearings_calendar',\n slug: slugs.federal,\n },\n ],\n};\n\nconst STATE_SECTION = {\n id: 'state',\n title: 'State',\n items: [\n {\n title: 'State committees',\n description: 'State committee information',\n href: '/state/committees',\n slug: slugs.state,\n },\n {\n title: 'State hearings calendar',\n description: 'Past and present state committee hearings',\n href: '/state/committee_hearings_calendar',\n slug: slugs.state,\n },\n ],\n};\n\nconst RELATED_SECTION = {\n ...RELATED_APPS_SECTION,\n items: [\n STATE_SUMMARIES,\n ],\n};\n\nexport const COMMITTEES_COLUMNS = [\n [FEDERAL_SECTION],\n [STATE_SECTION],\n [RELATED_SECTION],\n];\n\nexport const COMMITTEES_SECTIONS = [\n FEDERAL_SECTION,\n STATE_SECTION,\n RELATED_SECTION,\n];\n","import slugs from 'components/Navigation/menuData/slugs';\n\nimport { RELATED_APPS_SECTION } from './common';\n\nconst DOCUMENTS_SECTION_1 = {\n id: 'documents-1',\n items: [\n {\n title: 'Agency press releases',\n description: 'Press release from Federal agencies',\n href: '/federal/agency_press_releases',\n slug: slugs.federal,\n },\n {\n title: 'CBO Cost estimates',\n description: 'Congressional Budget Office reports',\n href: '/federal/cbo_reports',\n slug: slugs.federal,\n },\n {\n title: 'Committee reports',\n description: 'Reports published by committees',\n href: '/federal/committee_reports',\n slug: slugs.federal,\n },\n {\n title: 'Congressional press releases',\n description: 'Press releases from congress & committees',\n href: '/federal/congressional_press_releases',\n slug: slugs.federal,\n },\n {\n title: 'Congressional record items',\n description: 'Official records published by congress',\n href: '/federal/congressional_record',\n slug: slugs.federal,\n },\n {\n title: 'Contracts',\n description: 'Federal contracts, solicitations, and awards',\n href: '/federal/contracts',\n slug: slugs.federal,\n },\n {\n title: 'CRS reports',\n description: 'Reports from the Congressional Research Service',\n href: '/federal/crs_reports',\n slug: slugs.federal,\n },\n {\n title: 'Executive Orders',\n description: 'Map demarcated by district',\n href: '/federal/executive_orders',\n slug: slugs.federal,\n },\n {\n title: 'GAO reports',\n description: 'Fact-based reports',\n href: '/federal/gao_reports',\n slug: slugs.federal,\n },\n ],\n};\n\nconst DOCUMENTS_SECTION_2 = {\n id: 'documents-2',\n items: [\n {\n title: 'Grants',\n description: 'Federal grants and awards',\n href: '/federal/grants',\n slug: slugs.federal,\n },\n {\n title: 'Live hearing transcripts',\n description: 'Transcripts and floor speeches',\n href: '/federal/live_hearing_transcripts',\n slug: slugs.federal,\n },\n {\n title: 'Official hearing transcripts',\n description: 'Official testimonies and hearings',\n href: '/federal/official_hearing_transcripts',\n slug: slugs.federal,\n },\n {\n title: 'SAP reports',\n description: 'Statements of Administrative Policy',\n href: '/federal/sap_reports',\n slug: slugs.federal,\n },\n {\n title: 'State of the Union addresses',\n description: 'Addresses by the past and present Presidents',\n href: '/federal/state_of_the_union_addresses',\n slug: slugs.federal,\n },\n {\n title: 'Treaty documents',\n description: 'Official international treaties',\n href: '/federal/treaties',\n slug: slugs.federal,\n },\n {\n title: 'Third party reports',\n description: 'Reports from various organizations',\n href: '/federal/third_party_reports',\n slug: slugs.federal,\n },\n {\n title: 'White House press briefings',\n description: 'Briefings from the WH press office',\n href: '/federal/white_house_press_briefings',\n slug: slugs.federal,\n },\n ],\n};\n\nconst RELATED_SECTION = {\n ...RELATED_APPS_SECTION,\n items: [\n {\n title: 'Appropriations tracker',\n description: 'CRS reports appropriations status table',\n href: '/federal/appropriations_tracker',\n slug: slugs.federal,\n },\n ],\n};\n\nexport const FEDERAL_DOCUMENTS_COLUMNS = [\n [DOCUMENTS_SECTION_1],\n [DOCUMENTS_SECTION_2],\n [RELATED_SECTION],\n];\n\nexport const FEDERAL_DOCUMENTS_SECTIONS = [\n {\n id: 'documents',\n items: [...DOCUMENTS_SECTION_1.items, ...DOCUMENTS_SECTION_2.items],\n },\n RELATED_SECTION,\n];\n","import slugs from 'components/Navigation/menuData/slugs';\n\nimport { RELATED_APPS_SECTION, STATE_SUMMARIES } from './common';\n\nconst STATE_SECTION = {\n id: 'state',\n title: 'State',\n items: [\n {\n title: 'Governor orders',\n description: 'Executive orders by state Governors',\n href: '/state/governor_orders',\n slug: slugs.state,\n },\n {\n title: 'Governor press releases',\n description: 'Press releases from state Governors’ offices',\n href: '/state/governor_press_releases',\n slug: slugs.state,\n },\n ],\n};\n\nconst LOCAL_SECTION = {\n id: 'local',\n title: 'Local',\n items: [\n {\n title: 'Local documents',\n description: 'Documents from 1,000s of locales',\n href: '/local',\n slug: slugs.local,\n },\n ],\n};\n\nconst RELATED_SECTION = {\n ...RELATED_APPS_SECTION,\n items: [\n STATE_SUMMARIES,\n ],\n};\n\nexport const STATE_AND_LOCAL_DOCUMENTS_COLUMNS = [\n [STATE_SECTION],\n [LOCAL_SECTION],\n [RELATED_SECTION],\n];\n\nexport const STATE_AND_LOCAL_DOCUMENTS_SECTIONS = [\n STATE_SECTION,\n LOCAL_SECTION,\n RELATED_SECTION,\n];\n","import slugs from 'components/Navigation/menuData/slugs';\n\nconst SOCIAL_SECTION = {\n id: 'social',\n items: [\n {\n title: 'Social media',\n description: 'Keep track of what politicians and influencers are saying on social media',\n href: '/social_media',\n slug: slugs.socialMedia,\n },\n ],\n};\n\nconst NEWS_SECTION = {\n id: 'news',\n items: [\n {\n title: 'News',\n description: 'Monitor news related to your keywords, bills, people, etc.',\n href: '/news',\n slug: slugs.news,\n },\n ],\n};\n\nexport const NEWS_AND_SOCIAL_COLUMNS = [\n [SOCIAL_SECTION],\n [NEWS_SECTION],\n];\n\nexport const NEWS_AND_SOCIAL_SECTIONS = [\n {\n id: 'social-news',\n items: [...SOCIAL_SECTION.items, ...NEWS_SECTION.items],\n },\n];\n","import { PEOPLE_COLUMNS, PEOPLE_SECTIONS } from './people';\nimport {\n LEGISLATION_AND_REGULATION_COLUMNS,\n LEGISLATION_AND_REGULATION_SECTIONS,\n} from './legislationAndRegulation';\nimport { COMMITTEES_COLUMNS, COMMITTEES_SECTIONS } from './committees';\nimport { FEDERAL_DOCUMENTS_COLUMNS, FEDERAL_DOCUMENTS_SECTIONS } from './federalDocuments';\nimport {\n STATE_AND_LOCAL_DOCUMENTS_COLUMNS,\n STATE_AND_LOCAL_DOCUMENTS_SECTIONS,\n} from './stateAndLocalDocuments';\nimport { NEWS_AND_SOCIAL_COLUMNS, NEWS_AND_SOCIAL_SECTIONS } from './newsAndSocial';\n\nexport const PEOPLE_ID = 'people';\nexport const LEGISLATION_AND_REGULATION_ID = 'legislationAndRegulation';\nexport const COMMITTEES_ID = 'committees';\nexport const FEDERAL_DOCUMENTS_ID = 'federalDocuments';\nexport const STATE_AND_LOCAL_DOCUMENTS_ID = 'stateAndLocalDocuments';\nexport const NEWS_AND_SOCIAL_ID = 'newsAndSocial';\n\nconst CATEGORIES_BASE = [\n {\n id: PEOPLE_ID,\n title: 'People',\n },\n {\n id: LEGISLATION_AND_REGULATION_ID,\n title: 'Legislation & regulation',\n },\n {\n id: COMMITTEES_ID,\n title: 'Legislative committees',\n },\n {\n id: FEDERAL_DOCUMENTS_ID,\n title: 'Federal documents',\n },\n {\n id: STATE_AND_LOCAL_DOCUMENTS_ID,\n title: 'State & local documents',\n },\n {\n id: NEWS_AND_SOCIAL_ID,\n title: 'News & social',\n },\n];\n\nconst COLUMNS = {\n [PEOPLE_ID]: PEOPLE_COLUMNS,\n [LEGISLATION_AND_REGULATION_ID]: LEGISLATION_AND_REGULATION_COLUMNS,\n [COMMITTEES_ID]: COMMITTEES_COLUMNS,\n [FEDERAL_DOCUMENTS_ID]: FEDERAL_DOCUMENTS_COLUMNS,\n [STATE_AND_LOCAL_DOCUMENTS_ID]: STATE_AND_LOCAL_DOCUMENTS_COLUMNS,\n [NEWS_AND_SOCIAL_ID]: NEWS_AND_SOCIAL_COLUMNS,\n};\n\nexport const CATEGORIES = CATEGORIES_BASE.map(\n category => ({ ...category, columns: COLUMNS[category.id] })\n);\n\nconst SECTIONS = {\n [PEOPLE_ID]: PEOPLE_SECTIONS,\n [LEGISLATION_AND_REGULATION_ID]: LEGISLATION_AND_REGULATION_SECTIONS,\n [COMMITTEES_ID]: COMMITTEES_SECTIONS,\n [FEDERAL_DOCUMENTS_ID]: FEDERAL_DOCUMENTS_SECTIONS,\n [STATE_AND_LOCAL_DOCUMENTS_ID]: STATE_AND_LOCAL_DOCUMENTS_SECTIONS,\n [NEWS_AND_SOCIAL_ID]: NEWS_AND_SOCIAL_SECTIONS,\n};\n\nexport const MOBILE_CATEGORIES = CATEGORIES_BASE.map(\n category => ({ ...category, sections: SECTIONS[category.id] })\n);\n","import PropTypes from 'prop-types';\n\nimport { CATEGORIES } from './constants';\n\nexport const activeIdType = PropTypes.oneOf(CATEGORIES.map(category => category.id));\n\nconst linkShape = PropTypes.shape({\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n slug: PropTypes.string.isRequired,\n});\n\nconst sectionShape = PropTypes.shape({\n id: PropTypes.string.isRequired,\n title: PropTypes.string,\n items: PropTypes.arrayOf(linkShape).isRequired,\n});\n\nconst columnShape = PropTypes.arrayOf(sectionShape);\n\nconst requiredCategoryProps = {\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n};\n\nexport const categoryShape = PropTypes.shape({\n ...requiredCategoryProps,\n columns: PropTypes.arrayOf(columnShape),\n});\n\nexport const mobileCategoryShape = PropTypes.shape({\n ...requiredCategoryProps,\n sections: PropTypes.arrayOf(sectionShape),\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Button from 'components/core/Button';\nimport { activeIdType, categoryShape } from 'components/NavigationV2/utils/directory/shapes';\nimport { trackDirectoryCategoryClicked } from 'components/NavigationV2/utils/tracking';\n\nimport styles from './styles.module.scss';\n\nfunction Categories({ activeId, onSetCategory, categories }) {\n const renderCategory = ({ id, title, columns }) => {\n if (isEmpty(columns)) {\n return null;\n }\n\n const handleCategoryClick = () => {\n onSetCategory(id);\n trackDirectoryCategoryClicked(title);\n };\n const isActive = activeId === id;\n\n return (\n <li key={id} className={classNames(styles.category, isActive && styles.isActive)}>\n <Button\n onClick={handleCategoryClick}\n className={styles.button}\n theme=\"tableLink\"\n >\n {title}\n </Button>\n </li>\n );\n };\n\n return (\n <ul className={styles.categories}>\n {categories.map(renderCategory)}\n </ul>\n );\n}\n\nCategories.propTypes = {\n activeId: activeIdType.isRequired,\n onSetCategory: PropTypes.func.isRequired,\n categories: PropTypes.arrayOf(categoryShape).isRequired,\n};\n\nexport default Categories;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport CoreLink from 'components/core/Link';\nimport { trackDirectoryItemClicked } from 'components/NavigationV2/utils/tracking';\n\nimport styles from './styles.module.scss';\n\nfunction Link({ link, withRelatedAppStyle, disabledProducts }) {\n const isDisabled = disabledProducts.includes(link.slug);\n\n return (\n <CoreLink\n href={link.href}\n theme=\"tableLink\"\n className={classNames(styles.link, withRelatedAppStyle && styles.relatedApp)}\n disabled={isDisabled}\n onClick={() => trackDirectoryItemClicked(link.title)}\n >\n {isDisabled && <i className=\"fas fa-lock\" />}\n {link.title}\n <span className={styles.description}>{link.description}</span>\n </CoreLink>\n );\n}\n\nLink.propTypes = {\n link: PropTypes.shape({\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n slug: PropTypes.string,\n }).isRequired,\n withRelatedAppStyle: PropTypes.bool.isRequired,\n disabledProducts: PropTypes.arrayOf(PropTypes.string).isRequired,\n};\n\nexport default Link;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { RELATED_APPS_SECTION } from 'components/NavigationV2/utils/directory/constants/common';\nimport { categoryShape } from 'components/NavigationV2/utils/directory/shapes';\n\nimport Link from './components/Link';\nimport styles from './styles.module.scss';\n\nfunction Links({ disabledProducts, activeCategory }) {\n const renderLink = (link, withRelatedAppStyle) => (\n <Link\n link={link}\n withRelatedAppStyle={withRelatedAppStyle}\n disabledProducts={disabledProducts}\n key={link.title}\n />\n );\n\n const renderSection = ({ id, title, items }) => {\n const withRelatedAppStyle = id === RELATED_APPS_SECTION.id;\n\n return (\n <div className={styles.categorySection} key={id}>\n {title && <h5 className={styles.title}>{title}</h5>}\n {items.map(link => renderLink(link, withRelatedAppStyle))}\n </div>\n );\n };\n\n const renderColumn = (sections) => {\n if (isEmpty(sections)) {\n return null;\n }\n\n const columnKey = sections.map(section => section.id).join('-');\n\n return (\n <div className={styles.column} key={columnKey}>\n {sections.map(renderSection)}\n </div>\n );\n };\n\n return (\n <section className={styles.links}>\n {activeCategory.columns.map(renderColumn)}\n </section>\n );\n}\n\nLinks.propTypes = {\n disabledProducts: PropTypes.arrayOf(PropTypes.string).isRequired,\n activeCategory: categoryShape.isRequired,\n};\n\nexport default Links;\n","import isEmpty from 'lodash/isEmpty';\n\nimport { getIsActive } from 'components/NavigationV2/utils';\n\nimport { CATEGORIES, MOBILE_CATEGORIES } from './constants';\n\n// removes sections with only disabled links\nconst reduceSections = disabledProducts => (sections, section) => {\n const isEnabled = ({ slug }) => !disabledProducts.includes(slug);\n const enabledItems = section.items.filter(isEnabled);\n\n if (isEmpty(enabledItems)) {\n return sections;\n }\n\n return [...sections, { ...section, items: enabledItems }];\n};\n\nexport function getReducedCategories(disabledProducts) {\n const reduceColumns = category => (category.columns.reduce((acc, column) => {\n const reducedColumn = column.reduce(reduceSections(disabledProducts), []);\n\n return isEmpty(reducedColumn) ? acc : [...acc, reducedColumn];\n }, []));\n\n return CATEGORIES.map(category => ({\n ...category,\n columns: reduceColumns(category),\n }));\n}\n\nexport function getReducedMobileCategories(disabledProducts) {\n return MOBILE_CATEGORIES.map(category => ({\n ...category,\n sections: category.sections.reduce(reduceSections(disabledProducts), []),\n }));\n}\n\nconst getIsActiveSection = section => (\n section.items.some(item => getIsActive(item.href))\n);\n\nexport const getIsActivePageCategory = columns => (\n columns.some(column => column.some(getIsActiveSection))\n);\n\nexport const getIsActiveMobilePageCategory = sections => (\n sections.some(getIsActiveSection)\n);\n","import { useState, useMemo, useEffect } from 'react';\n\nimport { PEOPLE_ID } from 'components/NavigationV2/utils/directory/constants';\nimport { getReducedCategories, getIsActivePageCategory } from 'components/NavigationV2/utils/directory';\n\nfunction useDirectory({\n disabledProducts,\n isVisible,\n}) {\n const categories = useMemo(() => getReducedCategories(disabledProducts), [disabledProducts]);\n const activePageCategory = categories.find(\n category => getIsActivePageCategory(category.columns)\n );\n const initialActiveId = (activePageCategory && activePageCategory.id) || PEOPLE_ID;\n const [activeId, setActiveId] = useState(initialActiveId);\n const activeCategory = categories.find(({ id }) => activeId === id);\n\n useEffect(() => {\n !isVisible && setActiveId(initialActiveId);\n }, [isVisible]);\n\n return {\n activeId,\n setActiveId,\n categories,\n activeCategory,\n };\n}\n\nexport default useDirectory;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\n\nimport Categories from './components/Categories';\nimport Links from './components/Links';\nimport useDirectory from './useDirectory';\nimport styles from './styles.module.scss';\n\nfunction Directory({ onCloseDirectory, disabledProducts, isVisible }) {\n const {\n activeId,\n setActiveId,\n categories,\n activeCategory,\n } = useDirectory({ disabledProducts, isVisible });\n\n return (\n <>\n <div className={styles.header}>\n <h3 className={styles.title}>Directory</h3>\n <Button theme=\"light\" className={styles.closeButton} onClick={onCloseDirectory}>\n <img src=\"/images/close-grey-icon.svg\" alt=\"Close button\" />\n </Button>\n </div>\n <div className={styles.main}>\n <Categories activeId={activeId} onSetCategory={setActiveId} categories={categories} />\n <Links\n activeId={activeId}\n disabledProducts={disabledProducts}\n activeCategory={activeCategory}\n />\n </div>\n </>\n );\n}\n\nDirectory.propTypes = {\n onCloseDirectory: PropTypes.func.isRequired,\n disabledProducts: PropTypes.arrayOf(PropTypes.string).isRequired,\n isVisible: PropTypes.bool.isRequired,\n};\n\nexport default Directory;\n","import React, { FC } from 'react';\nimport classNames from 'classnames';\nimport Tooltip from '@tippyjs/react';\n\nimport {\n Directory as DirectoryIcon,\n ArrowDropDown as ArrowDropDownIcon,\n} from 'components/NavigationV2/components/icons';\nimport Directory from '../Directory';\n\nimport styles from './styles.module.scss';\n\ntype DirectoryTogglerProps = {\n isActive: boolean;\n disabledProducts: string[];\n closeDirectory: () => void;\n toggleDirectory: () => void;\n};\n\nconst DirectoryToggler: FC<DirectoryTogglerProps> = ({\n isActive,\n disabledProducts,\n closeDirectory,\n toggleDirectory,\n}) => {\n const tooltipContent = (\n <Directory\n onCloseDirectory={closeDirectory}\n disabledProducts={disabledProducts}\n isVisible={isActive}\n />\n );\n\n return (\n <div>\n <Tooltip\n content={tooltipContent}\n visible={isActive}\n onClickOutside={closeDirectory}\n placement=\"bottom-start\"\n theme=\"light\"\n arrow={false}\n className={styles.directory}\n offset={[0, 5]}\n zIndex={-1}\n maxWidth=\"none\"\n interactive\n >\n <div\n className={classNames(\n styles.directoryButton,\n isActive && styles.active,\n )}\n onClick={toggleDirectory}\n onKeyDown={toggleDirectory}\n >\n <DirectoryIcon className={styles.directoryIcon} />\n <span className={styles.directoryButtonText}>\n Directory\n </span>\n <ArrowDropDownIcon className={styles.directoryDropDownIcon} />\n </div>\n </Tooltip>\n </div>\n );\n};\n\nexport default DirectoryToggler;\n","import React from 'react';\nimport sortBy from 'lodash/sortBy';\n\nimport slugs from 'components/Navigation/menuData/slugs';\nimport { LINKS, NAMES } from './constants';\nimport { getIsActive, getIsMyFeedActive } from '.';\n\nimport {\n Bells,\n Briefcase,\n Activity,\n UserGroup,\n LightbulbDollar,\n Dome,\n Reports,\n} from '../components/icons';\n\nconst getAdvocatesItem = (disabledProducts) => {\n const icon = <UserGroup />;\n\n if (gon.isAdvocatesEnabled) {\n return {\n name: NAMES.advocates,\n icon,\n href: LINKS.advocates,\n isDisabled: disabledProducts.includes(slugs.advocates),\n isActive: getIsActive(LINKS.advocates),\n };\n }\n\n return {\n name: NAMES.stakeholders,\n icon,\n href: LINKS.stakeholders,\n isDisabled: disabledProducts.includes(slugs.stakeholderManagement),\n isActive: getIsActive(LINKS.stakeholders),\n };\n};\n\nexport const getApps = disabledProducts => (sortBy([\n {\n name: NAMES.myFeed,\n icon: <Bells />,\n href: LINKS.myFeed,\n isActive: getIsMyFeedActive(),\n isDisabled: disabledProducts.includes(slugs.dashboard),\n },\n {\n name: NAMES.workspaces,\n icon: <Briefcase />,\n href: LINKS.workspaces,\n isDisabled: !gon.isWorkspacesEnabled || disabledProducts.includes(slugs.dashboard),\n isActive: getIsActive(LINKS.workspaces),\n },\n {\n name: NAMES.activity,\n icon: <Activity />,\n href: LINKS.activity,\n isDisabled: disabledProducts.includes(slugs.grm),\n isActive: getIsActive(LINKS.activity),\n },\n getAdvocatesItem(disabledProducts),\n {\n name: NAMES.moneyball,\n icon: <LightbulbDollar />,\n href: LINKS.moneyball,\n isDisabled: disabledProducts.includes(slugs.moneyball),\n isActive: getIsActive(LINKS.moneyball),\n },\n {\n name: NAMES.hillDay,\n icon: <Dome />,\n href: LINKS.hillDay,\n isDisabled: disabledProducts.includes(slugs.hillDay),\n isActive: getIsActive(LINKS.hillDay),\n },\n {\n name: NAMES.reports,\n icon: <Reports />,\n href: LINKS.reports,\n isDisabled: false,\n isActive: getIsActive(LINKS.reports),\n },\n], 'isDisabled'));\n","import { useState, useEffect } from 'react';\n\nimport { ROUTE_EVENT } from 'components/NavigationV2/components/RouteListener';\nimport { getApps } from 'components/NavigationV2/utils/apps';\n\nfunction useMenuBar(disabledProducts) {\n const [menuItems, setMenuItems] = useState(getApps(disabledProducts));\n\n useEffect(() => {\n const handleRouteEvent = () => {\n setMenuItems(getApps(disabledProducts));\n };\n\n document.addEventListener(ROUTE_EVENT, handleRouteEvent);\n\n window.onpopstate = handleRouteEvent;\n\n return () => document.removeEventListener(ROUTE_EVENT, handleRouteEvent);\n }, [disabledProducts]);\n\n return menuItems;\n}\n\nexport default useMenuBar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport withNavigation from 'components/Navigation/utils/withNavigation';\nimport Link from 'components/core/Link';\nimport useModal from 'components/core/Modal/useModal';\nimport { trackAppClicked } from 'components/NavigationV2/utils/tracking';\nimport HiddenItemsDropdown from './components/HiddenItemsDropdown';\nimport DirectoryToggler from './components/DirectoryToggler';\n\nimport { Lock as LockIcon } from '../../../icons';\nimport useMenuBar from './utils/useMenuBar';\nimport styles from './styles.module.scss';\n\nconst HIDDEN_ITEMS_MAX_LENGTH = 4;\n\nfunction MenuBar({ disabledProducts }) {\n const menuItems = useMenuBar(disabledProducts);\n const linkProps = {\n theme: 'tableLink',\n iconClassName: styles.iconWrapper,\n };\n\n const {\n isOpenModal: isDirectoryVisible,\n closeModal: closeDirectory,\n toggleModal: toggleDirectory,\n } = useModal();\n\n const hiddenItems = [...menuItems].reverse().slice(0, HIDDEN_ITEMS_MAX_LENGTH);\n\n return (\n <section className={styles.menuBar}>\n <DirectoryToggler\n isActive={isDirectoryVisible}\n disabledProducts={disabledProducts}\n closeDirectory={closeDirectory}\n toggleDirectory={toggleDirectory}\n />\n\n <div className={styles.leftItems}>\n {menuItems.map(({ name, href, icon, isActive, isDisabled }) => (\n <Link\n {...linkProps}\n href={isDisabled ? null : href}\n customIcon={isDisabled ? <LockIcon /> : icon}\n className={classNames(styles.item, isActive && styles.active)}\n onClick={() => trackAppClicked(name)}\n disabled={isDisabled}\n key={name}\n >\n <span className={classNames(styles.itemText, isDisabled && styles.disabled)} data-name={name}>{name}</span>\n </Link>\n ))}\n </div>\n\n <HiddenItemsDropdown className={styles.hiddenItemsDropdown} items={hiddenItems} />\n </section>\n );\n}\n\nMenuBar.propTypes = {\n disabledProducts: PropTypes.arrayOf(PropTypes.string).isRequired,\n};\n\nexport default withNavigation(MenuBar);\n","import React, { FC, useState } from 'react';\nimport classNames from 'classnames';\n\nimport UnifiedSearch from 'components/UnifiedSearch';\nimport { UseModalType } from 'components/core/Modal/types';\n\nimport { addNavigationV2Classes } from '../../utils';\nimport SearchBar from './components/SearchBar';\nimport MenuBar from './components/MenuBar';\nimport styles from './styles.module.scss';\n\ntype NavigationProps = {\n isMobile?: boolean,\n className?: string,\n unifiedSearchView: UseModalType\n};\n\nconst Navigation: FC<NavigationProps> = ({ isMobile = false, className = '', unifiedSearchView }) => {\n // TODO: remove when v2 is released\n addNavigationV2Classes();\n\n const [searchQuery, setSearchQuery] = useState('');\n\n const {\n isOpenModal: isUnifiedSearchOpen,\n openModal: openGlobalSearch,\n closeModal: closeGlobalSearch,\n } = unifiedSearchView;\n\n const handleCloseUnifiedSearch = () => {\n setSearchQuery('');\n closeGlobalSearch();\n };\n\n return (\n <div className={classNames(styles.navigationWrapper, className && className)}>\n <section\n className={classNames(styles.navigationContainer, isUnifiedSearchOpen && styles.open)}\n >\n <SearchBar\n onSearchQueryChange={setSearchQuery}\n onCloseUnifiedSearch={handleCloseUnifiedSearch}\n onFocus={openGlobalSearch}\n isUnifiedSearchOpen={isUnifiedSearchOpen}\n isMobile={isMobile}\n />\n {!isMobile && <MenuBar searchQuery={searchQuery} />}\n </section>\n <div className={classNames(styles.unifiedSearch, isUnifiedSearchOpen && styles.open)}>\n {isUnifiedSearchOpen && <UnifiedSearch searchQuery={searchQuery} />}\n </div>\n </div>\n );\n};\n\nexport default Navigation;\n","import { useState, useMemo, useEffect } from 'react';\n\nimport {\n getReducedMobileCategories,\n getIsActiveMobilePageCategory,\n} from 'components/NavigationV2/utils/directory';\n\nfunction useMobileDirectory({\n disabledProducts,\n isVisible,\n}) {\n const categories = useMemo(() => getReducedMobileCategories(disabledProducts), [disabledProducts]);\n const activePageCategory = categories.find(\n category => getIsActiveMobilePageCategory(category.sections)\n );\n const initialActiveId = (activePageCategory && activePageCategory.id) || null;\n const [activeId, setActiveId] = useState(initialActiveId);\n const activeCategory = categories.find(({ id }) => activeId === id);\n\n useEffect(() => {\n !isVisible && setActiveId(initialActiveId);\n }, [isVisible]);\n\n return {\n activeId,\n setActiveId,\n categories,\n activeCategory,\n };\n}\n\nexport default useMobileDirectory;\n","import { APP_MENU } from 'components/Navigation/utils';\n\nimport useMobileDirectory from './useMobileDirectory';\n\nfunction useMobileNavigation({\n disabledProducts,\n toggleAppMenu,\n isAppMenuOpen,\n isMobilePage,\n}) {\n const directoryProps = useMobileDirectory({\n disabledProducts,\n isVisible: isAppMenuOpen,\n });\n\n function toggleNavigationMenu() {\n if (isMobilePage) {\n window.location.replace(gon.homepage.path);\n return;\n }\n\n toggleAppMenu(APP_MENU);\n }\n\n return {\n ...directoryProps,\n toggleNavigationMenu,\n };\n}\n\nexport default useMobileNavigation;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction ItemName({ name, isActive }) {\n return (\n <span className={classNames(styles.name, isActive && styles.active)}>{name}</span>\n );\n}\n\nItemName.propTypes = {\n name: PropTypes.string.isRequired,\n isActive: PropTypes.bool,\n};\n\nexport default ItemName;\n","import React from 'react';\n\nfunction Note() {\n return (\n <svg width=\"14\" height=\"18\" viewBox=\"0 0 14 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10.125 8.71875V9.70312C10.125 9.93516 9.93516 10.125 9.70312 10.125H3.79688C3.56484 10.125 3.375 9.93516 3.375 9.70312V8.71875C3.375 8.48672 3.56484 8.29688 3.79688 8.29688H9.70312C9.93516 8.29688 10.125 8.48672 10.125 8.71875ZM9.70312 11.25H3.79688C3.56484 11.25 3.375 11.4398 3.375 11.6719V12.6562C3.375 12.8883 3.56484 13.0781 3.79688 13.0781H9.70312C9.93516 13.0781 10.125 12.8883 10.125 12.6562V11.6719C10.125 11.4398 9.93516 11.25 9.70312 11.25ZM13.5 4.63711V16.3125C13.5 17.2441 12.7441 18 11.8125 18H1.6875C0.755859 18 0 17.2441 0 16.3125V1.6875C0 0.755859 0.755859 0 1.6875 0H8.86289C9.30937 0 9.73828 0.179297 10.0547 0.495703L13.0043 3.44531C13.3207 3.7582 13.5 4.19062 13.5 4.63711ZM9 1.82461V4.5H11.6754L9 1.82461ZM11.8125 16.3125V6.1875H8.15625C7.68867 6.1875 7.3125 5.81133 7.3125 5.34375V1.6875H1.6875V16.3125H11.8125Z\" fill=\"#0E4EFF\" />\n </svg>\n );\n}\n\nexport default Note;\n","import React from 'react';\n\nfunction Stakeholder() {\n return (\n <svg width=\"16\" height=\"18\" viewBox=\"0 0 16 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.875 9C10.3605 9 12.375 6.98555 12.375 4.5C12.375 2.01445 10.3605 0 7.875 0C5.38945 0 3.375 2.01445 3.375 4.5C3.375 6.98555 5.38945 9 7.875 9ZM11.243 10.1461L9.5625 16.875L8.4375 12.0938L9.5625 10.125H6.1875L7.3125 12.0938L6.1875 16.875L4.50703 10.1461C2.00039 10.2656 0 12.3152 0 14.85V16.3125C0 17.2441 0.755859 18 1.6875 18H14.0625C14.9941 18 15.75 17.2441 15.75 16.3125V14.85C15.75 12.3152 13.7496 10.2656 11.243 10.1461Z\" fill=\"#0E4EFF\" />\n </svg>\n );\n}\n\nexport default Stakeholder;\n","import React from 'react';\n\nfunction Task() {\n return (\n <svg width=\"18\" height=\"17\" viewBox=\"0 0 18 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17.1562 11.8398H0.84375C0.376172 11.8398 0 12.216 0 12.6836V15.4961C0 15.9637 0.376172 16.3398 0.84375 16.3398H17.1562C17.6238 16.3398 18 15.9637 18 15.4961V12.6836C18 12.216 17.6238 11.8398 17.1562 11.8398ZM16.3125 14.6523H10.1602V13.5273H16.3125V14.6523ZM17.1562 6.21484H0.84375C0.376172 6.21484 0 6.59102 0 7.05859V9.87109C0 10.3387 0.376172 10.7148 0.84375 10.7148H17.1562C17.6238 10.7148 18 10.3387 18 9.87109V7.05859C18 6.59102 17.6238 6.21484 17.1562 6.21484ZM16.3125 9.02734H5.66016V7.90234H16.3125V9.02734ZM17.1562 0.589844H0.84375C0.376172 0.589844 0 0.966016 0 1.43359V4.24609C0 4.71367 0.376172 5.08984 0.84375 5.08984H17.1562C17.6238 5.08984 18 4.71367 18 4.24609V1.43359C18 0.966016 17.6238 0.589844 17.1562 0.589844ZM16.3125 3.40234H12.4102V2.27734H16.3125V3.40234Z\" fill=\"#0E4EFF\" />\n </svg>\n );\n}\n\nexport default Task;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { SlideUpModal } from 'components/core/Modal';\nimport Button from 'components/core/Button';\nimport {\n NewNoteForNavigation as NewNoteButton,\n NewTaskForNavigation as NewTaskButton,\n} from 'components/Grm2';\nimport {\n trackNewNoteClicked,\n trackNewTaskClicked,\n} from 'components/Navigation/GlobalHeader/utils/tracking';\nimport NewStakeholderButton from 'components/NavigationV2/components/common/NewStakeholderButton';\nimport DisabledCreateMessage from 'components/NavigationV2/components/common/DisabledCreateMessage';\n\nimport { Note, Stakeholder, Task } from './components/Icons';\nimport styles from './styles.module.scss';\n\nfunction Panel({ isOpen, toggleOpen }) {\n const renderContent = (icon, name) => (<>{icon} <span className={styles.name}>{name}</span></>);\n\n const renderList = () => {\n if (!(gon.isStakeholderMgmtEnabled || gon.isGrmEnabled)) {\n return <DisabledCreateMessage isMobile />;\n }\n\n return (\n <>\n {gon.isGrmEnabled && (\n <>\n <NewNoteButton\n isAddNoteEnabled\n trackButtonClicked={trackNewNoteClicked}\n className={styles.option}\n content={renderContent(<Note />, 'Note')}\n withMobileStyle={false}\n onSuccess={toggleOpen}\n />\n\n <NewTaskButton\n trackButtonClicked={trackNewTaskClicked}\n className={styles.option}\n content={renderContent(<Task />, 'Task')}\n onSuccess={toggleOpen}\n />\n </>\n )}\n\n {gon.isStakeholderMgmtEnabled && (\n <NewStakeholderButton\n className={styles.option}\n content={renderContent(<Stakeholder />, 'Stakeholder contact')}\n onSuccess={toggleOpen}\n />\n )}\n </>\n );\n };\n\n return (\n <SlideUpModal\n isOpen={isOpen}\n toggleOpen={toggleOpen}\n className={styles.modal}\n bodyClassName={styles.body}\n >\n <div className={styles.header}>\n <span className={styles.title}>Create</span>\n\n <Button className={styles.closeButton} theme=\"light\" onClick={toggleOpen}>\n <i className=\"far fa-times\" />\n </Button>\n </div>\n\n <div className={styles.list}>\n {renderList()}\n </div>\n </SlideUpModal>\n );\n}\n\nPanel.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n};\n\nexport default Panel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport useModal from 'components/core/Modal/useModal';\nimport Button from 'components/core/Button';\n\nimport ItemName from '../ItemName';\nimport Panel from './components/Panel';\n\nfunction Create({ className, iconClassName, onClick }) {\n const { isOpenModal, toggleModal } = useModal();\n\n const handleClick = () => {\n toggleModal();\n onClick && onClick();\n };\n\n return (\n <>\n <Button onClick={handleClick} className={className} theme=\"light\">\n <i className={classNames('far fa-plus-circle', iconClassName)} />\n <ItemName name=\"Create\" />\n </Button>\n\n <Panel isOpen={isOpenModal} toggleOpen={toggleModal} />\n </>\n );\n}\n\nCreate.propTypes = {\n className: PropTypes.string,\n iconClassName: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nexport default Create;\n","import React, { cloneElement } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\nimport { SlideUpModal } from 'components/core/Modal';\nimport { getApps } from 'components/NavigationV2/utils/apps';\nimport PanelHeader from 'components/NavigationV2/components/MobileView/components/common/PanelHeader';\nimport { trackAppClicked } from 'components/NavigationV2/utils/tracking';\n\nimport styles from './styles.module.scss';\n\nfunction Panel({ disabledProducts, isOpen, toggleOpen }) {\n const apps = getApps(disabledProducts);\n\n const renderApp = ({ icon, name, href }) => (\n <Link\n href={href}\n key={name}\n className={styles.link}\n theme=\"light\"\n onClick={() => trackAppClicked(name)}\n >\n {cloneElement(icon, { className: styles.appIcon })}\n {name}\n </Link>\n );\n\n return (\n <SlideUpModal\n isOpen={isOpen}\n toggleOpen={toggleOpen}\n className={styles.modal}\n bodyClassName={styles.body}\n >\n <PanelHeader title=\"Applications\" onClose={toggleOpen} />\n\n <div className={styles.background}>\n <div className={styles.apps}>\n {apps.map(renderApp)}\n </div>\n </div>\n </SlideUpModal>\n );\n}\n\nPanel.propTypes = {\n disabledProducts: PropTypes.arrayOf(PropTypes.string).isRequired,\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n};\n\nexport default Panel;\n","import React from 'react';\n\nimport styles from './styles.module.scss';\n\nfunction Icon() {\n return (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\" className={styles.icon}>\n <rect x=\"1\" y=\"1\" width=\"4\" height=\"4\" />\n <rect x=\"8\" y=\"1\" width=\"4\" height=\"4\" />\n <rect x=\"15\" y=\"1\" width=\"4\" height=\"4\" />\n <rect x=\"1\" y=\"8\" width=\"4\" height=\"4\" />\n <rect x=\"8\" y=\"8\" width=\"4\" height=\"4\" />\n <rect x=\"15\" y=\"8\" width=\"4\" height=\"4\" />\n <rect x=\"1\" y=\"15\" width=\"4\" height=\"4\" />\n <rect x=\"8\" y=\"15\" width=\"4\" height=\"4\" />\n <rect x=\"15\" y=\"15\" width=\"4\" height=\"4\" />\n </svg>\n );\n}\n\nexport default Icon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport useModal from 'components/core/Modal/useModal';\n\nimport ItemName from '../ItemName';\nimport Panel from './components/Panel';\nimport Icon from './components/Icon';\n\nfunction Apps({ disabledProducts, className, onClick }) {\n const { isOpenModal, toggleModal } = useModal();\n\n const handleClick = () => {\n toggleModal();\n onClick && onClick();\n };\n\n return (\n <>\n <Button\n className={className}\n onClick={handleClick}\n theme=\"light\"\n >\n <Icon />\n <ItemName name=\"Apps\" />\n </Button>\n\n <Panel\n disabledProducts={disabledProducts}\n isOpen={isOpenModal}\n toggleOpen={toggleModal}\n />\n </>\n );\n}\n\nApps.propTypes = {\n disabledProducts: PropTypes.arrayOf(PropTypes.string).isRequired,\n className: PropTypes.string,\n onClick: PropTypes.func,\n};\n\nexport default Apps;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction Icon({ isActive }) {\n return (\n <svg className={classNames(styles.icon, isActive && styles.active)} width=\"26\" height=\"23\" viewBox=\"0 0 26 23\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0.5 2.90625V20.0938C0.5 21.3882 1.54932 22.4375 2.84375 22.4375H23.1562C24.4507 22.4375 25.5 21.3882 25.5 20.0938V2.90625C25.5 1.61182 24.4507 0.5625 23.1562 0.5625H2.84375C1.54932 0.5625 0.5 1.61182 0.5 2.90625ZM23.5469 13.8438H10.1354V9.15625H23.5469V13.8438ZM23.5469 15.7969V19.8984C23.5469 20.222 23.2845 20.4844 22.9609 20.4844H10.1354V15.7969H23.5469ZM2.45312 9.15625H8.18227V13.8438H2.45312V9.15625ZM10.1354 7.20312V2.51562H22.9609C23.2845 2.51562 23.5469 2.77798 23.5469 3.10156V7.20312H10.1354ZM8.18227 2.51562V7.20312H2.45312V3.10156C2.45312 2.77798 2.71548 2.51562 3.03906 2.51562H8.18227ZM2.45312 15.7969H8.18227V20.4844H3.03906C2.71548 20.4844 2.45312 20.222 2.45312 19.8984V15.7969Z\" />\n </svg>\n );\n}\n\nIcon.propTypes = {\n isActive: PropTypes.bool,\n};\n\nexport default Icon;\n","import { useState, useEffect } from 'react';\n\nimport { getIsMyFeedActive, getIsActive } from 'components/NavigationV2/utils';\nimport { ROUTE_EVENT } from 'components/NavigationV2/components/RouteListener';\nimport slugs from 'components/Navigation/menuData/slugs';\n\nconst DEFAULT_LINK_PROPS = {\n name: 'Home',\n getIsActive() { return getIsActive(gon.homepage.path); },\n};\n\nconst LINK_PROPS = {\n [slugs.dashboard]: {\n name: 'Feed',\n getIsActive: getIsMyFeedActive,\n },\n};\n\nconst getLinkProps = () => (LINK_PROPS[gon.homepage.slug] || DEFAULT_LINK_PROPS);\n\nfunction useHomeLink({ isInactive }) {\n const linkProps = getLinkProps();\n const [isActive, setIsActive] = useState(linkProps.getIsActive());\n const withActiveStyle = !isInactive && isActive;\n\n useEffect(() => {\n const handleRouteEvent = () => {\n setIsActive(linkProps.getIsActive());\n };\n\n document.addEventListener(ROUTE_EVENT, handleRouteEvent);\n\n window.onpopstate = handleRouteEvent;\n\n return () => document.removeEventListener(ROUTE_EVENT, handleRouteEvent);\n }, []);\n\n return {\n name: linkProps.name,\n withActiveStyle,\n };\n}\n\nexport default useHomeLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\nimport { trackHomeButtonClicked } from 'components/Navigation/GlobalHeader/utils/tracking';\n\nimport ItemName from '../ItemName';\nimport Icon from './components/Icon';\nimport useHomeLink from './utils/useHomeLink';\nimport styles from './styles.module.scss';\n\nfunction HomeLink({ isInactive }) {\n const {\n withActiveStyle,\n name,\n } = useHomeLink({ isInactive });\n\n return (\n <Link theme=\"light\" href={gon.homepage.path} className={styles.link} onClick={trackHomeButtonClicked}>\n <Icon isActive={withActiveStyle} />\n <ItemName name={name} isActive={withActiveStyle} />\n </Link>\n );\n}\n\nHomeLink.propTypes = {\n isInactive: PropTypes.bool.isRequired,\n};\n\nexport default HomeLink;\n","// @ts-nocheck\nimport React, { FC } from 'react';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport { UseModalType } from 'components/core/Modal/types';\n\nimport Navigation from '../../../Navigation';\nimport FooterBar from '../common/FooterBar';\nimport Create from './components/Create';\nimport Apps from './components/Apps';\nimport ItemName from './components/ItemName';\nimport HomeLink from './components/HomeLink';\nimport styles from './styles.module.scss';\n\ntype NavigationBarProps = {\n isAppMenuOpen: boolean,\n disabledProducts: string[],\n toggleNavigationMenu: () => void,\n unifiedSearchView: UseModalType\n};\n\nconst NavigationBar: FC<NavigationBarProps> = ({\n isAppMenuOpen,\n disabledProducts,\n toggleNavigationMenu,\n unifiedSearchView,\n}) => {\n const {\n isOpenModal: isGlobalSearchOpen,\n toggleModal: toggleGlobalSearch,\n closeModal: closeGlobalSearch,\n } = unifiedSearchView;\n\n if (isAppMenuOpen) {\n return null;\n }\n\n const searchIconClassNames = classNames(\n 'far fa-search',\n styles.icon,\n isGlobalSearchOpen && styles.activeIcon,\n );\n\n const handleCloseGlobalSearch = () => isGlobalSearchOpen && closeGlobalSearch();\n const handleDirectoryClick = () => {\n handleCloseGlobalSearch();\n toggleNavigationMenu();\n };\n\n return (\n <FooterBar>\n <div className={styles.closedMenuContainer}>\n <Apps\n disabledProducts={disabledProducts}\n className={styles.navButton}\n onClick={handleCloseGlobalSearch}\n />\n\n <Button onClick={handleDirectoryClick} className={styles.navButton} theme=\"light\">\n <i className={classNames('far fa-folder-open', styles.icon)} />\n <ItemName name=\"Directory\" />\n </Button>\n\n <Create\n className={styles.navButton}\n iconClassName={styles.icon}\n onClick={handleCloseGlobalSearch}\n />\n\n <Button onClick={toggleGlobalSearch} className={styles.navButton} theme=\"light\">\n <i className={searchIconClassNames} />\n <ItemName name=\"Search\" isActive={isGlobalSearchOpen} />\n </Button>\n\n <HomeLink isInactive={isGlobalSearchOpen} />\n\n {isGlobalSearchOpen && (\n <Navigation\n isMobile\n className={styles.globalQuickSearch}\n unifiedSearchView={unifiedSearchView}\n />\n )}\n </div>\n </FooterBar>\n );\n};\n\nexport default NavigationBar;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport Link from 'components/core/Link';\nimport { mobileCategoryShape } from 'components/NavigationV2/utils/directory/shapes';\nimport { trackDirectoryItemClicked } from 'components/NavigationV2/utils/tracking';\nimport { TRANSITION_DURATION } from 'components/Navigation/common/DrillDown/Transition';\n\nimport styles from './styles.module.scss';\n\nfunction Links({ activeCategory, startLoading, onReturn, setIsBackDirection }) {\n useEffect(() => {\n // set isBackDirection after css transition completes\n const timer = setTimeout(() => setIsBackDirection(true), TRANSITION_DURATION);\n\n return () => clearTimeout(timer);\n }, []);\n\n const renderLink = ({ title, href }) => {\n const handleClick = () => {\n trackDirectoryItemClicked(title);\n startLoading();\n };\n\n return (\n <Link href={href} onClick={handleClick} className={styles.link} theme=\"light\" key={title}>\n {title}\n </Link>\n );\n };\n\n const renderSection = ({ id, title, items }) => (\n <div className={styles.section} key={id}>\n {title && <h5 className={styles.sectionTitle}>{title}</h5>}\n {items.map(renderLink)}\n </div>\n );\n\n return (\n <section className={styles.links}>\n <Button theme=\"light\" className={styles.title} onClick={onReturn}>\n <i className=\"far fa-arrow-left\" />\n {activeCategory.title}\n </Button>\n\n {activeCategory.sections.map(renderSection)}\n </section>\n );\n}\n\nLinks.propTypes = {\n activeCategory: mobileCategoryShape.isRequired,\n startLoading: PropTypes.func,\n onReturn: PropTypes.func.isRequired,\n setIsBackDirection: PropTypes.func.isRequired,\n};\n\nexport default Links;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Button from 'components/core/Button';\nimport { mobileCategoryShape } from 'components/NavigationV2/utils/directory/shapes';\nimport { trackDirectoryCategoryClicked } from 'components/NavigationV2/utils/tracking';\nimport { TRANSITION_DURATION } from 'components/Navigation/common/DrillDown/Transition';\n\nimport styles from './styles.module.scss';\n\nfunction Categories({ categories, setActiveId, setIsBackDirection }) {\n useEffect(() => {\n // unset isBackDirection after css transition completes\n const timer = setTimeout(() => setIsBackDirection(false), TRANSITION_DURATION);\n\n return () => clearTimeout(timer);\n }, []);\n\n const renderCategory = (category) => {\n if (isEmpty(category.sections)) {\n return null;\n }\n\n const handleClick = () => {\n setActiveId(category.id);\n trackDirectoryCategoryClicked(category.title);\n };\n\n return (\n <Button onClick={handleClick} theme=\"light\" className={styles.category} key={category.id}>\n {category.title}\n <i className=\"far fa-arrow-right\" />\n </Button>\n );\n };\n\n return (\n <section className={styles.categories}>\n {categories.map(renderCategory)}\n </section>\n );\n}\n\nCategories.propTypes = {\n categories: PropTypes.arrayOf(mobileCategoryShape).isRequired,\n setActiveId: PropTypes.func.isRequired,\n setIsBackDirection: PropTypes.func.isRequired,\n};\n\nexport default Categories;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport DrillDown from 'components/Navigation/common/DrillDown';\nimport Loader from 'components/core/Loader';\nimport { mobileCategoryShape } from 'components/NavigationV2/utils/directory/shapes';\n\nimport Links from './components/Links';\nimport Categories from './components/Categories';\nimport styles from './styles.module.scss';\n\nfunction Directory({\n isLoading,\n startLoading,\n categories,\n activeCategory,\n setActiveId,\n}) {\n const hasActiveCategory = !!activeCategory;\n const key = hasActiveCategory ? activeCategory.id : 'categories';\n const [isBackDirection, setIsBackDirection] = useState(hasActiveCategory);\n\n const getList = () => {\n if (hasActiveCategory) {\n return (\n <Links\n activeCategory={activeCategory}\n startLoading={startLoading}\n onReturn={() => setActiveId(null)}\n setIsBackDirection={setIsBackDirection}\n />\n );\n }\n\n return (\n <Categories\n categories={categories}\n setActiveId={setActiveId}\n setIsBackDirection={setIsBackDirection}\n />\n );\n };\n\n return (\n <DrillDown\n isFullHeight\n id={key}\n isBackDirection={isBackDirection}\n className={styles.drillDown}\n >\n <>\n {getList()}\n\n {isLoading && (\n <div className={styles.loadingOverlay}>\n <Loader onlyIcon />\n </div>\n )}\n </>\n </DrillDown>\n );\n}\n\nDirectory.defaultProps = {\n isLoading: false,\n startLoading: () => {},\n};\n\nDirectory.propTypes = {\n isLoading: PropTypes.bool,\n startLoading: PropTypes.func,\n categories: PropTypes.arrayOf(mobileCategoryShape).isRequired,\n activeCategory: mobileCategoryShape,\n setActiveId: PropTypes.func.isRequired,\n};\n\nexport default Directory;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport withMenuItems from 'components/Navigation/MobileView/utils/withMenuItems';\nimport { mobileCategoryShape } from 'components/NavigationV2/utils/directory/shapes';\n\nimport PanelHeader from '../../common/PanelHeader';\nimport Directory from './components/Directory';\nimport styles from './styles.module.scss';\n\nfunction ActiveMenu({\n isLoading,\n startLoading,\n toggleNavigationMenu,\n categories,\n activeCategory,\n setActiveId,\n}) {\n return (\n <div className={styles.container}>\n <PanelHeader title=\"Directory\" onClose={toggleNavigationMenu} />\n\n <section className={styles.navSection}>\n <Directory\n isLoading={isLoading}\n startLoading={startLoading}\n categories={categories}\n activeCategory={activeCategory}\n setActiveId={setActiveId}\n />\n </section>\n </div>\n );\n}\n\nActiveMenu.propTypes = {\n isLoading: PropTypes.bool.isRequired,\n startLoading: PropTypes.func.isRequired,\n toggleNavigationMenu: PropTypes.func.isRequired,\n categories: PropTypes.arrayOf(mobileCategoryShape).isRequired,\n activeCategory: mobileCategoryShape,\n setActiveId: 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, { FC } from 'react';\n\nimport { MenuItemsContext } from 'components/Navigation/MobileView/utils/withMenuItems';\nimport withNavigation from 'components/Navigation/utils/withNavigation';\nimport { UseModalType } from 'components/core/Modal/types';\nimport useLoader from 'utils/useLoader';\n\nimport useMobileNavigation from './utils/useMobileNavigation';\nimport NavigationBar from './components/NavigationBar';\nimport ApplicationMenu from './components/ApplicationMenu';\n\ntype MobileViewProps = {\n isMobilePage: boolean,\n isAppMenuOpen: boolean,\n disabledProducts: string[],\n isFirstPageLoad: boolean,\n toggleAppMenu: () => void,\n unifiedSearchView: UseModalType,\n};\n\nconst MobileView: FC<MobileViewProps> = ({\n isMobilePage,\n isAppMenuOpen,\n disabledProducts,\n isFirstPageLoad,\n toggleAppMenu,\n unifiedSearchView,\n}) => {\n const { isLoading, startLoading } = useLoader();\n\n const {\n toggleNavigationMenu,\n ...directoryProps\n } = useMobileNavigation({\n disabledProducts,\n toggleAppMenu,\n isAppMenuOpen,\n isMobilePage,\n });\n\n const context = {\n ...directoryProps,\n disabledProducts,\n isMobilePage,\n toggleNavigationMenu,\n isLoading,\n startLoading,\n };\n\n const showNavigationBar = !isMobilePage;\n\n return (\n <MenuItemsContext.Provider value={context}>\n {showNavigationBar && (\n <NavigationBar\n isAppMenuOpen={isAppMenuOpen}\n toggleNavigationMenu={toggleNavigationMenu}\n disabledProducts={disabledProducts}\n unifiedSearchView={unifiedSearchView}\n />\n )}\n\n <ApplicationMenu\n isAppMenuOpen={isAppMenuOpen}\n disabledProducts={disabledProducts}\n isFirstPageLoad={isFirstPageLoad}\n />\n </MenuItemsContext.Provider>\n );\n};\n\nexport default withNavigation(MobileView);\n","import React, { FC } from 'react';\n\nimport { NavigationContext } from 'components/Navigation/utils/navContext';\nimport useModal from 'components/core/Modal/useModal';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport { addFreshchatClassName } from 'utils/freshchat';\nimport useChatPosition from 'components/core/ActionBar/useChatPosition';\n\nimport useNavigation from './utils/useNavigation';\nimport Navigation from './components/Navigation';\nimport MobileView from './components/MobileView';\n\ntype NavigationV2Props = {\n disabledProducts?: string[],\n userImgPath?: string,\n userName?: string\n};\n\nconst NavigationV2: FC<NavigationV2Props> = ({ disabledProducts = [], userImgPath, userName }) => {\n const { isMobile } = useMediaQuery();\n const {\n appMenuTab,\n isFirstPageLoad,\n toggleAppMenu,\n isAppMenuOpen,\n isMobilePage,\n } = useNavigation();\n\n const context = {\n disabledProducts,\n userImgPath,\n userName,\n appMenuTab,\n isFirstPageLoad,\n toggleAppMenu,\n isAppMenuOpen,\n isMobilePage,\n };\n\n const unifiedSearchView = useModal();\n\n addFreshchatClassName('navigation-v2');\n useChatPosition(false);\n\n return (\n <NavigationContext.Provider value={context}>\n {isMobile\n ? <MobileView unifiedSearchView={unifiedSearchView} />\n : <Navigation unifiedSearchView={unifiedSearchView} />}\n </NavigationContext.Provider>\n );\n};\n\nexport default NavigationV2;\n","import ReactDOM from 'react-dom';\nimport React from 'react';\n\nimport { loadGoogleMaps } from 'utils/external-dependency-loader';\nimport Navigation from 'components/Navigation';\nimport NavigationV2 from 'components/NavigationV2';\nimport ProductBar from 'components/core/ProductBar';\nimport Notifications from 'components/Stakeholder/utils/Notifications';\nimport RememberUserService from 'components/Login/utils/remember-user-service';\n\nloadGoogleMaps(\n null,\n Notifications.showGMapsFailed,\n);\n\nconst productBarElement = document.getElementById('product-bar');\n\nif (productBarElement) {\n ReactDOM.render(\n <ProductBar />,\n productBarElement,\n );\n}\n\nconst navigationElement = document.getElementById('navigation');\n\nif (navigationElement && navigationElement.dataset) {\n const { disabledProducts, userImgPath, userName } = navigationElement.dataset;\n const NavigationComponent = gon.isNavigationV2Enabled ? NavigationV2 : Navigation;\n\n ReactDOM.render(\n <NavigationComponent\n disabledProducts={JSON.parse(disabledProducts)}\n userImgPath={userImgPath}\n userName={userName}\n />,\n navigationElement,\n );\n}\n\nRememberUserService.init();\n","import {\n GOVERNOR_ORDERS_SLUG,\n GOVERNOR_PRESS_RELEASES_SLUG, LOCAL_DOCUMENTS_SLUG, SOCIAL_MEDIA_SLUG,\n STATE_BILLS_SLUG, STATE_REGULATIONS_SLUG,\n} from 'components/Dashboard/utils/libProducts';\nimport {\n CONTINUOUS,\n DAILY,\n NONE,\n NONE_ID,\n WEEKLY,\n} from 'components/core/FrequencyOptions/constants';\n\nconst { myFeedToken } = gon.currentUser || {};\n\n/** Values [statesToTrack, localDocumentOptions] are defined in transformKeywordForUI */\nexport const initialValues = {\n keywords: '',\n nickname: '',\n itemsToTrack: [],\n localCities: [],\n isAllSocialMediaSelected: true,\n isAllLocalChecked: true,\n socialMediaToTrack: [],\n notificationFrequency: NONE_ID,\n workspacesToSubscribe: [\n {\n label: 'My feed',\n value: myFeedToken,\n isFixed: true,\n },\n ],\n};\n\nexport const STATES_TRACK_SLUGS = [\n STATE_BILLS_SLUG,\n GOVERNOR_PRESS_RELEASES_SLUG,\n GOVERNOR_ORDERS_SLUG,\n STATE_REGULATIONS_SLUG,\n];\nexport const LOCAL_DOCUMENTS_TRACK_SLUGS = [LOCAL_DOCUMENTS_SLUG];\nexport const SOCIAL_LIST_TRACK_SLUGS = [SOCIAL_MEDIA_SLUG];\n\nexport const ALL_FREQUENCIES = [NONE, WEEKLY, DAILY, CONTINUOUS];\n\nexport const FIRST_STEP = 1;\nexport const LAST_STEP = 3;\n","export default {\n LEGISLATOR_DISTANCES: 'legislator_distances',\n STATE_LEGISLATOR_DISTANCES: 'state_legislator_distances',\n};\n","import GlobalNotifier from 'components/GlobalNotifier';\n\nconst addNotification = GlobalNotifier.addNotification;\n\nconst success = message => addNotification({ message, level: 'success' });\nconst error = message => addNotification({ message, level: 'error' });\n\nexport default class Notifications {\n static stakeholderCreateSuccess = () => success('Stakeholder has been created successfully.');\n static stakeholderCreateFailed = () => error('An error occurred while creating the stakeholder. Please try again.');\n static stakeholderEditSuccess = () => success('Stakeholder has been edited successfully.');\n static stakeholderEditFailed = () => error('An error occurred while updating the stakeholder. Please try again.');\n static defaultFetchDataFailed = () => error('An error occurred during the data loading. Please try again.');\n static exportEventSuccess = () => success('Data has been exported successfully.');\n static exportEventFailed = () => error('Data export failed. Please try again.');\n static tagEventSuccess = () => success('Tags have been applied successfully.');\n static tagEventFailed = () => error('Failed to apply tags. Please try again.');\n static listEventSuccess = () => success('Stakeholders have been added to list successfully.');\n static listEventFailed = () => error('Failed to add Stakeholder to list. Please try again.');\n}\n","import get from 'lodash/get';\n\nimport { trackNavigationBarEvent } from 'utils/tracking/navigation';\n\nconst getUserId = () => get(gon, 'currentUser.user_id', null);\n\nexport function trackTasksClicked() {\n trackNavigationBarEvent('clicked on Tasks button', { userId: getUserId() });\n}\n\nexport function trackCreateStakeholderClicked() {\n trackNavigationBarEvent('clicked on Create stakeholder button', { userId: getUserId() });\n}\n\nexport function trackNotificationsClicked() {\n trackNavigationBarEvent('clicked on Notifications button', { userId: getUserId() });\n}\n\nexport function trackAppClicked(app) {\n trackNavigationBarEvent('clicked on Apps item', { userId: getUserId(), app });\n}\n\nexport function trackDirectoryCategoryClicked(category) {\n trackNavigationBarEvent('clicked on Category', { userId: getUserId(), category });\n}\n\nexport function trackDirectoryItemClicked(item) {\n trackNavigationBarEvent('clicked on Directory item', { userId: getUserId(), item });\n}\n","import { useState } from 'react';\nimport { find, filter, map } from 'lodash';\n\nimport useModal from 'components/core/Modal/useModal';\nimport { transformTag } from 'components/core/ButtonTagManager/utils';\n\nfunction useWorkspacesSelect(workspaces, onToggleNewWorkspaceModal) {\n const { isOpenModal, toggleModal } = useModal();\n const [newWorkspaceName, setNewWorkspaceName] = useState('');\n\n const handleToggleModal = () => {\n toggleModal();\n onToggleNewWorkspaceModal && onToggleNewWorkspaceModal();\n };\n\n const handleChange = (values) => {\n const newWorkspace = find(values, 'isNew');\n\n if (newWorkspace) {\n setNewWorkspaceName(newWorkspace.value);\n handleToggleModal();\n }\n\n const persistedWorkspaces = filter(values, workspace => !workspace.isNew);\n\n workspaces.onChangeValues(map(persistedWorkspaces, transformTag));\n };\n\n const handleSuccess = ({ token, name }) => {\n const newWorkspace = { label: name, value: token };\n\n workspaces.onChangeValues(prevWorkspaces => [...prevWorkspaces, newWorkspace]);\n };\n\n return {\n isOpenModal,\n onToggleModal: handleToggleModal,\n newWorkspaceName,\n handleChange,\n handleSuccess,\n };\n}\n\nexport default useWorkspacesSelect;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport partial from 'lodash/partial';\n\nimport FrequencyCard from 'components/Dashboard/common/FrequencyCard';\nimport { WORKSPACE_SUGGESTER_STRATEGY } from 'components/Dashboard/Workspaces/utils/constants';\nimport NewWorkspaceModal from 'components/Dashboard/Workspaces/components/NewWorkspaceModal';\nimport { BaseOption } from 'components/core/AdvancedSearch';\nimport { workspacesShape } from 'components/core/TrackButton/shapes';\nimport { formatCreateLabel, getNewOptionData } from 'components/core/ButtonTagManager/utils';\n\nimport useWorkspacesSelect from './utils/useWorkspacesSelect';\nimport styles from './styles.module.scss';\n\nfunction WorkspacesSelect({ workspaces, children, asyncCreatable, onToggleNewWorkspaceModal }) {\n const {\n isOpenModal,\n onToggleModal,\n newWorkspaceName,\n handleChange,\n handleSuccess,\n } = useWorkspacesSelect(workspaces, onToggleNewWorkspaceModal);\n\n return (\n <>\n <FrequencyCard\n label=\"Save to workspaces\"\n onCheck={workspaces.onCheckWorkspaces}\n isChecked={workspaces.isWorkspacesChecked}\n withTitle={false}\n checkboxClassName=\"workspaces-select__checkbox\"\n >\n {children}\n <BaseOption\n multi\n noGroupClassName\n title=\"Workspace(s)\"\n autoload\n overrideValue={workspaces.values}\n strategy={WORKSPACE_SUGGESTER_STRATEGY}\n onChange={handleChange}\n className={styles.option}\n asyncCreatable={asyncCreatable}\n formatCreateLabel={partial(formatCreateLabel, partial.placeholder, 'workspace')}\n getNewOptionData={getNewOptionData}\n errorMessage={workspaces.errorMessage}\n />\n </FrequencyCard>\n <NewWorkspaceModal\n isOpen={isOpenModal}\n toggleModal={onToggleModal}\n initialName={newWorkspaceName}\n onSuccess={handleSuccess}\n />\n </>\n );\n}\n\nWorkspacesSelect.defaultProps = {\n asyncCreatable: false,\n};\n\nWorkspacesSelect.propTypes = {\n workspaces: workspacesShape.isRequired,\n children: PropTypes.node,\n asyncCreatable: PropTypes.bool,\n onToggleNewWorkspaceModal: PropTypes.func,\n};\n\nexport default WorkspacesSelect;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"styles-module__icon___WgE5A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formField\":\"styles-module__formField___1j4vB\",\"complementaryFieldInput\":\"styles-module__complementaryFieldInput___2q_ZH\",\"primaryButton\":\"styles-module__primaryButton___1bZtH\",\"hidden\":\"styles-module__hidden___1wKiB\",\"placeholder\":\"styles-module__placeholder___34EAv\",\"isRequired\":\"styles-module__isRequired___3PFts\",\"formGroup\":\"styles-module__formGroup___3zxt8\",\"prefix\":\"styles-module__prefix___tsf1x\",\"invalid\":\"styles-module__invalid___y9I4w\",\"withPrefix\":\"styles-module__withPrefix___HqZ26\",\"inputWithTypes\":\"styles-module__inputWithTypes___eKjOQ\",\"input\":\"styles-module__input___LtFZg\",\"inputFieldGroup\":\"styles-module__inputFieldGroup___1lFGO\",\"buttonGroup\":\"styles-module__buttonGroup___24czE\",\"isActive\":\"styles-module__isActive___vNJr7\"};","import PropTypes from 'prop-types';\n\nexport const customFieldsAnswersShape = PropTypes.shape({\n [PropTypes.string]: PropTypes.arrayOf(PropTypes.string),\n});\n\nexport const emailsShape = PropTypes.shape({\n category: PropTypes.string,\n email: PropTypes.string,\n id: PropTypes.number,\n primary: PropTypes.bool,\n});\n\nexport const phonesShape = PropTypes.shape({\n id: PropTypes.number,\n phone: PropTypes.string,\n category: PropTypes.string,\n primary: PropTypes.bool,\n});\n\nexport const listTagShape = PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number,\n name: PropTypes.name,\n })\n);\n\nexport const addressShape = PropTypes.shape({\n category: PropTypes.string,\n city: PropTypes.string,\n company_id: PropTypes.number,\n complement: PropTypes.string,\n congressional_district_id: PropTypes.number,\n country: PropTypes.string,\n created_at: PropTypes.string,\n id: PropTypes.number,\n latitude: PropTypes.number,\n longitude: PropTypes.number,\n number: PropTypes.string,\n place_id: PropTypes.string,\n primary: PropTypes.bool,\n state: PropTypes.string,\n state_code: PropTypes.string,\n state_lower_district_id: PropTypes.number,\n state_upper_district_id: PropTypes.number,\n street: PropTypes.string,\n updated_at: PropTypes.string,\n zip: PropTypes.string,\n});\n\nexport const allCustomFieldsShape = PropTypes.arrayOf(PropTypes.shape({\n action: PropTypes.shape({\n editable: PropTypes.bool,\n enabled: PropTypes.bool,\n token: PropTypes.string,\n }),\n createdAt: PropTypes.string,\n description: PropTypes.string,\n enabled: PropTypes.bool,\n fieldType: PropTypes.string,\n isEditable: PropTypes.bool,\n name: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n productSlugs: PropTypes.shape({\n token: PropTypes.string,\n value: PropTypes.arrayOf(PropTypes.string),\n }),\n required: PropTypes.bool,\n token: PropTypes.string,\n}));\n\nexport const profileShape = PropTypes.shape({\n address: PropTypes.oneOfType([\n PropTypes.string,\n addressShape,\n ]),\n addresses: PropTypes.arrayOf(addressShape),\n customFields: customFieldsAnswersShape,\n email: PropTypes.string,\n emails: PropTypes.arrayOf(emailsShape),\n facebookProfile: PropTypes.string,\n firstName: PropTypes.string,\n id: PropTypes.number,\n lastName: PropTypes.string,\n lists: listTagShape,\n middleName: PropTypes.string,\n organization: PropTypes.string,\n partyCode: PropTypes.string,\n phone: PropTypes.string,\n phones: PropTypes.arrayOf(phonesShape),\n smartLists: listTagShape,\n tags: listTagShape,\n title: PropTypes.string,\n twitterName: PropTypes.string,\n});\n\nconst statusType = PropTypes.oneOfType([PropTypes.string, PropTypes.bool]);\n\nconst statusShape = PropTypes.shape({\n [PropTypes.string]: statusType,\n});\n\nexport const formStatusShape = PropTypes.shape({\n addresses: PropTypes.arrayOf(statusShape),\n description: statusType,\n emails: PropTypes.arrayOf(statusShape),\n facebookProfile: statusType,\n firstName: statusType,\n id: statusType,\n lastName: statusType,\n lists: PropTypes.arrayOf(statusType),\n middleName: statusType,\n organization: statusType,\n partyCode: statusType,\n phones: PropTypes.arrayOf(statusShape),\n tags: PropTypes.arrayOf(statusType),\n title: statusType,\n twitterName: statusType,\n});\n\nexport const errorsShape = PropTypes.shape({\n addresses: PropTypes.arrayOf(PropTypes.shape({\n address: PropTypes.string,\n })),\n emails: PropTypes.arrayOf(PropTypes.shape({\n email: PropTypes.string,\n })),\n phones: PropTypes.arrayOf(PropTypes.shape({\n phone: PropTypes.string,\n })),\n firstName: PropTypes.string,\n lastName: PropTypes.string,\n [PropTypes.string]: PropTypes.string,\n});\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___12s2D\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___vSvBB\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___2EI4V\",\"menuWrapper\":\"styles-module__menuWrapper___2JDcc\",\"menu\":\"styles-module__menu___3o9Cq\",\"v2\":\"styles-module__v2___1RMU_\",\"advancedSearchButton\":\"styles-module__advancedSearchButton___126qG\",\"menuWithOptions\":\"styles-module__menuWithOptions___1MJjy\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport FrequencyCard from 'components/Dashboard/common/FrequencyCard';\n\nfunction MyFeedFrequency({\n children,\n isChecked,\n onCheck,\n withTitle,\n hideChildren,\n isCheckboxDisabled,\n}) {\n return (\n <FrequencyCard\n label=\"Save to My feed to receive updates\"\n isChecked={isChecked}\n onCheck={onCheck}\n withTitle={withTitle}\n hideChildren={hideChildren}\n isDisabled={isCheckboxDisabled}\n >\n {children}\n </FrequencyCard>\n );\n}\n\nMyFeedFrequency.defaultProps = {\n hideChildren: false,\n isCheckboxDisabled: false,\n};\n\nMyFeedFrequency.propTypes = {\n children: PropTypes.node,\n isChecked: PropTypes.bool.isRequired,\n onCheck: PropTypes.func.isRequired,\n withTitle: PropTypes.bool,\n hideChildren: PropTypes.bool,\n isCheckboxDisabled: PropTypes.bool,\n};\n\nexport default MyFeedFrequency;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\n\nimport StaffersMailer from 'components/StaffersMailer';\nimport PartyIcon from 'components/shared/party-icon';\n\nfunction StyledStaffersMailer(props) {\n const mailerClassName = classnames({\n 'legislator-link__mailer': true,\n 'legislator-link__mailer--extra-side-margin': props.extraSideMargin,\n });\n\n if (props.legislationLevel !== 'federal') {\n return <span />;\n }\n\n return (\n <span className={mailerClassName}>\n <StaffersMailer legislatorId={props.legislatorId} />\n </span>\n );\n}\n\nStyledStaffersMailer.propTypes = {\n legislatorId: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]).isRequired,\n legislationLevel: PropTypes.string.isRequired,\n extraSideMargin: PropTypes.bool,\n};\n\nStyledStaffersMailer.defaultProps = {\n extraSideMargin: false,\n};\n\nfunction legislatorPath(legislatorId, legislationLevel) {\n switch (legislationLevel) {\n case 'federal':\n // uses: federal_legislator_path\n return `/federal/legislators/${legislatorId}`;\n case 'state':\n // uses: state_legislator_path\n return `/state/legislators/${legislatorId}`;\n default:\n throw TypeError(`Legislation type: ${legislationLevel} not found`);\n }\n}\n\n\n// This component should implement same as LegislationHelper link_to_legislator\nexport default function LinkToLegislator(props) {\n const {\n id,\n party_slug,\n party_short,\n universal_moniker,\n } = props.legislator;\n\n const legislatorLink = legislatorPath(id, props.legislationLevel);\n\n const handleClick = (event) => {\n const { onClick } = props;\n onClick();\n event.stopPropagation();\n };\n\n return (\n <span className={classnames('legislator-link', props.className)}>\n <a href={legislatorLink} onClick={handleClick}>\n <span className=\"legislator-link__universal_moniker\">\n {universal_moniker}\n </span>\n\n {party_slug && party_short &&\n <PartyIcon\n extraSideMargin={props.extraSideMargin}\n partySlug={party_slug}\n partyShort={party_short}\n />\n }\n </a>\n\n {props.showEnvelope &&\n <StyledStaffersMailer\n legislatorId={id}\n extraSideMargin={props.extraSideMargin}\n legislationLevel={props.legislationLevel}\n />\n }\n </span>\n );\n}\n\nLinkToLegislator.propTypes = {\n onClick: PropTypes.func,\n showEnvelope: PropTypes.bool,\n legislator: PropTypes.object.isRequired,\n legislationLevel: PropTypes.string.isRequired,\n extraSideMargin: PropTypes.bool,\n className: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n};\n\nLinkToLegislator.defaultProps = {\n showEnvelope: true,\n extraSideMargin: false,\n onClick: () => {},\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonGroup\":\"styles-module__buttonGroup___1uy4K\",\"frequencyButton\":\"styles-module__frequencyButton___1_C4R\",\"withMarginBottom\":\"styles-module__withMarginBottom___3u26g\",\"optionContainer\":\"styles-module__optionContainer___Ym1_6\",\"checkbox\":\"styles-module__checkbox___3BQ3i\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Link from 'utils/Link';\nimport { BASE_URL } from 'components/Dashboard/common/FeedPage/utils/constants';\n\nimport styles from '../styles.module.scss';\n\nconst linkThemes = {\n light: styles.lightTheme,\n};\n\nfunction WorkspaceLink({ theme, label, url, className }) {\n return (\n <Link\n className={classNames(\n styles.baseLink,\n linkThemes[theme],\n className,\n )}\n theme=\"default\"\n href={url}\n >\n {label}\n </Link>\n );\n}\n\nWorkspaceLink.defaultProps = {\n label: 'My feed',\n url: `${BASE_URL}/feed`,\n};\n\nWorkspaceLink.propTypes = {\n label: PropTypes.string,\n theme: PropTypes.string,\n url: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default WorkspaceLink;\n","export const FEDERAL = 'federal';\nexport const STATE = 'state';\nexport const CUSTOM = 'custom';\n\nexport const HOUSE = 'house';\nexport const SENATE = 'senate';\n\nexport const TWITTER = 'twitter';\nexport const FACEBOOK = 'facebook';\nexport const MAX_TWEET_LENGTH = 200;\n\nexport const CAMPAIGN_LEGISLATOR_TYPE = 'legislator';\nexport const CAMPAIGN_REGULATION_TYPE = 'regulation';\nexport const CAMPAIGN_TYPES = [\n CAMPAIGN_LEGISLATOR_TYPE,\n CAMPAIGN_REGULATION_TYPE,\n];\n\nexport const MESSAGES_CUSTOMIZATION_OPTION_APPEND = 'append';\nexport const MESSAGES_CUSTOMIZATION_OPTION_EDIT = 'edit';\nexport const MESSAGES_CUSTOMIZATION_OPTION_NONE = 'none';\n\nexport const REGULATION_SLUG = 'regulation';\n\nexport const DEFAULT_CUSTOM_COLORS = {\n primary_color: '#215fe6',\n secondary_color: '#ffffff',\n};\n\nexport const MAX_REGULATION_COMMENT_LENGTH = 5000;\nexport const MAX_REGULATION_COMMENT_COMPOSE_LENGTH = 4000;\n\nexport const DISTRICT_SETTINGS = {\n ALL: 'all',\n REPRESENTATIVES: 'representatives',\n};\n","import get from 'lodash/get';\n\nimport { BASE_URL } from 'components/Dashboard/utils/constants';\n\nexport const getMyFeedToken = () => get(gon, 'currentUser.myFeedToken');\nexport const getMyFeedName = () => get(gon, 'currentUser.myFeedName');\nexport const getMyFeed = () => ({ token: getMyFeedToken(), name: getMyFeedName() });\n\nexport const isMyFeed = feedToken => feedToken === getMyFeedToken();\n\nexport const getFeedUrl = token => (\n isMyFeed(token) ? `${BASE_URL}/feed` : `${BASE_URL}/workspaces/${token}`\n);\n\nexport const getFeedSettingsUrl = token => (\n isMyFeed(token) ? `${BASE_URL}/my_subscriptions` : `${BASE_URL}/workspaces/${token}/settings`\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport classNames from 'classnames';\n\nimport Link from 'components/core/Link';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport styles from './styles.module.scss';\n\nfunction DisplayLink({ href, label, isExternal, className }) {\n if (isEmpty(label)) {\n return EMPTY_VALUE;\n }\n\n if (isEmpty(href)) {\n return label;\n }\n\n return (\n <Link\n theme=\"default\"\n isExternal={isExternal}\n href={href}\n className={classNames(styles.baseLink, className)}\n >\n {label}\n </Link>\n );\n}\n\nDisplayLink.defaultProps = {\n isExternal: true,\n};\n\nDisplayLink.propTypes = {\n href: PropTypes.string,\n label: PropTypes.node,\n isExternal: PropTypes.bool,\n className: PropTypes.string,\n};\n\nexport default DisplayLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport {\n REPUBLICAN_PARTY_SHORT,\n DEMOCRAT_PARTY_SHORT,\n INDEPENDENT_SHORT,\n NONPARTISAN_SHORT,\n OTHER_SHORT,\n} from 'utils/constants/parties';\nimport Badge from 'components/core/Badge';\n\nimport styles from './styles.module.scss';\n\nfunction PartyBadge({ children, party, className }) {\n if (!party) {\n return null;\n }\n\n const formattedParty = party.toLowerCase();\n const { [formattedParty]: partyClassName } = {\n [REPUBLICAN_PARTY_SHORT]: styles.redBadge,\n [DEMOCRAT_PARTY_SHORT]: styles.blueBadge,\n [INDEPENDENT_SHORT]: styles.gray,\n [NONPARTISAN_SHORT]: styles.gray,\n [OTHER_SHORT]: styles.gray,\n };\n\n return (\n <Badge className={classNames(styles.commonBadge, partyClassName, className)}>\n {children}\n </Badge>\n );\n}\n\nPartyBadge.propTypes = {\n children: PropTypes.node.isRequired,\n party: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nexport default PartyBadge;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"baseLink\":\"styles-module__baseLink___IFU7G\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport ReactHintFactory from 'react-hint';\n\nconst defaultCheckerClassName = 'royal-checkbox__checker';\nconst checkedCheckerClassName = 'royal-checkbox__checker--checked';\nconst indeterminateCheckerClassName = 'royal-checkbox__checker--indeterminate';\nconst defaultTooltipAttr = 'data-custom';\nconst ReactHint = ReactHintFactory(React);\n\n\nexport default class Container extends React.Component {\n static propTypes = {\n name: PropTypes.string,\n value: PropTypes.string,\n label: PropTypes.string,\n tooltipKey: PropTypes.string,\n wrapperClassName: PropTypes.string,\n checked: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n ]),\n disabled: PropTypes.bool,\n indeterminate: PropTypes.bool,\n onChange: PropTypes.func,\n showTooltip: PropTypes.bool,\n tooltipMessage: PropTypes.string,\n }\n\n static defaultProps = {\n checked: false,\n indeterminate: false,\n showTooltip: false,\n }\n\n state = {\n checked: this.props.checked,\n }\n\n componentDidUpdate = (prevProps) => {\n let { checked } = this.props;\n checked = this.getBoolValue(checked);\n\n if (checked !== this.getBoolValue(prevProps.checked) &&\n checked !== this.getBoolValue(this.state.checked)) {\n this.setState({ checked });\n }\n }\n\n getBoolValue(value) {\n return value === true || value === 'true';\n }\n\n handleClick = () => {\n const { disabled, onChange } = this.props;\n\n if (disabled) return;\n\n this.setState(\n prevState => ({ checked: !prevState.checked }),\n () => onChange && onChange(this.state.checked)\n );\n }\n\n // create a custom tooltipAttr for each checkbox on page\n tooltipAttr = () => [\n defaultTooltipAttr,\n this.props.tooltipKey,\n ].join('-');\n\n render() {\n const {\n name,\n value,\n label,\n disabled,\n indeterminate,\n showTooltip,\n tooltipMessage,\n wrapperClassName,\n } = this.props;\n const { checked } = this.state;\n\n const checkerClassName = classnames({\n [defaultCheckerClassName]: !checked && !indeterminate,\n [checkedCheckerClassName]: checked && !indeterminate,\n [indeterminateCheckerClassName]: indeterminate,\n });\n\n const elementClassName = classnames({\n 'royal-checkbox': true,\n 'royal-disabled': disabled,\n });\n\n const labelBlock = (\n <div className=\"royal-checkbox__label\">\n { label }\n </div>\n );\n\n // Fixed changing of uncontrolled input\n const inputProps = {\n name,\n value: '',\n };\n\n if (checked && value) {\n inputProps.value = value;\n }\n\n const hiddenInput = (\n <input type=\"hidden\" {...inputProps} />\n );\n\n const isTooltipEnabled = showTooltip && disabled;\n const tooltipContent = () => (\n <div className=\"react-hint__content\">\n {tooltipMessage}\n </div>\n );\n const tooltip = (\n <ReactHint\n attribute={this.tooltipAttr()}\n position=\"top\"\n events={{ hover: true }}\n onRenderContent={tooltipContent}\n />\n );\n\n return (\n <div className={wrapperClassName}>\n { isTooltipEnabled && tooltip }\n <div\n className={elementClassName}\n onClick={this.handleClick}\n {...(isTooltipEnabled && { [this.tooltipAttr()]: true })}\n >\n <div className=\"royal-checkbox__square\">\n <div className={checkerClassName} />\n </div>\n { label && labelBlock }\n { name && hiddenInput }\n </div>\n </div>\n );\n }\n}\n","import React from 'react';\nimport { Provider } from 'react-redux';\nimport store from 'redux/store';\nimport Container from './components/container.jsx';\n\nexport default function RoyalCheckbox(props) {\n return (\n <Provider store={store}>\n <Container {...props} />\n </Provider>\n );\n}\n\nexport function isRoyalCheckboxIndeterminate(items, selectedItems) {\n return selectedItems.length > 0 && selectedItems.length < items.length;\n}\n\nexport function isRoyalCheckboxChecked(items, selectedItems) {\n return selectedItems.length === items.length && items.length !== 0;\n}\n","import { sortBy, size, toLower, filter } from 'lodash';\n\nimport {\n STATE_BILL_STATUSES,\n FEDERAL_BILL_STATUSES,\n ALL_ACTIVE,\n ALL_INACTIVE,\n} from 'utils/constants/billStatus';\n\nexport const AGENCY_PRESS_RELEASES_SLUG = 'doctrove_agency_press_release';\nexport const CBO_COST_ESTIMATES_SLUG = 'doctrove_cbo';\nexport const COMMITTEE_REPORTS_SLUG = 'doctrove_committee_report';\nexport const CONGRESSIONAL_PRESS_RELEASE_SLUG = 'doctrove_press_release';\nexport const CONGRESSIONAL_RECORD_ITEMS_SLUG = 'congressional_record';\nexport const CRS_REPORTS_SLUG = 'doctrove_crs';\nexport const DEAR_COLLEAGUE_LETTERS_SLUG = 'doctrove_dear_colleague_letter';\nexport const EXECUTIVE_ORDERS_SLUG = 'doctrove_executive_order';\nexport const FEDERAL_BILLS_SLUG = 'bill_keyword';\nexport const FEDERAL_CONTRACTS_SLUG = 'doctrove_fbo';\nexport const FEDERAL_GRANTS_SLUG = 'doctrove_grant';\nexport const FEDERAL_PROPOSED_REGULATIONS_SLUG = 'federal_register_regulation';\nexport const GAO_REPORTS_SLUG = 'doctrove_gao';\nexport const GOVERNOR_ORDERS_SLUG = 'doctrove_governor_order';\nexport const GOVERNOR_PRESS_RELEASES_SLUG = 'doctrove_governor_press_release';\nexport const LIVE_HEARING_TRANSCRIPTS_SLUG = 'doctrove_live_hearing_transcript';\nexport const LOCAL_DOCUMENTS_SLUG = 'town_intel_document';\nexport const OFFICIAL_HEARING_TRANSCRIPTS_SLUG = 'doctrove_hearing_transcript';\nexport const SAP_REPORTS_SLUG = 'doctrove_sap';\nexport const SOCIAL_MEDIA_SLUG = 'social_media_post';\nexport const STATE_BILLS_SLUG = 'state_bill';\nexport const STATE_UNION_ADDRESSES_SLUG = 'doctrove_union_statement';\nexport const STATE_REGULATIONS_SLUG = 'state_regulation_document';\nexport const THIRD_PARTY_REPORTS_SLUG = 'doctrove_third_party_report';\nexport const TREATIES_SLUG = 'doctrove_treaty';\nexport const WHITE_HOUSE_PRESS_BRIEFINGS_SLUG = 'doctrove_press_briefing';\nexport const NEWS_STORY_SLUG = 'news_story';\n\nconst {\n isFederalProductEnabled,\n isStateProductEnabled,\n isStateRegulationsEnabled,\n localProductEnabledLocaleTypes,\n isGrmEnabled,\n} = gon || {};\n\nfunction getDisabledMessage(productName) {\n return `You do not currently have access to ${productName}.\n Please contact your Intelligence customer success representative if you would like to learn more.`;\n}\n\nexport const DISABLED_STATE_MESSAGE = getDisabledMessage('State Intelligence');\nexport const DISABLED_STATE_REGULATION_MESSAGE = getDisabledMessage('State Regulations');\nexport const DISABLED_FEDERAL_MESSAGE = getDisabledMessage('Federal Intelligence');\nexport const DISABLED_LOCAL_MESSAGE = getDisabledMessage('Local Intelligence');\nexport const DISABLED_SOCIAL_MEDIA_MESSAGE = getDisabledMessage('Social Media');\nconst DISABLED_GRM_MESSAGE = getDisabledMessage('Activity');\n\nexport function getFederalProducts() {\n const props = {\n product: 'Federal',\n disabled: !isFederalProductEnabled,\n disabledMessage: DISABLED_FEDERAL_MESSAGE,\n };\n\n return [\n { ...props, id: AGENCY_PRESS_RELEASES_SLUG, label: 'Agency press releases' },\n { ...props, id: CBO_COST_ESTIMATES_SLUG, label: 'CBO cost estimates' },\n { ...props, id: COMMITTEE_REPORTS_SLUG, label: 'Committee reports' },\n { ...props, id: CONGRESSIONAL_PRESS_RELEASE_SLUG, label: 'Congressional press releases' },\n { ...props, id: CONGRESSIONAL_RECORD_ITEMS_SLUG, label: 'Congressional record items' },\n { ...props, id: EXECUTIVE_ORDERS_SLUG, label: 'Executive orders' },\n { ...props, id: FEDERAL_BILLS_SLUG, label: 'Federal bills', product: '' },\n { ...props, id: FEDERAL_CONTRACTS_SLUG, label: 'Federal contracts', product: '' },\n { ...props, id: FEDERAL_GRANTS_SLUG, label: 'Federal grants', product: '' },\n { ...props, id: FEDERAL_PROPOSED_REGULATIONS_SLUG, label: 'Federal proposed regulations', product: '' },\n { ...props, id: GAO_REPORTS_SLUG, label: 'GAO reports' },\n { ...props, id: LIVE_HEARING_TRANSCRIPTS_SLUG, label: 'Live hearing transcripts' },\n { ...props, id: OFFICIAL_HEARING_TRANSCRIPTS_SLUG, label: 'Official hearing transcripts' },\n { ...props, id: SAP_REPORTS_SLUG, label: 'SAP reports' },\n { ...props, id: STATE_UNION_ADDRESSES_SLUG, label: 'State of the Union addresses' },\n { ...props, id: WHITE_HOUSE_PRESS_BRIEFINGS_SLUG, label: 'White House press briefings' },\n { ...props, id: TREATIES_SLUG, label: 'Treaties' },\n { ...props, id: CRS_REPORTS_SLUG, label: 'CRS reports' },\n { ...props, id: THIRD_PARTY_REPORTS_SLUG, label: 'Third party reports' },\n ];\n}\n\nexport function getStateProducts() {\n const props = {\n product: 'State',\n disabled: !isStateProductEnabled,\n disabledMessage: DISABLED_STATE_MESSAGE,\n };\n\n return [\n { ...props, id: STATE_BILLS_SLUG, label: 'State bills', product: '' },\n {\n id: STATE_REGULATIONS_SLUG,\n label: 'State regulations',\n disabled: !isStateRegulationsEnabled,\n disabledMessage: DISABLED_STATE_REGULATION_MESSAGE,\n },\n { ...props, id: GOVERNOR_ORDERS_SLUG, label: 'Governor orders' },\n { ...props, id: GOVERNOR_PRESS_RELEASES_SLUG, label: 'Governor press releases' },\n ];\n}\n\nexport function getLocalProducts() {\n return [\n {\n id: LOCAL_DOCUMENTS_SLUG,\n label: 'Local documents',\n disabled: !size(localProductEnabledLocaleTypes),\n disabledMessage: DISABLED_LOCAL_MESSAGE,\n },\n ];\n}\n\nexport function getAllProducts() {\n return [\n ...getFederalProducts(),\n ...getStateProducts(),\n ...getLocalProducts(),\n ];\n}\n\nexport const TRACKED_STATE_REGULATION = 'state_regulation';\nexport const TRACKED_FEDERAL_BILL = 'federal_bill';\nexport const TRACKED_FEDERAL_COMMITTEE_HEARING = 'federal_committee_hearing';\nexport const TRACKED_FEDERAL_COMMITTEE_STAFFER = 'federal_committee_staffer';\nexport const TRACKED_FEDERAL_LEGISLATIVE_STAFFER = 'federal_legislator_staffer';\nexport const TRACKED_STATE_LEGISLATIVE_STAFFER = 'state_legislator_staffer';\nexport const TRACKED_STATE_COMMITTEE_HEARING = 'state_committee_hearing';\nexport const TRACKED_STATE_COMMITTEE_STAFFER = 'state_committee_staffer';\n\nconst filterActiveAndInactiveOptions = statuses => (\n filter(statuses, status => !([ALL_ACTIVE, ALL_INACTIVE].includes(status.value)))\n);\n\nexport function getTrackedProducts() {\n function getFederal() {\n const props = {\n product: 'Federal',\n disabled: !isFederalProductEnabled,\n disabledMessage: DISABLED_FEDERAL_MESSAGE,\n };\n\n return [\n {\n ...props,\n id: TRACKED_FEDERAL_BILL,\n label: 'Federal bills',\n subItems: {\n id: 'federalBillStatus',\n title: 'Status',\n options: filterActiveAndInactiveOptions(FEDERAL_BILL_STATUSES),\n withSelectAll: true,\n },\n },\n { ...props, id: FEDERAL_PROPOSED_REGULATIONS_SLUG, label: 'Federal regulations' },\n { ...props, id: TRACKED_FEDERAL_LEGISLATIVE_STAFFER, label: 'Federal legislators' },\n { ...props, id: TRACKED_FEDERAL_COMMITTEE_STAFFER, label: 'Federal committees' },\n ];\n }\n\n function getState() {\n const props = {\n product: 'State',\n disabled: !isStateProductEnabled,\n disabledMessage: DISABLED_STATE_MESSAGE,\n };\n\n return [\n { ...props, id: TRACKED_STATE_COMMITTEE_STAFFER, label: 'State committees' },\n {\n ...props,\n id: STATE_BILLS_SLUG,\n label: 'State bills',\n subItems: {\n id: 'stateBillStatus',\n title: 'Status',\n options: filterActiveAndInactiveOptions(STATE_BILL_STATUSES),\n withSelectAll: true,\n },\n },\n { ...props, id: TRACKED_STATE_LEGISLATIVE_STAFFER, label: 'State legislators' },\n {\n id: TRACKED_STATE_REGULATION,\n label: 'State regulations',\n disabled: !isStateRegulationsEnabled,\n disabledMessage: DISABLED_STATE_REGULATION_MESSAGE,\n },\n ];\n }\n\n return sortBy([\n ...getFederal(),\n ...getState(),\n ], ({ label }) => toLower(label));\n}\n\nexport const FEDERAL_COMMITTEE = 'federal_committee';\nexport const FEDERAL_LEGISLATOR = 'federal_legislator';\nexport const STATE_COMMITTEE = 'state_committee';\nexport const GRM_ACTIVITY_TYPE = 'grm_v2_card';\nexport const STATE_LEGISLATOR = 'state_legislator';\n\nexport function getAllFilterProducts() {\n function getFederal() {\n const props = {\n product: 'Federal',\n disabled: !isFederalProductEnabled,\n disabledMessage: DISABLED_FEDERAL_MESSAGE,\n };\n\n return [\n { ...props, id: TRACKED_FEDERAL_BILL, label: 'Federal bills', type: 'Federal bill' },\n { ...props, id: FEDERAL_COMMITTEE, label: 'Federal committees', type: 'Federal committee' },\n { ...props, id: FEDERAL_LEGISLATOR, label: 'Federal legislators', type: 'Federal legislator' },\n { ...props, id: FEDERAL_GRANTS_SLUG, label: 'Federal grants', type: 'Federal grant', product: '' },\n { ...props, id: FEDERAL_PROPOSED_REGULATIONS_SLUG, label: 'Federal proposed regulations', type: 'Federal regulation', product: '' },\n { ...props, id: DEAR_COLLEAGUE_LETTERS_SLUG, label: 'Dear colleague letters', type: 'Dear colleague letter' },\n { ...props, id: CONGRESSIONAL_RECORD_ITEMS_SLUG, label: 'Congressional record items', type: 'Congressional record item' },\n { ...props, id: FEDERAL_CONTRACTS_SLUG, label: 'Federal contracts', type: 'Federal contract', product: '' },\n { ...props, id: CBO_COST_ESTIMATES_SLUG, label: 'CBO cost estimates', type: 'CBO cost estimate' },\n { ...props, id: CRS_REPORTS_SLUG, label: 'CRS reports', type: 'CRS report' },\n { ...props, id: GAO_REPORTS_SLUG, label: 'GAO reports', type: 'GAO report' },\n { ...props, id: SAP_REPORTS_SLUG, label: 'SAP reports', type: 'SAP report' },\n { ...props, id: COMMITTEE_REPORTS_SLUG, label: 'Committee reports', type: 'Committee report' },\n { ...props, id: OFFICIAL_HEARING_TRANSCRIPTS_SLUG, label: 'Official hearing transcripts', type: 'Official hearing transcript' },\n { ...props, id: WHITE_HOUSE_PRESS_BRIEFINGS_SLUG, label: 'White House press briefings', type: 'White House press briefing' },\n { ...props, id: THIRD_PARTY_REPORTS_SLUG, label: 'Third party reports', type: 'Third party report' },\n { ...props, id: TREATIES_SLUG, label: 'Treaties', type: 'Treaty' },\n { ...props, id: STATE_UNION_ADDRESSES_SLUG, label: 'State of the Union addresses', type: 'State of the Union address' },\n { ...props, id: CONGRESSIONAL_PRESS_RELEASE_SLUG, label: 'Congressional press releases', type: 'Congressional press release' },\n { ...props, id: AGENCY_PRESS_RELEASES_SLUG, label: 'Agency press releases', type: 'Agency press release' },\n { ...props, id: LIVE_HEARING_TRANSCRIPTS_SLUG, label: 'Live hearing transcripts', type: 'Live hearing transcript' },\n { ...props, id: EXECUTIVE_ORDERS_SLUG, label: 'Executive orders', type: 'Executive order' },\n ];\n }\n\n function getState() {\n const props = {\n product: 'State',\n disabled: !isStateProductEnabled,\n disabledMessage: DISABLED_STATE_MESSAGE,\n };\n\n return [\n { ...props, id: STATE_COMMITTEE, label: 'State committees', type: 'State committee' },\n { ...props, id: STATE_BILLS_SLUG, label: 'State bills', type: 'State bill' },\n { ...props, id: GOVERNOR_PRESS_RELEASES_SLUG, label: 'Governor press releases', type: 'Governor press release' },\n { ...props, id: GOVERNOR_ORDERS_SLUG, label: 'Governor orders', type: 'Governor order' },\n { ...props, id: STATE_LEGISLATOR, label: 'State legislators', type: 'State legislators' },\n {\n id: TRACKED_STATE_REGULATION,\n label: 'State regulations',\n type: 'State regulation',\n disabled: !isStateRegulationsEnabled,\n disabledMessage: DISABLED_STATE_REGULATION_MESSAGE,\n },\n ];\n }\n\n function getGrm() {\n return [\n {\n product: 'Grm',\n disabled: !isGrmEnabled,\n disabledMessage: DISABLED_GRM_MESSAGE,\n id: GRM_ACTIVITY_TYPE,\n label: 'Activity note',\n type: 'Activity note',\n },\n ];\n }\n\n return sortBy([\n ...getFederal(),\n ...getState(),\n ...getGrm(),\n {\n id: LOCAL_DOCUMENTS_SLUG,\n label: 'Local documents',\n disabled: !size(localProductEnabledLocaleTypes),\n disabledMessage: DISABLED_LOCAL_MESSAGE,\n },\n ], ({ label }) => toLower(label));\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___2Pz15\",\"input\":\"styles-module__input___24Me1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"control\":\"styles-module__control___1dgjx\",\"searchIcon\":\"styles-module__searchIcon___2Rq7K\",\"closeInstructions\":\"styles-module__closeInstructions___2HqWN\",\"closeIcon\":\"styles-module__closeIcon___GouT1\",\"key\":\"styles-module__key___2aJDC\"};","import * as featureSlugs from 'utils/constants/featureSlugs';\n\nexport const resultLabels = {\n [featureSlugs.STAKEHOLDER_SLUG]: 'Stakeholder',\n [featureSlugs.CONGRESSIONAL_STAFFERS_SLUG]: 'Congressional staffer',\n [featureSlugs.FEDERAL_AGENCY_STAFFERS_SLUG]: 'Federal agency staffer',\n [featureSlugs.STATE_STAFFERS_SLUG]: 'State staffer',\n [featureSlugs.FEDERAL_LEGISLATORS_SLUG]: 'Federal legislator',\n [featureSlugs.STATE_LEGISLATORS_SLUG]: 'State legislator',\n [featureSlugs.FEDERAL_EXECUTIVE_SLUG]: 'Federal executive',\n [featureSlugs.STATE_EXECUTIVE_SLUG]: 'State executive',\n [featureSlugs.STATE_STAFFER_EXECUTIVE_SLUG]: 'State executive staffer',\n [featureSlugs.LOCAL_EXECUTIVE_SLUG]: 'Local executive',\n [featureSlugs.LOCAL_MUNICIPAL_EXECUTIVE_SLUG]: 'Municipal executive',\n [featureSlugs.LOCAL_COUNTY_EXECUTIVE_SLUG]: 'County executive',\n [featureSlugs.FEDERAL_COMMITTEE_SLUG]: 'Federal committee',\n [featureSlugs.STATE_COMMITTEE_SLUG]: 'State committee',\n [featureSlugs.FEDERAL_BILLS_SLUG]: 'Federal bill',\n [featureSlugs.STATE_BILLS_SLUG]: 'State bill',\n [featureSlugs.FEDERAL_REGULATIONS_SLUG]: 'Federal regulation',\n [featureSlugs.STATE_REGULATIONS_SLUG]: 'State regulation',\n [featureSlugs.AGENCY_PRESS_RELEASES_SLUG]: 'Agency press release',\n [featureSlugs.CBO_COST_ESTIMATES_SLUG]: 'CBO cost estimate',\n [featureSlugs.COMMITTEE_REPORTS_SLUG]: 'Committee report',\n [featureSlugs.CONGRESSIONAL_PRESS_RELEASES_SLUG]: 'Congressional press release',\n [featureSlugs.CONGRESSIONAL_RECORD_ITEMS_SLUG]: 'Congressional record item',\n [featureSlugs.CONTRACTS_SLUG]: 'Contract',\n [featureSlugs.CRS_REPORTS_SLUG]: 'CRS report',\n [featureSlugs.DEAR_COLLEAGUE_LETTERS_SLUG]: 'Dear Colleague letter',\n [featureSlugs.EXECUTIVE_ORDERS_SLUG]: 'Executive order',\n [featureSlugs.GAO_REPORTS_SLUG]: 'GAO report',\n [featureSlugs.GRANTS_SLUG]: 'Grant',\n [featureSlugs.LD2_REPORTS]: 'LD-2 reports',\n [featureSlugs.LIVE_HEARING_TRANSCRIPTS_SLUG]: 'Live hearing transcript',\n [featureSlugs.OFFICIAL_HEARING_TRANSCRIPTS_SLUG]: 'Official hearing transcript',\n [featureSlugs.SAP_REPORTS_SLUG]: 'SAP report',\n [featureSlugs.STATE_OF_UNION_ADDRESSES_SLUG]: 'State of the Union address',\n [featureSlugs.TREATY_DOCUMENTS_SLUG]: 'Treaty document',\n [featureSlugs.THIRD_PARTY_REPORTS_SLUG]: 'Third party reports',\n [featureSlugs.WHITE_HOUSE_PRESS_BRIEFINGS_SLUG]: 'White House press briefing',\n [featureSlugs.GOVERNOR_ORDERS_SLUG]: 'Governor order',\n [featureSlugs.GOVERNOR_PRESS_RELEASES_SLUG]: 'Governor press releases',\n [featureSlugs.TWITTER_SLUG]: 'Twitter',\n};\n","import PropTypes from 'prop-types';\n\nexport const strategyInputsShape = PropTypes.shape({\n [PropTypes.string]: PropTypes.oneOfType(\n [\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.arrayOf(PropTypes.object),\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(PropTypes.number),\n ],\n ),\n});\n","import React, { ReactNode } from 'react';\n\nimport styles from './styles.module.scss';\n\nconst SomethingWentWrong = ({ iconNode }: { iconNode?: ReactNode }) => (\n <div className={styles.somethingWentWrongContainer}>\n {iconNode || <img src=\"/images/something-went-wrong.svg\" alt=\"Not found\" />}\n <div className={styles.title}>Something went wrong...</div>\n <p className={styles.subTitle}>\n Sorry an error occurred during the data loading.\n </p>\n </div>\n);\n\nexport default SomethingWentWrong;\n","export { default } from './SomethingWentWrong'; \n","import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport Select from 'components/core/Select';\n\nexport default class Container extends Component {\n constructor(props) {\n super();\n\n this.state = {\n value: props.value,\n };\n }\n\n componentWillReceiveProps(props) {\n const { value } = this.props;\n\n if (props.value !== value) {\n this.setState({ value });\n }\n }\n\n handleChangeCallback = () => {\n const { onChange } = this.props;\n const { value } = this.state;\n\n if (onChange) {\n onChange(value);\n }\n }\n\n handleChange = value => this.setState({ value }, this.handleChangeCallback);\n\n options = () => {\n const { options, alphabetize } = this.props;\n\n const wrappedOptions = Object.entries(options).map(\n ([key, value]) => ({\n value: key,\n label: value,\n })\n );\n\n if (alphabetize) {\n return sortAutocompleteOptions(wrappedOptions);\n }\n\n return wrappedOptions;\n }\n\n name = () => {\n const { multi, name } = this.props;\n\n if (multi) {\n return `${name}[]`;\n }\n\n return name;\n }\n\n render() {\n const {\n clearable,\n disabled,\n groupClassName,\n labelClassName,\n inputClassName,\n label,\n ...otherProps\n } = this.props;\n\n const { value } = this.state;\n\n const labelComponent = (\n <label className={labelClassName}>\n { label }\n </label>\n );\n\n return (\n <div className={groupClassName}>\n { label && labelComponent }\n\n <div className={inputClassName}>\n <Select\n backspaceRemoves={clearable}\n clearable={clearable}\n isDisabled={disabled}\n deleteRemoves={clearable}\n {...otherProps}\n name={this.name()}\n onChange={this.handleChange}\n value={value}\n options={this.options()}\n />\n </div>\n </div>\n );\n }\n}\n\nContainer.propTypes = {\n alphabetize: PropTypes.bool,\n clearable: PropTypes.bool,\n disabled: PropTypes.bool,\n label: PropTypes.string,\n labelClassName: PropTypes.string,\n inputClassName: PropTypes.string,\n groupClassName: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n ]),\n options: PropTypes.objectOf(PropTypes.any).isRequired,\n multi: PropTypes.bool,\n name: PropTypes.string,\n onChange: PropTypes.func,\n};\n\nContainer.defaultProps = {\n alphabetize: false,\n clearable: true,\n disabled: false,\n labelClassName: 'col-md-4 control-label',\n inputClassName: 'col-md-8',\n groupClassName: 'form-group',\n multi: false,\n};\n","import React from 'react';\nimport { Provider } from 'react-redux';\nimport store from 'redux/store';\nimport Container from './components/container.jsx';\n\nexport default function Autocomplete(props) {\n return (\n <Provider store={store}>\n <Container {...props} />\n </Provider>\n );\n}\n\nexport function sortAutocompleteOptions(options) {\n return options.sort((prevOption, nextOption) => {\n const prevLabel = prevOption.label.toLowerCase();\n const nextLabel = nextOption.label.toLowerCase();\n\n if (prevLabel < nextLabel) {\n return -1;\n }\n\n if (prevLabel > nextLabel) {\n return 1;\n }\n\n return 0;\n });\n}\n","import { error, success } from 'components/core/Notification';\n\nexport default {\n defaultFetchDataFailed: error('An error occurred during the data loading. Please try again.'),\n exportEventSuccess: success('Data has been exported successfully.'),\n exportEventFailed: error('Data export failed. Please try again.'),\n deleteFeedFailed: error('Failed to delete feed. Please try again.'),\n deleteFeedSuccess: success('Feed has been deleted successfully.'),\n createFeedSuccess: success('Feed has been created successfully.'),\n createFeedFailed: error('Failed to create feed. Please try again.'),\n updateFeedFailed: error('Failed to update feed. Please try again.'),\n updateFeedSuccess: success('Feed has been updated successfully.'),\n subscriptionFailed: error('Failed to subscribe to feed. Please try again.'),\n feedNotFound: error('Failed to load feed. It has been deleted or does not exist.'),\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonGroup\":\"styles-module__buttonGroup___3p2-h\",\"frequencyButton\":\"styles-module__frequencyButton___AyUiC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formGroup\":\"styles-module__formGroup___32r6K\",\"addButton\":\"styles-module__addButton___3dEB0\",\"removeButton\":\"styles-module__removeButton___2tTXl\",\"separator\":\"styles-module__separator___2TDaE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___157A_\",\"body\":\"styles-module__body___2aG55\"};","import { escapeRegExp, includes } from 'lodash';\nimport { isExternal } from 'utils/url';\nimport {\n FEDERAL_AGENCY_STAFFERS_SLUG,\n LOCAL_EXECUTIVE_SLUG,\n STATE_EXECUTIVE_SLUG,\n FEDERAL_EXECUTIVE_SLUG,\n STATE_STAFFER_EXECUTIVE_SLUG,\n} from 'utils/constants/featureSlugs';\n\nimport { productSlugs, QUICK_SEARCH_SLUGS } from './constants';\n\nexport const transformSuggesterRequest = ({ requiredInputs }) => {\n const { query: terms } = requiredInputs;\n\n return ({\n search: {\n terms,\n search_slugs: QUICK_SEARCH_SLUGS,\n },\n });\n};\n\nexport const redirectToSelectedPage = ({ url, strategy }, inputText = '') => {\n if (strategy === FEDERAL_AGENCY_STAFFERS_SLUG) {\n window.location.assign(`/federal/agency_staffers?search=${inputText}`);\n return;\n }\n\n if (isExternal(url)) {\n window.open(url, '_blank', 'noopener,noreferrer');\n return;\n }\n\n window.location.assign(url);\n};\n\nexport const getSearchTermsRegExp = (inputValue) => {\n const escapedInputValue = escapeRegExp(inputValue.trim());\n const searchInputTerms = escapedInputValue.split(' ').join('|');\n\n return new RegExp(`(${searchInputTerms})`, 'i');\n};\n\nexport const isItemLocked = ({ strategy }, disabledProducts) => {\n const productSlug = productSlugs[strategy];\n\n return disabledProducts.includes(productSlug);\n};\n\nexport const getExecutiveSlug = (customOptions = {}) => {\n const { type } = customOptions;\n const executiveSlugs = [\n LOCAL_EXECUTIVE_SLUG,\n STATE_EXECUTIVE_SLUG,\n FEDERAL_EXECUTIVE_SLUG,\n STATE_STAFFER_EXECUTIVE_SLUG,\n ];\n\n return includes(executiveSlugs, type) ? type : LOCAL_EXECUTIVE_SLUG;\n};\n","import React, { createContext } from 'react';\n\nexport const GlobalSearchContext = createContext();\n\nfunction withGlobalSearch(Component) {\n return (props) => (\n <GlobalSearchContext.Consumer>\n {(contexts) => <Component {...props} {...contexts} />}\n </GlobalSearchContext.Consumer>\n );\n}\n\nexport default withGlobalSearch;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from '../styles.module.scss';\n\nconst LinkIcon = ({ isExternal }) => {\n const externalIconClassNames = classNames(\n 'far fa-external-link-alt',\n styles.linkIcon,\n );\n\n const internalIconClassNames = classNames(\n 'far fa-level-down-alt',\n styles.internalLinkIcon,\n );\n\n const iconClassNames = isExternal ? externalIconClassNames : internalIconClassNames;\n\n return <i className={iconClassNames} />;\n};\n\nLinkIcon.propTypes = {\n isExternal: PropTypes.bool.isRequired,\n};\n\nexport default LinkIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport negate from 'lodash/negate';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { getSearchTermsRegExp } from 'components/GlobalSearch/utils';\n\nimport styles from '../styles.module.scss';\n\nfunction HighlightedTerm({ label, inputValue }) {\n const highlightMatchedTerm = (regExp) => (term, index) => {\n const termMatchesSearch = term.match(regExp);\n const termClassName = classNames(\n 'test__term',\n termMatchesSearch && styles.highlightedTerm,\n );\n\n return (\n <span key={`${term}${index}`} className={termClassName}>\n {term}\n </span>\n );\n };\n\n const searchInputRegExp = getSearchTermsRegExp(inputValue);\n const splittedTerms = label.split(searchInputRegExp).filter(negate(isEmpty));\n\n const formattedLabel = splittedTerms.map(highlightMatchedTerm(searchInputRegExp));\n\n return (\n <span className={styles.resultTitle}>\n {formattedLabel}\n </span>\n );\n}\n\nHighlightedTerm.propTypes = {\n label: PropTypes.string.isRequired,\n inputValue: PropTypes.string.isRequired,\n};\n\nexport default HighlightedTerm;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport PartyIcon from 'components/shared/party-icon';\nimport { isExternal } from 'utils/url';\nimport { Icon } from 'components/core/Icons';\nimport Button from 'components/core/Button';\n\nimport LinkIcon from './LinkIcon';\nimport styles from '../styles.module.scss';\nimport HighlightedTerm from './HighlightedTerm';\n\nfunction Label({\n label,\n url,\n inputValue,\n customOptions,\n isLocked,\n className,\n onDelete,\n}) {\n const getPartyIcon = () => {\n const { partySlug, partyShort } = customOptions;\n\n return partySlug && partyShort && (\n <PartyIcon\n partySlug={partySlug}\n partyShort={partyShort}\n className={styles.partyIcon}\n />\n );\n };\n\n const getLockedItemIcon = () => {\n const padlockIconClassNames = classNames(\n 'fas fa-lock',\n styles.padlockIcon,\n );\n const padlockIcon = <i className={padlockIconClassNames} />;\n\n return (isLocked && padlockIcon);\n };\n\n const handleDelete = (event) => {\n event.stopPropagation();\n onDelete(event);\n };\n\n const isUrlExternal = isExternal(url);\n const wrapperClassNames = classNames(\n !onDelete && styles.readonly,\n styles.label,\n className\n );\n\n return (\n <span className={wrapperClassNames}>\n <HighlightedTerm label={label} inputValue={inputValue} />\n {getPartyIcon()}\n {getLockedItemIcon()}\n {onDelete && (\n <Button\n className={styles.deleteWrapper}\n theme=\"link\"\n onClick={handleDelete}\n >\n <Icon iconClass={classNames(styles.deleteIcon, 'fal fa-times')} />\n </Button>\n )}\n {<LinkIcon isExternal={isUrlExternal} />}\n </span>\n );\n}\n\nLabel.defaultProps = {\n customOptions: {},\n inputValue: '',\n};\n\nLabel.propTypes = {\n label: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n inputValue: PropTypes.string,\n className: PropTypes.string,\n customOptions: PropTypes.shape({\n partyShort: PropTypes.string,\n partySlug: PropTypes.string,\n }),\n isLocked: PropTypes.bool.isRequired,\n onDelete: PropTypes.func,\n};\n\nexport default Label;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { formatGlobalUtcDate } from 'utils/date';\nimport { resultLabels, customOptionsShape } from 'components/GlobalSearch/utils/constants';\nimport withGlobalSearch from 'components/GlobalSearch/utils/withGlobalSearch';\n\nimport styles from '../styles.module.scss';\n\nfunction Byline({ strategy, customOptions }) {\n const getResultDate = () => {\n const { date } = customOptions;\n\n if (date) {\n const formattedDate = formatGlobalUtcDate(date);\n\n return ` - ${formattedDate}`;\n }\n\n return null;\n };\n\n const getResultState = () => {\n const { state } = customOptions;\n\n return state && ` - ${state}`;\n };\n\n const getResultLabel = () => resultLabels[strategy] || strategy;\n\n return (\n <span className={styles.byline}>\n {getResultLabel()}\n {getResultDate()}\n {getResultState()}\n </span>\n );\n}\n\nByline.propTypes = {\n strategy: PropTypes.string.isRequired,\n customOptions: customOptionsShape.isRequired,\n};\n\nexport default withGlobalSearch(Byline);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { isItemLocked, getExecutiveSlug } from '../../utils';\nimport { customOptionsShape, EXECUTIVE_PERSON_SLUG } from '../../utils/constants';\nimport withGlobalSearch from '../../utils/withGlobalSearch';\nimport Label from './components/Label';\nimport styles from './styles.module.scss';\nimport Byline from './components/Byline';\n\nfunction Result({\n label,\n strategy,\n url,\n inputValue,\n isFocused,\n customOptions,\n disabledProducts,\n labelClassName,\n className,\n onDelete,\n onClick,\n}) {\n // TODO: remove adjusted strategy when legacy strategy results are removed from users local storages\n const isLegacyStrategy = strategy === EXECUTIVE_PERSON_SLUG;\n const adjustedStrategy = isLegacyStrategy ? getExecutiveSlug(customOptions) : strategy;\n const isLocked = isItemLocked({ strategy: adjustedStrategy }, disabledProducts);\n\n const handleClick = () => {\n onClick && onClick(isLegacyStrategy);\n };\n\n const resultClassNames = classNames(\n styles.result,\n isFocused && styles.focusedResult,\n isLocked && styles.locked,\n className,\n );\n\n return (\n <div\n onKeyDown={handleClick}\n onClick={handleClick}\n className={resultClassNames}\n >\n <Label\n label={label}\n url={url}\n inputValue={inputValue}\n customOptions={customOptions}\n isLocked={isLocked}\n className={labelClassName}\n onDelete={onDelete}\n />\n <Byline\n strategy={adjustedStrategy}\n customOptions={customOptions}\n />\n </div>\n );\n}\n\nResult.defaultProps = {\n customOptions: {},\n isFocused: false,\n inputValue: '',\n};\n\nResult.propTypes = {\n label: PropTypes.string.isRequired,\n strategy: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n inputValue: PropTypes.string,\n isFocused: PropTypes.bool,\n onClick: PropTypes.func,\n customOptions: customOptionsShape,\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ).isRequired,\n onDelete: PropTypes.func,\n labelClassName: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default withGlobalSearch(Result);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { customOptionsShape } from 'components/GlobalSearch/utils/constants';\n\nimport Result from '../Result';\n\nfunction Option({\n isFocused,\n data,\n selectProps,\n innerRef,\n innerProps,\n}) {\n const { inputValue } = selectProps;\n\n return (\n <div {...innerProps} ref={innerRef}>\n <Result\n {...data}\n inputValue={inputValue}\n isFocused={isFocused}\n />\n </div>\n );\n}\n\nOption.propTypes = {\n isFocused: PropTypes.bool.isRequired,\n data: PropTypes.shape({\n label: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n strategy: PropTypes.string.isRequired,\n customOptions: customOptionsShape,\n }).isRequired,\n selectProps: PropTypes.shape({\n inputValue: PropTypes.string.isRequired,\n }).isRequired,\n innerRef: PropTypes.func,\n innerProps: PropTypes.shape({\n id: PropTypes.string,\n onClick: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOver: PropTypes.func,\n tabIndex: PropTypes.number,\n }).isRequired,\n};\n\nexport default Option;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport KEY_CODES from 'utils/keyCodes';\nimport CoreInput from 'components/core/Input';\nimport withGlobalSearch from 'components/GlobalSearch/utils/withGlobalSearch';\n\nimport styles from './styles.module.scss';\n\nexport const GLOBAL_SEARCH_INPUT_ID = 'global-search__overriden-input';\n\nfunction Input({ onChange, onBlur, innerRef, onFocus, value, placeholder }) {\n const onKeyDown = ({ keyCode, target }) => {\n const wasEscPressed = keyCode === KEY_CODES.ESCAPE;\n\n if (wasEscPressed) {\n target.blur();\n onBlur();\n }\n };\n\n return (\n <div className={styles.inputWrapper}>\n <CoreInput\n id={GLOBAL_SEARCH_INPUT_ID}\n className={styles.input}\n onChange={onChange}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n ref={innerRef}\n onFocus={onFocus}\n value={value}\n placeholder={placeholder}\n />\n </div>\n );\n}\n\nInput.propTypes = {\n onChange: PropTypes.func.isRequired,\n onBlur: PropTypes.func.isRequired,\n innerRef: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n value: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n};\n\nexport default withGlobalSearch(Input);\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './styles.module.scss';\n\nfunction DropShadow({ withProductBar }) {\n const [hasMounted, setHasMounted] = useState(false);\n\n const dropShadowClassNames = classNames(\n styles.dropShadow,\n hasMounted && styles.visible,\n withProductBar && styles.withProductBar,\n gon.isNavigationV2Enabled && styles.navV2,\n );\n\n useEffect(() => {\n setHasMounted(true);\n }, []);\n\n return <div className={dropShadowClassNames} />;\n}\n\nDropShadow.propTypes = {\n withProductBar: PropTypes.bool,\n};\n\nexport default DropShadow;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { Kbd } from 'components/core/TipMessage';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport withGlobalSearch from 'components/GlobalSearch/utils/withGlobalSearch';\n\nimport DropShadow from '../DropShadow';\nimport styles from './styles.module.scss';\n\nfunction Control({\n children,\n innerRef,\n innerProps,\n onClose,\n isMenuOpen,\n}) {\n const { isMobile, isDesktop } = useMediaQuery();\n\n const searchIconClassNames = classNames('fas fa-search', styles.searchIcon);\n const closeIconClassNames = classNames('fas fa-times-circle', styles.closeIcon);\n const [hasCloseInstructions, setHasCloseInstructions] = useState(isMenuOpen);\n\n /* This effect prevents clicking on the close instructions\n * immediately as it's opened if the user opens the search\n * by clicking on the spot the close icon will be positioned\n */\n let timeout;\n useEffect(() => {\n if (isMenuOpen) {\n timeout = setTimeout(() => setHasCloseInstructions(true), 10);\n } else {\n clearTimeout(timeout);\n setHasCloseInstructions(false);\n }\n\n return () => clearTimeout(timeout);\n }, [isMenuOpen]);\n\n return (\n <>\n <div className={styles.control} ref={innerRef} {...innerProps}>\n <i className={searchIconClassNames} />\n {children}\n {hasCloseInstructions && (\n <span className={styles.closeInstructions}>\n {isDesktop && (\n <>\n To cancel hit <Kbd className={styles.key}>ESC</Kbd> or press\n </>\n )}\n <i\n className={closeIconClassNames}\n onClick={onClose}\n onKeyDown={onClose}\n onTouchEnd={onClose}\n />\n </span>\n )}\n </div>\n\n {isMobile && <DropShadow />}\n </>\n );\n}\n\nControl.propTypes = {\n children: PropTypes.node,\n innerRef: PropTypes.func,\n innerProps: PropTypes.shape({\n onMouseDown: PropTypes.func,\n }).isRequired,\n onClose: PropTypes.func.isRequired,\n isMenuOpen: PropTypes.bool.isRequired,\n};\n\nexport default withGlobalSearch(Control);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'components/core/Link';\nimport { trackGotoAdvancedSearch } from 'utils/tracking/globalSearch';\nimport isEmpty from 'lodash/isEmpty';\n\nimport styles from '../styles.module.scss';\n\nfunction AdvancedSearchButton({ inputValue, optionsCount }) {\n // TODO: Update URL after https://phone2action.atlassian.net/browse/GPADV-1827\n const href = isEmpty(inputValue)\n ? '/global_search_v2'\n : `/global_search_v2?searchTerm=${inputValue}`;\n\n const handleClick = () => {\n trackGotoAdvancedSearch(inputValue, optionsCount);\n };\n\n return (\n <Link\n href={href}\n className={styles.advancedSearchButton}\n theme=\"buttonDefault\"\n onClick={handleClick}\n >\n Find in global search\n </Link>\n );\n}\n\nAdvancedSearchButton.propTypes = {\n inputValue: PropTypes.string,\n optionsCount: PropTypes.number,\n};\n\nAdvancedSearchButton.defaultProps = {\n inputValue: '',\n};\n\nexport default AdvancedSearchButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { canRenderTopBar } from 'components/core/ProductBar/utils';\nimport { optionShape } from 'components/GlobalSearch/utils/constants';\nimport withGlobalSearch from 'components/GlobalSearch/utils/withGlobalSearch';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport DropShadow from '../DropShadow';\nimport AdvancedSearchButton from './components/AdvancedSearchButton';\nimport styles from './styles.module.scss';\n\nfunction Menu({ innerRef, children, innerProps, options, selectProps, menuClassName }) {\n const { isMobile } = useMediaQuery();\n const withProductBar = canRenderTopBar();\n const { inputValue } = selectProps;\n const hasOptions = !isEmpty(options);\n\n const menuClassNames = classNames(\n styles.menu,\n hasOptions && styles.menuWithOptions,\n menuClassName,\n gon.isNavigationV2Enabled && styles.v2,\n );\n\n return (\n <div className={styles.menuWrapper}>\n <div {...innerProps} className={menuClassNames} ref={innerRef}>\n {children}\n {hasOptions && <AdvancedSearchButton inputValue={inputValue} optionsCount={options.length} />}\n </div>\n\n {!isMobile && <DropShadow withProductBar={withProductBar} />}\n </div>\n );\n}\n\nMenu.propTypes = {\n innerRef: PropTypes.func,\n children: PropTypes.node.isRequired,\n innerProps: PropTypes.shape({\n onMouseDown: PropTypes.func,\n onMouseMove: PropTypes.func,\n }).isRequired,\n options: PropTypes.arrayOf(optionShape),\n selectProps: PropTypes.shape({\n inputValue: PropTypes.string,\n }).isRequired,\n menuClassName: PropTypes.string,\n};\n\nexport default withGlobalSearch(Menu);\n","import React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { components } from 'react-select';\n\nimport { customOptionsShape } from 'components/GlobalSearch/utils/constants';\n\nfunction MenuList({ options, innerRef, ...restProps }) {\n const optionsRef = useRef(options);\n const menuListRef = useRef(null);\n\n useEffect(() => {\n const isHTMLElement = menuListRef.current instanceof HTMLElement;\n const haveOptionsChanged = optionsRef.current !== options;\n\n if (isHTMLElement && haveOptionsChanged) {\n menuListRef.current.scrollTop = 0;\n optionsRef.current = options;\n }\n }, [options]);\n\n return (\n <components.MenuList\n {...restProps}\n options={options}\n innerRef={(node) => {\n innerRef(node);\n menuListRef.current = node;\n }}\n />\n );\n}\n\nMenuList.propTypes = {\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n strategy: PropTypes.string.isRequired,\n customOptions: customOptionsShape,\n }),\n ),\n innerRef: PropTypes.func,\n};\n\nexport default MenuList;\n","import React from 'react';\n\nimport styles from './styles.module.scss';\n\nexport default function LoadingWarning() {\n return (\n <p className={styles.warning}>\n Loading...\n </p>\n );\n}\n","import { useState } from 'react';\nimport { merge, slice } from 'lodash';\n\nimport { trackClearedAll } from 'utils/tracking/globalSearch';\n\nconst { user_id: userId } = gon.currentUser || {};\nconst HISTORY_KEY = `govpredict.searchHistory.${userId}`;\nconst MAX_HISTORY_LENGTH = 8;\n\nconst loadHistory = () => {\n const history = localStorage.getItem(HISTORY_KEY) || '[]';\n\n return JSON.parse(history);\n};\n\nconst updateHistory = newHistory => localStorage\n .setItem(HISTORY_KEY, JSON.stringify(newHistory));\n\nexport default function useRecentVisits(\n loadVisits = loadHistory,\n persistVisits = updateHistory,\n maxHistoryLength = MAX_HISTORY_LENGTH,\n) {\n const [visits, setVisits] = useState(loadVisits());\n\n const updateVisits = (newVisists) => {\n const slicedVisits = slice(newVisists, 0, maxHistoryLength);\n persistVisits(slicedVisits);\n setVisits(loadVisits());\n };\n\n const handleResultVisit = (result, inputText) => {\n const { url: resultUrl, isLegacyStrategy } = result;\n const newVisits = visits.filter(({ url }) => url !== resultUrl);\n const visitedItem = merge(result, { inputText });\n\n !isLegacyStrategy && newVisits.unshift(visitedItem);\n updateVisits(newVisits);\n };\n\n const handleDelete = ({ url: deletedUrl }) => {\n const newVisits = visits.filter(({ url }) => url !== deletedUrl);\n updateVisits(newVisits);\n };\n\n const handleClearAll = () => {\n const total = visits.length;\n trackClearedAll({ total });\n updateVisits([]);\n };\n\n return {\n onVisit: handleResultVisit,\n onDelete: handleDelete,\n onClearAll: handleClearAll,\n visits,\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { customOptionsShape } from 'components/GlobalSearch/utils/constants';\n\nimport Result from '../../Result';\nimport { redirectToSelectedPage } from '../../../utils';\nimport styles from './styles.module.scss';\n\nexport default function Visit({\n url,\n label,\n strategy,\n onDelete,\n inputText,\n onClick,\n onSelect,\n customOptions,\n disabledProducts,\n}) {\n const handleDelete = () => onDelete({ url });\n const handleClick = (isLegacyStrategy) => {\n onSelect(isLegacyStrategy);\n onClick({ url, strategy }, inputText);\n };\n\n return (\n <Result\n label={label}\n url={url}\n strategy={strategy}\n customOptions={customOptions}\n disabledProducts={disabledProducts}\n labelClassName={styles.label}\n className={styles.result}\n onDelete={handleDelete}\n onClick={handleClick}\n />\n );\n}\n\nVisit.defaultProps = {\n onClick: redirectToSelectedPage,\n};\n\nVisit.propTypes = {\n inputText: PropTypes.string,\n onDelete: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n onSelect: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n strategy: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n customOptions: customOptionsShape,\n disabledProducts: PropTypes.arrayOf(\n PropTypes.string,\n ).isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport { optionShape } from 'components/GlobalSearch/utils/constants';\n\nimport { trackRecentResultFound } from 'utils/tracking/globalSearch';\nimport Visit from '../Visit';\nimport Placeholder from '../Placeholder';\nimport styles from './styles.module.scss';\n\nexport default function Visits({\n records,\n onDelete,\n onVisit,\n onClearAll,\n disabledProducts,\n}) {\n const anyResult = Boolean(records.length);\n const handleVisit = (visit, index) => (isLegacyStrategy) => {\n onVisit({ ...visit, isLegacyStrategy });\n trackRecentResultFound(visit, index, records.length);\n };\n\n return (\n <div className={styles.visits}>\n <div className={styles.header}>\n <h2>RECENT VISITS</h2>\n {anyResult && (\n <Button\n theme=\"tableLink\"\n className={styles.clearAll}\n onClick={onClearAll}\n >\n Clear all\n </Button>\n )}\n </div>\n <div>\n {records.map((result, index) => (\n <Visit\n {...result}\n onSelect={handleVisit(result, index)}\n disabledProducts={disabledProducts}\n onDelete={onDelete}\n key={result.url}\n />\n ))}\n </div>\n <Placeholder anyResult={anyResult} />\n </div>\n );\n}\n\nVisits.propTypes = {\n onDelete: PropTypes.func.isRequired,\n onClearAll: PropTypes.func.isRequired,\n records: PropTypes.arrayOf(optionShape).isRequired,\n disabledProducts: PropTypes.arrayOf(PropTypes.string).isRequired,\n onVisit: PropTypes.func.isRequired,\n};\n","import React from 'react';\n\nimport styles from './styles.module.scss';\n\nexport default function EmptyWarning() {\n return (\n <p className={styles.warning}>\n Search doesn’t match any documents\n </p>\n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport isEmpty from 'lodash/isEmpty';\n\nimport { linkShape } from 'components/core/Link/shapes';\nimport Link from 'components/core/Link';\nimport { isExternal } from 'utils/url';\nimport { trackQuickLinksResults } from 'utils/tracking/globalSearch';\n\nimport styles from './styles.module.scss';\n\nexport default function QuickLinks({ quickLinks = gon.quick_links }) {\n if (isEmpty(quickLinks)) return null;\n\n const renderQuickLink = ({ label, url }) => {\n const isExternalUrl = isExternal(url);\n\n return (\n <Link\n href={url}\n theme=\"default\"\n className={styles.link}\n key={url}\n isExternal={isExternalUrl}\n onClick={() => trackQuickLinksResults(label, url, quickLinks.length)}\n >\n {label}\n </Link>\n );\n };\n\n return (\n <div className={styles.container}>\n <h2>QUICK LINKS</h2>\n <nav className={styles.links}>\n {quickLinks.map(renderQuickLink)}\n </nav>\n </div>\n );\n}\n\nQuickLinks.propTypes = {\n quickLinks: PropTypes.arrayOf(linkShape),\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { optionShape } from 'components/GlobalSearch/utils/constants';\n\nimport AdvancedSearchButton from 'components/GlobalSearch/components/Menu/components/AdvancedSearchButton';\nimport withGlobalSearch from '../../utils/withGlobalSearch';\nimport Visits from './Visits';\nimport EmptyWarning from '../EmptyWarning';\nimport styles from './styles.module.scss';\nimport QuickLinks from './QuickLinks';\n\nfunction RecentVisits({\n disabledProducts,\n isSearchable,\n visits,\n onDeleteVisit,\n onVisit,\n inputText,\n onClearAllVisits,\n isDesktopLarge,\n}) {\n if (isSearchable()) {\n return <EmptyWarning />;\n }\n\n const handleVisit = (visit) => {\n onVisit(visit, inputText);\n };\n\n return (\n <>\n <div className={styles.container}>\n <Visits\n records={visits}\n disabledProducts={disabledProducts}\n onDelete={onDeleteVisit}\n onClearAll={onClearAllVisits}\n onVisit={handleVisit}\n />\n {isDesktopLarge && <QuickLinks />}\n </div>\n <AdvancedSearchButton />\n </>\n );\n}\n\nRecentVisits.defaultProps = {\n isSearchable: () => true,\n visits: [],\n};\n\nRecentVisits.propTypes = {\n isSearchable: PropTypes.func,\n visits: PropTypes.arrayOf(optionShape),\n onDeleteVisit: PropTypes.func.isRequired,\n onClearAllVisits: PropTypes.func.isRequired,\n disabledProducts: PropTypes.arrayOf(PropTypes.string).isRequired,\n onVisit: PropTypes.func.isRequired,\n inputText: PropTypes.string,\n isDesktopLarge: PropTypes.bool,\n};\n\nexport { RecentVisits };\nexport default withGlobalSearch(RecentVisits);\n","import pickBy from 'lodash/pickBy';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport { isItemLocked } from '.';\n\nconst parseOption = (option) => {\n const { options, slug } = option;\n const {\n party_short,\n party_slug,\n display_state,\n ...restOptions\n } = options || {};\n\n option.customOptions = pickBy({\n ...restOptions,\n state: display_state,\n partySlug: party_slug,\n partyShort: party_short,\n });\n\n option.strategy = slug;\n\n delete option.options;\n delete option.slug;\n\n return option;\n};\n\nconst getOptionsSorter = disabledProducts => (\n function optionsSorter(firstOption, secondOption) {\n const isFirstItemLocked = isItemLocked(firstOption, disabledProducts);\n const isSecondItemLocked = isItemLocked(secondOption, disabledProducts);\n\n if (!isFirstItemLocked && isSecondItemLocked) return -1;\n if (isFirstItemLocked && !isSecondItemLocked) return 1;\n\n return 0;\n }\n);\n\nexport const getOptionsParser = disabledProducts => (\n function optionsParser(options) {\n const optionsCopy = cloneDeep(options || []);\n const parsedOptions = optionsCopy.map(parseOption);\n\n const optionsSorter = getOptionsSorter(disabledProducts);\n return parsedOptions.sort(optionsSorter);\n }\n);\n","import React, { FC, useRef, useState } from 'react';\nimport { size, trim } from 'lodash';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport Autosuggest from 'components/Autosuggest';\nimport { trackAbandonedSearch, trackResultFound } from 'utils/tracking/globalSearch';\n\nimport Option from './components/Option';\nimport Input, { GLOBAL_SEARCH_INPUT_ID } from './components/Input';\nimport Control from './components/Control';\nimport Menu from './components/Menu';\nimport MenuList from './components/MenuList';\nimport LoadingWarning from './components/LoadingWarning';\nimport { GLOBAL_SEARCH_URL, MIN_SEARCH_INPUT_LENGTH } from './utils/constants';\nimport { redirectToSelectedPage, transformSuggesterRequest } from './utils';\nimport useRecentVisits from './components/RecentVisits/useRecentVisits';\nimport Visits from './components/RecentVisits';\n\nimport { getOptionsParser } from './utils/optionsParser';\nimport { GlobalSearchContext } from './utils/withGlobalSearch';\nimport { productSlugs } from './utils/constants/productSlugs';\nimport { resultLabels } from './utils/constants/resultLabels';\n\ntype GlobalSearchProps = {\n className?: string,\n closeGlobalSearch: () => void,\n disabledProducts: string[],\n isMenuOpen?: boolean,\n onFocus?: () => void,\n autofocus?: boolean,\n placeholder?: string,\n noGroupClassName?: boolean,\n menuClassName?: string,\n};\n\ntype OptionType = {\n options: {\n party_short: string;\n party_slug: string;\n display_state: string;\n };\n slug: string;\n};\n\ntype SelectedOption = {\n label: string;\n url: string;\n strategy: string;\n};\n\nconst GlobalSearch: FC<GlobalSearchProps> = ({\n className,\n closeGlobalSearch,\n disabledProducts,\n isMenuOpen = true,\n onFocus,\n autofocus = true,\n placeholder,\n noGroupClassName = false,\n menuClassName,\n}) => {\n const {\n visits,\n onVisit,\n onDelete,\n onClearAll,\n } = useRecentVisits();\n const [inputText, setInputText] = useState('');\n const searchResultOptions = useRef<OptionType[]>([]);\n\n const { isMobile, isDesktopLarge } = useMediaQuery();\n\n const isSearchable = () => size(trim(inputText)) >= MIN_SEARCH_INPUT_LENGTH;\n\n const input = document.getElementById(GLOBAL_SEARCH_INPUT_ID);\n const resetInputText = () => setInputText('');\n const handleClose = () => {\n resetInputText();\n closeGlobalSearch();\n input && input.blur();\n };\n\n const handleMenuClose = () => !isMobile && handleClose();\n\n const onCloseActions = () => {\n trackAbandonedSearch('close button', inputText, size(searchResultOptions.current));\n handleClose();\n };\n\n const globalSearchContext = {\n isDesktopLarge,\n disabledProducts,\n onClose: onCloseActions,\n isSearchable,\n inputText,\n visits,\n onVisit,\n onDeleteVisit: onDelete,\n onClearAllVisits: onClearAll,\n isMenuOpen,\n placeholder,\n menuClassName,\n };\n\n const onInputChange = (newInputValue: string, { action }: { action: string }) => {\n const isChangeEvent = ['set-value', 'input-change'].includes(action);\n const isBlurEvent = ['input-blur'].includes(action);\n\n if (isChangeEvent) {\n setInputText(newInputValue);\n\n return newInputValue;\n }\n\n if (isBlurEvent) {\n trackAbandonedSearch('input blur', inputText, size(searchResultOptions.current));\n resetInputText();\n }\n\n return inputText;\n };\n\n const onChange = (selectedOption: SelectedOption) => {\n onVisit(selectedOption, inputText);\n\n trackResultFound(inputText, selectedOption, searchResultOptions.current);\n\n redirectToSelectedPage(selectedOption, inputText);\n };\n\n const optionsParser = (options: OptionType[]) => {\n searchResultOptions.current = options;\n\n return getOptionsParser(disabledProducts)(options);\n };\n\n return (\n <GlobalSearchContext.Provider value={globalSearchContext}>\n <div className={className}>\n <Autosuggest\n clearIndicator\n shouldOverrideValue\n autofocus={autofocus}\n onFocus={onFocus}\n uri={GLOBAL_SEARCH_URL}\n reqMethod=\"POST\"\n reqTransform={transformSuggesterRequest}\n customOption={Option}\n menuIsOpen={isMenuOpen}\n optionsParser={optionsParser}\n backspaceRemovesValue={false}\n overriddenComponents={{\n Input, Control, Menu, MenuList,\n }}\n onMenuClose={handleMenuClose}\n minimumCharactersToSearch={MIN_SEARCH_INPUT_LENGTH}\n onChange={onChange}\n tabSelectsValue={false}\n noOptionsMessage={Visits}\n onInputChange={onInputChange}\n loadingMessage={LoadingWarning}\n noGroupClassName={noGroupClassName}\n />\n </div>\n </GlobalSearchContext.Provider>\n );\n};\n\nexport { productSlugs, resultLabels };\nexport default GlobalSearch;\n","import { mapboxApiEndpoint } from 'components/core/Map/utils/constants';\n\nexport function fetchMapBox(coordinates) {\n return $.ajax({\n url: `${mapboxApiEndpoint}/${coordinates}.json`,\n method: 'GET',\n data: {\n radius: 0,\n access_token: gon.mapboxAccessToken,\n },\n });\n}\n","export default function copyToClipboard(selector, element) {\n const GlobalNotifier = window.app.GlobalNotifier;\n\n try {\n const input = element || $(selector);\n input.select();\n document.execCommand('copy');\n input.blur();\n\n GlobalNotifier.addNotification({\n message: 'Copied!',\n level: 'success',\n });\n } catch (error) {\n GlobalNotifier.addNotification({\n message: 'Failed to copy text.',\n level: 'error',\n });\n throw error;\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___3ogPE\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3-qIh\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___1xqaH\",\"footerBar\":\"styles-module__footerBar___4ikw1\"};","import { error } from 'components/core/Notification';\n\nexport default {\n generalFailedNotification: error('Something went wrong. Please try again.'),\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___sZO5d\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___3KGrX\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___3yOQu\",\"dropShadow\":\"styles-module__dropShadow___3ED9j\",\"navV2\":\"styles-module__navV2___18iOC\",\"withProductBar\":\"styles-module__withProductBar___5xvv0\",\"visible\":\"styles-module__visible___20bTg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formControls\":\"styles-module__formControls___3PlnJ\",\"formControl\":\"styles-module__formControl___oFP1d\",\"formField\":\"styles-module__formField___3tKaB\",\"hidden\":\"styles-module__hidden___weqFp\",\"buttonLoader\":\"styles-module__buttonLoader___3neNG\",\"placeholder\":\"styles-module__placeholder___xBYTF\",\"name\":\"styles-module__name___1sh5D\",\"middle\":\"styles-module__middle___19jPF\",\"linkButton\":\"styles-module__linkButton___1ubEm\"};","import GlobalNotifier from 'components/GlobalNotifier';\n\nconst addNotification = GlobalNotifier.addNotification;\n\nconst success = message => addNotification({ message, level: 'success' });\nconst error = message => addNotification({ message, level: 'error' });\n\nexport default class Notifications {\n static defaultFetchDataFailed = () => error('An error occurred during the data loading. Please try again.');\n static defaultSubmitDataFailed = () => error('Oops, something went wrong. Please try again. If this issue persists please contact your customer success representative.');\n static exportEventSuccess = () => success('Data has been exported successfully.');\n static exportEventFailed = () => error('Data export failed. Please try again.');\n}\n","const tableColumns = [\n {\n label: 'First Name',\n keyName: 'first_name',\n sortingKey: 'first_name',\n allowToggle: false,\n },\n {\n label: 'Last Name',\n keyName: 'last_name',\n sortingKey: 'last_name',\n allowToggle: false,\n },\n {\n label: 'Middle Name',\n keyName: 'middle_name',\n sortingKey: 'middle_name',\n allowToggle: false,\n },\n {\n label: 'Primary phone #',\n keyName: 'phone',\n sortingKey: 'phone',\n allowToggle: true,\n },\n {\n label: 'Primary email',\n keyName: 'email',\n sortingKey: 'email',\n allowToggle: true,\n },\n {\n label: 'Party',\n keyName: 'party_code',\n sortingKey: 'party_code',\n allowToggle: true,\n },\n {\n label: 'Primary address',\n keyName: 'address',\n sortingKey: 'address',\n allowToggle: true,\n },\n {\n label: 'Organization',\n keyName: 'organization',\n sortingKey: 'organization',\n allowToggle: true,\n },\n {\n label: 'Lists',\n keyName: 'lists',\n sortingKey: 'lists',\n allowToggle: true,\n },\n {\n label: 'Tags',\n keyName: 'tags',\n sortingKey: 'tags',\n allowToggle: true,\n },\n];\n\nexport default tableColumns;\n","import {\n CONTINUOUS,\n DAILY,\n NONE,\n} from 'components/core/FrequencyOptions/constants';\n\nconst WEEKLY = {\n value: 'weekly',\n label: 'Weekly',\n};\n\nexport const CARD_FREQUENCIES = [\n NONE,\n WEEKLY,\n DAILY,\n CONTINUOUS,\n];\n\nexport const RESET_SUBSCRIPTION_FREQUENCIES = [\n NONE,\n WEEKLY,\n DAILY,\n CONTINUOUS,\n];\n\nexport const BASE_URL = '/dashboard_v2';\n\nexport const WORKSPACES_DISABLED_SUBTITLE = \"The page you are looking for could not be found. It either doesn't exist, or you don't have access to it.\";\n","export const TAG_STRATEGY_SLUG = 'tag';\nexport const LIST_STRATEGY_SLUG = 'stakeholder_mgmt_list';\nexport const MAX_CUSTOM_FIELDS_PAGE_SIZE = 500;\n\nexport const STAKEHOLDER_BASE_URL = '/stakeholder_management/directory';\n","import Name from './Name';\n\nexport { Name as LegislatorName };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error\":\"styles-module__error___2xj44\",\"image\":\"styles-module__image___N2l47\",\"textContainer\":\"styles-module__textContainer___3zKMn\",\"text\":\"styles-module__text___Qk5n6\",\"subText\":\"styles-module__subText___2z2GZ\"};","import PropTypes from 'prop-types';\nimport { useEffect } from 'react';\n\nimport GlobalNotifier from 'components/GlobalNotifier';\n\nconst addNotification = GlobalNotifier.addNotification;\n\nconst notifierLevel = level => (['error', 'success'].includes(level) && level) || 'info';\n\nfunction PageNotifier({ notices }) {\n useEffect(() => {\n notices.forEach(notice => notice && notice[1] && addNotification({\n level: notifierLevel(notice[0]),\n message: notice[1],\n }));\n });\n\n return null;\n}\n\nPageNotifier.propTypes = {\n notices: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string)),\n};\n\nPageNotifier.defaultProps = {\n notices: [],\n};\n\nexport default PageNotifier;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nexport default class Container extends React.Component {\n static propTypes = {\n link: PropTypes.string.isRequired,\n }\n\n link = () => encodeURIComponent(this.props.link);\n\n mailLink = () => `mailto:?body=${this.link()}`;\n\n tweetLink = () => `https://twitter.com/intent/tweet?url=${this.link()}`;\n\n render() {\n return (\n <span>\n <a className=\"share-icon\" href={this.mailLink()}>\n <i className=\"far fa-envelope\" />\n </a>\n <a className=\"share-icon\" href={this.tweetLink()} target=\"blank\">\n <i className=\"fab fa-twitter\" />\n </a>\n </span>\n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport map from 'lodash/map';\nimport isEmpty from 'lodash/isEmpty';\nimport Bar from './index.jsx';\n\nfunction legislatorColorByParty(party) {\n if (party === 'Republican') {\n return '#ed5565';\n }\n\n return '#428bca';\n}\n\nclass BillSponsors extends React.Component {\n data() {\n return map(this.props.data, item =>\n ({\n id: item.id,\n name: item.name,\n color: legislatorColorByParty(item.party),\n count: item.count,\n })\n );\n }\n\n render() {\n if (isEmpty(this.data())) {\n return (\n <h3>No data to display</h3>\n );\n }\n\n return (\n <Bar\n id={this.props.id}\n data={this.data()}\n xkey=\"name\"\n ykeys={['count']}\n labels={['Bills count']}\n />\n );\n }\n}\n\nBillSponsors.propTypes = {\n id: PropTypes.string.isRequired,\n data: PropTypes.array.isRequired,\n};\n\nexport default BillSponsors;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { isEmpty } from 'lodash';\n\nclass Line extends React.Component {\n constructor(props) {\n super(props);\n this.data = this.props.data;\n this.xkey = this.props.xkey;\n }\n\n componentDidMount() {\n if (!isEmpty(this.props.data)) {\n this.initializeMorris();\n }\n }\n\n initializeMorris = () =>\n Morris.Line({\n element: this.props.id,\n data: this.data,\n xkey: this.xkey,\n ykeys: this.props.ykeys,\n resize: this.props.resize,\n hideHover: this.props.hideHover,\n labels: this.props.labels,\n barColors: (row) => {\n const element = this.data.find(\n cell => cell[this.xkey] === row.label\n );\n return element.color;\n },\n })\n\n render() {\n const { id, data } = this.props;\n\n if (isEmpty(data)) {\n return (\n <h3>No data to display</h3>\n );\n }\n\n return (\n <div id={id} className=\"chart-overflow\" />\n );\n }\n}\n\nLine.propTypes = {\n id: PropTypes.string.isRequired,\n data: PropTypes.array.isRequired,\n xkey: PropTypes.string.isRequired,\n ykeys: PropTypes.array.isRequired,\n labels: PropTypes.array.isRequired,\n resize: PropTypes.bool,\n hideHover: PropTypes.bool,\n};\n\nLine.defaultProps = {\n resize: true,\n hideHover: true,\n};\n\nexport default Line;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport suggesterFillerFetcher from './suggester-filler-fetcher.jsx';\n\nexport default class SuggesterFillerButton extends React.Component {\n static propTypes = {\n buttonText: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n requiredInputs: PropTypes.object.isRequired,\n strategySlug: PropTypes.string.isRequired,\n groupClassName: PropTypes.string.isRequired,\n labelClassName: PropTypes.string,\n inputClassName: PropTypes.string,\n }\n\n static defaultProps = {\n requiredInputs: {},\n }\n\n handleClick = () => {\n suggesterFillerFetcher({\n strategySlug: this.props.strategySlug,\n requiredInputs: this.props.requiredInputs,\n onSuccess: (response) => {\n const data = response.data;\n const ids = data.map(t => t.id);\n this.props.onClick(ids);\n },\n });\n };\n\n render() {\n const {\n buttonText,\n groupClassName,\n labelClassName,\n inputClassName,\n } = this.props;\n\n return (\n <div className={groupClassName}>\n <label className={labelClassName} />\n <div className={inputClassName}>\n <button\n type=\"button\"\n className=\"btn btn-primary col-md-12\"\n onClick={this.handleClick}\n >\n {buttonText}\n </button>\n </div>\n </div>\n );\n }\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport SuggesterFillerButton from './suggester-filler-button.jsx';\nimport Autosuggest from 'components/Autosuggest/index.jsx';\n\nexport default class AutofilledAutosuggester extends Component {\n static propTypes = {\n fillerStrategy: PropTypes.string.isRequired,\n strategy: PropTypes.string.isRequired,\n buttonGroupClassName: PropTypes.string.isRequired,\n }\n\n state = {\n selectedIds: [],\n }\n\n updateSelectedIds = (selectedIds) => {\n this.setState({ selectedIds });\n }\n\n render() {\n const {\n strategy,\n fillerStrategy,\n buttonGroupClassName,\n ...otherProps\n } = this.props;\n\n return (\n <div>\n <SuggesterFillerButton\n {...this.props}\n strategySlug={fillerStrategy}\n onClick={this.updateSelectedIds}\n groupClassName={buttonGroupClassName}\n />\n\n <Autosuggest\n {...otherProps}\n onChange={this.updateCollection}\n strategy={strategy}\n defaultRawValues={this.state.selectedIds}\n />\n </div>\n );\n }\n}\n","import React from 'react';\n\nimport styles from './styles.module.scss';\n\nfunction PageNotFound() {\n const goBack = () => {\n window.history.back();\n };\n\n return (\n <div className={styles.wrapper}>\n <div className={styles.header}>\n <a href=\"/\">\n <img\n src=\"/images/intelligence-logo.svg\"\n alt=\"Intelligence Logo\"\n height=\"25\"\n />\n </a>\n <a className={styles.link} href=\"/\">\n Return Home\n </a>\n </div>\n <div className={styles.content}>\n <h1>\n 404 - Page Not Found\n </h1>\n <h3>\n Oh no, it looks like the page you were looking for can’t be found.\n Please check the URL you entered or\n <a onClick={goBack} className={styles.link} onKeyDown={goBack}>\n go back to the previous page.\n </a>\n </h3>\n </div>\n <div className={styles.imgContainer}>\n <img src=\"/images/404-img.svg\" alt=\"Intelligence\" />\n </div>\n </div>\n );\n}\n\nexport default PageNotFound;\n","const options = [\n {\n label: 'Action center',\n value: '/public_facing_tools/action_center',\n },\n {\n label: 'Watchlists',\n value: '/public_facing_tools/state_legislation_watchlists',\n },\n {\n label: 'Legislators',\n value: '/public_facing_tools/legislator_lookup',\n },\n {\n label: 'Bill Scorecards',\n value: '/public_facing_tools/bill_scorecards',\n },\n];\n\nexport default options;\n","import React from 'react';\n\nimport TabsNavigation from 'components/core/TabsNavigation';\n\nimport options from './utils/options';\n\nfunction PublicToolsNavBar() {\n return (\n <div className=\"navBarDropdownPadding\">\n <TabsNavigation options={options} />\n </div>\n );\n}\n\nexport default PublicToolsNavBar;\n","const options = [\n {\n label: 'Federal',\n value: '/federal/cosponsorship_similarity',\n },\n {\n label: 'State',\n value: '/state/cosponsorship_similarity',\n },\n];\n\nexport default options;\n","import React from 'react';\n\nimport TabsNavigation from 'components/core/TabsNavigation';\n\nimport options from './utils/options';\n\nfunction CosponsorshipNavBar() {\n return (\n <div className=\"navBarDropdownPadding\">\n <TabsNavigation options={options} />\n </div>\n );\n}\n\nexport default CosponsorshipNavBar;\n","/* eslint-disable import/no-webpack-loader-syntax */\nimport React, { lazy, Suspense } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport '@babel/polyfill';\nimport 'react_ujs';\n// TODO: fix inline webpack syntax import\nimport '!style-loader!css-loader!tippy.js/dist/tippy.css';\nimport '!style-loader!css-loader!tippy.js/dist/border.css';\n\nimport Modal from 'react-modal';\nimport Store from 'redux/store';\nimport Autocomplete from 'components/autocomplete/autocomplete';\nimport Autosuggest from 'components/Autosuggest/index';\nimport LinkedAutosuggest from 'components/LinkedAutosuggest/index';\nimport GlobalNotifier from 'components/GlobalNotifier/index';\nimport PageNotifier from 'components/PageNotifier/index';\nimport MaskedInput from 'components/masked-input/masked-input';\nimport TagInput from 'components/tag-input/tag-input';\nimport RoyalCheckbox from 'components/royal-checkbox/royal-checkbox';\nimport RoyalFileUploader from 'components/royal-file-uploader/royal-file-uploader';\nimport StaffersMailer from 'components/StaffersMailer/index';\nimport LinkShareIcons from 'components/link-share-icons/link-share-icons';\nimport VisualizationChartBarBase from 'components/Visualization/Chart/Bar/index';\nimport VisualizationChartBarBillSponsors from 'components/Visualization/Chart/Bar/BillSponsors';\nimport VisualizationChartLine from 'components/Visualization/Chart/Line/index';\nimport CopyToClipboardInput from 'components/shared/copy-to-clipboard-input';\nimport SingleDatePicker from 'components/shared/datepicker/single-datepicker';\nimport AutofilledAutosuggester from 'components/SharedFolder/autofilled-autosugester';\nimport ImageCropper from 'components/image-cropper/image-cropper';\nimport PageNotFound from 'components/PageNotFound';\nimport PublicToolsNavBar from 'components/PublicToolsNavBar';\nimport CosponsorshipNavBar from 'components/CosponsorshipNavBar';\n\nimport 'utils/sentry';\nimport './navigation-pack';\nimport './utils/vh-fix';\n\n// TODO: investigate react_ujs, the docs are saying:\n// no need to expose all these components to window.app\n// https://govpredict.atlassian.net/browse/GOV-3412\nwindow.app = {\n PageNotFound,\n Autocomplete,\n Autosuggest,\n GlobalNotifier,\n LinkedAutosuggest,\n MaskedInput,\n TagInput,\n CopyToClipboardInput,\n AutofilledAutosuggester,\n // Modal should not be required here. The initialization should be done within\n // a custom components\n Modal,\n SingleDatePicker,\n PageNotifier,\n RoyalCheckbox,\n RoyalFileUploader,\n StaffersMailer,\n LinkShareIcons,\n Store,\n Visualization: {\n Chart: {\n Line: VisualizationChartLine,\n Bar: {\n Base: VisualizationChartBarBase,\n BillSponsors: VisualizationChartBarBillSponsors,\n },\n },\n },\n ImageCropper,\n PublicToolsNavBar,\n CosponsorshipNavBar,\n};\n\nconst pageHeaderElement = document.getElementById('react-page-header');\nconst PageHeader = lazy(() => import('components/core/PageHeader' /* webpackChunkName: \"page-header\" */));\n\nif (pageHeaderElement) {\n const {\n title,\n noOffset,\n product,\n hideSeparator,\n productName,\n description,\n noMobileOffset,\n customBreadcrumb,\n } = pageHeaderElement.dataset;\n\n const props = {\n title,\n description,\n page: product,\n pageName: productName,\n isRightOffset: !Boolean(noOffset),\n applyExtraMargin: !Boolean(hideSeparator),\n isMobileOffsetVisible: !Boolean(noMobileOffset),\n customBreadcrumb,\n };\n\n ReactDOM.render(\n <Suspense fallback={null}>\n <PageHeader {...props} />\n </Suspense>,\n pageHeaderElement,\n );\n}\n\nconst pageActionsButtonElement = document.getElementById('react-page-actions-button');\nconst PageActionsButton = lazy(() => import('components/core/PageActionsButton/index.jsx' /* webpackChunkName: \"page-actions-button\" */));\n\nif (pageActionsButtonElement) {\n const {\n tooltipTitle,\n pageLinks,\n } = pageActionsButtonElement.dataset;\n\n const props = {\n tooltipTitle,\n pageLinks: JSON.parse(pageLinks),\n };\n\n ReactDOM.render(\n <Suspense fallback={null}>\n <PageActionsButton {...props} />\n </Suspense>,\n pageActionsButtonElement,\n );\n}\n","import React from 'react';\nimport { Provider } from 'react-redux';\nimport store from 'redux/store';\nimport Container from './components/container.jsx';\n\nexport default function LinkShareIcons(props) {\n return (\n <Provider store={store}>\n <Container {...props} />\n </Provider>\n );\n}\n","import isEmpty from 'lodash/isEmpty';\n\nconst currentTime = new Date().getTime();\n\nfunction getSmartSearchPacs({ lookup = [] }) {\n return [...lookup.map(({ id, name, party_type, source_type }) => (\n {\n party_type,\n source_type,\n label: name,\n value: id,\n }\n ))];\n}\n\nfunction getSmartSearchFilters({ cycle }) {\n if (!cycle) {\n return {};\n }\n\n return {\n filter: {\n id: `filtergroup-${currentTime + 1}`,\n type: 'filters_group',\n operator: {\n label: 'And',\n value: 'and',\n },\n filters: [\n {\n id: `filtergroup-${currentTime + 2}`,\n type: 'filters_group',\n operator: {\n label: 'And',\n value: 'and',\n },\n filters: [\n {\n id: `filter-${currentTime}`,\n type: 'filter',\n dimension: 'receipt.year',\n operator: {\n label: 'In',\n value: 'in',\n },\n value: cycle.map(item => item),\n },\n ],\n },\n ],\n },\n };\n}\n\nexport const getSmartSearchState = ({ data, filters }) => {\n const smartSearchPacs = getSmartSearchPacs(data);\n const smartSearchFilters = getSmartSearchFilters(filters);\n\n return {\n moneyball: {\n smartSearchBuilder: {\n builder: {\n ui: {\n isDataLoading: false,\n },\n isTemplate: false,\n title: 'Pre populated import from your PAC ranking results',\n description: 'This Smart Search was made automagically using the PACs and selected years that appeared in your PAC ranking results. Click \"Create new search\" to produce an export containing a side-by-side comparison of the contributions made by those PACs.',\n transactor: 'committee_recipient',\n data: {\n transactor: 'committee_recipient',\n statement: {\n id: `statementgroup-${currentTime + 1}`,\n type: 'statements_group',\n operator: {\n label: 'And',\n value: 'and',\n },\n statements: [\n {\n id: `statementgroup-${currentTime + 2}`,\n type: 'statements_group',\n operator: {\n label: 'And',\n value: 'and',\n },\n statements: [\n {\n id: `statement-${currentTime}`,\n type: 'statement',\n name: 'has_received',\n options: {\n toType: {\n label: 'Committee contributor',\n value: 'donor_super_committee_ids',\n },\n toValue: smartSearchPacs,\n },\n ...smartSearchFilters,\n },\n ],\n },\n ],\n },\n },\n },\n },\n },\n };\n};\n\nexport const findOptionsData = (object, item, sector) => {\n if (isEmpty(object) || isEmpty(item)) {\n return undefined;\n }\n\n return object.find(({ name, type }) => name === item.label && type === sector);\n};\n\nexport const generateOptions = (options, withAllOption = true) => {\n if (isEmpty(options)) {\n return undefined;\n }\n\n return [\n ...(withAllOption ? [{ label: 'All', value: undefined }] : []),\n ...options.map(({ id, name }) => ({ label: name, value: id })),\n ];\n};\n\nexport const PAC_PAGE_SIZE = 100;\n","export const DEFAULT_SORT_KEY = 'last_action_date';\n\nexport const FEDERAL_BILL_THEAD = [\n { sortKey: 'bill', label: 'bill', style: { width: '30%' } },\n { sortKey: 'introduced_on', label: 'date introduced', style: { width: '13%' } },\n { sortKey: 'last_action', label: 'last action (l.a.)', style: { width: '20%' } },\n { sortKey: DEFAULT_SORT_KEY, label: 'l.a. date', style: { width: '13%' } },\n { sortKey: 'status', label: 'status' },\n { sortKey: 'sponsor', label: 'sponsor' },\n { label: 'tags' },\n];\n\nexport const STATE_BILL_THEAD = [\n { sortKey: 'state', label: 'state' },\n { sortKey: 'bill', label: 'bill', style: { width: '30%' } },\n { sortKey: 'introduced_on', label: 'date introduced', style: { width: '13%' } },\n { sortKey: 'last_action', label: 'last action (l.a.)', style: { width: '20%' } },\n { sortKey: DEFAULT_SORT_KEY, label: 'l.a. date', style: { width: '13%' } },\n { sortKey: 'status', label: 'status', style: { width: '20%' } },\n { sortKey: 'sponsor', label: 'sponsor' },\n { label: 'tags' },\n];\n\nexport const FEDERAL_REGULATION_BILL_THEAD = [\n { label: 'title', style: { width: '20%' } },\n { label: 'latest comment', style: { width: '20%' } },\n { label: 'publication date', style: { width: '11%' } },\n { label: 'document type', style: { width: '12%' } },\n { label: 'agency' },\n { label: 'comment close date' },\n { label: 'tags' },\n];\n\nexport const STATE_REGULATION_BILL_THEAD = [\n { sortKey: 'title', label: 'title', style: { width: '30%' } },\n { sortKey: 'state', label: 'state', style: { width: '5%' } },\n { label: 'agency', style: { width: '20%' } },\n { sortKey: 'last_action_date', label: 'latest publication date', style: { width: '12%' } },\n { sortKey: 'comments_open', label: 'comments open' },\n { sortKey: 'comments_closed', label: 'comments closed' },\n { label: 'tags' },\n];\n\nexport const BILL_TABLE_MAPPING = {\n federal_bills: FEDERAL_BILL_THEAD,\n state_bills: STATE_BILL_THEAD,\n federal_regulations: FEDERAL_REGULATION_BILL_THEAD,\n state_regulations: STATE_REGULATION_BILL_THEAD,\n};\n","export const NORMAL = 'NORMAL';\nexport const WARNING = 'WARNING';\nexport const DANGER = 'DANGER';\nexport const WARNING_RATIO = 0.1;\n","import React, { useState, cloneElement } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { NORMAL, WARNING, DANGER, WARNING_RATIO } from './constants';\nimport styles from './styles.module.scss';\n\nfunction InfoBar({ children, maxAllowed, chars, error }) {\n const remaining = maxAllowed - chars;\n\n const getStatus = () => {\n if (remaining < 0) {\n return DANGER;\n }\n\n if (remaining <= maxAllowed * WARNING_RATIO) {\n return WARNING;\n }\n\n return NORMAL;\n };\n\n const renderError = () => (\n <span className={styles.danger}>{error}</span>\n );\n\n const renderStatus = () => {\n const status = getStatus();\n\n const className = {\n [NORMAL]: classNames(styles.status),\n [WARNING]: classNames(styles.status, styles.warning),\n [DANGER]: classNames(styles.status, styles.danger),\n }[status];\n\n const text = {\n [NORMAL]: `${remaining} characters remaining`,\n [WARNING]: `${remaining} characters remaining`,\n [DANGER]: `${Math.abs(remaining)} characters beyond the limit`,\n }[status];\n\n return (\n <span className={className}>{text}</span>\n );\n };\n\n const [hasFocus, setHasFocus] = useState(false);\n const handleFocus = () => {\n setHasFocus(true);\n children.onFocus && children.onFocus();\n };\n\n const handleBlur = () => {\n setHasFocus(false);\n children.onBlur && children.onBlur();\n };\n\n const hasError = !!error || getStatus() === DANGER;\n\n const wrapperClassNames = classNames({\n [styles.wrapper]: true,\n [styles.hasFocus]: hasFocus,\n [styles.hasError]: hasError,\n });\n\n return (\n <div className={wrapperClassNames}>\n {cloneElement(children, {\n ...children.props,\n onBlur: handleBlur,\n onFocus: handleFocus,\n })}\n <div className={styles.infoBar}>\n <span>Maximum allowed characters: {maxAllowed}</span>\n {!!error\n ? renderError()\n : renderStatus()\n }\n </div>\n </div>\n );\n}\n\nInfoBar.propTypes = {\n maxAllowed: PropTypes.number,\n children: PropTypes.node,\n chars: PropTypes.number,\n error: PropTypes.string,\n};\n\nexport default InfoBar;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport copyToClipboard from 'components/shared/copy-to-clipboard';\nimport { trackUsingFunctionName } from 'components/tracking/utils';\n\nimport InfoBar from './components/InfoBar';\nimport styles from './styles.module.scss';\n\nexport const constants = {\n TYPE_INPUT: 'input',\n TYPE_TEXTAREA: 'textarea',\n};\n\nexport default class CopyToClipboardInput extends React.Component {\n static propTypes = {\n type: PropTypes.oneOf([\n constants.TYPE_INPUT,\n constants.TYPE_TEXTAREA,\n ]),\n value: PropTypes.string,\n readOnly: PropTypes.bool,\n autoFocus: PropTypes.bool,\n autoSize: PropTypes.bool,\n inputClass: PropTypes.string,\n buttonClass: PropTypes.string,\n wrapperClass: PropTypes.string,\n buttonText: PropTypes.string,\n rows: PropTypes.number,\n onChange: PropTypes.func,\n trackingFunctionName: PropTypes.string,\n infoBar: PropTypes.bool,\n infoBarMax: PropTypes.number,\n infoBarError: PropTypes.string,\n InfoBarComponent: PropTypes.func,\n name: PropTypes.string,\n showCopyButton: PropTypes.bool,\n }\n\n static defaultProps = {\n type: constants.TYPE_TEXTAREA,\n showCopyButton: true,\n readOnly: false,\n autoFocus: false,\n autoSize: false,\n infoBar: false,\n buttonClass: 'btn btn-xs',\n wrapperClass: '',\n inputClass: 'form-control',\n buttonText: 'Copy to clipboard',\n rows: 3,\n }\n\n getRows() {\n const { autoSize, rows, value } = this.props;\n\n if (!autoSize) {\n return rows;\n }\n\n const lines = value.split('\\n').length;\n return Math.max(rows, lines);\n }\n\n autoSize() {\n const { autoSize, type, rows } = this.props;\n\n if (autoSize && type === constants.TYPE_TEXTAREA) {\n const lines = this.input.value.split('\\n').length;\n this.input.rows = Math.max(rows, lines);\n }\n }\n\n handleOnChange = (event) => {\n this.setState({ value: this.input.value });\n this.autoSize();\n this.props.onChange(event);\n }\n\n handleClickCopyButton = () => {\n const { trackingFunctionName } = this.props;\n\n copyToClipboard(this.input);\n trackUsingFunctionName({ trackingFunctionName });\n };\n\n content() {\n const { type, readOnly, autoFocus, inputClass, value, name } = this.props;\n\n const componentProps = {\n ref: c => (this.input = c),\n className: classNames(styles.input, inputClass),\n onChange: this.handleOnChange,\n defaultValue: value,\n name,\n readOnly,\n autoFocus,\n };\n\n if (type === constants.TYPE_INPUT) {\n return <input {...componentProps} type=\"text\" />;\n }\n if (type === constants.TYPE_TEXTAREA) {\n return <textarea {...componentProps} rows={this.getRows()} />;\n }\n\n return null;\n }\n\n render() {\n const { wrapperClass, buttonClass, buttonText, infoBar, infoBarMax, infoBarError, showCopyButton, InfoBarComponent } = this.props;\n\n const value = this.input && this.input.value || this.props.value || '';\n const chars = value.length;\n\n const Wrapper = infoBar\n ? (InfoBarComponent || InfoBar)\n : Fragment;\n const wrapperProps = infoBar ? {\n maxAllowed: infoBarMax,\n error: infoBarError,\n chars,\n } : {};\n\n return (\n <div className={wrapperClass}>\n <Wrapper {...wrapperProps}>\n {this.content()}\n </Wrapper>\n {showCopyButton && (\n <button\n type=\"button\"\n onClick={this.handleClickCopyButton}\n className={classNames('btn btn-xs', styles.button, buttonClass)}\n >\n <i className=\"far fa-copy\" />{' '}\n {buttonText}\n </button>\n )}\n </div>\n );\n }\n}\n","import PropTypes from 'prop-types';\n\nexport const linkProps = {\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\"};","import slugs from 'components/Navigation/menuData/slugs';\n\nimport * as featureSlugs from 'utils/constants/featureSlugs';\n\nexport const productSlugs = {\n [featureSlugs.STAKEHOLDER_SLUG]: slugs.stakeholderManagement,\n [featureSlugs.CONGRESSIONAL_STAFFERS_SLUG]: slugs.federalStaffers,\n [featureSlugs.FEDERAL_AGENCY_STAFFERS_SLUG]: slugs.federalStaffers,\n [featureSlugs.STATE_STAFFERS_SLUG]: slugs.state,\n [featureSlugs.FEDERAL_LEGISLATORS_SLUG]: slugs.federal,\n [featureSlugs.STATE_LEGISLATORS_SLUG]: slugs.state,\n [featureSlugs.FEDERAL_COMMITTEE_SLUG]: slugs.federal,\n [featureSlugs.STATE_COMMITTEE_SLUG]: slugs.state,\n [featureSlugs.FEDERAL_BILLS_SLUG]: slugs.federal,\n [featureSlugs.STATE_BILLS_SLUG]: slugs.state,\n [featureSlugs.FEDERAL_REGULATIONS_SLUG]: slugs.federal,\n [featureSlugs.STATE_REGULATIONS_SLUG]: slugs.stateRegulation,\n [featureSlugs.AGENCY_PRESS_RELEASES_SLUG]: slugs.federal,\n [featureSlugs.CBO_COST_ESTIMATES_SLUG]: slugs.federal,\n [featureSlugs.COMMITTEE_REPORTS_SLUG]: slugs.federal,\n [featureSlugs.CONGRESSIONAL_PRESS_RELEASES_SLUG]: slugs.federal,\n [featureSlugs.CONGRESSIONAL_RECORD_ITEMS_SLUG]: slugs.federal,\n [featureSlugs.CONTRACTS_SLUG]: slugs.federal,\n [featureSlugs.CRS_REPORTS_SLUG]: slugs.federal,\n [featureSlugs.DEAR_COLLEAGUE_LETTERS_SLUG]: slugs.federal,\n [featureSlugs.EXECUTIVE_ORDERS_SLUG]: slugs.federal,\n [featureSlugs.GAO_REPORTS_SLUG]: slugs.federal,\n [featureSlugs.GRANTS_SLUG]: slugs.federal,\n [featureSlugs.LIVE_HEARING_TRANSCRIPTS_SLUG]: slugs.federal,\n [featureSlugs.OFFICIAL_HEARING_TRANSCRIPTS_SLUG]: slugs.federal,\n [featureSlugs.SAP_REPORTS_SLUG]: slugs.federal,\n [featureSlugs.STATE_OF_UNION_ADDRESSES_SLUG]: slugs.federal,\n [featureSlugs.TREATY_DOCUMENTS_SLUG]: slugs.federal,\n [featureSlugs.THIRD_PARTY_REPORTS_SLUG]: slugs.federal,\n [featureSlugs.WHITE_HOUSE_PRESS_BRIEFINGS_SLUG]: slugs.federal,\n [featureSlugs.GOVERNOR_ORDERS_SLUG]: slugs.state,\n [featureSlugs.GOVERNOR_PRESS_RELEASES_SLUG]: slugs.state,\n [featureSlugs.TWITTER_SLUG]: slugs.socialMedia,\n [featureSlugs.STATE_EXECUTIVE_SLUG]: slugs.state,\n [featureSlugs.STATE_STAFFER_EXECUTIVE_SLUG]: slugs.state,\n [featureSlugs.FEDERAL_EXECUTIVE_SLUG]: slugs.federalStaffers,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardContainer\":\"styles-module__cardContainer___3Fjmr\",\"somethingWentWrongContainer\":\"styles-module__somethingWentWrongContainer___1EXvN\",\"title\":\"styles-module__title___17Xu2\",\"subTitle\":\"styles-module__subTitle___39tCf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles-module__header___2BDXs\",\"clearAll\":\"styles-module__clearAll___1DYnF\",\"visits\":\"styles-module__visits___21fcg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3IEkO\",\"links\":\"styles-module__links___2gL_n\",\"link\":\"styles-module__link___33-ei\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"styles-module__button___36sWC\",\"loader\":\"styles-module__loader___3bz-X\",\"disabled\":\"styles-module__disabled___3j6oJ\",\"icon\":\"styles-module__icon___N4vwA\"};","import { useEffect, useState } from 'react';\n\nfunction useButtonState(props) {\n const { isPresentHearings, isPresentStaffers } = props || {};\n const [isHearing, setHearings] = useState(isPresentHearings || false);\n const [isStaffer, setStaffers] = useState(isPresentStaffers || false);\n\n function resetButtonState() {\n if (isPresentStaffers) setStaffers(true);\n if (isPresentHearings) setHearings(true);\n }\n\n useEffect(() => {\n resetButtonState();\n }, [isPresentHearings, isPresentStaffers]);\n\n return {\n isHearing,\n isStaffer,\n setStaffers,\n setHearings,\n resetButtonState,\n };\n}\n\nexport default useButtonState;\n","import { useEffect, useState } from 'react';\nimport { isEmpty, find, includes } from 'lodash';\n\nimport {\n COMMITTEE_TYPE,\n STAFFER_OFFICE_TYPE,\n STATE_COMMITTEE_TYPE,\n STATE_STAFFER_OFFICE_TYPE,\n} from 'redux/dashboardV2/constants';\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\n\nimport useButtonState from './useButtonState';\n\nfunction getCommitteeData(listSubscriptions) {\n const hearing = find(\n listSubscriptions, ({ type, isRemoved }) => !isRemoved && includes([\n COMMITTEE_TYPE,\n STATE_COMMITTEE_TYPE,\n ], type)\n );\n const staffer = find(\n listSubscriptions, ({ type, isRemoved }) => !isRemoved && includes([\n STAFFER_OFFICE_TYPE,\n STATE_STAFFER_OFFICE_TYPE,\n ], type)\n );\n const isPresentHearings = !isEmpty(hearing);\n const isPresentStaffers = !isEmpty(staffer);\n\n return {\n hearing,\n staffer,\n isPresentHearings,\n isPresentStaffers,\n };\n}\n\nfunction useCommitteeItem({ listSubscriptions, frequency }) {\n const { hearing, staffer, isPresentHearings, isPresentStaffers } = getCommitteeData(listSubscriptions);\n\n const [stafferSubscription, setStafferSubscription] = useState({ frequency: NONE_ID });\n const [hearingSubscription, setHearingSubscription] = useState({\n frequency: NONE_ID,\n sendWeekAheadEmail: false,\n });\n\n const { resetButtonState, ...buttonState } = useButtonState({\n isPresentHearings,\n isPresentStaffers,\n });\n\n function setStafferFrequency(value) {\n return setStafferSubscription(prevProps => ({ ...prevProps, frequency: value }));\n }\n\n function setHearingsFrequency(value) {\n return setHearingSubscription(prevProps => ({ ...prevProps, frequency: value }));\n }\n\n function setWeekAhead(value) {\n return setHearingSubscription(prevProps => ({ ...prevProps, sendWeekAheadEmail: value }));\n }\n\n function resetData() {\n isPresentHearings && setHearingSubscription(hearing);\n isPresentStaffers && setStafferSubscription(staffer);\n }\n\n useEffect(() => {\n if (frequency) {\n setStafferFrequency(frequency);\n setHearingsFrequency(frequency);\n }\n }, [frequency]);\n\n useEffect(() => {\n resetData();\n }, [JSON.stringify(listSubscriptions)]);\n\n return {\n isPresentHearings,\n isPresentStaffers,\n stafferSubscription,\n hearingSubscription,\n buttonState,\n setStafferFrequency,\n setHearingsFrequency,\n setWeekAhead,\n resetButtonState,\n resetData,\n };\n}\n\nexport default useCommitteeItem;\n","import { isNil, get, omitBy, isEmpty } from 'lodash';\n\nimport { STATE_COMMITTEE_ITEM_TYPE } from 'utils/constants/itemTypes';\n\nimport useCommitteeItem from './useCommitteeItem';\n\nfunction useCommitteeTrack({\n feedToken,\n itemType,\n documentType,\n defaultSubscription,\n toggleModal,\n updateParams,\n onUpdateTrackCommittee,\n trackings,\n workspaces,\n listSubscriptions,\n}) {\n const {\n buttonState,\n hearingSubscription,\n stafferSubscription,\n resetButtonState,\n resetData,\n isPresentHearings,\n isPresentStaffers,\n setStafferFrequency,\n setHearingsFrequency,\n setWeekAhead,\n } = useCommitteeItem({\n listSubscriptions,\n frequency: defaultSubscription,\n });\n\n const workspacesCommitteeItem = useCommitteeItem({ frequency: defaultSubscription });\n const showHearings = itemType === STATE_COMMITTEE_ITEM_TYPE;\n\n function onClose() {\n toggleModal();\n resetButtonState();\n resetData();\n }\n\n function getActionData({ sendWeekAheadEmail, type, ...restProps }) {\n return omitBy({\n ...(updateParams || {}),\n ...restProps,\n withWeekAheadEmail: !!sendWeekAheadEmail,\n sendWeekAheadEmail,\n type,\n }, isNil);\n }\n\n function onSave() {\n const { isStaffer, isHearing } = buttonState || {};\n const hearingData = getActionData(hearingSubscription);\n const stafferData = getActionData(stafferSubscription);\n const workspacesData = {\n ...workspacesCommitteeItem.buttonState,\n isPresentHearings: workspacesCommitteeItem.isPresentHearings,\n isPresentStaffers: workspacesCommitteeItem.isPresentStaffers,\n hearingData: getActionData(workspacesCommitteeItem.hearingSubscription),\n stafferData: getActionData(workspacesCommitteeItem.stafferSubscription),\n };\n\n return onUpdateTrackCommittee({\n feedToken,\n documentType,\n isStaffer,\n isHearing,\n isPresentStaffers,\n isPresentHearings,\n hearingData,\n stafferData,\n trackings,\n workspaces,\n itemType,\n ...(!isEmpty(workspaces) && { workspacesData }),\n }).finally(toggleModal);\n }\n\n const getFrequency = subscription => get(subscription, 'frequency');\n const getSendWeekAheadEmail = subscription => get(subscription, 'sendWeekAheadEmail', false);\n\n const getIsDisabled = () => {\n const { isStaffer, isHearing } = buttonState;\n\n if (isEmpty(workspaces)) {\n return !(isStaffer || isHearing);\n }\n\n const isMyFeedValid = workspaces.isMyFeedChecked && (isStaffer || isHearing);\n const {\n isStaffer: isWorkspaceStaffer,\n isHearing: isWorkspaceHearing,\n } = workspacesCommitteeItem.buttonState;\n const isWorkspacesValid = workspaces.isWorkspacesChecked\n && !isEmpty(workspaces.values)\n && (isWorkspaceStaffer || isWorkspaceHearing);\n\n return !(isMyFeedValid || isWorkspacesValid);\n };\n\n return {\n ...buttonState,\n isPresentHearings,\n isPresentStaffers,\n staffer: getFrequency(stafferSubscription),\n hearings: getFrequency(hearingSubscription),\n sendWeekAheadEmail: getSendWeekAheadEmail(hearingSubscription),\n setStafferFrequency,\n setHearingsFrequency,\n setWeekAhead,\n onClose,\n onSave,\n workspacesCommitteeItem: {\n ...workspacesCommitteeItem,\n ...workspacesCommitteeItem.buttonState,\n staffer: getFrequency(workspacesCommitteeItem.stafferSubscription),\n hearings: getFrequency(workspacesCommitteeItem.hearingSubscription),\n sendWeekAheadEmail: getSendWeekAheadEmail(workspacesCommitteeItem.hearingSubscription),\n },\n isDisabled: getIsDisabled(),\n showHearings,\n };\n}\n\nexport default useCommitteeTrack;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport TrackFrequencyContent from 'components/Dashboard/common/TrackFrequencyContent';\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\nimport FrequencyCard from 'components/Dashboard/common/FrequencyCard';\n\nimport styles from './styles.module.scss';\n\nfunction SubscribeOption({\n isMobile,\n isChecked,\n withTitle,\n label,\n value,\n isLoading,\n withWeekAheadEmail,\n sendWeekAheadEmail,\n onChange,\n onCheck,\n onCheckCard,\n withFrequency,\n}) {\n function handleCheck({ target: { checked } }) {\n onCheck(checked);\n }\n\n function handleCheckCard({ target: { checked } }) {\n onCheckCard(checked);\n }\n\n const hasFrequencyContent = withWeekAheadEmail || withFrequency;\n\n return (\n <FrequencyCard\n label={label}\n withTitle={withTitle}\n isChecked={isChecked}\n isDisabled={isLoading || false}\n onCheck={handleCheckCard}\n hideChildren={!hasFrequencyContent}\n >\n <TrackFrequencyContent\n isMobile={isMobile}\n isLoading={isLoading}\n frequency={value || NONE_ID}\n withWeekAheadEmail={withWeekAheadEmail}\n sendWeekAheadEmail={sendWeekAheadEmail}\n onChangeSendEmail={handleCheck}\n onChange={onChange}\n withFrequency={withFrequency}\n groupClassName={styles.buttonGroup}\n buttonClassName={styles.frequencyButton}\n />\n </FrequencyCard>\n );\n}\n\nSubscribeOption.propTypes = {\n isChecked: PropTypes.bool,\n isMobile: PropTypes.bool,\n withTitle: PropTypes.bool,\n isLoading: PropTypes.bool,\n label: PropTypes.string,\n value: PropTypes.string,\n withWeekAheadEmail: PropTypes.bool,\n sendWeekAheadEmail: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onCheck: PropTypes.func,\n onCheckCard: PropTypes.func,\n withFrequency: PropTypes.bool.isRequired,\n};\n\nexport default SubscribeOption;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { TRACK_SUBSCRIPTION_FREQUENCIES } from 'redux/dashboardV2/constants';\nimport { SUBSCRIBABLE_TYPES } from 'components/Dashboard/common/FeedPage/utils/constants';\nimport SubscribeOption from '../SubscribeOption';\n\nfunction SubscriptionCard({\n isStaffer,\n isHearing,\n isLoading,\n withTitle,\n staffer,\n hearings,\n sendWeekAheadEmail,\n setStafferFrequency,\n setHearingsFrequency,\n setWeekAhead,\n setStaffers,\n setHearings,\n withFrequency,\n showHearings,\n withWeekAheadEmail,\n}) {\n const {\n [SUBSCRIBABLE_TYPES.FEDERAL_STAFFER_OFFICE]: stafferLabel,\n [SUBSCRIBABLE_TYPES.COMMITTEE]: committeeLabel,\n } = TRACK_SUBSCRIPTION_FREQUENCIES;\n\n return (\n <>\n <SubscribeOption\n withTitle={withTitle}\n label={stafferLabel}\n isChecked={isStaffer}\n onCheckCard={setStaffers}\n isLoading={isLoading}\n value={staffer}\n onChange={setStafferFrequency}\n withFrequency={withFrequency}\n />\n\n {showHearings && (\n <SubscribeOption\n withWeekAheadEmail={withWeekAheadEmail}\n label={committeeLabel}\n isChecked={isHearing}\n onCheckCard={setHearings}\n withTitle={false}\n isLoading={isLoading}\n value={hearings}\n sendWeekAheadEmail={sendWeekAheadEmail}\n onChange={setHearingsFrequency}\n onCheck={setWeekAhead}\n withFrequency={withFrequency}\n />\n )}\n </>\n );\n}\n\nSubscriptionCard.defaultProps = {\n withFrequency: false,\n showHearings: true,\n withWeekAheadEmail: false,\n};\n\nSubscriptionCard.propTypes = {\n isStaffer: PropTypes.bool,\n isHearing: PropTypes.bool,\n isLoading: PropTypes.bool,\n withTitle: PropTypes.bool,\n staffer: PropTypes.string,\n hearings: PropTypes.string,\n sendWeekAheadEmail: PropTypes.bool,\n setStafferFrequency: PropTypes.func.isRequired,\n setHearingsFrequency: PropTypes.func.isRequired,\n setWeekAhead: PropTypes.func.isRequired,\n setStaffers: PropTypes.func,\n setHearings: PropTypes.func,\n withFrequency: PropTypes.bool,\n showHearings: PropTypes.bool,\n withWeekAheadEmail: PropTypes.bool,\n};\n\nexport default SubscriptionCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { updateTrackShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { multipleSubscriptionShape } from 'components/Dashboard/utils/shapes';\nimport Button from 'components/core/Button';\nimport Modal from 'components/core/Modal';\nimport { trackingShape } from 'redux/subscriptions/utils/shapes';\nimport { workspacesShape } from 'components/core/TrackButton/shapes';\nimport WorkspacesSelect from 'components/Dashboard/common/TrackModal/components/WorkspacesSelect';\nimport MyFeedFrequency from 'components/Dashboard/common/TrackModal/components/MyFeedFrequency';\nimport { FREQUENCY_TITLE } from 'components/Dashboard/common/FrequencyCard';\nimport { isMyFeed } from 'components/Dashboard/utils';\n\nimport useCommitteeTrack from '../../utils/useCommitteeTrack';\nimport SubscriptionCard from '../SubscriptionCard';\nimport styles from './styles.module.scss';\n\nfunction CommitteeTrack({\n feedToken,\n documentType,\n itemType,\n listSubscriptions,\n defaultSubscription,\n isLoading,\n isOpenModal,\n toggleModal,\n updateParams,\n onUpdateTrackCommittee,\n trackings,\n workspaces,\n withWorkspacesSelect,\n withSelectedWorkspace,\n}) {\n const {\n isStaffer,\n isHearing,\n onSave,\n onClose,\n workspacesCommitteeItem,\n isDisabled,\n showHearings,\n ...subscriptionProps\n } = useCommitteeTrack({\n feedToken,\n documentType,\n listSubscriptions,\n defaultSubscription,\n toggleModal,\n updateParams,\n onUpdateTrackCommittee,\n trackings,\n workspaces,\n itemType,\n });\n\n const modalActions = (\n <>\n <Button theme=\"light\" size=\"small\" onClick={onClose}>\n Cancel\n </Button>\n <Button\n isLoading={isLoading}\n size=\"small\"\n disabled={isDisabled}\n onClick={onSave}\n >\n Save\n </Button>\n </>\n );\n\n const getContent = () => {\n const commonSubscriptionCardProps = {\n ...subscriptionProps,\n isStaffer,\n isHearing,\n showHearings,\n };\n\n if (withSelectedWorkspace || !withWorkspacesSelect) {\n return (\n <SubscriptionCard\n {...commonSubscriptionCardProps}\n withFrequency\n withWeekAheadEmail={isMyFeed(feedToken)}\n />\n );\n }\n\n return (\n <>\n <p>{FREQUENCY_TITLE}</p>\n <MyFeedFrequency\n isChecked={workspaces.isMyFeedChecked}\n onCheck={workspaces.onCheckMyFeed}\n withTitle={false}\n >\n <SubscriptionCard\n {...commonSubscriptionCardProps}\n withTitle={false}\n withFrequency\n withWeekAheadEmail\n />\n </MyFeedFrequency>\n {withWorkspacesSelect && (\n <WorkspacesSelect workspaces={workspaces}>\n <SubscriptionCard\n {...workspacesCommitteeItem}\n withTitle={false}\n showHearings={showHearings}\n />\n </WorkspacesSelect>\n )}\n </>\n );\n };\n\n return (\n <Modal\n title=\"Subscription settings\"\n isOpen={isOpenModal}\n toggleOpen={toggleModal}\n buttons={modalActions}\n className={styles.container}\n onRequestClose={onClose}\n theme=\"scrollable\"\n >\n {getContent()}\n </Modal>\n );\n}\n\nCommitteeTrack.defaultProps = {\n withSelectedWorkspace: false,\n};\n\nCommitteeTrack.propTypes = {\n ...multipleSubscriptionShape,\n feedToken: PropTypes.string,\n documentType: PropTypes.string,\n itemType: PropTypes.string,\n defaultSubscription: PropTypes.string,\n isLoading: PropTypes.bool,\n isOpenModal: PropTypes.bool,\n toggleModal: PropTypes.func,\n updateParams: updateTrackShape,\n onUpdateTrackCommittee: PropTypes.func.isRequired,\n trackings: PropTypes.arrayOf(trackingShape),\n workspaces: workspacesShape,\n withWorkspacesSelect: PropTypes.bool.isRequired,\n withSelectedWorkspace: PropTypes.bool,\n};\n\nexport default CommitteeTrack;\n","import useButtonState from './useButtonState';\n\nfunction useTrackItemsModal({ isPresentHearings, isPresentStaffers, onChange }) {\n const {\n type,\n isStaffer,\n isHearing,\n setStaffers,\n setHearings,\n } = useButtonState({ isPresentHearings, isPresentStaffers });\n\n function setStaffersOption(checked) {\n setStaffers(checked);\n onChange({ isStaffer: checked });\n }\n\n function setHearingsOption(checked) {\n setHearings(checked);\n onChange({ isHearing: checked });\n }\n\n function setStafferFrequency(currentValue) {\n onChange({ isStaffer: true, staffer: currentValue });\n }\n\n function setHearingsFrequency(currentValue) {\n onChange({ isHearing: true, hearings: currentValue });\n }\n\n function setWeekAhead(currentValue) {\n onChange({ isHearing: true, sendWeekAheadEmail: currentValue });\n }\n\n return {\n type,\n isStaffer,\n isHearing,\n setStaffers: setStaffersOption,\n setHearings: setHearingsOption,\n setStafferFrequency,\n setHearingsFrequency,\n setWeekAhead,\n };\n}\n\nexport default useTrackItemsModal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport useTrackItemsModal from '../../utils/useTrackItemsModal';\nimport SubscriptionCard from '../SubscriptionCard';\n\nfunction TrackItemsSubscriptions({\n isPresentHearings,\n isPresentStaffers,\n withTitle,\n frequency,\n onChange,\n withFrequency,\n withWeekAheadEmail,\n}) {\n const {\n isStaffer,\n isHearing,\n ...restProps\n } = useTrackItemsModal({\n isPresentHearings,\n isPresentStaffers,\n onChange,\n });\n\n return (\n <SubscriptionCard\n {...frequency}\n {...restProps}\n withTitle={withTitle}\n isStaffer={isStaffer}\n isHearing={isHearing}\n withFrequency={withFrequency}\n withWeekAheadEmail={withWeekAheadEmail}\n />\n );\n}\n\nTrackItemsSubscriptions.propTypes = {\n frequency: PropTypes.shape({\n staffer: PropTypes.string,\n hearings: PropTypes.string,\n sendWeekAheadEmail: PropTypes.bool,\n }),\n isPresentHearings: PropTypes.bool,\n isPresentStaffers: PropTypes.bool,\n withTitle: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n withFrequency: PropTypes.bool.isRequired,\n withWeekAheadEmail: PropTypes.bool.isRequired,\n};\n\nexport default TrackItemsSubscriptions;\n","import CommitteeTrack from './components/CommitteeTrack';\nimport SubscribeOption from './components/SubscribeOption';\nimport SubscriptionCard from './components/SubscriptionCard';\nimport TrackItemsSubscriptions from './components/TrackItemsSubscriptions';\nimport useCommitteeItem from './utils/useCommitteeItem';\n\nexport {\n CommitteeTrack,\n SubscribeOption,\n SubscriptionCard,\n TrackItemsSubscriptions,\n useCommitteeItem,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport FrequencyPlaceholder from 'components/Dashboard/common/FrequencyPlaceholder';\nimport { ALL_FREQUENCIES } from 'components/Dashboard/KeywordSearch/utils/constants';\nimport FrequencyOptions from 'components/core/FrequencyOptions';\n\nimport styles from './styles.module.scss';\n\nfunction TrackFrequency({\n isMobile,\n isLoading,\n selectedOption,\n className,\n buttonClassName,\n onChange,\n}) {\n return (\n <div className={classNames(styles.container, isLoading && styles.loading)}>\n <FrequencyPlaceholder\n notificationFrequency={selectedOption}\n className={styles.frequencyDescription}\n />\n <FrequencyOptions\n options={ALL_FREQUENCIES}\n selectedOption={selectedOption}\n onChange={onChange}\n isMobile={isMobile}\n isDisabled={isLoading}\n buttonClassName={classNames(styles.frequencyButton, buttonClassName)}\n className={className}\n />\n </div>\n );\n}\n\nTrackFrequency.propTypes = {\n isMobile: PropTypes.bool,\n isLoading: PropTypes.bool,\n selectedOption: PropTypes.string,\n className: PropTypes.string,\n buttonClassName: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default TrackFrequency;\n","import * as yup from 'yup';\nimport { head, toLower, map } from 'lodash';\n\nexport const MAX_TITLE_LENGTH = 50;\n\nexport const errorMessages = {\n required: 'Please type a name.',\n duplicate: 'This name is in use by another workspace. Please type a new name.',\n maxLength: `Workspace title must have a maximum length of ${MAX_TITLE_LENGTH} characters.`,\n};\n\nconst validateUniqueness = names => value => !map(names, toLower).includes(toLower(value));\n\nconst getNameSchema = workspacesNames => yup.string()\n .required(errorMessages.required)\n .max(MAX_TITLE_LENGTH, errorMessages.maxLength)\n .test('is-unique', errorMessages.duplicate, validateUniqueness([...workspacesNames, 'My feed']));\n\nconst validateName = (value, workspacesNames = []) => getNameSchema(workspacesNames).validate(value)\n .then(() => [true, null])\n .catch((error) => {\n const errors = error.errors || [];\n const errorMessage = head(errors);\n\n return [false, errorMessage];\n });\n\nexport default validateName;\n","export const WORKSPACE_SUGGESTER_STRATEGY = 'feed_name';\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CONTINUOUS_ID, DAILY_ID, NONE_ID, WEEKLY_ID } from 'components/core/FrequencyOptions/constants';\nimport { frequencyType } from 'components/core/FrequencyOptions/shapes';\n\nfunction FrequencyPlaceholder({ notificationFrequency, className }) {\n const frequencyPlaceholder = {\n [CONTINUOUS_ID]: <>Updates will be sent via email <b>every few minutes.</b></>,\n [DAILY_ID]: <>Updates will be combined into one email, sent <b>daily</b> at <b>7:00 am ET.</b></>,\n [WEEKLY_ID]: <>Updates will be combined into one email, sent <b>weekly</b> at <b>6:00 am ET</b> every <b>Friday.</b></>,\n [NONE_ID]: 'Updates will not be included in any email.',\n };\n\n return (\n <p className={className}>\n {frequencyPlaceholder[notificationFrequency] || 'Select an email frequency for your subscription(s).'}\n </p>\n );\n}\n\nFrequencyPlaceholder.propTypes = {\n notificationFrequency: frequencyType,\n className: PropTypes.string,\n};\n\nexport default FrequencyPlaceholder;\n","import { useState, useEffect } from 'react';\nimport { get, trim, isEmpty, map, identity } from 'lodash';\n\nimport * as workspacesApi from 'redux/dashboardV2/common/workspaces/api';\nimport { NONE_ID } from 'components/core/FrequencyOptions/constants';\nimport isUnprocessableEntityError from 'utils/http/isUnprocessableEntityError';\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\nimport useLoader from 'utils/useLoader';\n\nimport validateName from './utils/nameValidation';\n\nfunction useNewWorkspaceModal({ toggleModal, feed, onSuccess = identity, initialName = '' }) {\n const [name, setName] = useState(initialName);\n const [frequency, setFrequency] = useState(NONE_ID);\n const [subscribe, setSubscribe] = useState(true);\n const [errorMessage, setErrorMessage] = useState('');\n const { isLoading, startLoading, stopLoading } = useLoader();\n const { isMobile } = useMediaQuery();\n const trimmedName = trim(name);\n\n const isValid = () => !isEmpty(trimmedName);\n\n const handleNameChange = (event) => {\n setName(get(event, 'target.value'));\n };\n\n const handleFrequencyChange = (value) => {\n setFrequency(value);\n };\n\n const handleSubscribeChange = (event) => {\n setSubscribe(get(event, 'target.checked'));\n };\n\n const reset = () => {\n setName('');\n setFrequency(NONE_ID);\n setErrorMessage('');\n setSubscribe(true);\n };\n\n const handleClose = () => {\n reset();\n toggleModal();\n };\n\n const handleSubmit = async () => {\n const workspacesNames = map(feed, 'name');\n const [isNameValid, validationError] = await validateName(trimmedName, workspacesNames);\n\n if (!isNameValid) {\n return setErrorMessage(validationError);\n }\n\n startLoading();\n setErrorMessage('');\n\n const onFailure = (error = {}) => {\n if (isUnprocessableEntityError(error)) {\n return setErrorMessage(error.text);\n }\n\n throw error;\n };\n\n return workspacesApi.createWorkspace({ ...(subscribe && { frequency }), name: trimmedName })\n .then(onSuccess)\n .then(handleClose)\n .catch(onFailure)\n .finally(stopLoading);\n };\n\n useEffect(() => setName(initialName), [initialName]);\n\n return {\n name,\n frequency,\n subscribe,\n handleNameChange,\n handleFrequencyChange,\n handleSubscribeChange,\n handleClose,\n errorMessage,\n handleSubmit,\n isLoading,\n isMobile,\n isValid,\n };\n}\n\nexport default useNewWorkspaceModal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ConfirmationModal } from 'components/core/Modal';\nimport Input from 'components/core/Input';\nimport Label from 'components/core/Label';\nimport Loader from 'components/core/Loader';\nimport FrequencyOptions from 'components/core/FrequencyOptions';\nimport { ALL_FREQUENCIES } from 'components/core/FrequencyOptions/constants';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\nimport Asterisk from 'components/core/Asterisk';\nimport FrequencyCard from 'components/Dashboard/common/FrequencyCard';\n\nimport { workspaceShape } from '../../utils/shapes';\nimport useNewWorkspaceModal from './useNewWorkspaceModal';\nimport styles from './styles.module.scss';\n\nfunction NewWorkspaceModal({ isOpen, toggleModal, onSuccess, feed, initialName }) {\n const {\n name,\n frequency,\n subscribe,\n handleNameChange,\n handleFrequencyChange,\n handleSubscribeChange,\n handleClose,\n errorMessage,\n handleSubmit,\n isLoading,\n isMobile,\n isValid,\n } = useNewWorkspaceModal({ toggleModal, onSuccess, feed, initialName });\n\n const NAME_ID = 'workspace-name';\n\n const loaderNode = <Loader onlyIcon theme=\"light\" size=\"small\" />;\n const messageContinue = isLoading ? loaderNode : 'Save';\n\n return (\n <ConfirmationModal\n id=\"create-workspace-modal\"\n messageContinue={messageContinue}\n title=\"Create new workspace\"\n isOpen={isOpen}\n toggle={handleClose}\n action={handleSubmit}\n disableContinue={isLoading || !isValid()}\n keepItOpened\n >\n <Label htmlFor={NAME_ID} className={styles.nameLabel}>\n Name <Asterisk show />\n </Label>\n\n <TextInputPlaceholder className={styles.namePlaceholder}>\n The name that will appear in your email alert subject line.\n </TextInputPlaceholder>\n\n <Input\n id={NAME_ID}\n value={name}\n onChange={handleNameChange}\n errorMessage={errorMessage}\n className={styles.nameInput}\n />\n\n <FrequencyCard\n label=\"Subscribe me to updates\"\n withTitle={false}\n isChecked={subscribe}\n onCheck={handleSubscribeChange}\n withHeaderNode\n >\n <>\n <p className={styles.frequencyLabel}>Email frequency</p>\n\n <FrequencyOptions\n selectedOption={frequency}\n onChange={handleFrequencyChange}\n options={ALL_FREQUENCIES}\n isMobile={isMobile}\n buttonClassName={styles.frequencyButton}\n labelCase=\"capitalize\"\n />\n </>\n </FrequencyCard>\n </ConfirmationModal>\n );\n}\n\nNewWorkspaceModal.defaultProps = {\n initialName: '',\n feed: [],\n};\n\nNewWorkspaceModal.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n onSuccess: PropTypes.func,\n feed: PropTypes.arrayOf(workspaceShape),\n initialName: PropTypes.string,\n};\n\nexport default NewWorkspaceModal;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"styles-module__option___3-zAR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___3iwPO\"};","import createNumberMask from 'text-mask-addons/dist/createNumberMask';\n\nconst usPhoneNumberWithCountryCodeMask = [\n '+',\n '1',\n ' ',\n '(',\n /[1-9]/,\n /\\d/,\n /\\d/,\n ')',\n ' ',\n /\\d/,\n /\\d/,\n /\\d/,\n '-',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n];\n\nconst dateMask = [\n /\\d/,\n /\\d/,\n '/',\n /\\d/,\n /\\d/,\n '/',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n];\n\nconst dateTimeMask = [\n ...dateMask,\n ' ',\n /0|1/,\n /\\d/,\n ':',\n /[0-5]/,\n /\\d/,\n ' ',\n /a|p/,\n 'm',\n];\n\nconst integerMask = createNumberMask({\n prefix: '',\n});\n\n\nconst maskMapping = {\n us_phone_number_with_country_code: {\n mask: usPhoneNumberWithCountryCodeMask,\n placeholder: '+1 (555) 555-5555',\n },\n integer: {\n mask: integerMask,\n placeholder: 'Number',\n },\n date: {\n mask: dateMask,\n placeholder: 'mm/dd/yyyy',\n },\n date_time: {\n mask: dateTimeMask,\n placeholder: 'mm/dd/yyyy hh:tt',\n },\n};\nexport default maskMapping;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport ReactTextMask from 'react-text-mask';\nimport maskMapping from './mask-mapping';\n\nconst HAS_ERROR = 'has-error';\n\nexport default class MaskedInput extends React.Component {\n static propTypes = {\n id: PropTypes.string,\n name: PropTypes.string,\n label: PropTypes.string,\n groupClassName: PropTypes.string,\n labelClassName: PropTypes.string,\n inputClassName: PropTypes.string,\n value: PropTypes.string,\n errors: PropTypes.array,\n placeholder: PropTypes.string,\n maskSlug: PropTypes.string.isRequired,\n guide: PropTypes.bool,\n required: PropTypes.bool,\n placeholderChar: PropTypes.string,\n keepCharPositions: PropTypes.bool,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n }\n\n static defaultProps = {\n labelClassName: 'col-md-4 control-label',\n inputClassName: 'col-md-8',\n groupClassName: 'form-group',\n errors: [],\n guide: true,\n placeholderChar: '_',\n keepCharPositions: false,\n required: false,\n }\n\n hasError = () => this.props.errors.length > 0;\n\n maskMapper = () => {\n const mask = maskMapping[this.props.maskSlug];\n\n // @neal that is for devs, if they forget to provide\n // maskSlug, is it better to do a console.log here?\n // IMHO alert seems to be much more noticeable\n if (!mask) {\n console.error('Mask Mapping is not defined!');\n }\n\n return mask;\n }\n\n label = () => {\n const { label, labelClassName, id } = this.props;\n\n if (!label) {\n return null;\n }\n\n return (\n <label className={labelClassName} htmlFor={id}>\n { this.required() }\n { label }\n </label>\n );\n }\n\n required = () => {\n const { required } = this.props;\n\n if (!required) {\n return null;\n }\n\n return (\n <span>\n <abbr title=\"required\">*</abbr>\n  \n </span>\n );\n }\n\n groupClassName = () => classNames({\n [this.props.groupClassName]: true,\n [HAS_ERROR]: this.hasError(),\n });\n\n error = () => {\n if (!this.hasError()) {\n return null;\n }\n\n return (\n <span className=\"help-block\">\n {this.props.errors[0]}\n </span>\n );\n }\n\n placeholder = () => this.props.placeholder || this.maskMapper().placeholder;\n\n render() {\n const {\n id,\n name,\n value,\n inputClassName,\n guide,\n placeholderChar,\n keepCharPositions,\n onChange,\n onBlur,\n } = this.props;\n\n return (\n <div className={this.groupClassName()} onBlur={onBlur}>\n {this.label()}\n\n <div className={inputClassName}>\n <ReactTextMask\n id={id}\n name={name}\n value={value}\n placeholder={this.placeholder()}\n className=\"form-control\"\n mask={this.maskMapper().mask}\n guide={guide}\n placeholderChar={placeholderChar}\n keepCharPositions={keepCharPositions}\n onChange={onChange}\n />\n {this.error()}\n </div>\n </div>\n );\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___KBlep\",\"body\":\"styles-module__body___bwxeY\",\"header\":\"styles-module__header___JAYz1\",\"title\":\"styles-module__title___24W_C\",\"closeButton\":\"styles-module__closeButton___Ee5zK\",\"list\":\"styles-module__list___1SQcQ\",\"option\":\"styles-module__option___1mfSf\",\"name\":\"styles-module__name___PAhwU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___mkFdu\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___2tnp0\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___1_6qz\",\"closedMenuContainer\":\"styles-module__closedMenuContainer___1cGY-\",\"navButton\":\"styles-module__navButton___3FDqz\",\"icon\":\"styles-module__icon___1lZY6\",\"activeIcon\":\"styles-module__activeIcon___2lTMZ\",\"activeMenu\":\"styles-module__activeMenu___vn_OB\",\"globalQuickSearch\":\"styles-module__globalQuickSearch___QgPKk\",\"searchMenu\":\"styles-module__searchMenu___3seIk\",\"loadingOverlay\":\"styles-module__loadingOverlay___1l4j7\"};","export const BASE_URL = '/moneyball_v2';\n\nexport const REQUEST_CONTENT_TYPE = 'application/json';\n\nexport const DISBURSEMENTS = 'disbursements';\nexport const CANDIDATES = 'candidates';\nexport const RECEIPTS = 'receipts';\n\nexport const COMMITTEE = 'committee';\nexport const INDIVIDUAL = 'individual';\nexport const CORPORATION = 'corporation';\nexport const VENDOR = 'vendor';\nexport const BOTH = 'both';\nexport const ALL = 'all';\nexport const RECEIVED = 'received';\nexport const DISBURSED = 'disbursed';\n\nexport const REPUBLICAN = 'republican';\nexport const DEMOCRATIC = 'democrat';\n\nexport const TOTAL = 'total';\n\nexport const STATE = 'state';\nexport const LOCAL = 'local';\nexport const FEC = 'fec';\nexport const IRS = 'irs';\n\nexport const PRIMARY = 'primary';\nexport const GENERAL = 'general';\nexport const SPECIAL = 'special';\n\nexport const HOUSE = 'house';\nexport const SENATE = 'senate';\nexport const STATE_UPPER = 'state_upper';\nexport const STATE_LOWER = 'state_lower';\nexport const PRESIDENT = 'president';\nexport const GOVERNOR = 'governor';\nexport const OTHER = 'other';\nexport const CAMPAIGN_COMMITTEE = 'campaign_committee';\nexport const PARTY_COMMITTEE = 'party_committee';\nexport const PACS = 'pacs';\nexport const NOT_PACS = 'not_pacs';\nexport const CANDIDATE = 'candidate';\n\nexport const MONEYBALL_COMBINE_INDIVIDUALS_VIEW_URL = `${BASE_URL}/individuals/combine`;\nexport const MONEYBALL_COMBINE_CORPORATION_VIEW_URL = `${BASE_URL}/corporations/combine`;\nexport const MONEYBALL_CLUSTERBUCK_COMBINE_FIRST_QUEUE_URL = `${BASE_URL}/clusterbuck/firstqueue/combine`;\nexport const MONEYBALL_CLUSTERBUCK_COMBINE_SECOND_QUEUE_URL = `${BASE_URL}/clusterbuck/secondqueue/combine`;\n\nconst titlePrefix = 'Intelligence - Donor research';\n\nexport const MONEYBALL_TITLES = {\n homepage: titlePrefix,\n vendors: `${titlePrefix} - Vendors`,\n receipts: `${titlePrefix} - Receipts`,\n candidates: `${titlePrefix} - Candidates`,\n committees: `${titlePrefix} - Committees`,\n pacRanking: `${titlePrefix} - PAC ranking`,\n individuals: `${titlePrefix} - Individuals`,\n smartSearch: `${titlePrefix} - Smart Search`,\n corporations: `${titlePrefix} - Corporations`,\n disbursements: `${titlePrefix} - Disbursements`,\n clusterBuck: `${titlePrefix} - Cluster Buck`,\n};\n","import { isMyFeed } from 'components/Dashboard/utils';\nimport { BASE_URL } from 'components/Dashboard/utils/constants';\n\nconst baseWorkspacesUrl = `${BASE_URL}/workspaces`;\n\nexport const getViewUrl = feedToken => (\n isMyFeed(feedToken)\n ? `${BASE_URL}/feed`\n : `${baseWorkspacesUrl}/${feedToken}`\n);\n\nexport const getEditUrl = feedToken => (\n isMyFeed(feedToken)\n ? `${BASE_URL}/my_subscriptions`\n : `${baseWorkspacesUrl}/${feedToken}/settings`\n);\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport moment from 'moment';\n\nconst DATE_FORMAT = 'L';\n\nexport default class FileDetails extends React.Component {\n static propTypes = {\n files: PropTypes.array.isRequired,\n fileNames: PropTypes.array.isRequired,\n className: PropTypes.string.isRequired,\n handleDelete: PropTypes.func.isRequired,\n multiple: PropTypes.bool,\n }\n\n static defaultProps = {\n multiple: false,\n }\n\n lastFile = () => {\n const { files } = this.props;\n\n if (files.length === 0) {\n return null;\n }\n\n return files[files.length - 1];\n }\n\n deleteButton = () => (\n <i\n className=\"far fa-times-circle fa-lg royal-file-uploader__delete-button\"\n onClick={this.props.handleDelete}\n />\n );\n\n fileDetails = () => {\n const { fileNames, className, multiple } = this.props;\n\n if (multiple) return (<span>Delete All</span>);\n const displayFileNames = fileNames.join(', ');\n const uploadedAt = moment(this.lastFile().created_at).format(DATE_FORMAT);\n\n return (\n <span className={className}>\n { displayFileNames } Uploaded { uploadedAt }\n </span>\n );\n }\n\n details = () => {\n if (!this.lastFile()) {\n return null;\n }\n\n return (\n <span>\n { this.fileDetails() } \n { this.deleteButton() }\n </span>\n );\n }\n\n render() {\n return this.details();\n }\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nexport default class UploadButton extends React.Component {\n static propTypes = {\n accept: PropTypes.string,\n className: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool.isRequired,\n handleChange: PropTypes.func.isRequired,\n }\n\n static defaultProps = {\n disabled: false,\n }\n\n // transform { 0: file1, 1: file2 } into\n // [file1, file2]\n handleChange = (event) => {\n const { files } = event.target;\n\n const wrappedFiles = Object.keys(files).map(key => files[key]);\n\n this.props.handleChange(wrappedFiles);\n }\n\n // bug-fix, onChange doesnt work when selecting same file\n // for second time\n // eslint-disable-next-line no-param-reassign\n handleClick = (event) => { event.target.value = null; }\n\n render() {\n const { accept, className, text, disabled, multiple } = this.props;\n\n const buttonClassName = classNames({\n [className]: true,\n disabled,\n });\n\n // we use <label> with a btn class instead of a real button\n // to trigger the input-file click when label is clicked\n return (\n <label className={buttonClassName}>\n <i className=\"far fa-plus\" />\n  \n\n { text }\n\n <input\n type=\"file\"\n className=\"royal-file-uploader__input\"\n accept={accept}\n onChange={this.handleChange}\n onClick={this.handleClick}\n multiple={multiple}\n />\n </label>\n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nexport default class HiddenInputs extends React.Component {\n static propTypes = {\n files: PropTypes.array.isRequired,\n name: PropTypes.string,\n multiple: PropTypes.bool.isRequired,\n }\n\n buildInput = ({ fileId, name }) => (\n <input type=\"hidden\" key={fileId} value={fileId} name={name} />\n );\n\n hiddenInputs = () => {\n const { name, files, multiple } = this.props;\n let inputName = name;\n\n if (multiple) {\n inputName = `${name}[]`;\n }\n\n const inputs = files.map(file =>\n this.buildInput({ fileId: file.id, name: inputName })\n );\n\n if (inputs.length > 0) {\n return inputs;\n }\n\n // build an empty Input if none is present\n // required in tests to run a script like that:\n // $(\"input[name='#{name}']\" ).val(#{value})\n return this.buildInput({ name: inputName });\n }\n\n render() {\n const { name } = this.props;\n\n return (\n <span>\n { name && this.hiddenInputs() }\n </span>\n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nexport default class LoadingMessage extends React.Component {\n static propTypes = {\n loading: PropTypes.bool.isRequired,\n uploading: PropTypes.bool.isRequired,\n }\n\n loadingMessage = message => (\n <span>\n { message }, please wait ...  \n <i className=\"far fa-circle-notch fa-spin\" />\n </span>\n );\n\n render() {\n const { loading, uploading } = this.props;\n\n return (\n <span>\n { loading && this.loadingMessage('Loading') }\n\n { uploading && this.loadingMessage('Uploading') }\n </span>\n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nexport default class ErrorMessage extends React.Component {\n static propTypes = {\n loading: PropTypes.bool.isRequired,\n filesPresent: PropTypes.bool.isRequired,\n fileErrors: PropTypes.array.isRequired,\n inputErrors: PropTypes.array.isRequired,\n }\n\n errorMessage = (messages) => {\n if (messages.length === 0) {\n return null;\n }\n\n return (\n <span className=\"text-danger\">\n { messages[0] }\n </span>\n );\n }\n\n showErrors = () => {\n const { filesPresent, loading } = this.props;\n\n return !filesPresent && !loading;\n }\n\n fileErrors = () => {\n const { fileErrors } = this.props;\n\n if (this.showErrors()) {\n return this.errorMessage(fileErrors);\n }\n\n return null;\n }\n\n inputErrors = () => {\n const { inputErrors, fileErrors } = this.props;\n\n if (this.showErrors() && fileErrors.length === 0) {\n return this.errorMessage(inputErrors);\n }\n\n return null;\n }\n\n render() {\n return (\n <span>\n { this.fileErrors() }\n { this.inputErrors() }\n </span>\n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nclass FileList extends React.Component {\n static propTypes = {\n files: PropTypes.object,\n fileNamesEditable: PropTypes.bool,\n handleDelete: PropTypes.func.isRequired,\n handleFileNameChange: PropTypes.func.isRequired,\n }\n\n static defaultProps = {\n files: [],\n fileNamesEditable: false,\n }\n\n handleFileNameChange = (file) => {\n const { handleFileNameChange } = this.props;\n return event => handleFileNameChange(event, file);\n }\n\n fileName(input) {\n const { fileNamesEditable } = this.props;\n if (fileNamesEditable) {\n return (<input\n type=\"text\"\n className=\"form-control\"\n defaultValue={input.name}\n onChange={this.handleFileNameChange(input)}\n />);\n }\n\n return (<span className=\"input-centered royal-file-uploader__file-name-input\"> {input.name} </span>);\n }\n\n handleDelete = (id) => {\n const { handleDelete } = this.props;\n return () => handleDelete(id);\n }\n\n inputsList() {\n const { files } = this.props;\n\n return Object.values(files).map((input, index) =>\n (<div className=\"col-xs-12\" key={input.id + index}>\n <div className=\"row form-group\">\n <div className=\"col-xs-1\"><span className=\"royal-file-uploader__input-index\">{index + 1}.</span></div>\n <div className=\"col-xs-10\">\n {this.fileName(input)}\n </div>\n <div>\n <span className=\"delete-button input-centered\">\n <i\n className=\"far fa-times-circle fa-lg royal-file-uploader__delete-button\"\n onClick={this.handleDelete(input.id)}\n />\n </span>\n </div>\n </div>\n </div>)\n );\n }\n\n render() {\n return (\n <div className=\"row margin-top-15\">\n {this.inputsList()}\n </div>\n );\n }\n}\n\nexport default FileList;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport isEqual from 'lodash/isEqual';\n\nimport { DEFAULT_STATE } from './constants';\nimport FileDetails from './file-details.jsx';\nimport UploadButton from './upload-button.jsx';\nimport HiddenInputs from './hidden-inputs.jsx';\nimport LoadingMessage from './loading-message.jsx';\nimport ErrorMessage from './error-message.jsx';\nimport FilesList from './file-list.jsx';\n\nexport default class Container extends React.Component {\n static propTypes = {\n // reduxProps\n files: PropTypes.array,\n fileErrors: PropTypes.array,\n ui: PropTypes.object,\n fetchFiles: PropTypes.func,\n uploadFiles: PropTypes.func,\n deleteFiles: PropTypes.func,\n deleteFile: PropTypes.func,\n\n // componentProps\n accept: PropTypes.string,\n buttonClassName: PropTypes.string,\n buttonText: PropTypes.string,\n inputName: PropTypes.string,\n inputErrors: PropTypes.array,\n fileDetailsClassName: PropTypes.string,\n fileUploadIds: PropTypes.array,\n fileUploadsWithNames: PropTypes.array,\n requiredInputs: PropTypes.object,\n multiple: PropTypes.bool,\n displayFileDetails: PropTypes.bool,\n onDelete: PropTypes.func,\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n strategySlug: PropTypes.string.isRequired,\n fileNamesEditable: PropTypes.bool,\n }\n\n static defaultProps = {\n ...DEFAULT_STATE,\n fileDetailsClassName: 'royal-file-uploader__file-details',\n buttonClassName: 'btn btn-primary',\n buttonText: 'Upload File',\n requiredInputs: {},\n fileUploadIds: [],\n fileUploadsWithNames: [],\n inputErrors: [],\n multiple: false,\n displayFileDetails: true,\n fileNamesEditable: false,\n }\n\n state = {\n fileNames: [],\n normalizedFileUploadsWithNames: {},\n }\n\n componentWillMount() {\n const { fileUploadsWithNames } = this.props;\n const normalizedFileUploadsWithNames = fileUploadsWithNames.reduce((acc, file) =>\n ({ ...acc, [file.file_upload_id]: file })\n , {});\n\n this.setState({ normalizedFileUploadsWithNames });\n }\n\n componentDidMount() {\n const { fileUploadIds, fetchFiles } = this.props;\n\n fetchFiles({ fileUploadIds });\n }\n\n componentDidUpdate(prevProps) {\n const { fileUploadIds, fetchFiles } = this.props;\n\n if (!isEqual(prevProps.fileUploadIds, fileUploadIds)) {\n fetchFiles({ fileUploadIds });\n }\n }\n\n componentWillUnmount = () => {\n const { deleteFiles } = this.props;\n\n deleteFiles();\n }\n\n handleChange = (files) => {\n let fileNames = files.map(file => file.name);\n fileNames = this.state.fileNames.concat(fileNames);\n\n this.setState({ fileNames }, () => this.uploadFiles(files));\n }\n\n uploadFiles = (files) => {\n const { strategySlug, requiredInputs } = this.props;\n\n this.props.uploadFiles({ files, strategySlug, requiredInputs })\n .then(this.handleSuccess)\n .catch(this.handleError);\n }\n\n handleSuccess = () => {\n const { onSuccess, files } = this.props;\n let { normalizedFileUploadsWithNames } = this.state;\n\n const wrappedFiles = files.map(file => ({\n id: file.id,\n name: file.name,\n ...file,\n }));\n\n const initialAccumulator = normalizedFileUploadsWithNames;\n normalizedFileUploadsWithNames = wrappedFiles.reduce((acc, file) =>\n ({ ...acc, [file.id]: file })\n , initialAccumulator);\n\n this.setState({ normalizedFileUploadsWithNames });\n\n if (onSuccess) {\n onSuccess(Object.values(normalizedFileUploadsWithNames));\n }\n }\n\n handleFileNameChange = (event, file) => {\n const { normalizedFileUploadsWithNames } = this.state;\n const { onSuccess } = this.props;\n\n normalizedFileUploadsWithNames[file.id].name = event.target.value;\n\n this.setState({ normalizedFileUploadsWithNames });\n if (onSuccess) onSuccess(Object.values(normalizedFileUploadsWithNames));\n }\n\n handleError = () => {\n const { onError } = this.props;\n\n if (onError) {\n onError();\n }\n }\n\n handleDelete = () => {\n const { onDelete, deleteFiles } = this.props;\n\n deleteFiles();\n this.setState({ normalizedFileUploadsWithNames: {} });\n\n if (onDelete) {\n onDelete();\n }\n }\n\n handleDeleteSingleFile = (id) => {\n const { deleteFile, onSuccess } = this.props;\n deleteFile(id);\n const normalizedFileUploadsWithNames = { ...this.state.normalizedFileUploadsWithNames };\n delete normalizedFileUploadsWithNames[id];\n this.setState({ normalizedFileUploadsWithNames });\n if (onSuccess) onSuccess(Object.values(normalizedFileUploadsWithNames));\n }\n\n filesPresent = () => this.props.files.length > 0;\n\n render() {\n const {\n accept,\n buttonClassName,\n buttonText,\n files,\n fileErrors,\n fileDetailsClassName,\n inputName,\n inputErrors,\n multiple,\n displayFileDetails,\n fileNamesEditable,\n ui,\n } = this.props;\n\n return (\n <div>\n <div className=\"row form-group royal-file-uploader\">\n <div className=\"col-lg-12\">\n <UploadButton\n accept={accept}\n className={buttonClassName}\n text={buttonText}\n multiple={multiple}\n handleChange={this.handleChange}\n />\n <HiddenInputs\n files={files}\n name={inputName}\n multiple={multiple}\n />\n  \n <LoadingMessage\n loading={ui.loadingFiles}\n uploading={ui.uploadingFiles}\n />\n <ErrorMessage\n loading={ui.loadingFiles || ui.uploadingFiles}\n filesPresent={this.filesPresent()}\n fileErrors={fileErrors}\n inputErrors={inputErrors}\n />\n {displayFileDetails && <FileDetails\n files={files}\n multiple={multiple}\n fileNames={this.state.fileNames}\n className={fileDetailsClassName}\n handleDelete={this.handleDelete}\n />}\n </div>\n </div>\n {multiple && <FilesList\n files={this.state.normalizedFileUploadsWithNames}\n handleDelete={this.handleDeleteSingleFile}\n handleFileNameChange={this.handleFileNameChange}\n fileNamesEditable={fileNamesEditable}\n />}\n </div>\n );\n }\n}\n","export const DEFAULT_STATE = {\n items: [],\n selectedItems: [],\n searchForm: {},\n pagination: {\n total_pages: 0,\n total_count: 0,\n },\n ui: {\n loading: false,\n },\n};\n","import React from 'react';\nimport { bindActionCreators } from 'redux';\nimport { Provider, connect } from 'react-redux';\nimport store from 'redux/store';\nimport * as Actions from 'redux/royal-file-uploader';\nimport Container from './components/container.jsx';\n\nfunction mapStateToProps(state) {\n return { ...state.royalFileUploader };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return bindActionCreators(Actions, dispatch);\n}\n\nconst ConnectedContainer = connect(mapStateToProps, mapDispatchToProps)(Container);\n\nexport default function RoyalFileUploader(props) {\n return (\n <Provider store={store}>\n <ConnectedContainer {...props} />\n </Provider>\n );\n}\n","import { isNil, isEmpty, flatten } from 'lodash';\n\nimport { EMPTY_VALUE } from 'utils/constants';\n\nexport function currencyFormat(number, fractionDigits = 2) {\n if (!number) {\n return EMPTY_VALUE;\n }\n\n const parsedFloat = parseFloat(number);\n const numberToFormat = !isNaN(parsedFloat) ? parsedFloat : 0;\n\n const formated = numberToFormat.toLocaleString('en-US', {\n style: 'currency',\n currency: 'USD',\n minimumFractionDigits: fractionDigits,\n maximumFractionDigits: fractionDigits,\n });\n\n return formated;\n}\n\nexport function formatCheckboxValues(fieldName, newFieldValue, prevProps) {\n const { [fieldName]: prevState } = prevProps || {};\n\n const isChecked = prevState && prevState.find(item => item === newFieldValue);\n const filteredPrevState = (prevState && prevState.filter(item => item !== newFieldValue)) || [];\n\n return {\n [fieldName]: !Array.isArray(newFieldValue) ? [\n ...filteredPrevState,\n ...(isChecked ? [] : [newFieldValue]),\n ] : newFieldValue,\n };\n}\n\nexport function formatTypeFilterValues(fieldName, newFieldValue, prevProps) {\n const { [fieldName]: prevState } = prevProps || {};\n\n const isChecked = prevState && prevState.find(item => item.value === newFieldValue);\n const filteredPrevState = (prevState && prevState.filter(item => item.value !== newFieldValue)) || [];\n\n return {\n [fieldName]: [\n ...filteredPrevState,\n ...(isChecked ? [] : [{ value: newFieldValue }]),\n ].filter(item => item.value),\n };\n}\n\nexport function formatTypeFilterItems(fieldName, itemName, newFieldChecked, prevProps) {\n const { [fieldName]: prevState } = prevProps || {};\n\n return {\n [fieldName]: [\n ...prevState.map(({ value, ...props }) => ({\n value,\n ...props,\n ...(value === itemName && { checked: newFieldChecked }),\n })),\n ],\n };\n}\n\nexport function getValue(value) {\n if (isNil(value) || isEmpty(value)) return EMPTY_VALUE;\n\n return value;\n}\n\nexport function getCurrentUserName() {\n const { first_name, last_name } = gon.currentUser || {};\n return [first_name, last_name].filter(Boolean).join(' ');\n}\n\nexport function getSelectedClusters(selectedItems) {\n return selectedItems.filter(({ items }) => items);\n}\n\nexport function getSelectedRecords(selectedItems) {\n return flatten(selectedItems.map(({ items, restItem }) => items || restItem));\n}\n\nexport function getWithClusterActionBarDescription(selectedItems = []) {\n const clusters = getSelectedClusters(selectedItems).length;\n const records = getSelectedRecords(selectedItems).length;\n\n return {\n default: `${clusters} cluster(s) with ${records} record(s) selected`,\n mobile: `${clusters} cluster(s) with ${records} record(s) selected`,\n desktop: `${clusters} cluster(s) with ${records} record(s) selected`,\n };\n}\n\nexport const hasMoneyballV2Subscription = gon.isMoneyballEnabled || false;\n\nexport const hasMoneyballClusterbuck = gon && gon.currentUser && gon.currentUser.permitMoneyballClusterbuck || false;\n\nexport const hasStakeholderMgmtSubscription = gon.isStakeholderMgmtEnabled || false;\n","import { LOCATION_TYPES } from 'utils/constants/locationTypes';\n\nexport const STRATEGIES = {\n none: 'none',\n smartLists: 'smart_lists',\n lists: 'stakeholder_mgmt_list',\n congressionalDistricts: 'mappy_congressional_district',\n stateUpperDistricts: 'state_legislation_upper_district',\n stateLowerDistricts: 'state_legislation_lower_district',\n [LOCATION_TYPES.countries]: 'address_country',\n [LOCATION_TYPES.states]: 'address_state',\n [LOCATION_TYPES.cities]: 'address_city',\n [LOCATION_TYPES.zipCodes]: 'address_zip_code',\n};\n\nexport const TYPES = {\n none: 'none',\n congressional: 'congressionalDistricts',\n upper: 'stateUpperDistricts',\n lower: 'stateLowerDistricts',\n};\n\nexport const getDistrictFilters = isMobile => [\n {\n label: 'All',\n strategy: STRATEGIES.none,\n type: TYPES.none,\n },\n {\n label: isMobile ? 'Cong.' : 'Congressional',\n strategy: STRATEGIES.congressionalDistricts,\n type: TYPES.congressional,\n },\n {\n label: isMobile ? 'Upper' : 'State Upper',\n strategy: STRATEGIES.stateUpperDistricts,\n type: TYPES.upper,\n },\n {\n label: isMobile ? 'Lower' : 'State Lower',\n strategy: STRATEGIES.stateLowerDistricts,\n type: TYPES.lower,\n },\n];\n\nexport const getLocationFilters = () => [\n {\n label: 'All',\n strategy: STRATEGIES.none,\n type: LOCATION_TYPES.none,\n },\n {\n label: 'Country',\n strategy: STRATEGIES.countries,\n type: LOCATION_TYPES.countries,\n },\n {\n label: 'State',\n strategy: STRATEGIES.states,\n type: LOCATION_TYPES.states,\n },\n {\n label: 'City',\n strategy: STRATEGIES.cities,\n type: LOCATION_TYPES.cities,\n },\n {\n label: 'ZIP',\n strategy: STRATEGIES.zipCodes,\n type: LOCATION_TYPES.zipCodes,\n },\n];\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipZIndex\":\"10000\",\"shareTooltipZIndex\":\"1000\",\"priorityTooltipZIndex\":\"1000\",\"positionTooltipZIndex\":\"1000\",\"cardGroupTooltipZIndex\":\"1000\"};","import PropTypes from 'prop-types';\nimport React from 'react';\nimport isEqual from 'lodash/isEqual';\nimport { WithContext as ReactTags } from 'react-tag-input';\n\nexport default class TagInput extends React.Component {\n static propTypes = {\n tags: PropTypes.array,\n name: PropTypes.string,\n label: PropTypes.string,\n labelClassName: PropTypes.string,\n inputClassName: PropTypes.string,\n inputGroupClassName: PropTypes.string,\n tagClassName: PropTypes.string,\n tagsGroupClassName: PropTypes.string,\n groupClassName: PropTypes.string,\n placeholder: PropTypes.string,\n onChange: PropTypes.func,\n }\n\n static defaultProps = {\n tags: [],\n labelClassName: 'control-label',\n inputClassName: 'form-control',\n inputGroupClassName: 'ReactTags__tagInput tag-input__input-group',\n tagClassName: 'ReactTags__tag tag-input__tag',\n tagsGroupClassName: 'ReactTags__tags',\n groupClassName: 'form-group tag-input',\n }\n\n state = {\n tags: this.props.tags,\n }\n\n componentWillReceiveProps(nextProps) {\n if (!isEqual(nextProps.tags, this.props.tags)) {\n this.setState({ tags: nextProps.tags });\n }\n }\n\n handleChange = () => {\n const { onChange } = this.props;\n\n if (onChange) {\n onChange(this.state.tags);\n }\n }\n\n handleAddition = (tag) => {\n const tags = [...this.state.tags, tag.text];\n\n this.setState({ tags }, this.handleChange);\n }\n\n handleDelete = (tagIndex) => {\n const tags = this.state.tags.filter((_tag, index) =>\n index !== tagIndex\n );\n\n this.setState({ tags }, this.handleChange);\n }\n\n hiddenInputs = () => {\n const { name } = this.props;\n\n if (!name) {\n return [];\n }\n\n const fullName = `${name}[]`;\n const inputs = this.state.tags.map((tag, index) =>\n <input type=\"hidden\" key={index} value={tag} name={fullName} />\n );\n\n return inputs;\n }\n\n label = () => {\n const { label, labelClassName } = this.props;\n\n if (!label) {\n return null;\n }\n\n return <label className={labelClassName}>{label}</label>;\n }\n\n tags = () => {\n let id = 0;\n return this.state.tags.map(tag => ({ text: tag, id: `${(id += 1)}` }));\n }\n\n\n render() {\n const {\n groupClassName,\n inputClassName,\n inputGroupClassName,\n tagClassName,\n tagsGroupClassName,\n placeholder,\n } = this.props;\n\n const classNames = {\n tag: tagClassName,\n tagInput: inputGroupClassName,\n tagInputField: inputClassName,\n tags: tagsGroupClassName,\n };\n\n return (\n <div className={groupClassName}>\n {this.label()}\n <ReactTags\n autofocus={false}\n classNames={classNames}\n tags={this.tags()}\n placeholder={placeholder}\n handleAddition={this.handleAddition}\n handleDelete={this.handleDelete}\n />\n {this.hiddenInputs()}\n </div>\n );\n }\n}\n","import { isNumber, isString } from 'lodash';\n\nimport { FEDERAL_COMMITTEES_TYPE, STATE_COMMITTEES_TYPE } from 'redux/dashboardV2/constants';\nimport { EMPTY_VALUE } from 'utils/constants';\n\nimport { DOCUMENT_TYPES, RECENT, TRACKED } from './constants';\n\nexport function formatString(data) {\n return (isNumber(data) || isString(data)) ? data : EMPTY_VALUE;\n}\n\nexport function getSubscribableType({ documentType, itemType }) {\n const { [documentType]: committeeItemType } = {\n [DOCUMENT_TYPES.FEDERAL_COMMITTEE]: FEDERAL_COMMITTEES_TYPE,\n [DOCUMENT_TYPES.STATE_COMMITTEE]: STATE_COMMITTEES_TYPE,\n };\n\n return committeeItemType || itemType;\n}\n\nexport function getEventType(queryEventType, eventType) {\n if (queryEventType) {\n return queryEventType === RECENT ? RECENT : TRACKED;\n }\n\n return eventType;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from 'components/core/Button';\nimport Logo from 'components/core/Logo';\n\nimport styles from './styles.module.scss';\n\nfunction PanelHeader({ title, onClose }) {\n return (\n <div className={styles.header}>\n <div className={styles.title}>\n <Logo />\n {title}\n </div>\n <Button className={styles.closeButton} theme=\"light\" onClick={onClose}>\n <i className={classNames('far fa-times', styles.icon)} />\n </Button>\n </div>\n );\n}\n\nPanelHeader.propTypes = {\n title: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default PanelHeader;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inputWrapper\":\"styles-module__inputWrapper___365o0\",\"input\":\"styles-module__input___2tBec\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"result\":\"styles-module__result___2vSPq\",\"label\":\"styles-module__label___18M9k\"};","export const mapboxStyle = 'mapbox://styles/hpetru/cliu4b1wi001n01o8ef8w77lt';\n\nexport const mapboxLayers = [\n 'districts-118-1-12',\n 'districts_1_label', 'districts_2_label', 'districts_3_label',\n 'districts_4_label', 'districts_5_label',\n 'districts_boundary_line',\n 'districts_1_boundary', 'districts_2_boundary', 'districts_3_boundary',\n 'districts_4_boundary', 'districts_5_boundary',\n 'districts_1', 'districts_2', 'districts_3',\n 'districts_4', 'districts_5',\n];\n\nexport const mapboxUrl = 'mapbox://hpetru.40cqttzv';\n\nexport default {\n CONGRESSIONAL_DISTRICTS: 'cd',\n STATE_LEGISLATION_UPPER: 'sldu',\n STATE_LEGISLATION_LOWER: 'sldl',\n US_CENTER: [-87.65, 41.85], // US center position [lng, lat]\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuBar\":\"styles-module__menuBar___3fdKx\",\"leftItems\":\"styles-module__leftItems___3vkbg\",\"hiddenItemsDropdown\":\"styles-module__hiddenItemsDropdown___2AkEE\",\"item\":\"styles-module__item___DVYGq\",\"active\":\"styles-module__active___1pUb9\",\"itemText\":\"styles-module__itemText___15mKX\",\"disabled\":\"styles-module__disabled___2KycU\",\"itemIcon\":\"styles-module__itemIcon___1uNLW\",\"directoryButton\":\"styles-module__directoryButton___21--6\",\"iconWrapper\":\"styles-module__iconWrapper___2sEux\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport SomethingWentWrong from 'components/Errors/SomethingWentWrong';\n\nimport styles from './styles.module.scss';\n\nexport default function Placeholder({ className, isRecentVisitsError }) {\n if (isRecentVisitsError) {\n return <SomethingWentWrong />;\n }\n\n return (\n <p className={classNames(styles.warning, className)}>\n Search for nearly anything found in the app!<br />\n Enter a term then click on a result to go directly to that item's page.\n </p>\n );\n}\n\nPlaceholder.propTypes = {\n className: PropTypes.string,\n isRecentVisitsError: PropTypes.bool,\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\n\nexport default function PartyIcon({ partyShort, partySlug, extraSideMargin, className }) {\n if (!partyShort) {\n return null;\n }\n\n let iconClassName = 'party-icon';\n\n iconClassName += ` party-icon--${partySlug || partyShort}`;\n\n if (extraSideMargin) {\n iconClassName += ' party-icon--extra-side-margin';\n }\n\n return (\n <span className={classNames(iconClassName, className)}>\n {partyShort}\n </span>\n );\n}\n\nPartyIcon.propTypes = {\n extraSideMargin: PropTypes.bool,\n partyShort: PropTypes.string,\n partySlug: PropTypes.string,\n className: PropTypes.string,\n};\n\nPartyIcon.defaultProps = {\n extraSideMargin: false,\n};\n","export const dateFormat = 'MM/DD/YYYY';\nexport const requestDateFormat = 'YYYY-MM-DD';\nexport const dateTimeFormat = 'MM/DD/YYYY hh:mm a';\nexport const timeFormat = 'hh:mm a';\n","import React, { Component } from 'react';\nimport isEqual from 'lodash/isEqual';\nimport omit from 'lodash/omit';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport Datepicker from 'react-datepicker';\n\nimport { formatDateBy } from 'utils/date';\nimport coreDatePickerConstants from 'components/core/DatePicker/constants';\n\nimport { dateFormat, dateTimeFormat } from './helper';\n\nexport default class SingleDatePicker extends Component {\n state = {\n selectedDate: this.initiateSelectedDate(),\n };\n\n pickerProps() {\n return omit(this.props, [\n 'value',\n 'handleChange',\n ]);\n }\n\n componentDidUpdate(prevProps) {\n const { value } = this.props;\n if (!isEqual(prevProps.value, value)) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ selectedDate: this.initiateSelectedDate() });\n }\n }\n\n initiateSelectedDate() {\n const { value, format } = this.props;\n\n if (!value) {\n return null;\n }\n\n if (typeof value === 'object') {\n return value;\n }\n\n return moment(value, format);\n }\n\n handleChange = (date) => {\n const { format, handleChange } = this.props;\n let value = date;\n if (date) {\n value = formatDateBy(date, format || dateFormat);\n }\n\n this.setState({ selectedDate: date }, () => handleChange && handleChange(value));\n };\n\n handleInputChangeRaw = (e) => {\n const { format } = this.props;\n\n const date = moment(e.target.value, format);\n\n if (date.isValid()) {\n this.handleChange(date);\n }\n };\n\n handleFocusOut = (...args) => {\n const { handleFocusOut } = this.props;\n if (handleFocusOut) {\n handleFocusOut(args);\n }\n };\n\n defaultPlaceholderText() {\n const { format } = this.props;\n return format.toLowerCase();\n }\n\n label() {\n const { label, labelClassName } = this.props;\n if (!label) {\n return null;\n }\n\n return <label className={`${labelClassName} control-label`}> {label} </label>;\n }\n\n render() {\n const {\n inputWrapperClassName,\n placeholderText,\n groupClassName,\n inputClassName,\n dateFNSFormat,\n } = this.props;\n\n const { selectedDate } = this.state;\n\n const pickerProps = {\n ...this.pickerProps(),\n placeholderText: placeholderText || this.defaultPlaceholderText(),\n };\n\n const selected = selectedDate && selectedDate.toDate ? selectedDate.toDate() : selectedDate;\n\n return (\n <div className={`single-datepicker ${groupClassName}`}>\n {this.label()}\n <div className={inputWrapperClassName}>\n <Datepicker\n className={inputClassName}\n {...pickerProps}\n dateFormat={dateFNSFormat}\n selected={selected}\n onChange={this.handleChange}\n onChangeRaw={this.handleInputChangeRaw}\n onBlur={this.handleFocusOut}\n />\n </div>\n </div>\n );\n }\n}\n\nSingleDatePicker.defaultProps = {\n format: dateFormat,\n inputWrapperClassName: 'col-md-8',\n labelClassName: 'col-md-4',\n groupClassName: 'form-group',\n inputClassName: 'form-control',\n dateFNSFormat: coreDatePickerConstants.DATE_FORMAT,\n};\n\nSingleDatePicker.propTypes = {\n label: PropTypes.string,\n format: PropTypes.oneOf([\n dateFormat,\n dateTimeFormat,\n ]),\n dateFNSFormat: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n ]),\n handleChange: PropTypes.func,\n handleFocusOut: PropTypes.func,\n inputWrapperClassName: PropTypes.string,\n labelClassName: PropTypes.string,\n groupClassName: PropTypes.string,\n inputClassName: PropTypes.string,\n placeholderText: PropTypes.string,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dots\":\"styles-module__dots___3d_9v\",\"active\":\"styles-module__active___1FJrB\",\"tooltip\":\"styles-module__tooltip___3IYz8\",\"tooltipItem\":\"styles-module__tooltipItem___2zCwa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"result\":\"styles-module__result___3EoU9\",\"title\":\"styles-module__title___26L2E\",\"subTitle\":\"styles-module__subTitle___1c5Oq\",\"description\":\"styles-module__description___3NGnv\",\"status\":\"styles-module__status___1TqXc\",\"position\":\"styles-module__position___1Z5mr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"search\":\"styles-module__search___3krYz\",\"searchIcon\":\"styles-module__searchIcon___3fJgx\",\"input\":\"styles-module__input___2umuZ\",\"close\":\"styles-module__close___303J9\",\"closeButtonWrapper\":\"styles-module__closeButtonWrapper___2X9Kt\",\"hintText\":\"styles-module__hintText___2xsV3\",\"key\":\"styles-module__key___3Gs_Y\",\"closeIcon\":\"styles-module__closeIcon___1wInI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"create\":\"styles-module__create___LJDzb\",\"tooltip\":\"styles-module__tooltip___313ac\",\"disabled\":\"styles-module__disabled___1KkCC\",\"content\":\"styles-module__content___1eXC8\",\"option\":\"styles-module__option___38aJO\"};","import isFunction from 'lodash/isFunction';\n\nimport { error } from 'components/core/Notification';\nimport { exportBlob } from 'utils/fileExport';\nimport { DOCX_ID, PDF_ID, XLSX_ID } from 'utils/constants/export';\nimport { GOV_REPORTS_URL } from 'utils/reports/govReports';\n\nexport default function reportDownloader({\n reportBrand,\n fileType,\n visibleColumns,\n enabledColumns,\n reportSlug,\n sort,\n customApiProps,\n onNotifyFailure,\n fileName,\n documentIds,\n perPage,\n}) {\n const parsedVisibleColumns = JSON.stringify(visibleColumns);\n const { sort: sortBy, direction } = sort || {};\n const apiProps = customApiProps || {};\n\n const method = 'POST';\n const exportFileName = `${fileName}.${fileType}`;\n\n const getFiletype = () => {\n if (reportSlug !== 'company_trackings') {\n return {\n 'strategy_inputs[file_extension]': fileType,\n 'strategy_inputs[per_page]': perPage,\n };\n }\n return {};\n };\n\n const data = {\n strategy_slug: reportSlug,\n 'strategy_inputs[use_company_logo]': reportBrand,\n 'strategy_inputs[order_column]': sortBy,\n 'strategy_inputs[order_mode]': direction,\n 'strategy_inputs[visible_columns]': parsedVisibleColumns,\n 'strategy_inputs[enabled_columns]': enabledColumns,\n 'strategy_inputs[document_ids]': documentIds,\n ...apiProps,\n ...getFiletype(),\n };\n\n const getError = error('Something went wrong. Please try again.');\n const getTimeoutError = error('Request timed out due to large volume of records. Please select fewer items and try again.');\n\n function onFailure(err) {\n if (err.status === 408) { getTimeoutError(); throw err; }\n isFunction(onNotifyFailure) ? onNotifyFailure() : getError();\n\n throw err;\n }\n\n function getAjaxProps(fileExtension) {\n if (fileExtension === XLSX_ID || fileExtension === DOCX_ID || fileExtension === PDF_ID) {\n return {\n dataType: 'native',\n xhrFields: {\n responseType: 'blob',\n },\n };\n }\n\n return {};\n }\n\n const ajax = $.ajax({\n url: GOV_REPORTS_URL,\n method,\n data,\n ...getAjaxProps(fileType),\n });\n\n return Promise.resolve(ajax)\n .then(responseData => exportBlob(responseData, exportFileName, fileType))\n .catch(onFailure);\n}\n","import { useEffect } from 'react';\nimport { withRouter } from 'react-router-dom';\n\nimport { historyShape } from 'utils/shapes/history';\n\nexport const ROUTE_EVENT = 'routeevent';\n\nfunction RouteListener({ history }) {\n useEffect(() => {\n const dispatchEvent = () => document.dispatchEvent(new CustomEvent(ROUTE_EVENT));\n const removeListener = history.listen(() => {\n dispatchEvent();\n });\n\n if (history.action === 'REPLACE') dispatchEvent();\n\n return removeListener;\n }, [history.action]);\n\n return null;\n}\n\nRouteListener.propTypes = {\n history: historyShape.isRequired,\n};\n\nexport default withRouter(RouteListener);\n","import PropTypes from 'prop-types';\n\nimport { stringNumberType } from 'utils/shapes';\nimport { suggestionShape } from 'utils/shapes/suggestion';\nimport { dateRangeShape } from 'utils/shapes/dateRange';\nimport { frequencyType } from 'components/core/FrequencyOptions/shapes';\n\nexport const userShape = PropTypes.shape({\n id: stringNumberType.isRequired,\n email: PropTypes.string.isRequired,\n fullName: PropTypes.string,\n profileImg: PropTypes.string,\n});\n\nexport const workspaceShape = PropTypes.shape({\n token: PropTypes.string,\n name: PropTypes.string,\n isDeletable: PropTypes.bool,\n createdAt: PropTypes.string,\n updatedAt: PropTypes.string,\n subscription: PropTypes.shape({\n users: PropTypes.arrayOf(userShape),\n frequency: frequencyType,\n }),\n disabled: PropTypes.bool,\n});\n\nexport const uiShape = PropTypes.shape({\n isLoading: PropTypes.bool.isRequired,\n isInitialLoad: PropTypes.bool.isRequired,\n isLoadingWorkspace: PropTypes.bool.isRequired,\n isDeletingWorkspace: PropTypes.bool.isRequired,\n isNotFound: PropTypes.bool.isRequired,\n});\n\nexport const workspacesShape = PropTypes.shape({\n feed: PropTypes.arrayOf(workspaceShape).isRequired,\n workspace: workspaceShape.isRequired,\n ui: uiShape.isRequired,\n});\n\nexport const filterValuesShape = PropTypes.shape({\n options: PropTypes.shape({\n name: PropTypes.arrayOf(suggestionShape),\n createdAt: dateRangeShape,\n updatedAt: dateRangeShape,\n subscribers: PropTypes.arrayOf(suggestionShape),\n subscriptionStatus: PropTypes.string.isRequired,\n }),\n});\n\nexport const appliedFiltersShape = filterValuesShape;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Badge from 'components/core/Badge';\nimport { sponsorPropTypes } from 'components/Dashboard/common/FeedPage/utils/shapes';\n\nimport DisplayLink from '../DisplayLink';\nimport PartyBadge from '../PartyBadge';\nimport styles from './styles.module.scss';\n\nfunction Sponsor({ data, withLink }) {\n const { url, label, partyShort, comeFrom, infoText, isExternal } = data || {};\n\n const displayLabel = withLink\n ? (\n <DisplayLink\n href={url}\n label={label}\n className={styles.link}\n isExternal={isExternal}\n />\n )\n : <span className={styles.link}>{label}</span>;\n\n return (\n <>\n {displayLabel}\n {partyShort && <PartyBadge party={partyShort}>{partyShort}</PartyBadge>}\n {comeFrom && <Badge className={styles.commonBadge}>{comeFrom}</Badge>} \n {infoText}\n </>\n );\n}\n\nSponsor.defaultProps = {\n withLink: true,\n};\n\nSponsor.propTypes = {\n data: PropTypes.shape(sponsorPropTypes),\n withLink: PropTypes.bool,\n};\n\nexport default Sponsor;\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 <nav id=\"sidebar-mobile\" className={classNames(styles.footerBar, className)}>\n {children}\n </nav>\n );\n}\n\nFooterBar.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n\nexport default FooterBar;\n","import { useState } from 'react';\n\nfunction useModals(currentStep = 0) {\n const [isStakeholderModalOpen, setIsStakeholderModalOpen] = useState(false);\n const [stakeholderModalStep, setStakeholderModalStep] = useState(currentStep);\n\n function toggleStakeholderModal() {\n setIsStakeholderModalOpen(!isStakeholderModalOpen);\n }\n\n function handleStakeholderModalOpen() {\n setIsStakeholderModalOpen(true);\n }\n\n function handleStakeholderModalClose() {\n setIsStakeholderModalOpen(false);\n }\n\n function handleChangeStakeholderModalStep(step) {\n setStakeholderModalStep(step);\n }\n\n return {\n stakeholderModalStep,\n isStakeholderModalOpen,\n toggleStakeholderModal,\n handleChangeStakeholderModalStep,\n handleStakeholderModalClose,\n handleStakeholderModalOpen,\n };\n}\n\nexport default useModals;\n","import GlobalNotifier from 'components/GlobalNotifier';\n\nconst { addNotification } = GlobalNotifier;\n\nconst success = message => addNotification({ message, level: 'success' });\nconst error = message => addNotification({ message, level: 'error' });\n\nexport default class Notifications {\n static stakeholderCreateSuccess = () => success('Stakeholder has been created successfully.');\n\n static stakeholderCreateFailed = () => error('An error occurred while creating the stakeholder. Please try again.');\n\n static stakeholderEditSuccess = () => success('Stakeholder has been edited successfully.');\n\n static stakeholderEditFailed = () => error('An error occurred while updating the stakeholder. Please try again.');\n\n static defaultFetchDataFailed = () => error('An error occurred during the data loading. Please try again.');\n\n static exportEventSuccess = () => success('Data has been exported successfully.');\n\n static exportEventFailed = () => error('Data export failed. Please try again.');\n\n static tagEventSuccess = () => success('Tags have been applied successfully.');\n\n static tagEventFailed = () => error('Failed to apply tags. Please try again.');\n\n static listEventSuccess = () => success('Stakeholders have been added to list successfully.');\n\n static listEventFailed = () => error('Failed to add Stakeholder to list. Please try again.');\n}\n","import React, { FC } from 'react';\n\nimport useMediaQuery from 'utils/breakpoints/useMediaQuery';\n\nimport styles from './styles.module.scss';\n\ntype ErrorTemplateProps = {\n src: string, alt: string, text: string | JSX.Element, subText: string\n};\n\nconst ErrorTemplate: FC<ErrorTemplateProps> = ({ src, alt, text, subText }) => {\n const { isMobile } = useMediaQuery();\n\n return (\n <div className={styles.error}>\n <img\n className={styles.image}\n src={src}\n alt={alt}\n width={isMobile ? 200 : 328}\n height={209}\n />\n <div className={styles.textContainer}>\n <div className={styles.text}>\n {text}\n </div>\n <div className={styles.subText}>\n {subText}\n </div>\n </div>\n </div>\n );\n};\n\nexport default ErrorTemplate;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formGroup\":\"styles-module__formGroup___21r7j\",\"addButton\":\"styles-module__addButton___7He8d\",\"removeButton\":\"styles-module__removeButton___zWYj6\",\"separator\":\"styles-module__separator___33I_g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"recentCard\":\"styles-module__recentCard___SkPqZ\",\"icons\":\"styles-module__icons___3qhNP\",\"delete\":\"styles-module__delete___3o32a\",\"main\":\"styles-module__main___6n29U\",\"enter\":\"styles-module__enter___1sO-q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filtersContainer\":\"styles-module__filtersContainer___21FhR\",\"filters\":\"styles-module__filters___3bllR\",\"filterItem\":\"styles-module__filterItem___R4n_e\",\"filterLabel\":\"styles-module__filterLabel___3O-nF\",\"active\":\"styles-module__active___1Al5L\",\"divider\":\"styles-module__divider___2FV5G\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"directoryButton\":\"styles-module__directoryButton___1uCjr\",\"directoryIcon\":\"styles-module__directoryIcon___2Q8t2\",\"directoryDropDownIcon\":\"styles-module__directoryDropDownIcon___2HFBB\",\"directoryButtonText\":\"styles-module__directoryButtonText___1gaES\",\"active\":\"styles-module__active___1zUsR\",\"directory\":\"styles-module__directory___1C0Vm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"styles-module__modal___3DxuF\",\"body\":\"styles-module__body___LAGdl\",\"background\":\"styles-module__background___1DM5V\",\"apps\":\"styles-module__apps___sYf0G\",\"link\":\"styles-module__link___DkCkf\",\"appIcon\":\"styles-module__appIcon___RLaoy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"warning\":\"styles-module__warning___2hY_p\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"warning\":\"styles-module__warning___2DLSn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"warning\":\"styles-module__warning___ewm8U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___2S1Nr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"nameWeight\":\"styles-module__nameWeight___G2TyI\",\"name\":\"styles-module__name___23kRR\",\"avatarImg\":\"styles-module__avatarImg___GIQm_\",\"content\":\"styles-module__content___30nXb\"};","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport TrackFrequencyContent from 'components/Dashboard/common/TrackFrequencyContent';\nimport { SlideUpModal } from 'components/core/Modal';\nimport { frequencyType } from 'components/core/FrequencyOptions/shapes';\n\nfunction SlideUpTrackModal({\n title,\n isLoading,\n isOpenModal,\n toggleModal,\n onSaveMobile,\n frequency,\n withWeekAheadEmail,\n sendWeekAheadEmail,\n onChangeSendEmailMobile,\n}) {\n return (\n <SlideUpModal\n title={title}\n isOpen={isOpenModal}\n toggleOpen={toggleModal}\n >\n <TrackFrequencyContent\n isLoading={isLoading}\n isMobile={false}\n frequency={frequency}\n withWeekAheadEmail={withWeekAheadEmail}\n sendWeekAheadEmail={sendWeekAheadEmail}\n onChangeSendEmail={onChangeSendEmailMobile}\n onChange={onSaveMobile}\n withFrequency\n />\n </SlideUpModal>\n );\n}\n\nSlideUpTrackModal.propTypes = {\n isOpenModal: PropTypes.bool.isRequired,\n isLoading: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n onSaveMobile: PropTypes.func.isRequired,\n frequency: frequencyType,\n title: PropTypes.string,\n withWeekAheadEmail: PropTypes.bool,\n sendWeekAheadEmail: PropTypes.bool,\n onChangeSendEmailMobile: PropTypes.func,\n};\n\nexport default SlideUpTrackModal;\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { updateTrackShape } from 'components/Dashboard/common/FeedPage/utils/shapes';\nimport { CommitteeTrack } from 'components/Dashboard/common/MultipleTrack';\nimport { multipleSubscriptionShape } from 'components/Dashboard/utils/shapes';\nimport { TRACK_SUBSCRIPTION_FREQUENCIES } from 'redux/dashboardV2/constants';\nimport Button from 'components/core/Button';\nimport Modal from 'components/core/Modal';\nimport { frequencyType } from 'components/core/FrequencyOptions/shapes';\nimport { workspacesShape } from 'components/core/TrackButton/shapes';\nimport TrackFrequencyContent from 'components/Dashboard/common/TrackFrequencyContent';\nimport FrequencyCard from 'components/Dashboard/common/FrequencyCard';\nimport { trackingShape } from 'redux/subscriptions/utils/shapes';\n\nimport MyFeedFrequency from './components/MyFeedFrequency';\nimport WorkspacesSelect from './components/WorkspacesSelect';\nimport SlideUpTrackModal from './components/SlideUpTrackModal';\nimport styles from './styles.module.scss';\n\nfunction TrackModal({\n feedToken,\n isCommittee,\n isMobile,\n isLoading,\n isOpenModal,\n documentType,\n recordType,\n itemType,\n title,\n frequencyTitle,\n frequency,\n withWeekAheadEmail,\n sendWeekAheadEmail,\n withSlideUp,\n withHeaderNode,\n defaultSubscription,\n listSubscriptions,\n updateParams,\n onUpdateTrackCommittee,\n onChangeSendEmailMobile,\n onChangeSendEmail,\n onSaveMobile,\n onSave,\n onChange,\n toggleModal,\n workspaces,\n onCancel,\n trackings,\n withSelectedWorkspace,\n withSaveToWorkspaces,\n isCheckboxDisabled,\n}) {\n const modalProps = {\n documentType,\n itemType,\n title,\n frequency,\n toggleModal,\n isLoading,\n isOpenModal,\n onChange,\n onSaveMobile,\n onSave,\n sendWeekAheadEmail,\n onChangeSendEmailMobile,\n withWeekAheadEmail,\n };\n const showWorkspacesSelect = withSaveToWorkspaces && gon.isWorkspacesEnabled;\n\n if (isCommittee) {\n return (\n <CommitteeTrack\n {...modalProps}\n feedToken={feedToken}\n defaultSubscription={defaultSubscription}\n listSubscriptions={listSubscriptions}\n updateParams={updateParams}\n onUpdateTrackCommittee={onUpdateTrackCommittee}\n workspaces={workspaces}\n trackings={trackings}\n withWorkspacesSelect={showWorkspacesSelect}\n withSelectedWorkspace={withSelectedWorkspace}\n />\n );\n }\n\n if (withSlideUp && isMobile && isOpenModal) {\n return <SlideUpTrackModal {...modalProps} />;\n }\n\n const buttonsNode = (\n <>\n <Button\n theme=\"light\"\n size=\"small\"\n onClick={onCancel}\n >\n Cancel\n </Button>\n <Button\n size=\"small\"\n onClick={onSave}\n disabled={isLoading || isEmpty(frequency)}\n isLoading={isLoading}\n >\n Save\n </Button>\n </>\n );\n\n const frequencyContentNode = (\n <TrackFrequencyContent\n isMobile={isMobile}\n isLoading={isLoading}\n frequency={frequency}\n withWeekAheadEmail={withWeekAheadEmail}\n sendWeekAheadEmail={sendWeekAheadEmail}\n onChangeSendEmail={onChangeSendEmail}\n onChange={onChange}\n withFrequency\n />\n );\n\n const renderContent = () => {\n if (withSelectedWorkspace || !showWorkspacesSelect) {\n return (\n <FrequencyCard\n label={TRACK_SUBSCRIPTION_FREQUENCIES[recordType]}\n title={frequencyTitle}\n withHeaderNode={withHeaderNode}\n isDisabled\n >\n {frequencyContentNode}\n </FrequencyCard>\n );\n }\n\n return (\n <>\n <MyFeedFrequency\n isChecked={workspaces.isMyFeedChecked}\n onCheck={workspaces.onCheckMyFeed}\n isCheckboxDisabled={isCheckboxDisabled}\n >\n {frequencyContentNode}\n </MyFeedFrequency>\n {showWorkspacesSelect && <WorkspacesSelect workspaces={workspaces} />}\n </>\n );\n };\n\n return (\n <Modal\n isOpen={isOpenModal}\n theme=\"scrollable\"\n title={title}\n buttons={buttonsNode}\n toggleOpen={onCancel}\n className={styles.modal}\n bodyClassName={styles.body}\n >\n {renderContent()}\n </Modal>\n );\n}\n\nTrackModal.defaultProps = {\n title: 'Subscription settings',\n withSlideUp: false,\n isLoading: false,\n withSelectedWorkspace: false,\n withSaveToWorkspaces: true,\n isCheckboxDisabled: false,\n};\n\nTrackModal.propTypes = {\n ...multipleSubscriptionShape,\n feedToken: PropTypes.string,\n itemType: PropTypes.string,\n subscribableType: PropTypes.string,\n isMobile: PropTypes.bool,\n withSlideUp: PropTypes.bool,\n withHeaderNode: PropTypes.bool,\n isLoading: PropTypes.bool,\n isOpenModal: PropTypes.bool.isRequired,\n toggleModal: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n documentType: PropTypes.string,\n title: PropTypes.string,\n frequencyTitle: PropTypes.string,\n frequency: frequencyType,\n onSave: PropTypes.func.isRequired,\n onSaveMobile: PropTypes.func.isRequired,\n withWeekAheadEmail: PropTypes.bool,\n sendWeekAheadEmail: PropTypes.bool,\n onChangeSendEmail: PropTypes.func,\n onChangeSendEmailMobile: PropTypes.func,\n updateParams: updateTrackShape,\n defaultSubscription: PropTypes.string,\n onUpdateTrackCommittee: PropTypes.func,\n workspaces: workspacesShape,\n onCancel: PropTypes.func.isRequired,\n trackings: PropTypes.arrayOf(trackingShape),\n withSelectedWorkspace: PropTypes.bool,\n withSaveToWorkspaces: PropTypes.bool,\n isCheckboxDisabled: PropTypes.bool,\n};\n\nexport default memo(TrackModal);\nexport { SlideUpTrackModal };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"styles-module__content___1FHQm\",\"calendar\":\"styles-module__calendar___20BuB\",\"mobileCalendar\":\"styles-module__mobileCalendar___np5-5\",\"applyButton\":\"styles-module__applyButton___3GHt7\",\"applyDisabled\":\"styles-module__applyDisabled___27WXZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"recentVisits\":\"styles-module__recentVisits___OzGQi\",\"header\":\"styles-module__header___2Xq6_\",\"title\":\"styles-module__title___wixXx\",\"clearBtn\":\"styles-module__clearBtn___cUnVi\",\"noRecentVisits\":\"styles-module__noRecentVisits___VNFVi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles-module__container___4QM6X\",\"rightItems\":\"styles-module__rightItems___UPHsr\",\"notifications\":\"styles-module__notifications___1L6GW\",\"globalSearch\":\"styles-module__globalSearch___1nHtA\",\"home\":\"styles-module__home___1kl4-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdownList\":\"styles-module__dropdownList___2wzMC\",\"dropdownItem\":\"styles-module__dropdownItem___3mkj3\",\"disabled\":\"styles-module__disabled___1pj4L\",\"disabledIcon\":\"styles-module__disabledIcon___K2z3k\",\"disabledText\":\"styles-module__disabledText___25GqL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___1ghAu\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___MOQ5l\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___j_iZ0\",\"navigationWrapper\":\"styles-module__navigationWrapper___TDOc3\",\"navigationContainer\":\"styles-module__navigationContainer___242Hv\",\"unifiedSearch\":\"styles-module__unifiedSearch___3ezpc\",\"open\":\"styles-module__open___24bbj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"links\":\"styles-module__links___1b2pt\",\"title\":\"styles-module__title___JxzGT\",\"section\":\"styles-module__section___38Qhh\",\"sectionTitle\":\"styles-module__sectionTitle___3S73x\",\"link\":\"styles-module__link___3v7rE\"};","const errorMessages = {\n required: 'Required field',\n phone: 'Invalid phone number',\n email: 'Invalid email address',\n facebookProfileUrl: 'Invalid Facebook profile url',\n username: 'Invalid username',\n unique: 'This is a duplicate. Please enter different value',\n};\n\nexport default errorMessages;\n","import * as Yup from 'yup';\nimport isEmpty from 'lodash/isEmpty';\n\nimport {\n PHONE_REGEXP,\n TWITTER_USERNAME_REGEXP,\n FACEBOOK_PROFILE_URL_REGEXP,\n} from 'utils/constants';\nimport getCustomFieldsSchema from 'utils/forms/getCustomFieldsSchema';\nimport validateUniqueness from 'utils/yup/validateUniqueness';\n\nimport errorMessages from './errorMessages';\n\nYup.addMethod(Yup.array, 'unique', validateUniqueness);\n\nfunction customRequired(message, propertyName, rules = {}) {\n return this.test('customRequired', message, function requiredItem(item) {\n const { path, parent } = this;\n const { minArrayLength = 0, is } = rules;\n const isInvalid = is(item);\n\n if (parent.length > minArrayLength && isInvalid) {\n throw this.createError({\n path: `${path}.${propertyName}`,\n message,\n });\n }\n\n return true;\n });\n}\n\nYup.addMethod(Yup.object, 'customRequired', customRequired);\n\nconst validationSchema = (customFields) => {\n const defaultShape = {\n firstName: Yup.string().required(errorMessages.required),\n middleName: Yup.string(),\n lastName: Yup.string().required(errorMessages.required),\n addresses: Yup.array()\n .of(\n Yup.object().shape({\n place_id: Yup.string(),\n address: Yup.string(),\n category: Yup.string(),\n primary: Yup.bool(),\n })\n .customRequired(errorMessages.required, 'address', {\n is: item => isEmpty(item.address),\n minArrayLength: 1,\n })\n )\n .unique(errorMessages.unique, 'address'),\n organization: Yup.string(),\n phones: Yup.array()\n .of(\n Yup.object().shape({\n phone: Yup.string().trim().matches(PHONE_REGEXP, { message: errorMessages.phone, excludeEmptyString: true }),\n category: Yup.string().nullable(),\n primary: Yup.bool(),\n })\n .customRequired(errorMessages.required, 'phone', {\n is: item => isEmpty(item.phone),\n minArrayLength: 1,\n })\n )\n .unique(errorMessages.unique, 'phone'),\n emails: Yup.array().of(\n Yup.object().shape({\n email: Yup.string()\n .email(errorMessages.email)\n .required(errorMessages.required),\n category: Yup.string(),\n primary: Yup.bool(),\n })\n )\n .unique(errorMessages.unique, 'email'),\n facebookProfile: Yup.string().matches(FACEBOOK_PROFILE_URL_REGEXP, errorMessages.facebookProfileUrl),\n twitterName: Yup.string().matches(TWITTER_USERNAME_REGEXP, errorMessages.username),\n };\n const customFieldsShape = getCustomFieldsSchema(customFields, errorMessages.required);\n\n return Yup.object().shape({ ...defaultShape, ...customFieldsShape });\n};\n\nexport default validationSchema;\n","import { pick, omit, isEmpty, sortBy } from 'lodash';\n\nimport Notifications from 'components/Stakeholder/Lookup/utils/Notifications';\nimport { arrayToSelectableItems, valueOrEmpty } from 'utils/forms';\n\nexport const emailPlaceholder = {\n default: 'The primary email address (e.g., the default email contact method)',\n custom: 'An optional email address field.',\n};\n\nexport const phonePlaceholder = {\n default: 'This is the phone number for this stakeholder (e.g., +1-(555)-555-5555).',\n custom: 'An optional phone number field.',\n};\n\nexport const addressPlaceholder = {\n default: 'The primary address (e.g., the address used to map this stakeholder)',\n custom: 'An optional address field.',\n};\n\nfunction getDefaultValue(property, category, primary = true) {\n return { [property]: '', category, primary };\n}\n\nexport const defaultNewEmailValue = getDefaultValue('email', 'personal', false);\nexport const defaultEmailValue = getDefaultValue('email', 'personal');\nexport const defaultEmailArray = [defaultEmailValue];\n\nexport const defaultNewPhoneValue = getDefaultValue('phone', 'personal', false);\nexport const defaultPhoneValue = getDefaultValue('phone', 'personal');\nexport const defaultPhoneArray = [defaultPhoneValue];\n\nexport const defaultNewAddressValue = getDefaultValue('address', 'home', false);\nexport const defaultAddressValue = getDefaultValue('address', 'home');\nexport const defaultAddressArray = [defaultAddressValue];\n\nexport function getArray(array, defaultValues) {\n return !isEmpty(array) ? array : defaultValues;\n}\n\nexport function mapPropsToValues({\n id,\n firstName,\n middleName,\n lastName,\n phones,\n addresses,\n emails,\n organization,\n title,\n facebookProfile,\n twitterName,\n tags,\n lists,\n partyCode,\n}) {\n return {\n id,\n firstName: valueOrEmpty(firstName),\n middleName: valueOrEmpty(middleName),\n lastName: valueOrEmpty(lastName),\n phones: getArray(phones, defaultPhoneArray),\n addresses: getArray(sortBy(addresses, 'id'), defaultAddressArray),\n emails: getArray(emails, defaultEmailArray),\n facebookProfile: valueOrEmpty(facebookProfile),\n twitterName: valueOrEmpty(twitterName),\n organization: valueOrEmpty(organization),\n title: valueOrEmpty(title),\n tags: arrayToSelectableItems(tags) || [],\n lists: arrayToSelectableItems(lists) || [],\n partyCode: valueOrEmpty(partyCode),\n };\n}\n\nfunction removeCustomFieldsFromRoot(payload, customFields) {\n const tokens = customFields.map(({ token }) => token);\n\n return omit(payload, tokens);\n}\n\nfunction getCustomFieldsAnswers(payload, customFields) {\n const tokens = customFields.map(({ token }) => token);\n\n return pick(payload, tokens);\n}\n\nfunction normalizeAddresses(payload = {}) {\n const { addresses } = payload;\n\n if (addresses.length === 1 && isEmpty(addresses[0].address)) {\n return { ...payload, addresses: [] };\n }\n\n return { ...payload, addresses: addresses.filter(address => !isEmpty(address.address)) };\n}\n\nexport function normalizePayload(payload, customFields) {\n const custom_fields = getCustomFieldsAnswers(payload, customFields);\n const profile = { custom_fields, ...normalizeAddresses(payload) };\n\n return removeCustomFieldsFromRoot(profile, customFields);\n}\n\nexport function getNotifications({ id, createStakeholder, updateStakeholder }) {\n if (id) {\n return {\n submitAction: updateStakeholder,\n successNotification: Notifications.stakeholderEditSuccess,\n failureNotification: Notifications.stakeholderEditFailed,\n };\n }\n\n return {\n submitAction: createStakeholder,\n successNotification: Notifications.stakeholderCreateSuccess,\n failureNotification: Notifications.stakeholderCreateFailed,\n };\n}\n","import { useEffect } from 'react';\n\nimport Notifications from 'components/Stakeholder/Lookup/utils/Notifications';\nimport useModals from 'components/Stakeholder/common/Modals/useModals';\nimport { transformStakeholderToBE } from 'redux/stakeholder/Profile/utils';\nimport { MAX_CUSTOM_FIELDS_PAGE_SIZE } from 'components/Stakeholder/utils/constants';\nimport { PRODUCT_SLUGS } from 'components/core/CustomFields/utils/constants';\n\nimport validationSchema from './validationSchema';\nimport { mapPropsToValues, normalizePayload, getNotifications } from '.';\n\nexport default function useForm({\n isOpen,\n stakeholder,\n toggleOpen,\n customField,\n allCustomFields,\n createStakeholder,\n updateStakeholder,\n fetchCustomFields,\n currentStep,\n handleChangeCurrentStep,\n isProfilePageUpdate,\n avoidDispatchFetch,\n onSuccess,\n}) {\n const { stakeholderModalStep, handleChangeStakeholderModalStep } = useModals(currentStep);\n const { id } = stakeholder || {};\n\n function handleStepRedirect(step) {\n handleChangeCurrentStep && handleChangeCurrentStep(step);\n !handleChangeCurrentStep && handleChangeStakeholderModalStep(step);\n }\n\n useEffect(() => {\n if (isOpen) {\n fetchCustomFields({\n search_form: {\n product_slugs: [PRODUCT_SLUGS.STAKEHOLDER_MGMT],\n enabled: true,\n },\n per_page: MAX_CUSTOM_FIELDS_PAGE_SIZE,\n }).catch((error) => {\n Notifications.defaultFetchDataFailed();\n throw error;\n });\n }\n }, [isOpen]);\n\n const values = mapPropsToValues({ ...stakeholder, id });\n\n const initialValues = { ...values, ...customField, id };\n const schema = validationSchema(allCustomFields);\n\n function onSubmit(payload, formActions) {\n const { setSubmitting, setFieldError, resetForm } = formActions;\n\n const {\n submitAction,\n successNotification,\n failureNotification,\n } = getNotifications({ id, createStakeholder, updateStakeholder });\n\n const profile = normalizePayload(payload, allCustomFields.filter(field => field.enabled));\n\n function handleFailure(error) {\n error && Object.keys(error).forEach((key) => {\n setFieldError(key, error[key]);\n });\n setSubmitting(false);\n failureNotification();\n }\n\n function handleSuccess() {\n setSubmitting(false);\n toggleOpen();\n resetForm();\n handleStepRedirect(0);\n successNotification();\n onSuccess && onSuccess();\n }\n\n const stakeholderData = transformStakeholderToBE(profile);\n\n return submitAction({\n stakeholderData,\n handleFailure,\n handleSuccess,\n isProfilePageUpdate,\n avoidDispatchFetch,\n });\n }\n\n return {\n currentStep: stakeholderModalStep,\n onRedirect: handleStepRedirect,\n onChangeCurrentStep: handleChangeCurrentStep,\n onSubmit,\n initialValues,\n schema,\n };\n}\n","import React, { createContext } from 'react';\n\nexport const StakeholderFormContext = createContext();\n\nfunction withForm(Component) {\n return props => (\n <StakeholderFormContext.Consumer>\n {context => <Component {...props} {...context} />}\n </StakeholderFormContext.Consumer>\n );\n}\n\nexport default withForm;\n","import React, { Fragment, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport CustomField from 'components/core/CustomField';\nimport EmptyPlaceholder from 'components/core/EmptyPlaceholder';\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\n\nimport withForm from '../../../../utils/withForm';\nimport styles from '../../styles.module.scss';\n\nconst controlStyles = {\n wrapperClass: styles.formField,\n controlClass: styles.formControl,\n};\n\nfunction CustomFields({\n allCustomFields: customFields,\n values,\n formState,\n handleBlur,\n handleChange,\n submitForm,\n isSubmitting,\n isCustomFieldsRedirect,\n onCustomFieldsRedirect,\n isLoadingCustomFields,\n}) {\n const { errors, touched } = formState;\n\n useEffect(() => {\n if (isEmpty(errors) && !isSubmitting && isCustomFieldsRedirect) {\n window.location.assign('/custom_fields');\n }\n }, [errors, isCustomFieldsRedirect, isSubmitting]);\n\n const handlers = { handleBlur, handleChange };\n\n function handleFormSubmit() {\n submitForm()\n .finally(() => onCustomFieldsRedirect(true));\n }\n\n const emptyDescription = (\n <Fragment>\n <p>You haven’t created/enabled any custom fields yet. When you do, they will be shown here.</p>\n <Button\n theme=\"link\"\n onClick={handleFormSubmit}\n className={styles.linkButton}\n type=\"submit\"\n >\n Save this record and navigate to custom fields\n </Button>\n </Fragment>\n );\n\n if (isLoadingCustomFields) {\n return (\n <Loader\n message=\"Loading\"\n onlyIcon={false}\n size=\"medium\"\n theme=\"dark\"\n />\n );\n }\n\n const enabledCustomFields = customFields.filter(({ enabled }) => enabled);\n\n if (isEmpty(enabledCustomFields)) {\n return (\n <EmptyPlaceholder\n description={emptyDescription}\n />\n );\n }\n\n return (\n enabledCustomFields.map((field) => {\n const { token } = field;\n const error = touched[token] && errors[token];\n const value = values[token] || [];\n const controlState = { value, error };\n\n return (\n <CustomField\n key={token}\n field={field}\n controlState={controlState}\n handlers={handlers}\n styles={controlStyles}\n />\n );\n })\n );\n}\n\nCustomFields.propTypes = {\n allCustomFields: PropTypes.array.isRequired,\n values: PropTypes.object.isRequired,\n formState: PropTypes.object.isRequired,\n handleBlur: PropTypes.func.isRequired,\n handleChange: PropTypes.func.isRequired,\n submitForm: PropTypes.func.isRequired,\n isSubmitting: PropTypes.bool.isRequired,\n isCustomFieldsRedirect: PropTypes.bool,\n onCustomFieldsRedirect: PropTypes.func.isRequired,\n isLoadingCustomFields: PropTypes.bool.isRequired,\n};\n\nexport default withForm(CustomFields);\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Button from 'components/core/Button';\n\nimport styles from './styles.module.scss';\n\nfunction AddRemoveButtons({\n name,\n onRemove,\n onAdd,\n isLoading,\n isAddMoreDisabled,\n showRemove,\n complementaryFieldProps,\n}) {\n const commonButtonProps = {\n type: 'button',\n size: 'none',\n theme: 'link',\n };\n\n function renderComplementaryFieldButton() {\n const { name: complementaryName, onToggle, isVisible } = complementaryFieldProps;\n const buttonTitle = isVisible ? `Remove ${complementaryName}` : `Add ${complementaryName}`;\n\n if (isEmpty(complementaryName)) {\n return null;\n }\n\n return (\n <Fragment>\n <Button\n {...commonButtonProps}\n onClick={onToggle}\n disabled={isLoading}\n className={styles.addButton}\n >\n {buttonTitle}\n </Button>\n <span className={styles.separator}>|</span>\n </Fragment>\n );\n }\n\n function renderRemoveButton() {\n if (!showRemove) {\n return null;\n }\n\n return (\n <Fragment>\n <span className={styles.separator}>|</span>\n <Button\n {...commonButtonProps}\n onClick={onRemove}\n className={styles.removeButton}\n disabled={isLoading}\n >\n Remove this {name}\n </Button>\n </Fragment>\n );\n }\n\n return (\n <div className={styles.formGroup}>\n {renderComplementaryFieldButton()}\n <Button\n {...commonButtonProps}\n onClick={onAdd}\n disabled={isLoading || isAddMoreDisabled}\n className={styles.addButton}\n >\n Add another {name}\n </Button>\n {renderRemoveButton()}\n </div>\n );\n}\n\nAddRemoveButtons.propTypes = {\n name: PropTypes.string.isRequired,\n onAdd: PropTypes.func.isRequired,\n onRemove: PropTypes.func.isRequired,\n isLoading: PropTypes.bool,\n isAddMoreDisabled: PropTypes.bool,\n showRemove: PropTypes.bool.isRequired,\n complementaryFieldProps: PropTypes.object,\n};\n\nexport default AddRemoveButtons;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport Input, { InputSelect } from 'components/core/Input';\nimport MaskedInput from 'components/core/MaskedInput';\nimport Label from 'components/core/Label';\nimport ErrorMessage from 'components/core/ErrorMessage';\nimport RadioBox from 'components/core/RadioBox';\nimport Asterisk from 'components/core/Asterisk';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\nimport { getError } from 'utils/forms';\n\nimport AddRemoveButtons from './components/AddRemoveButtons';\nimport styles from './styles.module.scss';\n\nfunction BaseField({\n id,\n name,\n placeholder,\n title,\n className,\n formState,\n isRequired,\n typeValue,\n typeOptions,\n typeName,\n renderCustomInputNode,\n prefix,\n prefixClassName,\n maskSlug,\n setFieldValue,\n multiple,\n index,\n fieldName,\n optionalFieldName,\n errorMessage,\n onRemoveField,\n onAddField,\n isLoading,\n hasMultipleValues,\n primaryValue,\n primaryName,\n onChangePrimary,\n isAddMoreDisabled,\n complementaryFieldName,\n clearComplementaryField,\n ...restProps\n}) {\n const [complementaryFieldState, setComplementaryFieldState] = useState({\n isVisible: false,\n initialLoad: true,\n });\n const { isVisible } = complementaryFieldState;\n\n const withTypes = !isEmpty(typeOptions);\n const errorText = !isEmpty(errorMessage)\n ? errorMessage\n : getError(name || id, formState);\n\n const isError = !isEmpty(errorText);\n\n const prefixClassNames = classNames(\n styles.prefix,\n errorMessage && styles.invalid,\n prefixClassName,\n );\n\n const inputProps = {\n ...restProps,\n index,\n id,\n name,\n placeholder: ' ',\n isError,\n };\n\n function toggleComplementaryFieldVisibilty() {\n setComplementaryFieldState(prev => ({\n isVisible: !prev.isVisible,\n initialLoad: false,\n }));\n clearComplementaryField(index);\n }\n\n function showComplementaryField() {\n setComplementaryFieldState(prev => ({\n ...prev,\n isVisible: true,\n }));\n }\n\n const addRemoveButtonsProps = {\n name: optionalFieldName || fieldName,\n onAdd: onAddField,\n onRemove: () => onRemoveField(index),\n isLoading,\n isAddMoreDisabled,\n showRemove: hasMultipleValues,\n complementaryFieldProps: {\n isVisible,\n name: complementaryFieldName,\n onToggle: toggleComplementaryFieldVisibilty,\n },\n };\n\n const primaryButtonProps = {\n ...restProps,\n label: index === 0 ? 'Primary' : '',\n name: primaryName,\n theme: 'button',\n checked: primaryValue,\n onChange: onChangePrimary,\n className: styles.primaryButton,\n };\n\n const primaryButton = <RadioBox {...primaryButtonProps} />;\n\n function getInput() {\n if (renderCustomInputNode) {\n return renderCustomInputNode({\n ...inputProps,\n showComplementaryField,\n complementaryFieldState,\n });\n }\n\n if (maskSlug) {\n return (\n <MaskedInput\n {...inputProps}\n maskSlug={maskSlug}\n className={classNames(prefix && styles.withPrefix, className)}\n />\n );\n }\n\n return <Input {...inputProps} />;\n }\n\n return (\n <div className={classNames(styles.formField, className)}>\n {title && (\n <Label htmlFor={id}>\n {title}\n <Asterisk show={isRequired} />\n </Label>\n )}\n <TextInputPlaceholder className={styles.placeholder}>\n {placeholder}\n </TextInputPlaceholder>\n\n <div className={styles.inputFieldGroup}>\n <div className={styles.inputWithTypes}>\n {prefix && (\n <span className={prefixClassNames}>\n {prefix}\n </span>\n )}\n\n {getInput()}\n\n {withTypes && (\n <InputSelect\n {...restProps}\n name={typeName}\n value={typeValue.value}\n options={typeOptions}\n isError={isError}\n onChange={setFieldValue}\n />\n )}\n </div>\n\n {multiple && hasMultipleValues && primaryButton}\n </div>\n\n {multiple && <AddRemoveButtons {...addRemoveButtonsProps} />}\n\n <ErrorMessage message={errorText} />\n </div>\n );\n}\n\nBaseField.defaultProps = {\n isRequired: false,\n value: '',\n title: '',\n optionalFieldName: '',\n typeValue: {},\n};\n\nBaseField.propTypes = {\n formState: PropTypes.object.isRequired,\n id: PropTypes.string.isRequired,\n name: PropTypes.string,\n placeholder: PropTypes.string,\n title: PropTypes.string,\n className: PropTypes.string,\n inputClassName: PropTypes.string,\n isRequired: PropTypes.bool,\n typeValue: PropTypes.object,\n typeOptions: PropTypes.array,\n onChangeType: PropTypes.func,\n setFieldValue: PropTypes.func,\n typeName: PropTypes.string,\n renderCustomInputNode: PropTypes.func,\n prefix: PropTypes.string,\n prefixClassName: PropTypes.string,\n maskSlug: PropTypes.string,\n value: PropTypes.string,\n multiple: PropTypes.bool,\n index: PropTypes.number,\n fieldName: PropTypes.string,\n optionalFieldName: PropTypes.string,\n errorMessage: PropTypes.string,\n onRemoveField: PropTypes.func,\n onAddField: PropTypes.func,\n isLoading: PropTypes.bool,\n isAddMoreDisabled: PropTypes.bool,\n hasMultipleValues: PropTypes.bool,\n primaryValue: PropTypes.bool,\n primaryName: PropTypes.string,\n onChangePrimary: PropTypes.func,\n complementaryFieldName: PropTypes.string,\n clearComplementaryField: PropTypes.func,\n};\n\nexport default BaseField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport TagInput from 'components/core/TagInput';\nimport Label from 'components/core/Label';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './styles.module.scss';\n\nfunction TagInputField({ placeholder, title, className, ...restProps }) {\n return (\n <div className={classNames(styles.formField, className)}>\n <Label>{title}</Label>\n <TextInputPlaceholder className={styles.placeholder}>\n {placeholder}\n </TextInputPlaceholder>\n\n <TagInput\n {...restProps}\n shouldOverrideValue\n placeholder=\"\"\n allowCreate\n />\n </div>\n );\n}\n\n\nTagInputField.propTypes = {\n placeholder: PropTypes.string,\n title: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nexport default TagInputField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ButtonGroup from 'components/core/ButtonGroup';\nimport Label from 'components/core/Label';\nimport Button from 'components/core/Button';\nimport { TextInputPlaceholder } from 'components/core/Placeholder';\n\nimport styles from './styles.module.scss';\n\nfunction ButtonGroupField({ id, title, placeholder, value, setFieldValue, data }) {\n function handleButtonClick(dataValue) {\n return () => {\n setFieldValue(id, dataValue);\n };\n }\n\n return (\n <div className={styles.formField}>\n <Label>{title}</Label>\n <TextInputPlaceholder className={styles.placeholder}>\n {placeholder}\n </TextInputPlaceholder>\n <ButtonGroup className={styles.buttonGroup}>\n {\n data.map(({ label, value: dataValue }, index) => (\n <Button\n theme=\"default\"\n key={`${dataValue}-${index}`}\n value={dataValue}\n onClick={handleButtonClick(dataValue)}\n className={classNames(value === dataValue && styles.isActive)}\n >\n {label}\n </Button>\n ))\n }\n </ButtonGroup>\n </div>\n );\n}\n\nButtonGroupField.propTypes = {\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n placeholder: PropTypes.string.isRequired,\n data: PropTypes.array.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]).isRequired,\n setFieldValue: PropTypes.func.isRequired,\n};\n\nexport default ButtonGroupField;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { PARTIES } from 'utils/constants';\nimport { TAG_STRATEGY_SLUG } from 'components/Stakeholder/utils/constants';\n\nimport withForm from '../../../utils/withForm';\nimport styles from '../styles.module.scss';\nimport BaseField from './Fields/BaseField';\nimport TagInputField from './Fields/TagInputField';\nimport ButtonGroupField from './Fields/ButtonGroupField';\n\nfunction AdditionalDetails({ values, formState, handleBlur, handleChange, setFieldValue }) {\n const commonProps = {\n onChange: handleChange,\n onBlur: handleBlur,\n className: styles.formControl,\n formState,\n };\n\n function getDefaultValues(listValues) {\n return listValues.map(({ value }) => value);\n }\n\n function handleChangeLists(lists) {\n return setFieldValue('lists', lists);\n }\n\n function handleChangeTags(tags) {\n return setFieldValue('tags', tags);\n }\n\n return (\n <Fragment>\n <BaseField\n {...commonProps}\n id=\"organization\"\n title=\"Organization\"\n value={values.organization || ''}\n placeholder=\"The organization this individual belongs to.\"\n />\n\n <BaseField\n {...commonProps}\n id=\"title\"\n title=\"Title\"\n value={values.title || ''}\n placeholder=\"Title of the stakeholder (e.g., CEO, Professor)\"\n />\n\n <ButtonGroupField\n {...commonProps}\n id=\"partyCode\"\n title=\"Party\"\n value={values.partyCode}\n placeholder=\"The name of the party individual is part of. (e.g., Republican).\"\n data={PARTIES}\n setFieldValue={setFieldValue}\n />\n\n <TagInputField\n defaultRawValues={getDefaultValues(values.tags)}\n overrideValue={values.tags}\n onChange={handleChangeTags}\n title=\"Tags\"\n placeholder=\"Apply a tag to this individual (e.g., loves dogs).\"\n strategy={TAG_STRATEGY_SLUG}\n name=\"tags\"\n className={styles.formField}\n strategyInputs={{ create: true }}\n />\n\n <TagInputField\n defaultRawValues={getDefaultValues(values.lists)}\n overrideValue={values.lists}\n onChange={handleChangeLists}\n title=\"Lists\"\n placeholder=\"Add this individual to a list (e.g., grasstops).\"\n strategy=\"stakeholder_mgmt_list\"\n name=\"lists\"\n className={styles.formField}\n />\n\n <BaseField\n {...commonProps}\n id=\"facebookProfile\"\n title=\"Facebook profile\"\n value={values.facebookProfile || ''}\n placeholder=\"The url for this individual’s FB profile (e.g., https://www.facebook.com/myfbpageurl).\"\n />\n\n <BaseField\n {...commonProps}\n id=\"twitterName\"\n title=\"Twitter handle\"\n value={values.twitterName || ''}\n placeholder=\"The name of the twitter account for this individual (e.g., @therealpersonsname).\"\n />\n </Fragment>\n );\n}\n\nAdditionalDetails.propTypes = {\n formState: PropTypes.object.isRequired,\n values: PropTypes.object.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n setFieldValue: PropTypes.func.isRequired,\n};\n\nexport default withForm(AdditionalDetails);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FieldArray } from 'formik';\n\nimport { getError } from 'utils/forms';\n\nimport BaseField from './BaseField';\n\nfunction MultipleField({\n options,\n typeName,\n typeOptions,\n isLoading,\n name,\n fieldName,\n optionalFieldName,\n formState,\n id,\n title,\n defaultValue,\n placeholder,\n setFieldValue,\n viewLimit,\n setFieldTouched,\n ...restProps\n}) {\n const hasMultipleValues = options.length > 1;\n const isAddMoreDisabled = viewLimit && options.length > viewLimit;\n\n function getFieldName(field, index = 0, property = '') {\n return `${field}[${index}][${property}]`;\n }\n\n function getTitle(index) {\n return `${title} ${index > 0 ? index : ''}`;\n }\n\n function getPlaceholder(isPrimary) {\n return isPrimary ? placeholder.default : placeholder.custom;\n }\n\n function getErrorMessage(index) {\n return getError(getFieldName(name, index, fieldName), formState);\n }\n\n function resetPrimaryButtonValue() {\n options.forEach((_, index) => {\n setFieldValue(getFieldName(name, index, 'primary'), false);\n });\n }\n\n function renderOptions({ remove, push }) {\n return options.map((option, index) => {\n const selectedTypeValue = typeOptions && typeOptions.find(typeOption => typeOption.value === option[typeName]);\n\n function handleChangePrimary(event) {\n resetPrimaryButtonValue();\n setFieldValue(getFieldName(name, index, 'primary'), event.target.checked);\n setFieldTouched && setFieldTouched(getFieldName(name, index, fieldName), true);\n }\n\n function handleRemoveField(removedIndex) {\n remove(removedIndex);\n\n if (options[removedIndex].primary) {\n setFieldValue(getFieldName(name, 0, 'primary'), true);\n }\n }\n\n function handleAddField() {\n push(defaultValue);\n }\n\n return (\n <BaseField\n {...restProps}\n key={`${getFieldName(name, index, fieldName)}-${index}`}\n index={index}\n id={`${id}-${index}`}\n fieldName={fieldName}\n optionalFieldName={optionalFieldName}\n typeValue={selectedTypeValue}\n typeOptions={typeOptions}\n typeName={getFieldName(name, index, typeName)}\n name={getFieldName(name, index, fieldName)}\n primaryName={getFieldName(name, index, 'primary')}\n value={option[fieldName]}\n title={getTitle(index)}\n placeholder={getPlaceholder(option.primary)}\n errorMessage={getErrorMessage(index)}\n formState={formState}\n setFieldValue={setFieldValue}\n onRemoveField={handleRemoveField}\n onAddField={handleAddField}\n isLoading={isLoading}\n isAddMoreDisabled={isAddMoreDisabled}\n hasMultipleValues={hasMultipleValues}\n primaryValue={option.primary}\n onChangePrimary={handleChangePrimary}\n multiple\n />\n );\n });\n }\n\n return (\n <FieldArray\n rerenderOnEveryChange={false}\n name={name}\n render={renderOptions}\n />\n );\n}\n\nMultipleField.propTypes = {\n options: PropTypes.array.isRequired,\n typeName: PropTypes.string,\n typeOptions: PropTypes.array,\n isLoading: PropTypes.bool,\n name: PropTypes.string,\n fieldName: PropTypes.string,\n optionalFieldName: PropTypes.string,\n formState: PropTypes.object,\n id: PropTypes.string,\n viewLimit: PropTypes.number,\n title: PropTypes.string.isRequired,\n defaultValue: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n ]),\n placeholder: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n ]),\n setFieldValue: PropTypes.func.isRequired,\n setFieldTouched: PropTypes.func,\n};\n\n\nexport default MultipleField;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport isEmpty from 'lodash/isEmpty';\n\nimport { typeOptions } from 'utils/constants';\nimport AddressAutocomplete from 'components/core/AddressAutocomplete';\nimport inputStyles from 'components/core/Input/styles.module.scss';\n\nimport {\n addressPlaceholder,\n defaultNewAddressValue,\n} from 'components/Stakeholder/common/Modals/StakeholderForm/utils';\n\nimport MultipleField from './MultipleField';\nimport BaseField from './BaseField';\nimport styles from './styles.module.scss';\n\nconst { defaultTypeOptions } = typeOptions;\n\nfunction AddressField({\n className,\n values,\n formState,\n setFieldValue,\n setFieldTouched,\n ...restProps\n}) {\n const name = 'addresses';\n const complementaryFieldName = 'Apt/Unit #(Optional)';\n const complementaryFieldPlaceholder = 'An optional address field (e.g., “Apt. 102”)';\n const options = values.addresses;\n\n function clearComplementaryField(index) {\n setFieldValue(`${name}.${index}.complement`, '');\n }\n\n function handleAddressChange(inputProps) {\n const { index } = inputProps;\n\n return ({ address, placeId }) => {\n setFieldValue(`${name}.${index}.place_id`, placeId);\n setFieldValue(`${name}.${index}.address`, address);\n setFieldTouched(`${name}.${index}.address`, true);\n };\n }\n\n function handleComplementaryFieldChange(inputProps) {\n const { index } = inputProps;\n\n return ({ target }) => {\n const { value } = target;\n\n setFieldValue(`${name}.${index}.complement`, value);\n setFieldTouched(`${name}.${index}.complement`, true);\n };\n }\n\n const addressClassNames = classNames(\n inputStyles.input,\n inputStyles.default,\n className,\n styles.input,\n );\n\n function renderAddress(inputProps) {\n const {\n index,\n id,\n showComplementaryField,\n complementaryFieldState,\n ...restInputProps\n } = inputProps;\n const address = options[index] || {};\n const { place_id: placeId, address: autocompleteValue, complement } = address;\n const complementaryAddressValue = complement || '';\n const { isVisible, initialLoad } = complementaryFieldState;\n\n if (initialLoad && !isVisible && !isEmpty(complementaryAddressValue)) {\n showComplementaryField();\n }\n\n return (\n <Fragment>\n <AddressAutocomplete\n {...restInputProps}\n id={id}\n index={index}\n value={autocompleteValue}\n placeId={placeId}\n onChange={handleAddressChange(inputProps)}\n onBlur={handleAddressChange(inputProps)}\n inputClassName={addressClassNames}\n allowInternationalSearch\n />\n {isVisible && (\n <BaseField\n {...restInputProps}\n id={`${id}-complement`}\n index={index}\n name={`${name}.${index}.complement`}\n value={complementaryAddressValue}\n formState={formState}\n placeholder={complementaryFieldPlaceholder}\n onChange={handleComplementaryFieldChange(inputProps)}\n onBlur={handleComplementaryFieldChange(inputProps)}\n className={styles.complementaryFieldInput}\n />\n )}\n </Fragment>\n );\n }\n\n return (\n <Fragment>\n <MultipleField\n {...restProps}\n id=\"addresses\"\n name={name}\n fieldName=\"address\"\n typeName=\"category\"\n options={options}\n isLoading={false}\n typeOptions={defaultTypeOptions}\n title=\"Address\"\n placeholder={addressPlaceholder}\n defaultValue={defaultNewAddressValue}\n setFieldValue={setFieldValue}\n renderCustomInputNode={renderAddress}\n formState={formState}\n setFieldTouched={setFieldTouched}\n complementaryFieldName={complementaryFieldName}\n clearComplementaryField={clearComplementaryField}\n />\n {options.length > 1 && <hr />}\n </Fragment>\n );\n}\n\nAddressField.propTypes = {\n values: PropTypes.object.isRequired,\n formState: PropTypes.object.isRequired,\n className: PropTypes.string,\n setFieldValue: PropTypes.func,\n setFieldTouched: PropTypes.func,\n};\n\nexport default AddressField;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n defaultNewEmailValue,\n emailPlaceholder,\n} from 'components/Stakeholder/common/Modals/StakeholderForm/utils';\nimport { typeOptions } from 'utils/constants';\n\nimport MultipleField from './MultipleField';\n\nconst { personalTypeOptions } = typeOptions;\n\nfunction EmailField({ values, ...restProps }) {\n const options = values.emails;\n\n return (\n <Fragment>\n <MultipleField\n {...restProps}\n id=\"emails\"\n name=\"emails\"\n fieldName=\"email\"\n typeName=\"category\"\n options={options}\n isLoading={false}\n typeOptions={personalTypeOptions}\n title=\"Email\"\n placeholder={emailPlaceholder}\n defaultValue={defaultNewEmailValue}\n viewLimit={5}\n />\n {options.length > 1 && <hr />}\n </Fragment>\n );\n}\n\nEmailField.propTypes = {\n values: PropTypes.object.isRequired,\n};\n\nexport default EmailField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { typeOptions } from 'utils/constants';\nimport { defaultNewPhoneValue, phonePlaceholder } from 'components/Stakeholder/common/Modals/StakeholderForm/utils';\nimport MultipleField from './MultipleField';\n\nconst { personalTypeOptions } = typeOptions;\n\nfunction PhoneField({ values, ...restProps }) {\n const options = values.phones;\n\n return (\n <MultipleField\n {...restProps}\n id=\"phones\"\n name=\"phones\"\n title=\"Phone number\"\n optionalFieldName=\"number\"\n fieldName=\"phone\"\n typeName=\"category\"\n options={options}\n isLoading={false}\n typeOptions={personalTypeOptions}\n placeholder={phonePlaceholder}\n defaultValue={defaultNewPhoneValue}\n maskSlug=\"us_phone_number_with_country_code\"\n />\n );\n}\n\nPhoneField.propTypes = {\n values: PropTypes.object.isRequired,\n};\n\nexport default PhoneField;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n\nimport withForm from '../../../utils/withForm';\nimport styles from '../styles.module.scss';\nimport BaseField from './Fields/BaseField';\nimport AddressField from './Fields/AddressField';\nimport EmailField from './Fields/EmailField';\nimport PhoneField from './Fields/PhoneField';\n\nfunction BasicInfo({ values, formState, handleBlur, handleChange, setFieldValue, setFieldTouched }) {\n const commonProps = {\n onChange: handleChange,\n onBlur: handleBlur,\n className: styles.formControl,\n formState,\n values,\n setFieldValue,\n };\n\n return (\n <Fragment>\n <section className={styles.name}>\n <BaseField\n {...commonProps}\n id=\"firstName\"\n title=\"First name\"\n value={values.firstName}\n isRequired\n />\n <BaseField\n {...commonProps}\n id=\"middleName\"\n title=\"Middle name\"\n value={values.middleName}\n className={styles.middle}\n />\n <BaseField\n {...commonProps}\n id=\"lastName\"\n title=\"Last name\"\n value={values.lastName}\n isRequired\n />\n </section>\n <EmailField {...commonProps} isRequired />\n <AddressField {...commonProps} setFieldTouched={setFieldTouched} />\n <PhoneField {...commonProps} setFieldTouched={setFieldTouched} />\n </Fragment>\n );\n}\n\nBasicInfo.propTypes = {\n formState: PropTypes.object.isRequired,\n values: PropTypes.object.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n setFieldValue: PropTypes.func.isRequired,\n setFieldTouched: PropTypes.func.isRequired,\n};\n\nexport default withForm(BasicInfo);\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { filter, isEmpty } from 'lodash';\n\nimport MultiStepModal from 'components/core/Modal/components/MultiStep';\nimport {\n allCustomFieldsShape,\n profileShape,\n formStatusShape,\n errorsShape,\n} from 'components/Advocates/common/utils/shapes';\n\nimport useErrorStepRedirect from '../../utils/useErrorStepRedirect';\nimport withForm from '../../utils/withForm';\nimport CustomFields from './components/CustomFields';\nimport AdditionalDetails from './components/AdditionalDetails';\nimport BasicInfo from './components/BasicInfo';\nimport styles from './styles.module.scss';\n\nfunction Form({\n isOpen,\n toggleOpen,\n values,\n errors,\n touched,\n handleChange,\n handleBlur,\n handleSubmit,\n setFieldValue,\n submitCount,\n isValid,\n allCustomFields,\n resetForm,\n currentStep,\n isLoading,\n onRedirect,\n setFieldTouched,\n onChangeCurrentStep,\n submitForm,\n isSubmitting,\n isLoadingCustomFields,\n}) {\n const [isCustomFieldsRedirect, setCustomFieldsRedirect] = useState(false);\n\n function handleFormChange(props) {\n handleChange(props);\n onRedirect(null);\n setCustomFieldsRedirect(false);\n }\n\n const commonProps = {\n formState: { errors, touched },\n values,\n handleChange: handleFormChange,\n handleBlur,\n setFieldValue,\n submitForm,\n isSubmitting,\n };\n const requiredCustomFields = filter(allCustomFields, 'required');\n\n const steps = [\n {\n index: 0,\n title: 'Basic information',\n errorFields: ['firstName', 'middleName', 'lastName', 'addresses', 'phones', 'emails'],\n component: <BasicInfo {...commonProps} setFieldTouched={setFieldTouched} />,\n },\n {\n index: 1,\n title: 'Additional details',\n errorFields: ['partyCode', 'organization', 'title', 'lists', 'tags', 'facebookProfile', 'twitterName'],\n component: <AdditionalDetails {...commonProps} />,\n },\n {\n index: 2,\n title: 'Custom fields',\n errorFields: requiredCustomFields.map(customField => customField.token),\n component: (\n <CustomFields\n {...commonProps}\n allCustomFields={allCustomFields}\n isCustomFieldsRedirect={isCustomFieldsRedirect}\n onCustomFieldsRedirect={setCustomFieldsRedirect}\n isLoadingCustomFields={isLoadingCustomFields}\n />\n ),\n },\n ];\n\n useErrorStepRedirect({\n submitCount,\n errors,\n isValid,\n onRedirect,\n steps,\n });\n\n const closeMessage = <p>You're about to exit the stakeholder edit window. Are you sure you want to exit?</p>;\n\n const onSubmit = () => {\n handleSubmit();\n if (!isEmpty(errors)) {\n requiredCustomFields.forEach(customField => setFieldTouched(customField.token));\n }\n };\n\n return (\n <div className={styles.formControls}>\n <form onSubmit={onSubmit}>\n <MultiStepModal\n isOpen={isOpen}\n toggleOpen={toggleOpen}\n steps={steps}\n handleAction={onSubmit}\n customCloseMessage={closeMessage}\n withCloseConfirmation\n onReset={resetForm}\n currentStep={currentStep}\n resetStep={submitCount}\n isLoading={isLoading}\n isSaving={isSubmitting}\n onChangeCurrentStep={onChangeCurrentStep}\n showLoadingPlaceholder={false}\n />\n </form>\n </div>\n );\n}\n\nForm.propTypes = {\n values: profileShape.isRequired,\n errors: errorsShape.isRequired,\n touched: formStatusShape.isRequired,\n handleChange: PropTypes.func.isRequired,\n handleBlur: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n setFieldValue: PropTypes.func.isRequired,\n setFieldTouched: PropTypes.func.isRequired,\n submitCount: PropTypes.number.isRequired,\n isValid: PropTypes.bool.isRequired,\n allCustomFields: allCustomFieldsShape.isRequired,\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n resetForm: PropTypes.func.isRequired,\n currentStep: PropTypes.number,\n isLoading: PropTypes.bool,\n onRedirect: PropTypes.func,\n onChangeCurrentStep: PropTypes.func,\n submitForm: PropTypes.func,\n isSubmitting: PropTypes.bool,\n isLoadingCustomFields: PropTypes.bool.isRequired,\n};\n\nexport default withForm(Form);\n","import { useRef, useEffect } from 'react';\n\nexport default function useErrorStepRedirect({ submitCount, errors, isValid, onRedirect, steps }) {\n const submitCountRef = useRef(submitCount);\n const firstErrorKey = Object.keys(errors)[0];\n\n useEffect(() => {\n if (submitCountRef.current !== submitCount && !isValid && firstErrorKey) {\n submitCountRef.current = submitCount;\n const filteredErrorStep = steps.filter(step => step.errorFields.includes(firstErrorKey))[0] || {};\n const modalStep = filteredErrorStep.index || 0;\n\n onRedirect(modalStep);\n }\n }, [submitCount, isValid, firstErrorKey]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Formik } from 'formik';\n\nimport {\n allCustomFieldsShape,\n profileShape,\n customFieldsAnswersShape,\n} from 'components/Advocates/common/utils/shapes';\n\nimport useForm from '../../utils/useForm';\nimport withForm from '../../utils/withForm';\nimport Form from '../Form';\n\nfunction Container({\n isOpen,\n toggleOpen,\n customField,\n allCustomFields,\n fetchCustomFields,\n createStakeholder,\n updateStakeholder,\n currentStep,\n handleChangeCurrentStep,\n stakeholder,\n isProfilePageUpdate,\n avoidDispatchFetch,\n onSuccess,\n ...restProps\n}) {\n const {\n initialValues,\n schema,\n onSubmit,\n ...formProps\n } = useForm({\n isOpen,\n stakeholder,\n toggleOpen,\n customField,\n allCustomFields,\n createStakeholder,\n updateStakeholder,\n fetchCustomFields,\n currentStep,\n handleChangeCurrentStep,\n isProfilePageUpdate,\n avoidDispatchFetch,\n onSuccess,\n });\n\n return (\n <Formik\n initialValues={initialValues}\n onSubmit={onSubmit}\n validationSchema={schema}\n enableReinitialize\n >\n {formikProps => (\n <Form\n {...formikProps}\n {...restProps}\n {...formProps}\n />\n )}\n </Formik>\n );\n}\n\nContainer.defaultProps = {\n customField: {},\n avoidDispatchFetch: false,\n};\n\nContainer.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n fetchCustomFields: PropTypes.func.isRequired,\n createStakeholder: PropTypes.func,\n updateStakeholder: PropTypes.func,\n handleChangeCurrentStep: PropTypes.func,\n allCustomFields: allCustomFieldsShape,\n customField: customFieldsAnswersShape,\n currentStep: PropTypes.number,\n stakeholder: profileShape,\n isProfilePageUpdate: PropTypes.bool,\n avoidDispatchFetch: PropTypes.bool,\n onSuccess: PropTypes.func,\n};\n\nexport default withForm(Container);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n allCustomFieldsShape,\n customFieldsAnswersShape,\n} from 'components/Advocates/common/utils/shapes';\n\nimport Container from './components/Container';\nimport withForm, { StakeholderFormContext } from './utils/withForm';\n\nfunction StakeholderForm({ ui, ...restProps }) {\n const { isSubmitting: isLoading, isLoadingCustomFields } = ui;\n const stakeholderContext = {\n ...restProps,\n isLoading,\n isLoadingCustomFields,\n };\n\n return (\n <StakeholderFormContext.Provider value={stakeholderContext}>\n <Container />\n </StakeholderFormContext.Provider>\n );\n}\n\nStakeholderForm.defaultProps = {\n customField: {},\n allCustomFields: [],\n};\n\nStakeholderForm.propTypes = {\n id: PropTypes.number,\n ui: PropTypes.shape({\n isSubmitting: PropTypes.bool.isRequired,\n isLoadingCustomFields: PropTypes.bool.isRequired,\n }).isRequired,\n isOpen: PropTypes.bool.isRequired,\n toggleOpen: PropTypes.func.isRequired,\n createStakeholder: PropTypes.func,\n updateStakeholder: PropTypes.func,\n fetchCustomFields: PropTypes.func.isRequired,\n allCustomFields: allCustomFieldsShape,\n customField: customFieldsAnswersShape,\n handleChangeCurrentStep: PropTypes.func,\n};\n\nexport default withForm(StakeholderForm);\n","import * as featureSlugs from 'utils/constants/featureSlugs';\n\nconst PEOPLE = 'people';\nconst LEGISLATION = 'legislation';\nconst COMMITTEE = 'committee';\nconst DOCUMENT = 'document';\nconst SOCIAL_MEDIA = 'social media';\n\nexport const resultCategories = {\n [featureSlugs.STAKEHOLDER_SLUG]: PEOPLE,\n [featureSlugs.CONGRESSIONAL_STAFFERS_SLUG]: PEOPLE,\n [featureSlugs.FEDERAL_AGENCY_STAFFERS_SLUG]: PEOPLE,\n [featureSlugs.STATE_STAFFERS_SLUG]: PEOPLE,\n [featureSlugs.FEDERAL_LEGISLATORS_SLUG]: PEOPLE,\n [featureSlugs.STATE_LEGISLATORS_SLUG]: PEOPLE,\n [featureSlugs.FEDERAL_EXECUTIVE_SLUG]: PEOPLE,\n [featureSlugs.STATE_EXECUTIVE_SLUG]: PEOPLE,\n [featureSlugs.STATE_STAFFER_EXECUTIVE_SLUG]: PEOPLE,\n [featureSlugs.LOCAL_EXECUTIVE_SLUG]: PEOPLE,\n [featureSlugs.FEDERAL_COMMITTEE_SLUG]: COMMITTEE,\n [featureSlugs.STATE_COMMITTEE_SLUG]: COMMITTEE,\n [featureSlugs.FEDERAL_BILLS_SLUG]: LEGISLATION,\n [featureSlugs.STATE_BILLS_SLUG]: LEGISLATION,\n [featureSlugs.FEDERAL_REGULATIONS_SLUG]: LEGISLATION,\n [featureSlugs.STATE_REGULATIONS_SLUG]: LEGISLATION,\n [featureSlugs.AGENCY_PRESS_RELEASES_SLUG]: DOCUMENT,\n [featureSlugs.CBO_COST_ESTIMATES_SLUG]: DOCUMENT,\n [featureSlugs.COMMITTEE_REPORTS_SLUG]: DOCUMENT,\n [featureSlugs.CONGRESSIONAL_PRESS_RELEASES_SLUG]: DOCUMENT,\n [featureSlugs.CONGRESSIONAL_RECORD_ITEMS_SLUG]: DOCUMENT,\n [featureSlugs.CONTRACTS_SLUG]: DOCUMENT,\n [featureSlugs.CRS_REPORTS_SLUG]: DOCUMENT,\n [featureSlugs.DEAR_COLLEAGUE_LETTERS_SLUG]: DOCUMENT,\n [featureSlugs.EXECUTIVE_ORDERS_SLUG]: DOCUMENT,\n [featureSlugs.GAO_REPORTS_SLUG]: DOCUMENT,\n [featureSlugs.GRANTS_SLUG]: DOCUMENT,\n [featureSlugs.LD2_REPORTS]: DOCUMENT,\n [featureSlugs.LIVE_HEARING_TRANSCRIPTS_SLUG]: DOCUMENT,\n [featureSlugs.OFFICIAL_HEARING_TRANSCRIPTS_SLUG]: DOCUMENT,\n [featureSlugs.SAP_REPORTS_SLUG]: DOCUMENT,\n [featureSlugs.STATE_OF_UNION_ADDRESSES_SLUG]: DOCUMENT,\n [featureSlugs.TREATY_DOCUMENTS_SLUG]: DOCUMENT,\n [featureSlugs.THIRD_PARTY_REPORTS_SLUG]: DOCUMENT,\n [featureSlugs.WHITE_HOUSE_PRESS_BRIEFINGS_SLUG]: DOCUMENT,\n [featureSlugs.GOVERNOR_ORDERS_SLUG]: DOCUMENT,\n [featureSlugs.GOVERNOR_PRESS_RELEASES_SLUG]: DOCUMENT,\n [featureSlugs.TWITTER_SLUG]: SOCIAL_MEDIA,\n};\n","import { useState, useEffect } from 'react';\n\nimport { DEFAULT_DEBOUNCE_TIME } from 'utils/constants/intervals';\n\nfunction useDebounce(value: string, delay: number = DEFAULT_DEBOUNCE_TIME) {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => { setDebouncedValue(value); }, delay);\n\n return () => { clearTimeout(handler); };\n }, [delay, value]);\n\n return debouncedValue;\n}\n\nexport default useDebounce;\n","const PREFIX = 'LOGGED_IN_AS_v1';\n\n// Save user info on the current device to be used in the next login\nconst RememberUserService = {\n init() {\n const { currentUser } = gon || {};\n const { email = '', first_name = '', profileImgUrl = '' } = currentUser || {};\n\n if (!email || !first_name) return;\n\n localStorage.setItem(`${PREFIX}__FIRST_NAME__${email}`, first_name);\n localStorage.setItem(`${PREFIX}__PROFILE_IMG__${email}`, profileImgUrl);\n },\n\n getFirstName(email) {\n const firstName = localStorage.getItem(`${PREFIX}__FIRST_NAME__${email}`);\n\n if (typeof firstName !== 'string') return '';\n\n return firstName;\n },\n\n getProfileImgUrl(email) {\n const profileImgUrl = localStorage.getItem(`${PREFIX}__PROFILE_IMG__${email}`);\n\n if (typeof profileImgUrl !== 'string' || profileImgUrl === 'false') return '';\n\n return profileImgUrl;\n },\n};\n\nexport default RememberUserService;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"recentVisits\":\"styles-module__recentVisits___2xgBt\",\"document\":\"styles-module__document___3TA4w\",\"recentVisitsTextWrapper\":\"styles-module__recentVisitsTextWrapper___11Voz\",\"subText\":\"styles-module__subText___1frjV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"categories\":\"styles-module__categories___29YmW\",\"category\":\"styles-module__category___1F_Eo\",\"isActive\":\"styles-module__isActive___2B1Ys\",\"button\":\"styles-module__button___156Yd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"largeNavHeaderHeight\":\"64px\",\"tooltipStyles\":\"styles-module__tooltipStyles___1nWHi\",\"navBarDropdownPadding\":\"styles-module__navBarDropdownPadding___6fSBi\",\"tooltipTrigger\":\"styles-module__tooltipTrigger___WbOU_\",\"links\":\"styles-module__links___2l2dT\",\"column\":\"styles-module__column___35iLb\",\"categorySection\":\"styles-module__categorySection___2_N7H\",\"title\":\"styles-module__title___2hcnd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"styles-module__header___aCEHW\",\"title\":\"styles-module__title___iiqHQ\",\"closeButton\":\"styles-module__closeButton___1KY8b\",\"main\":\"styles-module__main___IULuZ\"};","export const ALL = 'all';\nexport const SPECIFIC = 'specific';\nexport const DEFAULT_CALENDAR_TIME_ZONE = 'America/New_York';\nexport const EASTERN_TIME = 'Eastern Time';\nexport const EASTERN_TIME_ABBREVIATION = 'ET';\n","import { US_COUNTRY_CODE, US_COUNTRY } from 'utils/constants/addresses';\nimport { LOCATION_TYPES } from 'utils/constants/locationTypes';\nimport { TYPES } from 'components/Stakeholder/Lookup/components/Options/utils/constants';\n\nexport default function getDistrictFilters({\n isFederalSenator,\n state,\n stateName,\n districtName,\n districtId,\n chamberCategory,\n}) {\n if (!isFederalSenator) {\n return {\n options: {\n districts: [\n {\n value: districtId,\n label: districtName,\n },\n ],\n districtType: TYPES[chamberCategory] || TYPES.congressional,\n },\n };\n }\n\n return {\n options: {\n locationType: LOCATION_TYPES.states,\n isPrimaryLocation: true,\n locations: [\n {\n label: `${stateName} (${US_COUNTRY})`,\n // TODO: update when fix suggester value (should include country code)\n value: state,\n filters: {\n state_code: state,\n country_code: US_COUNTRY_CODE,\n },\n },\n ],\n },\n };\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"styles-module__content___1M4jj\",\"baseLink\":\"styles-module__baseLink___35Per\",\"lightTheme\":\"styles-module__lightTheme___H5MpO\",\"itemType\":\"styles-module__itemType___12laK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"styles-module__wrapper___1gDuo\",\"infoBar\":\"styles-module__infoBar___sSEi-\",\"hasFocus\":\"styles-module__hasFocus___EzvU7\",\"hasError\":\"styles-module__hasError___3SyLs\",\"danger\":\"styles-module__danger___2sVIL\",\"warning\":\"styles-module__warning___1Zr0Z\"};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Checkbox from 'components/core/Checkbox';\nimport Card from 'components/core/Card';\n\nimport styles from './styles.module.scss';\n\nexport const FREQUENCY_TITLE = 'Select the types of updates you’d like to receive and the frequencies at which you’d like to be notified of them via email.';\n\nfunction FrequencyCard({\n children,\n label,\n withTitle,\n withHeaderNode,\n title,\n isChecked,\n isDisabled,\n onCheck,\n hideChildren,\n checkboxClassName,\n}) {\n const headerNodes = (\n <Checkbox\n isChecked={isChecked}\n isDisabled={isDisabled}\n label={label}\n onChange={onCheck}\n theme=\"light\"\n className={checkboxClassName}\n />\n );\n\n const showChildren = isChecked && !hideChildren;\n\n const cardProps = {\n className: styles.card,\n headerClassName: classNames(styles.cardHeader, !showChildren && styles.noBorder),\n ...(withHeaderNode && { headerNodes }),\n };\n\n return (\n <>\n {withTitle && (\n <p className={styles.topMessage}>\n {title}\n </p>\n )}\n <Card {...cardProps}>\n {showChildren && (\n <div className={styles.container}>\n {children}\n </div>\n )}\n </Card>\n </>\n );\n}\n\nFrequencyCard.defaultProps = {\n withTitle: true,\n withHeaderNode: true,\n isChecked: true,\n isDisabled: false,\n label: 'Subscription updates',\n title: FREQUENCY_TITLE,\n hideChildren: false,\n};\n\nFrequencyCard.propTypes = {\n label: PropTypes.node,\n children: PropTypes.node,\n withTitle: PropTypes.bool,\n withHeaderNode: PropTypes.bool,\n title: PropTypes.string,\n isChecked: PropTypes.bool,\n isDisabled: PropTypes.bool,\n onCheck: PropTypes.func,\n hideChildren: PropTypes.bool,\n checkboxClassName: PropTypes.string,\n};\n\nexport default FrequencyCard;\n","export const TAG_STRATEGY_SLUG = 'tag';\nexport const LIST_STRATEGY_SLUG = 'stakeholder_mgmt_list';\nexport const MAX_CUSTOM_FIELDS_PAGE_SIZE = 500;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"resultsCount\":\"styles-module__resultsCount___36z_e\",\"text\":\"styles-module__text___2XopS\",\"hidden\":\"styles-module__hidden___2v8bb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"styles-module__wrapper___3d983\",\"option\":\"styles-module__option___16Bwd\",\"selected\":\"styles-module__selected___1QL1x\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"option\":\"styles-module__option___2tQZu\",\"customRegion\":\"styles-module__customRegion___1RY8z\",\"count\":\"styles-module__count___KJQ0l\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"styles-module__wrapper___3fLJw\",\"options\":\"styles-module__options___dejpE\",\"option\":\"styles-module__option___3xTHC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"options\":\"styles-module__options___25f-2\",\"option\":\"styles-module__option___1lbZu\",\"placeholder\":\"styles-module__placeholder___3lyHC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"quickLinks\":\"styles-module__quickLinks___2c-AQ\",\"title\":\"styles-module__title___2AzgY\",\"link\":\"styles-module__link___txRmb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"lobby\":\"styles-module__lobby___2KBC8\",\"quickLinks\":\"styles-module__quickLinks___7mTpb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"searchWrapper\":\"styles-module__searchWrapper___2JTRL\",\"content\":\"styles-module__content___1bkiL\",\"slide-from-bottom\":\"styles-module__slide-from-bottom___2iFE3\",\"backToTop\":\"styles-module__backToTop___1IEo_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"messageContainer\":\"styles-module__messageContainer___3SAkK\",\"image\":\"styles-module__image___3Hz7z\",\"link\":\"styles-module__link___2QkL5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"styles-module__link___30jGW\",\"relatedApp\":\"styles-module__relatedApp___P6abt\",\"description\":\"styles-module__description___1_qjm\"};","const style = {\n NotificationItem: {\n DefaultStyle: {\n backgroundColor: 'white',\n borderTop: '0',\n fontSize: '14px',\n padding: '24px',\n borderLeft: '8px solid #02c7c8',\n borderRadius: '4px',\n boxShadow: '0 1px 4px 0 rgba(#9ca6d9, 0.51)',\n fontWeight: '500',\n },\n error: {\n borderLeft: '8px solid #ed5565',\n },\n },\n Title: {\n DefaultStyle: {\n color: '#080C38',\n margin: '0',\n },\n },\n Dismiss: {\n DefaultStyle: {\n backgroundColor: 'white',\n color: '#080C38',\n marginTop: '20px',\n fontWeight: '200',\n fontSize: '18px',\n marginRight: '4px',\n fontFamily: 'inherit',\n },\n },\n};\n\nexport default style;\n","/* This is not a normal React component. We are setting this up as a\nsingleton object, so we can essentially use it as a global notifications\nchannel. This component should only be used once on a page. You can invoke\nit by calling `app.GlobalNotifier.addNotification(notification)` */\n\nimport React, { createRef, Component } from 'react';\nimport NotificationSystem from 'react-notification-system';\nimport style from './style';\n\n// TODO: Replace/wrap GlobalNotifier by core/Notification\nclass GlobalNotifier extends Component {\n notificationSystem = createRef();\n\n static addNotification(notification) {\n window.GlobalNotifierSingleton.addNotification(notification);\n }\n\n componentDidMount() {\n window.GlobalNotifierSingleton = this.notificationSystem.current;\n }\n\n render() {\n return (<NotificationSystem ref={this.notificationSystem} style={style} />);\n }\n}\n\nexport default GlobalNotifier;\n","import moment from 'moment';\nimport { find, flatten, sortBy, flattenDeep, isEqual } from 'lodash';\nimport { DEFAULT_CALENDAR_TIME_ZONE } from 'components/hill-day-calendar/constants';\nimport { dateFormat } from 'components/shared/datepicker/helper';\n\nexport const FORM_NAME = 'fly-in-calendar-filters-form';\nexport const timeFormat = 'h:mma';\nexport const eventDateFormat = 'ddd, MMM D';\nexport const dateTimeFormat = 'MM/DD/YYYY hh:mm a';\nexport const titleDateFormat = 'dddd, MMMM D, YYYY';\nexport const requestDateFormat = 'YYYY-MM-DD';\nexport const pending = 300;\nexport const dateKeys = ['starts_at', 'ends_at'];\nexport const uniqueKeys = ['text', ...dateKeys];\nexport const sortingByKeys = [...dateKeys, 'text', 'attendee_tokens', 'legislator_tokens'];\n\nconst useFilterKeys = ['attendee_tokens', 'legislator_tokens'];\n\nconst keyName = {\n attendee_tokens: 'attendees',\n legislator_tokens: 'legislators',\n};\n\nexport const isBeforeResult = (a, b) => (moment(a).isBefore(b) ? 1 : -1);\n\nexport const formatDate = (dateTime, format) =>\n moment(dateTime).format(format);\n\nexport const convertDateTimeZone = (dateTime, format) =>\n moment(moment.tz(dateTime, DEFAULT_CALENDAR_TIME_ZONE), requestDateFormat).format(format);\n\nexport const attendeeNames = (arr, argument) => arr.map(props => props[argument]).join(', ');\n\nexport const isEqualEvents = (prevEvents = [], nextEvents = []) =>\n isEqual(\n sortBy(flatten(prevEvents.map(e => e.events.map(ev => ev))), ['token']),\n sortBy(flatten(nextEvents.map(e => e.events.map(ev => ev))), ['token']),\n );\n\nexport const deleteEventItem = (events, eventToken) => events\n // To delete an event by token\n .map(g => ({\n ...g,\n events: g.events.filter(event => event.token !== eventToken),\n }))\n // To delete an empty group\n .filter(g => g.events.length)\n;\n\nexport const sortedSelected = (selected = []) => selected\n .filter(({ value }) => value)\n .sort((a, b) => {\n if (sortingByKeys.indexOf(a.name) > sortingByKeys.indexOf(b.name)) {\n return 1;\n }\n\n return -1;\n });\n\nexport const formatedValue = (name, value) => {\n const isDateFilled = dateKeys.includes(name) && value;\n\n if (!isDateFilled) {\n return value;\n }\n\n const prefixes = {\n starts_at: 'On or after',\n ends_at: 'On or before',\n };\n\n const date = moment(value).format(dateFormat);\n\n return `${prefixes[name]} ${date}`;\n};\n\nexport const prepareEventItem = event => ({\n ...event,\n starts_at: convertDateTimeZone(event.starts_at, timeFormat),\n ends_at: convertDateTimeZone(event.ends_at, timeFormat),\n});\n\nexport const prepareEvents = (events, hill_day_token) => events\n .map(event => ({\n ...prepareEventItem(event),\n hill_day_token,\n }))\n;\n\nexport const routing = (eventToken = '', method) => {\n const isNew = method === 'new';\n const isEdit = method === 'edit';\n const isView = !!eventToken && !isNew && !isEdit;\n\n return { eventToken, isView, isNew, isEdit };\n};\n\nexport const filteredValue = (initialState) => {\n const filtered = {};\n\n Object.keys(initialState).forEach((name) => {\n const value = initialState[name];\n\n if (useFilterKeys.includes(name)) {\n filtered[name] = [...value.split(',')];\n } else {\n filtered[name] = value;\n }\n });\n\n return filtered;\n};\n\nexport const getName = (name, token, eventList) => {\n const key = keyName[name];\n const list = eventList.map(({ events }) => events.map(event => event[key]));\n const item = find(flattenDeep(list), ['token', token]);\n\n return item && item.full_name;\n};\n\nconst splittedValue = (splitted, name, events) => {\n const selected = [];\n\n splitted.forEach((value) => {\n const label = getName(name, value, events);\n\n if (label) {\n selected.push({\n key: value,\n name,\n value,\n label,\n });\n }\n });\n\n return selected;\n};\n\nexport const initialState = (state, events) => {\n const selected = [];\n\n Object.keys(state).forEach((name) => {\n const value = state[name];\n\n if (useFilterKeys.includes(name)) {\n selected.push(...splittedValue(value.split(','), name, events));\n } else {\n selected.push({\n key: name,\n name,\n value,\n });\n }\n });\n\n return selected;\n};\n\nexport const getValues = (selected = []) => {\n const values = {};\n\n selected.forEach(({ key, name, value }) => {\n if (useFilterKeys.includes(name) && key) {\n values[name] = values[name] || [];\n values[name].push(key);\n } else if (value) {\n values[name] = value.toLowerCase();\n }\n });\n\n return values;\n};\n\nexport const queryValues = (selected = []) => {\n const search = [];\n const values = getValues(selected);\n\n Object.keys(values).forEach(name => search.push(`${name}=${values[name]}`));\n\n return search;\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport Button from 'components/core/Button';\nimport Loader from 'components/core/Loader';\n\nimport styles from './styles.module.scss';\n\nfunction IconButton({\n children,\n iconClass,\n className,\n iconClassName,\n isLoading,\n disabled,\n ...restProps\n}) {\n const buttonClassNames = classNames(\n styles.button,\n className,\n (isLoading || disabled) && styles.disabled,\n );\n\n return (\n <Button\n customIcon={!isLoading && <i className={iconClass} />}\n iconClassName={classNames(styles.icon, iconClassName)}\n theme=\"light\"\n disabled={disabled || isLoading}\n className={buttonClassNames}\n {...restProps}\n >\n {isLoading && <Loader onlyIcon size=\"xSmall\" className={styles.loader} />}\n {children}\n </Button>\n );\n}\n\nIconButton.propTypes = {\n children: PropTypes.node.isRequired,\n iconClass: PropTypes.string.isRequired,\n className: PropTypes.string,\n isLoading: PropTypes.bool,\n disabled: PropTypes.bool,\n iconClassName: PropTypes.string,\n};\n\nexport default IconButton;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"result\":\"styles-module__result___2D-XR\",\"locked\":\"styles-module__locked___jzFoc\",\"label\":\"styles-module__label___1hYJB\",\"resultTitle\":\"styles-module__resultTitle___lPUxg\",\"padlockIcon\":\"styles-module__padlockIcon___2PPr2\",\"highlightedTerm\":\"styles-module__highlightedTerm___3yHrR\",\"partyIcon\":\"styles-module__partyIcon___yHaaG\",\"linkIcon\":\"styles-module__linkIcon___2abBl\",\"internalLinkIcon\":\"styles-module__internalLinkIcon___2X0l-\",\"readonly\":\"styles-module__readonly___10rA4\",\"byline\":\"styles-module__byline___eIzr1\",\"focusedResult\":\"styles-module__focusedResult___3iEiw\",\"deleteWrapper\":\"styles-module__deleteWrapper___2TrNZ\",\"deleteIcon\":\"styles-module__deleteIcon___ISG6Z\"};","import PropTypes from 'prop-types';\n\nimport { frequencyType } from 'components/core/FrequencyOptions/shapes';\nimport { stringNumberType } from 'utils/shapes';\nimport {\n responseTrackingTypes,\n SUBSCRIBABLE_TYPES,\n} from 'components/Dashboard/common/FeedPage/utils/constants';\n\nexport const subscribableTypePropType = PropTypes.oneOf(\n Object.values(SUBSCRIBABLE_TYPES).concat(\n [\n responseTrackingTypes.FEDERAL_LEGISLATOR_STAFFER,\n responseTrackingTypes.STATE_LEGISLATOR_STAFFER,\n ]\n )\n);\n\nexport const subscriptionShape = PropTypes.shape({\n frequency: frequencyType,\n isSaved: PropTypes.bool,\n keyword: PropTypes.string,\n modelId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n modelSlugs: PropTypes.arrayOf(PropTypes.string),\n modelType: PropTypes.string,\n priority: PropTypes.string,\n sectionType: PropTypes.string.isRequired,\n sendWeekAheadEmail: PropTypes.bool,\n title: PropTypes.string,\n token: PropTypes.string.isRequired,\n type: subscribableTypePropType.isRequired,\n url: PropTypes.string,\n});\n\nexport const defaultSubscriptionShape = PropTypes.shape({\n defaultSubscription: PropTypes.string,\n ui: PropTypes.shape({\n isLoadingDefaultSubscription: PropTypes.bool.isRequired,\n isUpdatingDefaultSubscription: PropTypes.bool.isRequired,\n }),\n});\n\nexport const listSubscriptionShape = PropTypes.shape({\n modelId: stringNumberType,\n type: subscribableTypePropType.isRequired,\n frequency: frequencyType.isRequired,\n sendWeekAheadEmail: PropTypes.bool,\n label: PropTypes.string,\n content: PropTypes.string,\n});\n\nexport const multipleSubscriptionShape = {\n isCommittee: PropTypes.bool,\n listSubscriptions: PropTypes.arrayOf(listSubscriptionShape),\n};\n\nexport const partyShape = PropTypes.shape({\n percentage: PropTypes.number,\n count: PropTypes.number,\n});\n","import GlobalNotifier from 'components/GlobalNotifier';\n\nconst { addNotification } = GlobalNotifier;\n\nconst error = message => addNotification({ message, level: 'error' });\n\nexport default class Notifications {\n static showGMapsFailed = () => error('Google Maps extension load failed.');\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"commonBadge\":\"styles-module__commonBadge___2xLU_\",\"blueBadge\":\"styles-module__blueBadge___23OZZ\",\"redBadge\":\"styles-module__redBadge___3RZbA\",\"gray\":\"styles-module__gray___31R8w\"};","import PropTypes from 'prop-types';\nimport { omit, keys } from 'lodash';\n\nimport {\n TWITTER_SLUG,\n CONGRESSIONAL_RECORD_ITEMS_SLUG,\n CONGRESSIONAL_PRESS_RELEASES_SLUG,\n} from 'utils/constants/featureSlugs';\n\nimport { resultLabels } from './resultLabels';\n\nexport { productSlugs } from './productSlugs';\nexport { resultLabels };\n\nexport const GLOBAL_SEARCH_URL = '/api_web/global_search/search/lookup';\n\nexport const MIN_SEARCH_INPUT_LENGTH = 3;\n\nexport const QUICK_SEARCH_SLUGS = keys(\n omit(\n resultLabels,\n [\n TWITTER_SLUG,\n CONGRESSIONAL_RECORD_ITEMS_SLUG,\n CONGRESSIONAL_PRESS_RELEASES_SLUG,\n ]\n ),\n);\n\nexport const customOptionsShape = PropTypes.shape({\n partyShort: PropTypes.string,\n partySlug: PropTypes.string,\n date: PropTypes.string,\n state: PropTypes.string,\n});\n\nexport const optionShape = PropTypes.shape({\n label: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n strategy: PropTypes.string.isRequired,\n customOptions: customOptionsShape,\n});\n\nexport const EXECUTIVE_PERSON_SLUG = 'executive_person';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactModal from 'react-modal';\n\n\nconst Modal = props => (\n <ReactModal\n ariaHideApp={false}\n className=\"modal-dialog\"\n {...props}\n >\n {props.children}\n </ReactModal>\n);\n\nModal.propTypes = {\n children: PropTypes.node,\n};\n\nexport default Modal;\n"],"sourceRoot":""}