{"version":3,"sources":["redux/modules/UI/actions.js","redux/modules/UI/types.js","redux/modules/Company/selectors.js","redux/modules/Cabinet/utils.js","redux/modules/Cabinet/operations.js","utils/SubscriptionsDict.js","redux/modules/Project/selectors.js","components/common/InputStyledCheckbox/index.js","redux/modules/Todos/types.js","redux/modules/Data/selectors.js","redux/modules/Billing/operations.js","redux/modules/UI/selectors.js","redux/store/configureStore.prod.js","redux/store/configureStore.dev.js","utils/fontawesome.js","components/Footer/Footer.js","assets/images/one_tap_logo.png","components/LoadingComponent/LoadingComponent.js","utils/Auth.js","views/ForgotPassword/ForgotPassword.js","assets/images/one_tap_wordmark.png","assets/images/wordmark-white.svg","assets/images/google_icon.svg","views/Login/index.js","views/Login/Login.js","components/forms/ResetPasswordForm/ResetPasswordForm.js","views/ResetPassword/ResetPassword.js","components/TermsOfServiceModal/TermsOfServiceModal.js","views/NewCompany/NewCompany.js","views/Register/Register.js","views/Register/RegisterContainer.js","views/RegisterConfirm/RegisterConfirm.js","routes/Registration/Registration.js","routes/Basic/Basic.js","components/OrgButton/OrgButton.js","components/WhatsNewModal/WhatsNewModal.js","assets/images/buildings.svg","components/CompanyDropdown/CompanyDropdown.js","components/SearchBar/SearchBar.js","components/ConsistentTopbar/ConsistentTopbar.js","views/EntitySelect/EntitySelect.js","views/Home/Home.js","views/Home/index.js","views/Home/HomeContainer.js","views/ShareDataRoomModal/ShareDataRoomModal.js","assets/images/one_tap_wordmark_white.svg","assets/images/paperOS_wordmark_white.svg","assets/images/savvi-logo-white.svg","assets/images/one_tap_logo_white.svg","components/Sidebar/DashboardNav/DashboardNav.js","components/Sidebar/SidebarNavLink/SidebarNavLink.js","components/ProjectHeader/ProjectHeader.js","components/Sidebar/WorkbenchNav/WorkbenchNav.js","components/Sidebar/TeamsNav/TeamsNav.js","views/Sidebar/Sidebar.js","routes/Dashboard/Dashboard.js","views/OutsideForm/OutsideForm.js","components/BasicTopbar/BasicTopbar.js","views/OutsideForm/OutsideFormContainer.js","views/Room/RoomReports.js","components/WorkbenchInfoModal/WorkbenchInfoModal.js","views/PortalView/PortalView.js","views/Room/Room.js","components/PortalActionFormModal/PortalActionFormModal.js","components/PortalTaskModal/PortalTaskModal.js","components/BatchUploadModal/BatchUploadModal.js","views/Workbench/Workbench.js","views/Workbench/WorkbenchContainer.js","components/inputs/InputVerification/InputVerification.js","views/VerifyCode/VerifyCode.js","views/VerifyCode/index.js","views/VerifyByLink/VerifyByLink.js","views/VerifyByLink/index.js","views/RoomInvite/index.js","views/RoomInvite/RoomInvite.js","components/PrivacyPolicyModal/PrivacyPolicyModal.js","views/NewCompany/index.js","containers/App.js","containers/Root.js","registerServiceWorker.js","index.js","redux/modules/Document/actions.js","redux/modules/Profile/selectors.js","redux/modules/Todos/operations.js","utils/UseWindowSize.js","redux/utils/api.js","components/common/Dropdown/Dropdown.js","utils/generateBem.js","utils/PandaDocStatusDict.js","redux/modules/Document/operations.js","redux/modules/Todos/selectors.js","redux/modules/Company/actions.js","redux/modules/User/reducers.js","utils/handlePath.js","components/PageLoader/PageLoader.js","redux/modules/Document/selectors.js","utils/generateMultiHash.js","components/AlertModal/AlertModal.js","components/formik/ShareLinks/ShareLinks.js","redux/modules/Data/types.js","redux/modules/Billing/selectors.js","assets/images/pdf_thumbnail.png","components/FilePreviewer/FilePreviewer.js","redux/modules/Formation/actions.js","redux/modules/Profile/actions.js","components/AssignTodo/AssignTodo.js","redux/modules/Profile/operations.js","components/common/InputStyledCheckbox/InputStyledCheckbox.js","redux/modules/Project/actions.js","data/CountryData.js","utils/FilterTools.js","components/SortDropdown/SortDropdown.js","components/SortDropdown/index.js","assets/images/savvi_logo.svg","redux/modules/Transaction/types.js","data/StateData.js","assets/images/doc_preview.svg","utils/WorkflowLearnMoreLinks.js","redux/modules/Cabinet/actions.js","redux/modules/Todos/actions.js","utils/generateErrorNotice.js","redux/modules/User/types.js","views/Room/RoomSettings.js","redux/middleware/PayloadHandler.js","components/DocumentPreview/DocumentPreview.js","redux/utils/createReducer.js","redux/utils/fetchingReducer.js","redux/utils/apiErrorsReducer.js","redux/utils/errors.js","utils/Validations.js","components/OverviewCard/OverviewCard.js","components/FileUploader/FileUploader.js","assets/images/file_edit.svg","assets/images/file_upload.svg","components/AddResourceModal/AddResourceModal.js","components/DataTable/DataRow.js","components/DataLedgerModal/DataLedgerModal.js","components/DataTable/DataTable.js","redux/modules/Billing/actions.js","components/inputs/InputCheckbox/InputCheckbox.js","components/inputs/InputCheckboxGroup/InputCheckboxGroup.js","components/inputs/InputHelp/InputHelp.js","components/inputs/InputPassword/InputPassword.js","components/inputs/InputPhoneNumber/InputPhoneNumber.js","components/inputs/InputSelect/InputSelect.js","components/inputs/InputSubLabel/InputSubLabel.js","components/inputs/InputStyledTextField/InputStyledTextField.js","components/inputs/InputTextarea/InputTextarea.js","components/inputs/MultiToggle/MultiToggle.js","utils/useInterval.js","redux/modules/UI/reducers.js","components/SavviLoading/SavviLoading.js","redux/modules/Transaction/operations.js","utils/useMultiHash.js","components/SavviNavLink/SavviNavLink.js","redux/modules/Data/actions.js","redux/modules/Data/operations.js","components/formik/AddressGroup/AddressGroup.js","components/formik/Checkbox/Checkbox.js","components/formik/CheckboxGroup/CheckboxGroup.js","components/formik/Comment/Comment.js","components/formik/FormCustomDoc/FormCustomDoc.js","components/formik/FormFileUploader/FormFileUploader.js","components/formik/PhoneNumber/PhoneNumber.js","components/formik/ResourceList/ResourceList.js","components/formik/ResourceSelect/ResourceSelect.js","components/formik/Select/Select.js","components/formik/StyledCheckbox/StyledCheckbox.js","components/formik/TemplateLink/TemplateLink.js","components/formik/Textarea/Textarea.js","utils/TransformDict.js","components/formik/TextField/TextField.js","components/formik/Password/Password.js","components/formik/CompanyName/CompanyName.js","redux/modules/UI/operations.js","views/InfoSidebar/index.js","views/InfoSidebar/InfoSidebar.js","components/DataTable/index.js","redux/modules/Profile/types.js","utils/DocumentsSortOptions.js","components/DocumentsSection/DocumentsSection.js","components/inputs/InputFeedback/InputFeedback.js","components/WorkbenchActions/WorkbenchActions.js","assets/images/savvi_loading.svg","utils/ModuleDict.js","utils/FeatureTypes.js","redux/modules/Cabinet/reducers.js","redux/modules/Company/reducers.js","redux/modules/Document/reducers.js","redux/modules/Data/reducers.js","redux/modules/Formation/reducers.js","redux/modules/Profile/reducers.js","redux/modules/Project/reducers.js","redux/modules/Todos/reducers.js","redux/modules/Transaction/reducers.js","redux/reducers/index.js","utils/LLCDict.js","redux/modules/Transaction/selectors.js","views/WorkbenchForm/WorkbenchForm.js","views/WorkbenchForm/WorkbenchFormContainer.js","components/FinalizeReviewModal/FinalizeReviewModal.js","components/RoomUserHistoryModal/RoomUserHistoryModal.js","redux/modules/Billing/types.js","components/PlansModal/PlansModal.js","components/OverviewCard/index.js","redux/store/configureStore.js","components/SettingsBilling/SettingsBilling.js","components/DocumentsSection/index.js","redux/modules/Billing/reducers.js","components/TasksSection/TasksSection.js","components/common/Calendly/Calendly.js","components/common/FA/FA.js","components/common/NoticeToast/NoticeToast.js","components/common/SiteMaintenanceBanner/SiteMaintenanceBanner.js","components/common/Tooltip/Tooltip.js","redux/modules/Formation/types.js","redux/modules/Document/types.js","redux/modules/Company/operations.js","redux/modules/User/actions.js","redux/modules/Project/types.js","redux/modules/User/selectors.js","components/common/Button/Button.js","redux/modules/User/utils.js","redux/modules/User/operations.js","components/TodosSection/TodosSection.js","components/ProjectCounselModal/ProjectCounselModal.js","redux/modules/Cabinet/types.js","components/ReviewersModal/ReviewersModal.js","components/TimelineSection/TimelineSection.js","components/AddReviewerModal/AddReviewerModal.js","components/common/ProgressBar/ProgressBar.js","components/WorkbenchDocStatus/WorkbenchDocStatus.js","components/TaskCard/TaskCard.js","utils/usePageVisibility.js","views/WorkbenchTaskOverview/WorkbenchTaskOverview.js","utils/usePageFocused.js","views/WorkbenchTaskOverview/index.js","utils/MyTypes.js","redux/modules/Project/operations.js","redux/modules/Formation/selectors.js","redux/modules/Formation/operations.js","redux/modules/Transaction/actions.js","redux/modules/Company/types.js","redux/modules/Cabinet/selectors.js","components/SavviLoading/index.js"],"names":["openTermsModal","type","OPEN_TERMS_MODAL","closeTermsModal","CLOSE_TERMS_MODAL","openUserDropdown","OPEN_USER_DROPDOWN","closeUserDropdown","CLOSE_USER_DROPDOWN","setNotice","payload","SET_NOTICE","clearNotice","CLEAR_NOTICE","clearNotices","CLEAR_NOTICES","setSearch","input","SET_SEARCH","setBrandMeta","SET_BRAND_META","CLEAR_SEARCH","SET_SIDEBAR_COLLAPSED","FETCH_BRAND_META_REQUEST","FETCH_BRAND_META_SUCCESS","FETCH_BRAND_META_FAILED","isCompanyFetching","defaultMemoize","state","get","IsMultiCompany","Object","keys","length","MyCompanies","values","included_states","MyFormattedCompanies","createSelector","companies","map","company","documents","filter","e","includes","status","partner","label","name","value","sort","a","b","Date","created_at","getCompanyDataTables","isEmpty","Company","companyDataTables","question_label","id","getCurrentCompanyID","CurrentCompany","currentCompanyID","findIndex","account_id","CompaniesActionableDocuments","reduce","dict","forEach","doc","account_task_id","push","account","MyTransactions","transactions","filteredDocs","companyMeta","document","isRedlining","some","transaction","taskIndex","tasks","task","savvi_task_id","revision_count","editableDocs","missingSignatureDocs","boxTokenIsValid","Cabinet","box","accessToken","accessTokenTTLMS","acquiredAtMS","userDocumentBoxTokenIsValid","documentId","userDocumentToken","userDocumentsBoxTokens","getOutsideBoxToken","accessCode","BOX_TOKEN_REQUEST","types","BOX_TOKEN_SUCCESS","BOX_TOKEN_FAILED","dispatch","getState","RSAA","endpoint","method","headers","requestHeaders","bailout","actionResponse","error","message","getBoxToken","accountId","generateErrorNotice","getUserDocumentBoxToken","REQUEST","SUCCESS","FAILED","actions","token","downloadSelectedBoxFiles","items","DOWNLOAD_SELECTED_BOX_FILES_REQUEST","DOWNLOAD_SELECTED_BOX_FILES_SUCCESS","DOWNLOAD_SELECTED_BOX_FILES_FAILED","body","JSON","stringify","getBoxFileForDataRoom","boxFileId","queryUrl","GET_BOX_FILE_INFO_REQUEST","GET_BOX_FILE_INFO_SUCCESS","GET_BOX_FILE_INFO_FAILED","Error","getBoxFileInfo","fileId","companyId","handlePath","getBoxTokenFolderId","path","isOutsideForm","access_code","uploadBoxFile","UPLOAD_BOX_FILE_REQUEST","UPLOAD_BOX_FILE_SUCCESS","UPLOAD_BOX_FILE_FAILED","SolutionsFeaturesDict","EntityFeaturesDict","columns","features","rowFeature","description","rowSubfeatures","EquityFeaturesDict","FundraisingFeaturesDict","TeamFeaturesDict","IPFeaturesDict","CustomersPartnersFeaturesDict","CrisisManagement","ExpeditedSBALoan","isFetchingWithHooks","ProjectCounsel","counsel_type","FirstAttachedPartner","getAccountProjectsForModuleView","submittedTransactions","open","submittedText","moduleId","template","module_id","getAccountProject","AccountProject","AccountProjectWithDocuments","DocumentsByProject","project","updatedTransactions","transactionDocuments","isDeletable","delete_level","updatedTasks","docIndex","template_variant","preview","box_file_id","template_type","customer_label","isTransactionOpen","validatedQuestionnaire","validated_questionnaire","GetWorkflows","solutionsFeaturesIndex","findSolutionsIndex","feature","isSolutionsHelpShowing","solutionsSlug","entries","innerIndex","workflows","isLearnMoreShowing","learnMoreUrl","WorkflowLearnMoreLinks","isDataRoom","getProjects","getProjectsHomeModule","projects","order","getLearnMoreMetaForProjectView","project_template_id","getDocumentTasksCountForProjectView","tasksCount","mode","getGroupedTransactionsForProjectView","initArr","group","groupLabel","groupedTransactions","index","groupIndex","getGroupedTransactionsWithDocumentsForProjectView","groupDocuments","transactionsOpen","createdAt","isGroupDeletable","existingGroup","valueOf","rooms","init_room","getProjectsForModuleView","accountProjects","updatedProjects","is_repeatable","projIndex","val","is_started","getFaqsForProjectView","ind","faqIndex","faq","faqs","GET_ACCOUNT_TODOS_REQUEST","GET_ACCOUNT_TODOS_SUCCESS","GET_ACCOUNT_TODOS_FAILED","GET_USER_TODOS_REQUEST","GET_USER_TODOS_SUCCESS","GET_USER_TODOS_FAILED","UPDATE_ACCOUNT_TODO_REQUEST","UPDATE_ACCOUNT_TODO_SUCCESS","UPDATE_ACCOUNT_TODO_FAILED","UPDATE_USER_TODO_REQUEST","UPDATE_USER_TODO_SUCCESS","UPDATE_USER_TODO_FAILED","ASSIGN_ACCOUNT_TASK_TODO_REQUEST","ASSIGN_ACCOUNT_TASK_TODO_SUCCESS","ASSIGN_ACCOUNT_TASK_TODO_FAILED","ASSIGN_USER_TASK_TODO_REQUEST","ASSIGN_USER_TASK_TODO_SUCCESS","ASSIGN_USER_TASK_TODO_FAILED","DELETE_ACCOUNT_TODO_REQUEST","DELETE_ACCOUNT_TODO_SUCCESS","DELETE_ACCOUNT_TODO_FAILED","DELETE_USER_TODO_REQUEST","DELETE_USER_TODO_SUCCESS","DELETE_USER_TODO_FAILED","GET_USER_ASSIGNEE_OPTIONS_REQUEST","GET_USER_ASSIGNEE_OPTIONS_SUCCESS","GET_USER_ASSIGNEE_OPTIONS_FAILED","GET_ACCOUNT_ASSIGNEE_OPTIONS_REQUEST","GET_ACCOUNT_ASSIGNEE_OPTIONS_SUCCESS","GET_ACCOUNT_ASSIGNEE_OPTIONS_FAILED","SET_ACCOUNT_TODOS","SET_ASSIGNEE_OPTIONS","SET_TEAM_TODOS","AccountRooms","Data","accountRooms","UserRooms","roomId","userRooms","getRoomFeatures","key","feature_id","getRoomFeaturesAsOptions","feature_type","startCase","getRoomResourceOptions","resource","resource_id","getRoom","IsFetching","getRoomCodes","roomCodes","getRoomDocuments","roomDocuments","getRoomLinks","roomLinks","getRoomParticipants","roomParticipants","getRoomAccessLog","roomAccessLog","getRoomHistory","roomHistory","getRoomSharingMeta","codes","accessLog","participants","standingFormLink","standingFormLinkLabel","standingForms","standingFormsCompleted","otherForms","otherFormsCompleted","totalTimesVisited","totalDocInteractions","totalPrivateLinks","anonymous","lastVisited","timesVisited","docInteractions","forms","history","usersByEmail","existingUser","email","room_access","trim","user_id","room_id","code","outside_form","metadata","assigned_email","identifier","user","find","v","log","historyAction","action","usersArr","addFeatureToDict","passedDict","resource_custom_label","resources","featuresArr","resource_type","resource_type_id","resource_variable_name","getRoomWithUpdatedFeatures","room","entityMeta","infoCardFeatures","isChecklistsAvailable","updatedFeatures","valStr","isDocument","parseShareLink","slice","addPaymentMethod","is_default","customNotice","stripe_token_id","options","timeout","getPaymentMethods","addACHMethod","savePlaidMethod","getPlaidToken","verifyACHMethod","bankToken","removePaymentMethod","methodId","removeACHMethod","setDefaultMethod","default_method_id","getInvoice","setInvoice","getSubscriptions","mergeSubscription","setSubscription","subscriptionSlug","selected_source_id","getAccountInfo","deleteSubscription","subscriptionId","getSubscriptionPreview","getCouponInfo","coupon","getNotices","SearchInput","BrandMeta","brandMeta","web_base_url","window","location","href","process","createBrowserHistory","configureStore","preloadedState","createStore","createRootReducer","applyMiddleware","thunk","myInterceptor","apiMiddleware","routerMiddleware","logger","createLogger","collapsed","duration","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","library","add","faCcAmex","faCcDiscover","faGoogle","faCcMastercard","faCcVisa","faArchive","faArrowDown","faArrowUp","faArrowLeft","faArrowRight","faBars","faCaretDown","faCaretLeft","faCaretRight","faCaretUp","faCheck","faCheckCircle","faChevronDown","faChevronLeft","faChevronRight","faChevronUp","faCircle","faCircleInfo","faComments","faDownload","faEllipsisV","faEnvelope","faExclamation","faExclamationCircle","faEye","faEyeSlash","faFile","faFileSearch","faInfo","faLock","faLongArrowLeft","faLongArrowRight","faMagnifyingGlass","faMinus","faPencil","faPencilAlt","faPhone","faPlus","faQuestion","faSlash","faSpinner","faSuitcase","faTimes","faTimesCircle","faTrademark","faTrash","faUser","faUserPlus","faCaretSquareDown","faCaretSquareUp","faCircleReg","faDollarSignReg","faArrowDownToLine","faFileReg","faFileImport","faFileSearchReg","faLowVision","faPercent","faPrintSearch","faUnlink","faArrowDown19","faArrowDownAZ","faArrowDownWideShort","faArrowUp19","faArrowUpAZ","faArrowUpWideShort","faArrowFromLeft","faArrowUpFromSquare","faArrowToLeft","faBallotCheck","faBarsLight","faBell","faBellSlash","faBooks","faBuilding","faBuildingCircleArrowRight","faCalendarAlt","faCaretDownLight","faCaretUpLight","faChartPie","faCheckLight","faCheckCircleLight","faCheckSquare","faChevronDownLight","faChevronLeftLight","faChevronRightLight","faCircleLight","faClipboard","faClock","faClockRotateLeft","faCog","faCopy","faCreditCard","faDollarSignLight","faEdit","faEllipsisVLight","faEnvelopeOpenText","faEraser","faExternalLink","faFeatherAlt","faFileAlt","faFileArrowDown","faFileContract","faFileDownload","faFileInvoiceDollar","faFileExport","faFileLight","faFilePlus","faFileSignature","faFilePen","faFileUpload","faFileUser","faHandshake","faHome","faHouseUser","faHistory","faHourglass","faInfoCircle","faLayerGroup","faLightbulb","faLink","faLinkSimple","faLockKeyhole","faMinusLight","faMinusSquare","faMoneyCheck","faMoneyCheckEdit","faPaperPlane","faPenAlt","faPlusLight","faPlusCircle","faPlusSquare","faPortrait","faQuestionCircle","faQuestionLight","faSearch","faShareFromSquare","faSort","faSortAmountDown","faSortAmountUp","faScroll","faShoppingBasket","faSignature","faTasks","faTimesLight","faTrashAlt","faUndo","faUserAlt","faUserCircle","faUserEdit","faUserMinus","faUserPlusLight","faUsers","faUsersClass","faUserTie","faRocket","dom","watch","Footer","hideBack","hideLogo","hideSettings","useLocation","isWhiteLabel","className","src","logo","alt","buttonType","to","pathname","background","initialized","size","target","rel","defaultProps","isAuthenticated","Loading","useDispatch","useState","isPastDelay","setPastDelay","useEffect","timer1","setTimeout","localStorage","id_tokens","onLogout","clearTimeout","onClick","preventDefault","SavviLoading","locationHelper","locationHelperBuilder","userIsAuthenticated","connectedReduxRedirect","redirectPath","ownProps","match","params","redirectQueryParam","getRedirectQueryParam","Auth","isInitLoading","search","replace","redirectAction","newLoc","authenticatedSelector","authenticatingSelector","isCompanyTokenRefreshing","AuthenticatingComponent","userIsNotAuthenticated","updatedOwnProps","storedLocation","parse","removeItem","hash","redirectPathname","decodeToken","passedId","redirectLoc","getItem","redirectHash","allowRedirectBack","reinitialize","redirectCompanyId","split","setCompany","then","err","isPlansShowing","ForgotPassword","goBack","useHistory","setError","emailInput","setEmailInput","isSubmitting","setIsSubmitting","validateField","fieldError","validateEmail","style","paddingTop","autoComplete","inputClassName","onChange","onBlur","isFetching","isDisabled","requestVerificationEmail","Login","passedEmail","authErrors","useSelector","AuthErrors","isFetchingUser","setEmail","prevAuthErrors","setPrevAuthErrors","errors","setErrors","isEmailVerified","setEmailVerified","isSubmitted","setIsSubmitted","isLoading","setLoading","isPasswordAllowed","setIsPasswordAllowed","isPasswordPlainText","setPasswordPlainText","password","setPassword","idTokenInjector","useRef","emailRef","useCallback","node","focus","passwordRef","clearErrors","verifyEmail","password_allowed","isEqual","primaryActionLabel","oneTapLogo","icon","inputClass","isDataHidden","omit","ref","hasToggle","isPlainText","ev","relatedTarget","validatePassword","validateLoginPassword","onToggle","form","Button","loginUser","redirectLocation","stopPropagation","setItem","googleIcon","decodedToken","current","setUserFromToken","ResetPasswordForm","props","validateForm","setState","resetSchema","handleChange","handleSubmit","onSubmit","isPwPlainText","this","Component","connect","UI","data","resetPassword","ResetPassword","Modal","setAppElement","TermsOfService","onClose","isOpen","onRequestClose","contentLabel","overlayClassName","customStyles","overlay","zIndex","backgroundColor","position","height","width","display","overflowY","WebkitOverflowScrolling","content","maxWidth","margin","padding","border","boxShadow","flexDirection","businessTypeOptions","NewCompany","setSubmitted","initialValues","company_name","business_type","feature_type_id","createNewCompany","formikProps","component","TextField","validate","validateString","Select","isValidatingOnBlur","validateSelect","RegisterForm","isModalOpen","isRoomRedirect","handleTogglePassword","handleOnLoginClick","toggleModal","placeholder","Password","sublabel","StyledCheckbox","htmlFor","RegisterContainer","submitForm","first_name","last_name","tos","userBody","family_name","create","companyBody","enhance","isTermsModalOpen","createUser","operations","setUser","RegisterConfirm","handleResend","confirm","resendEmailConfirmation","submitCode","confirmUserEmail","join","indexOf","renderDigit","digit","disabled","onPaste","handlePaste","inputs","maxLength","updateCode","onKeyDown","allowOverwrite","isFilled","clone","compact","event","digits","clipboardData","getData","spin","Registration","exact","Register","RemoteLogin","IsAuthenticated","query","URLSearchParams","userId","refreshCompanyToken","reload","Basic","from","OrgButton","accountInfo","darkText","limitedUserEmail","subscriptions","owner","getAuthAccount","impersonator_id","useParams","UseWindowSize","getUser","AuthUser","getAuthUser","isFetchingProfile","isAccountSettingsShowing","IsAccountSettingsShowing","currentCompany","isPaymentsHidden","partner_id","isInitFetchingTimeout","setIsInitFetchingTimeout","initLoadingTimeout","signedInEmail","menuLabel","isNameShowing","isExclamationShowing","possessionLabel","Dropdown","Toggle","toggleProps","isToggled","minHeight","borderRadius","top","left","right","bottom","WhatsNewModalToggle","userProfile","getCurrentUser","password_prompted","setOpen","email_verified","closeModal","WhatsNewModal","closeTimeoutMS","saveSettings","_path","_path2","_path3","_path4","_path5","_path6","_path7","_path8","_excluded","_extends","assign","bind","i","arguments","source","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgBuildings","_ref","svgRef","title","titleId","viewBox","fill","xmlns","fillRule","clipRule","d","ForwardRef","CompanyDropdown","isCollapsed","isTeam","isWorkbench","historyLocation","companyName","CompanyNameWithHooks","currentAccountId","getAccountId","isTooltipShowing","includedUserPathHistoryIndex","Number","classNames","workbench","text","align","SearchBar","searchInput","Topbar","isTeamView","isPortalView","workbenchParams","step","AccountInfo","credits_info","limit","used","has_partner_subscriptions","isDocumentCountModalOpen","setDocumentCountModal","availableCredits","isNaN","isVerifyHiding","isUpgradePlanShowing","plansPath","close","closeOnInsideClick","toggle","dayjs","extend","localizedFormat","sortStrings","sortIsDesc","localeCompare","sortByDate","EntityGroups","handleShowGroupModal","groupedCompanies","handleShowAddManyToGroupModal","isMultiCompany","isPartner","IsPartner","groupRenameInput","setGroupRenameInput","isGroupRenameShowing","showGroupRename","setSortIsDesc","sortSlug","setSortSlug","sortIcon","sortedEntities","useMemo","updatedEntities","entities","role","sortNumbers","handleSortClick","clickedFilter","handleSortGroup","aboveGroupOrder","secondAboveGroupOrder","entity","entityIndex","updateCompanyPreferences","getCompanies","ungrouped","isWarning","removeCompanyPreferences","handleDeleteGroup","fourCols","fiveCols","companyIndex","defaultPrevented","fontSize","format","p","account_group","selectedGroup","handleAddToGroup","handleRemoveFromGroup","bem","generateBem","AddToGroupModal","isShowing","handleClose","setGroup","updatedGroup","onAfterClose","classList","remove","isCreatable","AddManyToGroupModal","selectedCompanies","setSelectedCompanies","filteredCompanies","isClearable","isMulti","EntitySelect","roomCode","isFetchingInit","setFetchingInit","passedState","url","updatedCompanies","someValuesEveryString","groupedEntities","account_order","isAddToGroupModalShowing","showAddToGroupModal","selectedCompany","setSelectedCompany","isAddManyToGroupModalShowing","showAddManyToGroupModal","setSelectedGroup","PageLoader","groupOrder","Home","homeNavLinkItems","isAllEmpty","isDataLoaded","myDocuments","filterInput","myTasks","myTodos","setFilterInput","SavviNavLink","navLinkItems","parentPathname","ModuleDict","noHash","hashContains","DocumentsSection","sectionLabel","isPdfHiding","TodosSection","todos","TasksSection","isHome","isSectionOpenInit","isHeightUnset","HomeContainer","boxToken","BoxToken","openTasks","State","getMissingInfoTransactions","Transaction","actionableDocs","getActionableDocuments","Todos","minLoadingTimedOut","setMinLoadingTimedOut","maxLoadingTimedOut","setMaxLoadingTimedOut","setInitialized","minLoadingTimeout","maxLoadingTimeout","redirect","getTodos","getAllDocuments","getAccountTransactions","replaceState","isItemLengthShowing","itemLength","ShareDataRoomModal","copyToClipboard","queryCommandSupported","el","createElement","link","appendChild","select","execCommand","removeChild","getLink","locationPath","createLink","expires","updateLink","isCopyable","test","maxHeight","handleOnCopyClick","moment","dataRoomLink","getDataRoomLink","createDataRoomLink","updateDataRoomLink","DashboardNav","isCabinetShowing","IsFileCabinetShowing","isRoomsViewShowing","isActive","SideBarNavLink","isReplace","SVG","activeClassName","fixedWidth","ProjectHeader","isEditingAllowed","isHighlighted","handleUpdateProjectName","projectLabel","inputEl","updateLabel","isEditable","setEditable","WorkbenchNav","projectId","transactionId","Project","learnMoreMeta","setInitLoading","currentTransactionIndex","isCurrentTransactionOpen","isInitQuestionnaire","updateProject","classnames","borderless","isProcessesShowing","is_assessment","deleteAccountProject","TeamsNav","room_access_code","isUserAuthenticated","currentAccount","dataRoom","is_admin_user","parseInt","data_access_code","account_project_id","BuildingsSVG","updatedCompanyId","getStoredToken","Sidebar","isAssessment","isDashboard","isEditing","transactionLabel","isWhite","isToggleOverlayShowing","setIsCollapsed","isOverlayVisible","setIsOverlayVisible","hide","white","oneTapWordMark","wordMark","savviLogo","paperOSLogo","AsyncWorkflowsView","Loadable","loader","loading","AsyncTasksView","AsyncRoomsView","AsyncAllDocuments","AsyncPartnersView","AsyncReportsView","AsyncTeams","AsyncMyDashboard","AsyncSettings","AsyncCabinet","Dashboard","useRouteMatch","handleRoute","ReviewInfo","reviewObj","resourceKey","resourceArr","resourceInd","updatedVal","isObject","isLink","line_one","line_two","city","zip","OutsideForm","formValidationError","handleDelete","handleFinalize","handleFormBlur","handleResourceName","isFinalized","isReviewModalOpen","questionnaireMeta","questions","reviewInfo","toggleReviewModal","question","custom_label","innerQuestions","isCompany","multi_entry","updatedLabel","operatingStateInd","question_text","render","arrayHelpers","upperFirst","resource_name","CompanyName","ResourceSelect","isDraftResource","is_draft","isEntityFormed","entityType","handleChangeResource","handleRemoveResource","isFixed","fixed","questionHelp","question_help","question_comment","onResourceSelect","resourceTypeName","resourceTypeCustomLabel","setLabel","innerQ","questionIndex","isHidden","featureProps","resourceIndex","FinalizeReviewModal","ReviewInfoComponent","Question","calendly_options","filename","is_creatable","multi_entry_feature","json","markdown","qpath","qc","qh","flattenedMarkdown","is_label","is_required","question_placeholder","tags","updatedOptions","isSSNRequired","country","updatedName","isRequired","FeatureTypes","Formik","isDetailedOptions","isLabel","multiEntry","resetValue","taskId","BasicTopbar","isOverlayToggleVisible","OutsideFormContainer","resourceId","resourceName","deleteIndividual","getOutsideForm","finalizeOutsideForm","resourceTypeId","createFeature","isSubmitWaiting","isDraft","updateResourceName","isSidebarCollapsed","innerWidth","prevProps","question_default","formikValues","isFetchingRoom","outsideFormSnapshot","isSidebarEmpty","children","InfoSidebar","formValues","getFormInfo","getFormikValues","getQuestionnaireSnapshotByTransactionId","getOrderedQuestions","getReviewValues","getQuestionnaireByTransactionId","getFaqsFromTransaction","meta","createResourceName","snapshot","obj","RoomReports","report_feature_types","table","resourceListData","filteredAndSortedCompanyDataTables","isRoom","report","reportIndex","DataTable","isAdmin","isInitCollapsed","reports","Array","isArray","linkIndex","ReviewTask","addons","fees","handleTaskAction","bypassed","deliverables","status_label","transaction_actions","type_label","Bypass","Custom","Generate","Upload","high_days","low_days","taskAddons","taskFees","isFetchingTransaction","isTaskCollapsed","setIsTaskCollapsed","hideRadios","isActionsShowing","timelineLabel","toggleActions","updatedOption","capitalize","addon","addonInd","amount","period","fee","feeInd","is_annual","selectedOption","selectedMode","SharedForms","SharedForm","send_email","finalize","emailStatusLabel","tooltip","tooltipAlign","navigator","clipboard","writeText","console","WorkbenchInfoModal","customDocsReviewInfo","dataRoomLinks","isOverview","isQuestionnaireSubmitted","isReviewersShowing","isTaskView","isWorkflowCounselShowing","sharedForms","projectCounsel","reviewers","screen","isFAQCollapsed","setIsFAQCollapsed","counsel","parentIndex","full_name","reviewerIndex","fields","fieldKey","fieldVal","recipients","recipient","header","linkTarget","infoBem","InfoBar","isGroupsEmpty","groupType","templateId","startedActionIndex","anyActionIndex","projectRoom","require_auth","strict","addActionLabel","IsWorkflowCounselShowing","getNonOpenForms","projectDocuments","roomSharingMeta","roomAccessLabel","isRoomFetched","setIsRoomFetched","setIsOpen","isStandingFormsModalOpen","setIsStandingFormsModalOpen","isInfoModalOpen","setIsInfoModalOpen","fetchRoomCodes","fetchRoomDocuments","fetchRoomLinks","fetchRoomParticipants","fetchRoomHistory","handleUpdateRoom","slug","currentSlugValue","updateRoom","isFlat","disabledTooltip","isRoomOpen","GroupCard","filteredGroups","isRemoveGroupOpen","setIsRemoveGroupOpen","isUserHistoryModalOpen","setIsUserHistoryModalOpen","selectedUserHistory","setSelectedUserHistory","dealRoomSharingMeta","isLastGroup","isRecipientsShowing","isInitialTaskSubmitted","submission_date","nextTransactionId","t","isDealRoomFetched","setIsDealRoomFetched","userDateLabel","lasVisited","addRoomCode","AlertModal","primaryActionText","onPrimaryClick","isError","performTaskAction","RoomUserHistoryModal","roomUserHistory","PortalTaskRow","statusLevel","statusLabel","taskVariants","variants","isVariantsOpen","setIsVariantsOpen","template_variant_id","updateTaskVariant","updateTransaction","variant","InputStyledCheckbox","checked","setFieldValue","partners","isLinkOnHover","file","isTemplate","DocumentItem","companyBoxToken","flat_features","file_token","roomLabel","panda_data","room_document_id","variant_label","variant_filename","templatePreview","variantId","templatePages","redline_data","redlining_revisions","pages","templateLabel","previewBoxFileId","documentTemplateLabel","isEditingDocLabel","setIsEditingDocLabel","isEditDocSubmitting","setIsEditDocSubmitting","docLabelInput","setDocLabelInput","isVariantsShowing","handleModalClose","filenameLabel","isFilenameShowing","onDocumentDownload","dynamicUrl","updatedUrl","client","XMLHttpRequest","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","createRoomHistory","file_label","URL","createObjectURL","response","setAttribute","click","send","handleBoxResponseInterceptor","isThumbnail","DocumentPreview","isThumbnailShowing","isLabelShowing","updateRoomDocument","swapRoomDocuments","deleteRoomDocument","responseInterceptor","showControls","PortalView","allow_reopen","assessmentLabel","assessmentId","inputLabel","updateInputLabel","isProjectDocsFetched","setIsProjectDocsFetched","getProjectDocuments","getTransactionQuestionnaire","projectTemplateId","isReopenShowing","setIsReopenShowing","trimmedLabel","isReopening","InfoCard","isShowingOnSide","setAddFeatureMeta","setAddResourceMeta","links","addLinkMeta","setAddLinkMeta","isAddDocumentOpen","setIsAddDocumentOpen","filteredInfoCardResources","resourceType","swapRoomLinks","deleteRoomLink","resourceTypeKey","isChecklist","linkMeta","ResourceTypeTable","resourceTypeInput","setResourceTypeInput","isEditingResourceType","setIsEditingResourceType","updateRoomFeatures","fetchRoomById","rootBody","deleteRoomFeatures","resourceMeta","resourceLength","ResourceCard","filteredFeatures","featureIndex","newVal","isCheckmark","deleteRoomFeature","room_feature_id","AddResourceModal","selectedResource","setSelectedResource","selectedFeatures","setSelectedFeatures","isInit","setIsInit","updatedResourceValue","resourceList","resourceFeatures","fetchFeaturesForRoom","isFeatures","createRoomFeatures","AddFeatureModal","updatedBody","Option","isSelected","stateText","AddDocumentModal","getAllDocumentsForSelect","uploaderRef","isUploading","setIsUploading","selectedDoc","setSelectedDoc","folderId","setFolderId","upload_folder_id","catch","components","fileLimit","rootFolderId","onBeforeUpload","lastElementChild","onUpload","document_history","measureRef","createRoomDocument","document_history_id","AddReportModal","reportFeatureTypes","filteredTables","selectedReport","setSelectedReport","fetchCompanyDataTables","addRoomReport","Room","currentUser","IsInitLoading","passedAccountId","errorMessage","outside_forms","user_email","addFeatureMeta","addResourceMeta","isAddReportOpen","setIsAddReportOpen","setIsEditing","isEditingRoomName","setIsEditingRoomName","roomName","setRoomName","groupedDocuments","documentsNeedingSignature","otherDocuments","isUserDocument","toLowerCase","filteredResources","connectedFormAccessCode","questionnaire","isInfoBarShowing","fetchRoomByAccessCode","accId","roomHistoryAction","fetchRoomByUser","roomNameRef","isMainSectionEmpty","showLongLoadingText","RoomSettings","routeProps","hideToken","isSimpleTable","PortalActionForm","isIncorrectTransactionId","isCorrectTransactionId","isMounted","setIsMounted","getTransaction","createTransaction","isModal","PortalTaskModal","getTransactionById","setIsSidebarCollapsed","isSubscription","isSubscribed","documentCredits","document_counter","innerSubs","sub","accountSub","isDocumentCreditsNeeded","WorkbenchTaskOverview","isSubscriptionNeeded","BatchUploadModal","specificKeyInfo","arr","isSocialSecurityKeyShowing","isCurrencyKeyShowing","isAddressKeyShowing","q","isAddressKey","selectedBoxFileId","setSelectedBoxFileId","failedLines","setFailedLines","isKeyShowing","setKeyShowing","windowUrl","download","revokeObjectURL","FileUploader","Intl","DateTimeFormat","usePathAsRootFolder","account_transaction_id","line","row","missing_fields","generateBatchTransactions","failedLineArr","failed_lines","AsyncWorkbenchOverview","AsyncWorkbenchTaskOverview","AsyncPlansModal","Workbench","handleExitTransaction","isFaqsEmpty","mySubscriptions","isInfoSidebarCollapsed","setIsInfoSidebarCollapsed","WorkbenchContainer","handleGetTransaction","passedTransaction","isPortal","initStep","initTransactionId","actionTemplateId","updatedStep","handleDiscardTransaction","deleteProject","createProject","fetchBoxToken","prevState","scrollTo","behavior","taskLabel","projectFaqs","transactionFaqs","Formation","postProject","KEY_CODE","InputVerification","autoFocus","clearable","fieldHeight","fieldWidth","required","autoFocusIndex","iRefs","React","createRef","vals","setVals","INPUT_STYLE","ROOT_STYLE","LOADING_STYLE","triggerChange","passedVals","dataset","validity","valid","next","updatedValue","updatedVals","nextIndex","item","cursor","prevIndex","prev","keyCode","onFocus","pattern","InputFeedback","templateDescriptions","VerifyCode","hideVerify","template_key","ApiErrors","codeInput","setCodeInput","codeInputError","setCodeInputError","getEmailVerification","verificationMeta","setVerificationMeta","isExpired","diff","sent_at","callback","delay","savedCallback","setInterval","clearInterval","useInterval","storedVerification","checkVerificationStatus","receipt","exchangeChallenge","validateCodeInput","VerifyByLink","verification_id","verification_code","initializing","setInitializing","setRedirectLoc","isSuccess","setIsSuccess","passwordError","setPasswordError","isPWShowing","setIsPWShowing","submitting","setSubmitting","isCancelling","deleteChallenge","queryStr","checkVerificationStatusByQuery","fetchValidatePassword","emailLabel","removeEmailVerification","RoomInvite","checkVerificationStatusByAccessCode","access_claims","challenge_id","challenge_code","PrivacyPolicyModal","AuthWorkbench","AsyncSubscriptionsModal","unauthedRoutes","joinedUnauthedRoutes","App","handleRefreshDocument","getDocuments","getTransactionDocuments","transaction_id","handleRefreshTimeline","clearTimeoutFunc","logoutTimeout","warnTimeout","warn","warningTime","logout","signoutTime","resetTimeout","alert","info","ws","pdfjs","GlobalWorkerOptions","workerSrc","version","validateSession","fetchBrandMeta","Sentry","dsn","environment","storedCompanyId","getStoredCompanyId","updatedPathname","events","getAccountRooms","idToken","isAccountAuthenticated","WebSocket","addEventListener","TermsOfServiceModal","IsAccountAuthenticated","getAccessToken","fetchAccountRooms","passedCompanyId","userOps","stripePromise","loadStripe","Root","store","locale","messages","stripe","Boolean","hostname","serviceWorker","ready","registration","unregister","getElementById","clearDocumentError","Types","setDocumentError","setAllDocuments","setUserDocuments","setDocuments","setDocumentsByProject","setDocumentsByTransaction","emails","email_change","isAfter","expires_at","IsAccountAdmin","getManagingAttorney","getAttorneys","getMySavviPartners","NewFeatureChanges","AllFeatureChanges","PartnerTeams","newFeatures","allFeatures","newFeature","isOld","change_date","getAttorneysForReviewers","attorneys","managingAttorney","updatedArr","specializations","is_primary","updateTodo","todoId","isFetchingTodosAfter","assignTaskTodo","accountTransactionId","deleteTodo","getAssigneeOptions","innerHeight","windowSize","setWindowSize","handleResize","removeEventListener","auth","passedToken","shouldCheckExp","Authorization","hasAuth","secondsSinceEpoch","Math","ceil","now","exp","Accept","DropdownAction","upward","setIsShowing","isDefaultPrevented","bemPrefix","elementName","dataRoomStatusDict","statusDict","getUserDocuments","AssigneeOptions","FormattedAssigneeOptions","RecommendedTodos","TodosForHome","type_id","setCompaniesById","setCompanyTokenRefreshing","isRefreshing","setCompanyDataTables","fetchingReducer","UserReducer","createReducer","InitUser","SET_USER","LOGOUT","AccountReducer","SET_ACCOUNT","SET_PARTNER_BY_CODE","byCode","byCodes","SET_PARTNER_CODE","partnersReducer","errorsReducer","CLEAR_ERRORS","EMAIL_CONFIRM_REQUEST","REGISTER_REQUEST","LOGIN_REQUEST","LOGIN_FAILED","EMAIL_CONFIRM_FAILED","REGISTER_FAILED","getValidationErrors","TOKEN_FAILED","SEND_PW_RESET_FAILED","checkpointsReducer","SET_CHECKPOINTS","isInitLoadingReducer","SET_INIT_LOADING","socketsReducer","SET_NOTIFICATIONS","notifications","combineReducers","checkpoints","sockets","apiErrors","apiErrorsReducer","handlePathWithUrl","handlePathWithCompanyId","handleExternalUrlWithCompanyId","updatedPath","routePath","customText","UserDocuments","filteredDocuments","isDocNotDeletedOrDeclined","isDocStateViewableOrUploaded","getAllDocumentsArrWithHooks","PandaDocStatusDict","useAllDocuments","isDocNotDeleted","cleanHash","check","String","customContentStyles","customOverStyles","isSecondary","secondaryActionText","warning","str","exec","ShareLink","handleSetLink","questionLabel","boxRootFolderId","setInput","setIsActionsShowing","isExplorerShowing","setIsExplorerShowing","selectedFolder","setSelectedFolder","customClass","canDelete","canDownload","canPreview","canRename","logoUrl","maxSelectable","canShare","onCancel","onNavigate","onSelect","f","g","fetchBoxLinkById","ShareLinks","field","setFieldTouched","touched","apiError","isTouched","setLinks","updatedLink","updatedLinks","splice","ary","stringifiedLinks","FETCH_FEATURES_FOR_ROOM_REQUEST","FETCH_FEATURES_FOR_ROOM_SUCCESS","FETCH_FEATURES_FOR_ROOM_FAILED","SET_FEATURES_FOR_ROOM","FETCH_ACCOUNT_ROOMS_REQUEST","FETCH_ACCOUNT_ROOMS_SUCCESS","FETCH_ACCOUNT_ROOMS_FAILED","FETCH_USER_ROOMS_REQUEST","FETCH_USER_ROOMS_SUCCESS","FETCH_USER_ROOMS_FAILED","SET_USER_ROOMS","FETCH_INSPECT_ACCESS_CODE_REQUEST","FETCH_INSPECT_ACCESS_CODE_SUCCESS","FETCH_INSPECT_ACCESS_CODE_FAILED","FETCH_ROOM_REQUEST","FETCH_ROOM_SUCCESS","FETCH_ROOM_FAILED","FETCH_ROOM_BY_ID_REQUEST","FETCH_ROOM_BY_ID_SUCCESS","FETCH_ROOM_BY_ID_FAILED","FETCH_ROOM_BY_USER_REQUEST","FETCH_ROOM_BY_USER_SUCCESS","FETCH_ROOM_BY_USER_FAILED","SET_ROOM","PUT_ROOM_REQUEST","PUT_ROOM_SUCCESS","PUT_ROOM_FAILED","FETCH_ROOM_LINKS_REQUEST","FETCH_ROOM_LINKS_SUCCESS","FETCH_ROOM_LINKS_FAILED","SET_ROOM_LINKS","POST_ROOM_LINK_REQUEST","POST_ROOM_LINK_SUCCESS","POST_ROOM_LINK_FAILED","PUT_ROOM_LINK_REQUEST","PUT_ROOM_LINK_SUCCESS","PUT_ROOM_LINK_FAILED","DELETE_ROOM_LINK_REQUEST","DELETE_ROOM_LINK_SUCCESS","DELETE_ROOM_LINK_FAILED","FETCH_ROOM_DOCUMENTS_REQUEST","FETCH_ROOM_DOCUMENTS_SUCCESS","FETCH_ROOM_DOCUMENTS_FAILED","SET_ROOM_DOCUMENTS","POST_ROOM_DOCUMENT_REQUEST","POST_ROOM_DOCUMENT_SUCCESS","POST_ROOM_DOCUMENT_FAILED","PUT_ROOM_DOCUMENT_REQUEST","PUT_ROOM_DOCUMENT_SUCCESS","PUT_ROOM_DOCUMENT_FAILED","DELETE_ROOM_DOCUMENT_REQUEST","DELETE_ROOM_DOCUMENT_SUCCESS","DELETE_ROOM_DOCUMENT_FAILED","POST_ROOM_REPORT_REQUEST","POST_ROOM_REPORT_SUCCESS","POST_ROOM_REPORT_FAILED","DELETE_ROOM_REPORT_REQUEST","DELETE_ROOM_REPORT_SUCCESS","DELETE_ROOM_REPORT_FAILED","POST_ROOM_FEATURE_REQUEST","POST_ROOM_FEATURE_SUCCESS","POST_ROOM_FEATURE_FAILED","PUT_ROOM_FEATURE_REQUEST","PUT_ROOM_FEATURE_SUCCESS","PUT_ROOM_FEATURE_FAILED","DELETE_ROOM_FEATURE_REQUEST","DELETE_ROOM_FEATURE_SUCCESS","DELETE_ROOM_FEATURE_FAILED","POST_ROOM_USER_REQUEST","POST_ROOM_USER_SUCCESS","POST_ROOM_USER_FAILED","PUT_ROOM_USER_REQUEST","PUT_ROOM_USER_SUCCESS","PUT_ROOM_USER_FAILED","DELETE_ROOM_USER_REQUEST","DELETE_ROOM_USER_SUCCESS","DELETE_ROOM_USER_FAILED","SWAP_ROOM_LINKS_REQUEST","SWAP_ROOM_LINKS_SUCCESS","SWAP_ROOM_LINKS_FAILED","SWAP_ROOM_DOCUMENTS_REQUEST","SWAP_ROOM_DOCUMENTS_SUCCESS","SWAP_ROOM_DOCUMENTS_FAILED","SWAP_ROOM_REPORTS_REQUEST","SWAP_ROOM_REPORTS_SUCCESS","SWAP_ROOM_REPORTS_FAILED","FETCH_ROOM_TOKEN_REQUEST","FETCH_ROOM_TOKEN_SUCCESS","FETCH_ROOM_TOKEN_FAILED","SET_ROOM_TOKEN","UPDATE_LINK_REQUEST","UPDATE_LINK_SUCCESS","UPDATE_LINK_FAILED","FETCH_LINK_BY_ID_REQUEST","FETCH_LINK_BY_ID_SUCCESS","FETCH_LINK_BY_ID_FAILED","GET_LINK_REQUEST","GET_LINK_SUCCESS","GET_LINK_FAILED","POST_LINK_REQUEST","POST_LINK_SUCCESS","POST_LINK_FAILED","SET_LINK","FETCH_ROOM_CODES_REQUEST","FETCH_ROOM_CODES_SUCCESS","FETCH_ROOM_CODES_FAILED","POST_ROOM_CODE_REQUEST","POST_ROOM_CODE_SUCCESS","POST_ROOM_CODE_FAILED","DELETE_ROOM_CODE_REQUEST","DELETE_ROOM_CODE_SUCCESS","DELETE_ROOM_CODE_FAILED","SET_ROOM_CODES","FETCH_ROOM_ACCESS_LOG_REQUEST","FETCH_ROOM_ACCESS_LOG_SUCCESS","FETCH_ROOM_ACCESS_LOG_FAILED","SET_ROOM_ACCESS_LOG","FETCH_ROOM_HISTORY_REQUEST","FETCH_ROOM_HISTORY_SUCCESS","FETCH_ROOM_HISTORY_FAILED","SET_ROOM_HISTORY","POST_ROOM_HISTORY_REQUEST","POST_ROOM_HISTORY_SUCCESS","POST_ROOM_HISTORY_FAILED","FETCH_ROOM_PARTICIPANTS_REQUEST","FETCH_ROOM_PARTICIPANTS_SUCCESS","FETCH_ROOM_PARTICIPANTS_FAILED","SET_ROOM_PARTICIPANTS","PlanPreviewTotal","total","Invoices","IsPaymentMethodAvailable","PaymentMethodsWithDefault","Billing","defaultMethod","FilteredPaymentMethodsWithDefault","FilePreviewer","customLabel","fileLabel","labelActionType","labelPosition","labelText","isPlaceholderShowing","isUserTable","reportsFeatureTypeId","isDocumentTemplate","previewLink","boxAccessToken","setBoxAccessToken","isTokenFetched","setIsTokenFetched","download_url","LabelAction","pdfLabel","defaultBoxToken","isLinkDisabled","thumbnailType","isBoxPreviewVisible","isReactPdfPreviewVisible","pdfThumbnail","contentElement","hasHeader","ReactPDFBem","ReactPDFViewer","numPages","setNumPages","pageNumber","setPageNumber","handleLoadError","filePath","httpHeaders","onLoadSuccess","onLoadError","onSourceError","onRenderError","setResourcesByTypeId","setResourceById","setFeatures","patchFeature","individualName","featureName","setFeature","setAccountInfo","updateSettings","settings","UPDATE","setCounsels","SET_COUNSELS","setSavviPartners","SET_SAVVI_PARTNERS","setTeams","SET_TEAMS","setEmails","SET_EMAILS","setFeatureChanges","featureChanges","SET_FEATURE_CHANGES","customParseFormat","minWidth","priorityOptions","color","selectStyles","option","styles","singleValue","AssignTodo","handleDeleteTodo","isActionDisabled","isInline","isMyDashboard","isNew","todoMeta","initTodoVals","assigneeOptions","deadline","selectedAssignee","selectedPriority","submitFunc","base_level","validateOnChange","Textarea","isSearchable","myType","seperator","validateDate","MultiAssignTodos","handleDeleteTodos","handleUpdateTodos","getSettings","GET_REQUEST","GET_SUCCESS","GET_FAILED","Promise","resolve","SAVE_REQUEST","SAVE_FAILED","SAVE_SUCCESS","changePassword","passwords","PASSWORD_REQUEST","PASSWORD_FAILED","PASSWORD_SUCCESS","sendUpdatedEmailCode","setEmailVerification","getCounsels","getSavviPartners","addSavviPartnerGroupMember","getTeams","editSavviPartnerGroupMember","role_id","removeSavviPartnerGroupMember","groupId","removeTeamAccount","partnerId","indeterminate","defaultPlaceholder","isInputHelpUpward","inputHelpAlign","labelStyle","parentStyle","inputProps","checkboxClassname","inputClassnames","labelClassname","checkboxRef","isValidElement","upwards","setAccountProject","setAccountProjects","setProjects","TwoCharCountryData","haystack","needles","someStringsHelper","straw","reverse","needle","SortDropdown","sortOption","isSortReversed","sortOptions","iconType","optionIconRoot","optionSortIcon","optionClass","SET_ERRORS","SET_TRANSACTION_PREVIEW","GET_TRANSACTION_QUESTIONNAIRE_REQUEST","GET_TRANSACTION_QUESTIONNAIRE_SUCCESS","GET_TRANSACTION_QUESTIONNAIRE_FAILED","SET_TRANSACTION_QUESTIONNAIRE","GET_OUTSIDE_FORM_REQUEST","GET_OUTSIDE_FORM_SUCCESS","GET_OUTSIDE_FORM_FAILED","CREATE_OUTSIDE_FORM_REQUEST","CREATE_OUTSIDE_FORM_SUCCESS","CREATE_OUTSIDE_FORM_FAILED","GET_TRANSACTION_REQUEST","GET_TRANSACTION_SUCCESS","GET_TRANSACTION_FAILED","POST_TRANSACTION_REQUEST","POST_TRANSACTION_SUCCESS","POST_TRANSACTION_FAILED","GET_TRANSACTION_PREVIEW_REQUEST","GET_TRANSACTION_PREVIEW_SUCCESS","GET_TRANSACTION_PREVIEW_FAILED","GET_TRANSACTION_BY_TEMPLATE_ID_REQUEST","GET_TRANSACTION_BY_TEMPLATE_ID_SUCCESS","GET_TRANSACTION_BY_TEMPLATE_ID_FAILED","UPDATE_TRANSACTION_REQUEST","UPDATE_TRANSACTION_SUCCESS","UPDATE_TRANSACTION_FAILED","SET_TRANSACTION","GET_MY_TEMPLATES_REQUEST","GET_MY_TEMPLATES_SUCCESS","GET_MY_TEMPLATES_FAILED","SET_MY_TEMPLATES","GET_CUSTOM_DOCUMENT_REQUEST","GET_CUSTOM_DOCUMENT_SUCCESS","GET_CUSTOM_DOCUMENT_FAILED","UPDATE_CUSTOM_DOCUMENT_REQUEST","UPDATE_CUSTOM_DOCUMENT_SUCCESS","UPDATE_CUSTOM_DOCUMENT_FAILED","CREATE_CUSTOM_DOCUMENT_REQUEST","CREATE_CUSTOM_DOCUMENT_SUCCESS","CREATE_CUSTOM_DOCUMENT_FAILED","ADD_CUSTOM_DOCUMENT","SET_CUSTOM_DOCUMENT","GET_ALL_TRANSACTIONS_REQUEST","GET_ALL_TRANSACTIONS_SUCCESS","GET_ALL_TRANSACTIONS_FAILED","SET_MY_TRANSACTIONS","SET_DOCUMENT_REVIEWER_REQUEST","SET_DOCUMENT_REVIEWER_SUCCESS","SET_DOCUMENT_REVIEWER_FAILED","GET_TRANSACTIONS_BY_MODULE_REQUEST","GET_TRANSACTIONS_BY_MODULE_SUCCESS","GET_TRANSACTIONS_BY_MODULE_FAILED","SET_TRANSACTIONS_BY_MODULE","POST_REDLINING_VERSION_REQUEST","POST_REDLINING_VERSION_SUCCESS","POST_REDLINING_VERSION_FAILED","APPROVE_DOCUMENT_SUGGESTIONS_REQUEST","APPROVE_DOCUMENT_SUGGESTIONS_SUCCESS","APPROVE_DOCUMENT_SUGGESTIONS_FAILED","UPDATE_DOCUMENT_SUGGESTIONS_REQUEST","UPDATE_DOCUMENT_SUGGESTIONS_SUCCESS","UPDATE_DOCUMENT_SUGGESTIONS_FAILED","SET_DOCUMENTS","SET_DOCUMENT_ERROR","CLEAR_DOCUMENT_ERROR","DELETE_DOCUMENT_UPLOAD_REQUEST","DELETE_DOCUMENT_UPLOAD_SUCCESS","DELETE_DOCUMENT_UPLOAD_FAILED","GET_TRANSACTION_DOCUMENTS_REQUEST","GET_TRANSACTION_DOCUMENTS_SUCCESS","GET_TRANSACTION_DOCUMENTS_FAILED","SET_DOCUMENTS_BY_TRANSACTION","SET_DOCUMENT_RECIPIENTS_LINKS","RESEND_LINK_EMAIL_REQUEST","RESEND_LINK_EMAIL_FAILED","RESEND_LINK_EMAIL_SUCCESS","CREATE_FEATURE_REQUEST","CREATE_FEATURE_SUCCESS","CREATE_FEATURE_FAILED","SET_RESOURCE_IDS_REQUEST","SET_RESOURCE_IDS_SUCCESS","SET_RESOURCE_IDS_FAILED","CREATE_RESOURCE_NAME_REQUEST","CREATE_RESOURCE_NAME_SUCCESS","CREATE_RESOURCE_NAME_FAILED","UPDATE_RESOURCE_NAME_REQUEST","UPDATE_RESOURCE_NAME_SUCCESS","UPDATE_RESOURCE_NAME_FAILED","FINALIZE_TRANSACTION_REQUEST","FINALIZE_TRANSACTION_SUCCESS","FINALIZE_TRANSACTION_FAILED","CREATE_RESOURCE_FEATURE","UPDATE_RESOURCE","POST_BATCH_TRANSACTIONS_REQUEST","POST_BATCH_TRANSACTIONS_SUCCESS","POST_BATCH_TRANSACTIONS_FAILED","is_state","SvgDocPreview","setBoxToken","SET_BOX_TOKEN","setUserDocumentBoxToken","SET_USER_DOCUMENT_BOX_TOKEN","setTempTokenFetchInitialized","SET_TEMP_TOKEN_FETCH_INITIALIZED","isInitialized","setAccountTodos","setAssigneeOptions","setTeamTodos","defaultError","errorObject","LOGIN_SUCCESS","TOKEN_REQUEST","TOKEN_SUCCESS","SEND_PW_RESET_REQUEST","SEND_PW_RESET_SUCCESS","VALIDATE_PASSWORD_REQUEST","VALIDATE_PASSWORD_SUCCESS","VALIDATE_PASSWORD_FAILED","RESET_PASSWORD_REQUEST","RESET_PASSWORD_SUCCESS","RESET_PASSWORD_FAILED","LOGOUT_REQUEST","LOGOUT_SUCCESS","LOGOUT_FAILED","CREATE_USER_REQUEST","CREATE_USER_FAILED","CREATE_USER_SUCCESS","CREATE_COMPANY_REQUEST","CREATE_COMPANY_FAILED","CREATE_COMPANY_SUCCESS","EMAIL_CONFIRM_SUCCESS","RESEND_EMAIL_CONFIRM_REQUEST","RESEND_EMAIL_CONFIRM_FAILED","RESEND_EMAIL_CONFIRM_SUCCESS","SET_HUBSPOT_REQUEST","SET_HUBSPOT_SUCCESS","SET_HUBSPOT_FAILED","CREATE_NEW_USER_REQUEST","CREATE_NEW_USER_SUCCESS","CREATE_NEW_USER_FAILED","CHANGE_OWNER_REQUEST","CHANGE_OWNER_SUCCESS","CHANGE_OWNER_FAILED","DELETE_USER_REQUEST","DELETE_USER_SUCCESS","DELETE_USER_FAILED","CONNECT_PARTNER_REQUEST","CONNECT_PARTNER_SUCCESS","CONNECT_PARTNER_FAILED","REMOVE_PARTNER_REQUEST","REMOVE_PARTNER_SUCCESS","REMOVE_PARTNER_FAILED","GET_PARTNER_BY_CODE_REQUEST","GET_PARTNER_BY_CODE_SUCCESS","GET_PARTNER_BY_CODE_FAILED","VALIDATE_EMAIL_REQUEST","VALIDATE_EMAIL_SUCCESS","VALIDATE_EMAIL_FAILED","REQUEST_VERIFICATION_EMAIL_REQUEST","REQUEST_VERIFICATION_EMAIL_SUCCESS","REQUEST_VERIFICATION_EMAIL_FAILED","CHECK_VERIFICATION_STATUS_REQUEST","CHECK_VERIFICATION_STATUS_SUCCESS","CHECK_VERIFICATION_STATUS_FAILED","DELETE_CHALLENGE_REQUEST","DELETE_CHALLENGE_SUCCESS","DELETE_CHALLENGE_FAILED","EXCHANGE_CHALLENGE_REQUEST","EXCHANGE_CHALLENGE_SUCCESS","EXCHANGE_CHALLENGE_FAILED","usersSortOptions","sortFunc","date_added","aDate","none","bDate","defaultSort","isAddAccessCodeShowing","setIsAddAccessCodeShowing","isOtherFormsModalOpen","setIsOtherFormsModalOpen","isRoomUsersCollapsed","setIsRoomUsersCollapsed","setSortOption","sortedUsersByEmail","updatedUsers","isRoomUsersCollapsible","toggleLabel","canEdit","canInvite","admin_user","invite_rights","accessHelpLabel","updatedSortIsDesc","ShareRoomLinkModal","RoomStandingFormsModal","RoomOtherFormsModal","sortedForms","room_user_id","outside_form_access_code","outsideFormLabel","formUrl","Errors","getMessage","localization","E_SESSION_INVALID","INVALID_JWT","DEVELOPER_ERROR","userTokenExp","isCompanyEndpoint","currentDate","PayloadHandler","endsWith","msg","details","replaced_msg","_id","success","page","jpg","initialState","reducerMap","reducer","myModule","isModule","isRequest","isFailed","isCleared","memo","pop","yup","shape","category","phrase","industry","clients","services","min","passwordSchema","phone","nullable","oldPassword","newPassword","lineOne","lineTwo","formSchema","schema","validateSync","abortEarly","inner","registerSchema","oneOf","addPaymentMethodFormSchema","addACHFormSchema","account_holder_name","routing_number","account_number","bank_label","verifyACHFormSchema","amount_one","positive","amount_two","addACHForm","addPaymentMethodForm","onboardingForm","employees_estimate","buisness_type","referral_type","interests","other_legal_needs","registerForm","verifyACHForm","TaskRow","templateTypeLabel","deliverable","processLabel","timeline","processDescription","typeLabel","pdfFile","PDFViewer","isDownloadable","box_token","downloadableUrl","isShowOnHover","linkUrl","reports_feature_type_id","setIsError","isPdf","fileToken","isFileAvailable","onDocumentLoadSuccess","handleResponseInterceptor","isActionShowing","isBoxPreviewShowing","isDocumentShowing","isErrorShowing","PDFViewerHeight","newUrl","OverviewCard","handleTransactionAction","isFocused","setIsFocused","isReopenAllowed","assessment","onMouseLeave","folder","isDeleteOpen","isInitialFetching","isPickerOpen","isReuploadOpen","isDocViewed","innerUploaderRef","previewRef","handleGotoCabinet","isLocked","collection","onLoad","viewer","zoomOut","onComplete","fileIdArr","canCreateNewFolder","canSetShareAccess","canUpload","contentUploaderProps","isSmall","onChoose","isTempBoxTokenFetchInitialized","IsTempBoxTokenFetchInitialized","SvgFileEdit","SvgFileUpload","initNewResourceVals","isResourceEmpty","resourceItems","defaultValue","initialValue","documentItems","ResourceItem","handleDeleteResource","setIsNew","allow_entry","feature_name","new_require","isSignatory","feature_types","directors","getFlatFeaturesForOptions","getResourcesByTypeIdForSelect","isResourceName","FieldComponent","isEditingName","passedResourceId","fetchResourceId","updatedResource","massageResource","resetForm","emptyResource","isNewResource","isPairedColumn","documentsTotal","requiredDocumentsTotal","passedHandleClose","allow_new","resource_label","documentsCompleted","isDocsShowingInitially","requiredDocumentsCompleted","isOpenInit","setIsOpenInit","formVisible","setFormVisible","docsVisible","setDocsVisible","isAddView","setIsAddView","isClosing","setIsClosing","isMaxClosingTimeout","setIsMaxClosingTimeout","fetchResourcesByTypeId","getFlatFeatures","where","maxClosingTimeout","handleClosingModal","finalAction","passedResourceName","modalHeader","modalSubheader","requiredDocsCompletedLabel","documentsLabel","isAsterikShowing","isLinksSublabelShowing","isFormSublabelShowing","formSublabel","isDocumentsAvailable","isDeleteActionShowing","link_url","sumbitFunc","updateResourceFeatures","edit_view","SUBHEADERS_WITH_TYPE","SUBHEADERS","DataRow","setIsModalOpen","filteredResourceItems","filteredArr","isSubheaderShowing","isSubheaderWithType","isSubheader","table_view","isDocumentsShowing","firstRow","resourceFeature","first","onResourceClick","link_text","onDocumentClick","getCheckboxMeta","isAllChecked","isAllUnchecked","LedgerForm","resourcesList","setValues","isResourcesShowing","setIsResourcesShowing","valuesMeta","featureTypes","totalSelected","DataLedgerModal","defaultFilename","setFilename","initVals","csvFile","csvRow","csvHeader","rows","processRow","finalVal","j","innerValue","toString","toLocaleString","result","blob","Blob","msSaveBlob","undefined","visibility","exportToCsv","finalized","default_value","matches","newLabel","_isEmpty","massageResourceList","list","sortTable","aItem","bItem","compareFunc","CompanyTable","passedParams","routeParams","companyData","companyResource","companyFeatures","companyKey","allRequiredDocumentsCompleted","isSublabel","room_report_id","setIsSortReversed","setCollapsed","isLedgerShowing","setIsLedgerShowing","tableSortOptions","tableDocumentsTotal","isTableEmpty","isAddDataShowing","isSortShowing","swapRoomReports","deleteRoomReport","updatedIsSortReversed","removeMethod","REMOVE_METHOD","SET_INVOICE","MERGE_SUBSCRIPTION","setSubscriptionPreview","SET_SUBSCRIPTION_PREVIEW","SET_ERROR","InputCheckbox","flipLabel","isStacked","labelClasses","choiceClasses","checkedClasses","wrapperClasses","classes","StackWrapper","Fragment","CheckboxGroup","valuesArr","optionIndex","InputHelpButton","InputPassword","forwardRef","defaultRef","inputRef","toggleIcon","updatedType","setIsActive","InputPhoneNumber","disableDropdown","handleIsValid","inputPlaceholder","numberInput","setNumberInput","containerClass","isValid","updatedEvent","inputVal","formattedValue","InputSelect","menuPlacement","ignoreCase","ignoreAccents","matchFrom","restOfProps","filterOptions","createFilter","selectClass","isGrouped","selectContainer","borderColor","menu","provided","container","control","multiValue","marginTop","marginLeft","valueContainer","groupStyles","alignItems","justifyContent","groupBadgeStyles","fontWeight","lineHeight","textAlign","formatGroupLabel","blurInputOnSelect","closeMenuOnSelect","menuShouldScrollIntoView","noOptionsMessage","openMenuOnFocus","querySelector","filterOption","InputSublabel","onKeyPress","savedValue","trimStart","trimVal","InputTextarea","ToggleOption","optionMode","MultiToggle","tick","isUserDropdownOpen","notices","updatedState","noticeIndex","getTransactionsHistory","getAllAccountTransactions","queryString","resendLinkEmail","docId","setDocumentReviewer","pandaDocId","approveDocumentSuggestions","document_id","updateDocumentSuggestions","createOutsideForm","getMyTemplates","updateCustomDocument","customDocIndex","createCustomDocument","setResourceIds","isOutside","privacy","finalizeTransaction","dev_pandadoc","finalize_snapshot","transactionTemplateId","useMultiHash","h","explode","createHash","updatedHandlePath","generatePath","removeHash","updatedHash","addHash","clearHash","SavviNavLinkBar","isHiding","setLink","setFeaturesForRoom","setRoom","setRoomCodes","setRoomDocuments","setRoomLinks","setRoomHistory","setRoomParticipants","fetchUserRooms","setTransactionQuestionnaire","baseBody","previousPromise","createRoomFeature","updateRoomFeature","roomFeatureId","isPlainObject","createRoomLink","updateRoomLink","roomLinkId","roomDocumentId","roomReportId","id1","id2","errMessage","AddressGroup","isUniversal","fieldName","fieldValue","setFieldError","isAddressStarted","handleAddressBlur","givenVal","updatedFieldVal","myError","validateAddress","countryVal","CountryData","validateZip","Checkbox","Comment","allowedExts","withRouter","customDoc","handleFormValidation","isSubmitAttempted","custom_document","task_template_id","myTemplates","MyTemplatesWithHooks","isPreviewShowing","setPreviewShowing","selectedDocId","setSelectedDocId","isCustomDocShowing","setCustomDocShowing","selectedFolderId","setSelectedFolderId","isEditingDocName","setEditingDocName","customDocName","setCustomDocName","updatedDocName","setUpdatedDocName","pickerRef","scrollIntoView","folder_name","extensions","file_id","custom_documents","tokens","notes","noteIndex","note","level","updatedFields","recipientKey","recipientVal","updatedRecipients","individual","recipientIndex","updatedIndividual","PhoneNumber","dialCode","passedVal","isBlur","updatedSavedVal","ResourceList","resourcesArr","onToggleClick","createOption","__isNew__","innerProps","textInput","initVal","changeOnBlur","submitCount","inputValue","toLower","multi","isInputFixed","onInputChange","onChangeHit","optionsIndex","formattedVal","isCounselOptions","isResource","currentOptionsIndex","newValue","handleResourceFormBlur","TemplateLink","isUpdating","checkValue","max","charAt","num","TransformDict","currency","semiParsedNum","parsedNum","numWithCommas","toFixed","date","displayVal","month","day","year","float","float_currency","integer","substring","numerical","percent","ssc","string","SalaryTypesOptions","salaryType","selectFieldVal","textFieldVal","nativeEvent","inputType","pick","suffixOptions","textInputRef","filteredOptions","companyType","suffixIndex","tempSuffixIndex","updatedQuestionHelp","companyFullName","setCompanyFullName","companyNameInput","setCompanyNameInput","companyTypeInput","setCompanyTypeInput","setIsEditable","focused","setFocus","timer","handleValidate","validateCompany","isCompanyTypeShowing","suffixError","updatedCompanyName","updatedCompanyType","outsideForms","DataRoomLinks","ConnectedRooms","AddLinkModal","isShareLinkOpen","setIsShareLinkOpen","selectedRoom","setSelectedRoom","openFormTemplates","openForms","massagedOpenForms","roomIndex","OpenFormTemplate","OpenForm","sharedForm","isDealRoomShowing","isVisible","toggleMenu","GET_FEATURE_CHANGES_REQUEST","GET_FEATURE_CHANGES_SUCCESS","GET_FEATURE_CHANGES_FAILED","SET_FEATURE_CHANGES_DATE_REQUEST","SET_FEATURE_CHANGES_DATE_SUCCESS","SET_FEATURE_CHANGES_DATE_FAILED","GET_EMAILS_REQUEST","GET_EMAILS_SUCCESS","GET_EMAILS_FAILED","SEND_EMAIL_CODE_REQUEST","SEND_EMAIL_CODE_SUCCESS","SEND_EMAIL_CODE_FAILED","DELETE_EMAIL_VERIFICATION_REQUEST","DELETE_EMAIL_VERIFICATION_SUCCESS","DELETE_EMAIL_VERIFICATION_FAILED","VERIFY_UPDATED_EMAIL_REQUEST","VERIFY_UPDATED_EMAIL_SUCCESS","VERIFY_UPDATED_EMAIL_FAILED","GET_COUNSELS_REQUEST","GET_COUNSELS_SUCCESS","GET_COUNSELS_FAILED","GET_SAVVI_PARTNERS_REQUEST","GET_SAVVI_PARTNERS_SUCCESS","GET_SAVVI_PARTNERS_FAILED","SET_SAVVI_PARTNER_GROUP","GET_TEAMS_REQUEST","GET_TEAMS_SUCCESS","GET_TEAMS_FAILED","REMOVE_TEAM_ACCOUNT_REQUEST","REMOVE_TEAM_ACCOUNT_SUCCESS","REMOVE_TEAM_ACCOUNT_FAILED","ADD_SAVVI_PARTNER_GROUP_MEMBER_REQUEST","ADD_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS","ADD_SAVVI_PARTNER_GROUP_MEMBER_FAILED","ADD_SAVVI_PARTNER_GROUP_MEMBER","EDIT_SAVVI_PARTNER_GROUP_MEMBER_REQUEST","EDIT_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS","EDIT_SAVVI_PARTNER_GROUP_MEMBER_FAILED","UPDATE_SAVVI_PARTNER_GROUP_MEMBER","REMOVE_SAVVI_PARTNER_GROUP_MEMBER_REQUEST","REMOVE_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS","REMOVE_SAVVI_PARTNER_GROUP_MEMBER_FAILED","REMOVE_SAVVI_PARTNER_GROUP_MEMBER","GET_CALENDLY_REQUEST","GET_CALENDLY_SUCCESS","GET_CALENDLY_FAILED","documentUpdatedAtSort","completed_timestamp","upload_timestamp","panda_data_timestamp","sent_timestamp","draft_timestamp","updated_at","documentCreatedAtSort","documentsSortOptions","aLabel","bLabel","aStatus","bStatus","userDocumentsSortOptions","initialDocsShowing","docAmountShowing","setDocAmountShowing","docAdjustmentAmount","unsetHeight","simpleTable","myDocument","amountToShow","DocumentRow","panda_document_id","filteredRecipients","existingRecipientIndex","signature_link","dateLabel","taskPath","isClicked","isTaskConnected","isSendingToTask","customerLabel","handleResendLinkEmail","handleDealRoomRecipientLink","handleDocumentRecipientLink","signatureLink","handleDownloadFileClick","isDocumentUpload","isSecondaryGotoShowing","secondaryGotoLabel","isCabinetGotoShowing","isDownloadShowing","wide","showPreview","noLabel","recipientEmail","onDealRoomRecipientLink","onDocumentRecipientLink","onResendLinkEmail","RecipientRow","email_sent","signed","signer","userEmail","recipientLabel","isSigned","isSignedOrNotSigner","recipientStatusLabel","isActionsDropdownShowing","copyLinkLabel","WorkbenchActions","buttonSize","isSharingForm","isForm","isFinalize","SharingFormButtons","onSecondaryClick","FormButtons","TrackingButtons","handleNextTaskAction","handleSecondaryAction","isSecondaryHiding","FinalizeButtons","isDev","_g","SvgSavviLoading","home","submitted_tasks","address","validateCheckboxGroup","validateCurrency","isOptional","valArr","pwLength","customErr","compareNumbers","aNum","compareStrings","compareDates","attorney","gridColWidth","attorney_lane","address_universal","boolean","checkbox_group","comment","detailed_options","template_document","number","person_name","related_resource","radio","resource_list","salary","parsedVal","share_links","social_security","boxTokenReducer","userDocumentsBoxTokensReducer","tempBoxTokenReducer","GET_TEMPORARY_BOX_TOKEN_SUCCESS","statusText","tempBox","companyReducer","byIds","isCompanyTokenRefreshingReducer","companyDataTablesReducer","allDocumentsReducer","byArr","userDocumentsReducer","documentReducer","byProject","byModule","byTransaction","byTaskId","documentRecipientsLinks","allDocuments","userDocuments","accountRoomsReducer","roomFeatures","roomReducer","userRoomsReducer","roomCodesReducer","roomDocumentsReducer","roomLinksReducer","roomAccessLogReducer","roomHistoryReducer","roomParticipantsReducer","deepFreeze","resourceTypeObj","resourcesByTypeIdReducer","by_name","updatedByName","fromEntries","featureReducer","isDirty","profileReducer","firstName","lastName","counselsReducer","teamsReducer","savviPartnersReducer","myPartners","partnerGroups","my_partners","newPartnerGroups","groupInd","memberInd","members","member","memberId","emailsReducer","featureChangesReducer","counsels","savviPartners","teams","accountProjectReducer","byOrder","projectReducer","accountTodosReducer","assigneeOptionsReducer","teamTodosReducer","accountTodos","teamTodos","questionnaireReducer","updatedResources","myTemplatesReducer","customDocumentsReducer","newCustomDocuments","myTransactionsReducer","transactionReducer","customDocuments","myTransactions","questionnaires","router","connectRouter","User","Document","Profile","LLC","Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","Ohio","Oklahoma","Oregon","Pennsylvania","Tennessee","Texas","Utah","Vermont","Virginia","Washington","Wisconsin","Wyoming","defaultAddress","TransactionById","WorkflowCounselQuestions","WorkflowCounselOptions","WorkflowProjectCounsels","WorkflowCounselForQuestionnaire","counselQuestions","counselOptions","counselIndex","formikValue","pastOptions","isPastOption","allowed","allow_partner","allow_user","preferred_partner_id","matchingCounselIndex","shift","DocumentError","getConnectedOutsideForms","IsDocumentTransaction","getTransactionValidators","getQuestions","CustomDocuments","getTransactionsByModuleId","getDocumentsByTransaction","TransactionWithDocuments","create_date","completedTransactions","incompleteTransactions","getQuestionsOrderedByResource","question_order","getResources","getResourceOptions","updatePrereqQuestions","resourceTypeIndex","resourceTypeResourceArr","innerQs","required_question_id","requiredQuestionIndex","actualVal","required_question_value","constructor","lanes","attorneyLaneIndex","orderedQuestions","resVarName","updatedQuestions","updatedQs","filteredQs","updatedQ","entityNameQIndex","isCalendly","order_by","getFeesFromTransaction","feesTotal","addonsTotal","amountTotal","counter","product","productFees","additionalFees","innerQsIndex","dynamic_table","LLCDict","CustomDocumentsFormikValues","customDocs","isInitial","lane","lanesQuestionsIndex","attorneysLane","attorneys_by_lane","MyTransactionsCompanies","ACTION_FORM_TEMPLATE_IDS","account_name","getAllTransactions","allTransactions","updatedActionLabel","taskStatus","WorkbenchForm","formValidationErrors","handleCounselBlur","isReopeningTimeout","isSafariMobile","setIsSharingForm","setSubmitAttempted","sharedFormDescription","workflowCounselQuestions","handleSetResourceIds","resourceIds","shareFeatures","isSharingFormModalOpen","setIsSharingFormModalOpen","finalize_on_submit","shareFormMeta","setShareFormMeta","shareFormEmailError","setShareFormEmailError","shareFormFinalizeBody","initValsLength","initValsArr","valuesLength","innerI","formError","parentResourceIndex","connectedResourceOptions","resourceOptions","filteredResourceOptions","shareFormResourceIndex","isShareFormResourceSelected","isFeatureSelected","updatedSelectedFeatures","handleShareFormResource","shareFormFeatureIndex","shareFormFeature","selectedFeatureId","newArr","handleShareFormFeature","counselQuestion","counselQuestionIndex","emailError","ResourceDraft","isConnectingDraft","setIsConnectingDraft","baseResource","mergeResources","WorkbenchFormContainer","initialCounsel","chosenCounsel","updateProjectCounsel","isShareForm","validators","isValidated","validator","RegExp","customDocument","innerE","finalized_at","resourceAction","isChrome","chrome","isFetchingProject","accountName","customDocumentsFormikValues","counsel_options","isAddonsHidden","isPaymentMethodShowing","isRedlineAvailable","isTotalShowing","room_use","useStripe","elements","useElements","isDocumentTransaction","isAutoSend","setIsAutoSend","isDocEditingEnabled","setIsDocEditingEnabled","isDevPandadoc","isPricingOpen","setPricingOpen","setCountry","isDefault","setIsDefault","setName","stripeError","setStripeError","onFinalizeClick","cardElement","getElement","CardElement","createToken","REACT_APP_LOG_ENV","hideIcon","base","fontStyle","historySortOptions","document_views","document_downloads","room_visits","form_visits","sortedHistory","updatedHistory","itemIcon","mainLabel","subLabel","itemLabel","ADD_METHOD_REQUEST","ADD_METHOD_SUCCESS","ADD_METHOD_FAILED","ADD_ACH_REQUEST","ADD_ACH_SUCCESS","ADD_ACH_FAILED","GET_PLAID_TOKEN_REQUEST","GET_PLAID_TOKEN_SUCCESS","GET_PLAID_TOKEN_FAILED","SAVE_PLAID_REQUEST","SAVE_PLAID_SUCCESS","SAVE_PLAID_FAILED","VERIFY_ACH_REQUEST","VERIFY_ACH_SUCCESS","VERIFY_ACH_FAILED","REMOVE_METHOD_REQUEST","REMOVE_METHOD_SUCCESS","REMOVE_METHOD_FAILED","GET_METHODS_REQUEST","GET_METHODS_SUCCESS","GET_METHODS_FAILED","GET_INVOICE_REQUEST","GET_INVOICE_SUCCESS","GET_INVOICE_FAILED","GET_SUBSCRIPTION_REQUEST","GET_SUBSCRIPTION_SUCCESS","GET_SUBSCRIPTION_FAILED","SET_SUBSCRIPTION_REQUEST","SET_SUBSCRIPTION_SUCCESS","SET_SUBSCRIPTION_FAILED","DELETE_SUBSCRIPTION_REQUEST","DELETE_SUBSCRIPTION_SUCCESS","DELETE_SUBSCRIPTION_FAILED","GET_SUBSCRIPTION_PREVIEW_REQUEST","GET_SUBSCRIPTION_PREVIEW_SUCCESS","GET_SUBSCRIPTION_PREVIEW_FAILED","GET_COUPON_INFO_REQUEST","GET_COUPON_INFO_SUCCESS","GET_COUPON_INFO_FAILED","SET_DEFAULT_REQUEST","SET_DEFAULT_SUCCESS","SET_DEFAULT_FAILED","plansDict","priceLabel","priceValue","savvi_slug","PlansModal","isInitOpen","currentPlanIndex","CurrentSubscriptionIndex","methods","accountSubs","AccountSubs","previewTotal","defaultMethodIndex","isAddNewMethod","setIsAddNewMethod","isMethodsShowing","setIsMethodsShowing","selectedPlanIndex","setSelectedPlanIndex","selectedMethodIndex","setSelectedMethodIndex","totalLabel","isBelowCurrentPlan","isCurrentPlanSelected","isTotalProrated","isPaymentReady","isSubmitDisabled","onActionClick","actionType","brand","last4","optionSlug","isDefaultLabel","HubSpotConversations","widget","hsConversationsOnReady","isPlans","onSaveDefault","module","exports","require","brandIcons","MasterCard","Discover","Visa","PaymentMethodCard","exp_month","exp_year","funding","methodsLength","checkLabel","MethodModal","isDefaultLocked","modalType","account_holder_type","submittedVals","amounts","addMethod","modalAction","modalDescription","nameLabel","SettingsBilling","setModalType","selectedMethod","handleModal","cardType","plaidTokenReducer","link_token","methodsReducer","defaultMethodReducer","default","invoiceReducer","subscriptionReducer","subscriptionPreviewReducer","invoice","achReducer","isSynced","invoices","subscription","subscriptionPreview","ach","plaidToken","handleDeleteProject","isAllTasks","isSectionOpen","selectedTodo","setSelectedTodo","isEditTodoOpen","setIsEditTodoOpen","project_name","taskType","project_id","projectPath","is_deletable","parentView","FA","NoticeToast","timeoutNotice","timeoutClear","notice","noticeDelay","isDevError","NoticeToasts","duplicateIndex","existingNoticeIndex","utc","relativeTime","Tooltip","TooltipAction","SET_ACCOUNT_INFO","GET_FEATURES_REQUEST","GET_ACCOUNT_INFO_REQUEST","PATCH_ACCOUNT_INFO_REQUEST","GET_FEATURES_FAILED","GET_ACCOUNT_INFO_FAILED","PATCH_ACCOUNT_INFO_FAILED","GET_FEATURES_SUCCESS","GET_ACCOUNT_INFO_SUCCESS","PATCH_ACCOUNT_INFO_SUCCESS","SET_LABEL","SET_LABEL_REQUEST","SET_LABEL_FAILED","SET_LABEL_SUCCESS","FINALIZE_TASK_REQUEST","FINALIZE_TASK_FAILED","FINALIZE_TASK_SUCCESS","PATCH_FEATURE_REQUEST","PATCH_FEATURE_FAILED","PATCH_FEATURE_SUCCESS","SET_FEATURES","SET_FEATURE","PATCH_FEATURE","UPDATE_COMPANY_SIGNATORY_REQUEST","UPDATE_COMPANY_SIGNATORY_FAILED","UPDATE_COMPANY_SIGNATORY_SUCCESS","GET_RESOURCES_BY_TYPE_ID_REQUEST","GET_RESOURCES_BY_TYPE_ID_FAILED","GET_RESOURCES_BY_TYPE_ID_SUCCESS","SET_RESOURCES_BY_TYPE_ID","GET_RESOURCE_BY_ID_REQUEST","GET_RESOURCE_BY_ID_FAILED","GET_RESOURCE_BY_ID_SUCCESS","SET_RESOURCE_BY_ID","MERGE_RESOURCE_REQUEST","MERGE_RESOURCE_FAILED","MERGE_RESOURCE_SUCCESS","DELETE_INDIVIDUAL_REQUEST","DELETE_INDIVIDUAL_FAILED","DELETE_INDIVIDUAL_SUCCESS","REMOVE_INDIVIDUAL","UPLOAD_DOCUMENT_REQUEST","UPLOAD_DOCUMENT_SUCCESS","UPLOAD_DOCUMENT_FAILED","GET_PROJECT_DOCUMENTS_REQUEST","GET_PROJECT_DOCUMENTS_SUCCESS","GET_PROJECT_DOCUMENTS_FAILED","SET_DOCUMENTS_BY_PROJECT","GET_DOCUMENTS_REQUEST","GET_DOCUMENTS_SUCCESS","GET_DOCUMENTS_FAILED","GET_ALL_DOCUMENTS_REQUEST","GET_ALL_DOCUMENTS_SUCCESS","GET_ALL_DOCUMENTS_FAILED","SET_ALL_DOCUMENTS","GET_USER_DOCUMENTS_REQUEST","GET_USER_DOCUMENTS_SUCCESS","GET_USER_DOCUMENTS_FAILED","SET_USER_DOCUMENTS","isLogin","getDecodedToken","access_token","setAccountFromToken","partnerCode","connectPartner","isCurrent","gotoType","isPathLocked","isString","setTransactionsByModule","passedLoc","isFirstCompany","isObjectLike","setPartnerByCode","setPartnerCode","id_token","logoutUser","RESET_ERRORS","GET_PROJECTS_REQUEST","GET_PROJECTS_SUCCESS","GET_PROJECTS_FAILED","GET_PROJECT_REQUEST","GET_PROJECT_SUCCESS","GET_PROJECT_FAILED","POST_PROJECT_REQUEST","POST_PROJECT_SUCCESS","POST_PROJECT_FAILED","SET_PROJECTS","GET_ACCOUNT_PROJECTS_REQUEST","GET_ACCOUNT_PROJECTS_SUCCESS","GET_ACCOUNT_PROJECTS_FAILED","DELETE_ACCOUNT_PROJECT_REQUEST","DELETE_ACCOUNT_PROJECT_SUCCESS","DELETE_ACCOUNT_PROJECT_FAILED","GET_ACCOUNT_PROJECT_REQUEST","GET_ACCOUNT_PROJECT_SUCCESS","GET_ACCOUNT_PROJECT_FAILED","UPDATE_PROJECT_REQUEST","UPDATE_PROJECT_SUCCESS","UPDATE_PROJECT_FAILED","SET_ACCOUNT_PROJECT","SET_ACCOUNT_PROJECTS","PERFORM_TASK_ACTION_REQUEST","PERFORM_TASK_ACTION_SUCCESS","PERFORM_TASK_ACTION_FAILED","UPDATE_TASK_VARIANT_REQUEST","UPDATE_TASK_VARIANT_SUCCESS","UPDATE_TASK_VARIANT_FAILED","DELETE_PROJECT_COUNSEL_REQUEST","DELETE_PROJECT_COUNSEL_SUCCESS","DELETE_PROJECT_COUNSEL_FAILED","ADD_PROJECT_COUNSEL_REQUEST","ADD_PROJECT_COUNSEL_SUCCESS","ADD_PROJECT_COUNSEL_FAILED","isFetchingAuth","partnerMetaByCode","storedPartnerCode","fetchingIconColor","componentClass","tooltipPosition","jsxStyles","ButtonComponent","Link","passedProps","templateKey","emailVerifications","updatedEmailVerifications","urlCompanyId","tokenId","decode","given_name","fullName","validateToken","loadLiveMessenger","_hsq","displayName","script","fetchInitialUserData","tokenData","silent","creds","isCreating","basicAuth","btoa","decodedIdToken","decodedAccessToken","createCompany","sendPasswordReset","setHubspot","clearNotification","socket","emit","addNewUser","changeOwner","newOwnerId","deleteUser","getPartnerByCode","removePartner","dir","sortPriorities","setDir","setFilterSlug","isMultiEdit","setIsMultiEdit","isMultiEditModalOpen","setIsMultiEditModalOpen","isAllSelected","setIsAllSelected","isClearAll","setIsClearAll","isIndeterminate","setIsIndeterminate","setTodos","prevTodos","setPrevTodos","selectedTodos","setSelectedTodos","closeMultiModal","setFilter","newTodos","updatedDir","updatedFilter","updatedTodos","sortTodos","updatedDeadline","todo","todoDeadline","todoProps","todoIndex","isLastRow","TodoRow","outside_code","isSignDocument","priorityLevel","assigneeText","dueDateLabel","fromNow","isPastDue","isSame","updatedSelectedTodos","prevValue","ReviewersModal","initReviewers","projectCounselQuestions","isTransactionFetchingWithHooks","GET_USER_DOCUMENT_BOX_TOKEN_REQUEST","GET_USER_DOCUMENT_BOX_TOKEN_SUCCESS","GET_USER_DOCUMENT_BOX_TOKEN_FAILED","GET_BOX_TOKEN_FOLDER_ID_REQUEST","GET_BOX_TOKEN_FOLDER_ID_SUCCESS","GET_BOX_TOKEN_FOLDER_ID_FAILED","GET_TEMPORARY_BOX_TOKEN_REQUEST","GET_TEMPORARY_BOX_TOKEN_FAILED","individuals","isFetchingFormation","setReviewers","isSetEmailFetching","setIsSetEmailFetching","isNewReviewerShowing","setNewReviewerShowing","emailsNeededArr","setEmailsNeededArr","isEmailsNeeded","setIsEmailsNeeded","emailsNeeded","newReviewer","enableReinitialize","handleBlur","formikReviewers","isEmailsStillNeeded","dispatchCounter","emailIndex","updatedIndividualIndex","TimelineSection","deliverableLabel","kebabCase","element","sectionHeight","scrollHeight","elementTransition","transition","requestAnimationFrame","elementHeader","offsetTop","AddReviewerModal","ProgressBar","isLoadingFirstTime","isStopped","percentage","setDelay","setIsStopped","setPercentage","isDeclined","isNotSigned","recipientStatus","WorkbenchDocStatus","isDocLoadingFirstTime","taskMode","setSelectedRedlineIndex","taskState","redline_available","suggestions","redlining","redlining_allowed","suggestionsByUser","suggestion","suggestionIndex","replies","date_created","documentError","isRedliningAllowed","setIsRedliningAllowed","isAddReviewerModalOpen","setAddReviewerModal","isSetRedliningOpen","setIsSetRedliningOpen","loaderPercentage","setLoaderPercentage","loaderDelay","setLoaderDelay","isLoaderStopped","setIsLoaderStopped","isDocOpen","isSuggestionsShowing","isDocStatusMessageShowing","docStatusMessage","redliningAlertHeader","redliningAlertBody","redliningAlertAction","redliningStatusLabel","redliningStatusAction","reply","replyInd","uuid","existingRecipient","newRecipient","isDocInRedlining","handleApproveSuggestions","redline_enabled","TaskCard","isFirst","isLast","task_event","isRedliningShowing","hideActions","selectedRedlineIndex","last","getIsDocumentHidden","hidden","msHidden","webkitHidden","usePageVisibility","setIsVisible","onVisibilityChange","visibilityChange","connectedOutsideForms","attachedPartner","usePageFocused","docRefreshCount","setDocRefreshCount","taskRefreshCount","setTaskRefreshCount","docRefreshTime","taskRefreshTime","transactionDescription","transactionFees","isPaymentMethodAvailable","isFetchingWithHooksProject","taskRooms","isOutOfCredits","isFormShowing","measuredRef","marginBottom","removeAttribute","isNoAssessmentProject","r","isPartnerCovering","isShareFormDisabled","isDeleteAlertOpen","setDeleteAlert","setDocLoadingFirstTime","isFinalizeLoadingFirstTime","setFinalizeLoadingFirstTime","isProjectCounselModalOpen","setProjectCounselModal","isReopenAlertOpen","setReopenAlert","setReviewModal","isReviewersModalOpen","setReviewersModal","setReopeningTimeout","handleAfterDocLoadingFirstTime","handleAfterFinalizeLoadingFirstTime","reopeningTimer","handleTransactionDelete","isDeleting","handleTransactionReopen","isReopen","scrollto","ProjectCounselModal","auto_send","navTitle","PropTypes","optionOne","optionTwo","renderSublabel","func","oneOfType","Status","moduleTask","arrayOf","price","bool","object","percentComplete","currentTask","getAccountProjects","deleteProjectCounsel","addProjectCounsel","counselId","counselToAdd","UserLimit","AccountSubsJoined","subs","reverseIndex","subDictCount","getAccountUsers","getResourcesByTypeId","getAccountSubscriptions","FlatFeatures","subtaskSlug","getFeaturesObject","modules","homeObj","lowerCase","patchFeatureAction","featureTypeIndex","originalVal","_isEqual","updateCompanySignatory","signatoryId","results","baseResourceId","draftResourceId","setMyTransactions","setTransaction","setTransactionPreview","setMyTemplates","addCustomDocument","setCustomDocument","createResourceFeature","updateResource","GET_COMPANIES_REQUEST","GET_COMPANIES_SUCCESS","GET_COMPANIES_FAILED","POST_COMPANY_PREFERENCE_REQUEST","POST_COMPANY_PREFERENCE_SUCCESS","POST_COMPANY_PREFERENCE_FAILED","DELETE_COMPANY_PREFERENCE_REQUEST","DELETE_COMPANY_PREFERENCE_SUCCESS","DELETE_COMPANY_PREFERENCE_FAILED","REFRESH_COMPANY_TOKEN_REQUEST","REFRESH_COMPANY_TOKEN_SUCCESS","REFRESH_COMPANY_TOKEN_FAILED","SET_COMPANY_TOKEN_REFRESHING","SET_COMPANY_TOKEN_REQUEST","SET_COMPANY_TOKEN_SUCCESS","SET_COMPANY_TOKEN_FAILED","GET_COMPANY_DATA_TABLES_REQUEST","GET_COMPANY_DATA_TABLES_SUCCESS","GET_COMPANY_DATA_TABLES_FAILED","SET_COMPANIES","SET_COMPANY_DATA_TABLES"],"mappings":"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CAC,IAEAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IAGAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IAGAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,MAGFC,IAAIC,Q,oMC/UEC,EAAS,SAAH,GAAc,EAARC,SAAkB,EAARC,SAAsB,EAAZC,aAAoB,IAClD5L,EAAW6L,cACXC,EAAe/L,OAAOC,SAASC,KAAKrW,SAAS,WAEnD,OACE,qBAAKmiB,UAAU,eAAc,SAC3B,qBAAIA,UAAU,eAAc,UAC1B,oBAAIA,UAAU,oBAAmB,SAC/B,qBACEA,UAAU,eACVC,IAAKF,ECpBF,qsJDoB8BG,IACjCC,IAAI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","file":"static/js/main.400c05f5.chunk.js","sourcesContent":["import {\n CLEAR_NOTICE,\n CLEAR_NOTICES,\n CLOSE_TERMS_MODAL,\n CLOSE_USER_DROPDOWN,\n OPEN_TERMS_MODAL,\n OPEN_USER_DROPDOWN,\n SET_NOTICE,\n SET_SEARCH,\n CLEAR_SEARCH,\n SET_SIDEBAR_COLLAPSED,\n SET_BRAND_META,\n} from './types';\n\nexport const openTermsModal = () => ({\n type: OPEN_TERMS_MODAL,\n});\n\nexport const closeTermsModal = () => ({\n type: CLOSE_TERMS_MODAL,\n});\n\nexport const openUserDropdown = () => ({\n type: OPEN_USER_DROPDOWN,\n});\n\nexport const closeUserDropdown = () => ({\n type: CLOSE_USER_DROPDOWN,\n});\n\nexport const setNotice = payload => ({\n type: SET_NOTICE,\n payload,\n});\n\nexport const clearNotice = payload => ({\n type: CLEAR_NOTICE,\n payload,\n});\nexport const clearNotices = () => ({\n type: CLEAR_NOTICES,\n});\n\nexport const setSearch = input => ({\n type: SET_SEARCH,\n input,\n});\n\nexport const clearSearch = input => ({\n type: CLEAR_SEARCH,\n input,\n});\n\nexport const setSidebarCollapsed = collapsed => ({\n type: SET_SIDEBAR_COLLAPSED,\n collapsed,\n});\n\nexport const setBrandMeta = payload => ({\n type: SET_BRAND_META,\n payload,\n});\n","export const OPEN_TERMS_MODAL = 'savvi/UI/OPEN_TERMS_MODAL';\nexport const CLOSE_TERMS_MODAL = 'savvi/UI/CLOSE_TERMS_MODAL';\n\nexport const OPEN_USER_DROPDOWN = 'savvi/UI/OPEN_USER_DROPDOWN';\nexport const CLOSE_USER_DROPDOWN = 'savvi/UI/CLOSE_USER_DROPDOWN';\n\nexport const SET_NOTICE = 'savvi/UI/SET_NOTICE';\nexport const CLEAR_NOTICE = 'savvi/UI/CLEAR_NOTICE';\nexport const CLEAR_NOTICES = 'savvi/UI/CLEAR_NOTICES';\n\nexport const UPDATE_TASK_REQUEST = 'savvi/formation/UPDATE_TASK_REQUEST';\n\nexport const SET_SEARCH = 'savvi/UI/SET_SEARCH';\nexport const CLEAR_SEARCH = 'savvi/UI/CLEAR_SEARCH';\nexport const SET_SIDEBAR_COLLAPSED = 'savvi/UI/SET_SIDEBAR_COLLAPSED';\n\nexport const FETCH_BRAND_META_REQUEST = 'savvi/UI/FETCH_BRAND_META_REQUEST';\nexport const FETCH_BRAND_META_SUCCESS = 'savvi/UI/FETCH_BRAND_META_SUCCESS';\nexport const FETCH_BRAND_META_FAILED = 'savvi/UI/FETCH_BRAND_META_FAILED';\nexport const SET_BRAND_META = 'savvi/UI/SET_BRAND_META';\n","import { get, isEmpty } from 'lodash-es';\nimport { createSelector, defaultMemoize } from 'reselect';\n\nimport { MyTransactions } from '../Transaction/selectors';\n\nexport const isCompanyFetching = defaultMemoize(state =>\n get(state, 'Company.isFetching', false),\n);\n\nexport const IsCompanyTokenRefreshing = defaultMemoize(state =>\n get(state, 'Company.isCompanyTokenRefreshing', false),\n);\n\nexport const IsMultiCompany = defaultMemoize(\n state => Object.keys(get(state, 'Company.companies.byIds', {})).length > 1,\n);\n\nexport const MyCompanies = defaultMemoize(state =>\n Object.values(get(state, 'Company.companies.byIds', {})),\n);\n\nconst included_states = [\n 'document.sent',\n 'document.viewed',\n 'document.waiting_approval',\n 'document.waiting_pay',\n];\nexport const MyFormattedCompanies = createSelector(MyCompanies, companies => {\n let sortedCompanies = companies\n .map(company => {\n // filter only documents that fall under the 'Missing Signatures' category.\n company.documents = company.documents.filter(e =>\n included_states.includes(e.status),\n );\n company.partner =\n ((!company.partner || company.partner === 'N/A') && '--') || company.partner;\n // for Select dropdown.\n company.label = company.name;\n company.value = company.name;\n\n return company;\n })\n .sort((a, b) => new Date(a.created_at) - new Date(b.created_at));\n\n return sortedCompanies;\n\n // let groupedCompanies = [{ name: '', order: null, entities: [] }];\n\n // companies.forEach(company => {\n // if (company.group) {\n // const groupIndex = groupedCompanies.findIndex(\n // group => group.name === company.group,\n // );\n // if (groupIndex !== -1) {\n // let updatedGroup = groupedCompanies[groupIndex];\n\n // updatedGroup.entities.push(company);\n // if (updatedGroup.order > company.order) {\n // updatedGroup.order = company.order;\n // updatedGroup.lowestOrderCompanyId = company.id;\n // }\n // groupedCompanies[groupIndex] = updatedGroup;\n // } else {\n // groupedCompanies.push({\n // name: company.group,\n // order: company.order,\n // lowestOrderCompanyId: company.id,\n // entities: [company],\n // });\n // }\n // } else {\n // groupedCompanies[0].entities.push(company);\n // }\n // groupedCompanies.sort((a, b) => b.groupOrder > a.groupOrder);\n // });\n // return groupedCompanies;\n\n // const earliestPartnerCompanyIndex = sortedCompanies.findIndex(e => e.partner_id);\n // if (earliestPartnerCompanyIndex !== -1) {\n // // Default sorting logic:\n // // 1. sort by earliest created.\n // // 2. group companies by partner.\n // let companiesByPartner = [];\n // sortedCompanies.forEach(company => {\n // const partnerArrIndex = companiesByPartner.findIndex(\n // e => company.partner_id && e[0]?.partner_id === company.partner_id,\n // );\n // if (partnerArrIndex === -1) {\n // const lastIndex = companiesByPartner.length - 1;\n // if (\n // lastIndex === -1 ||\n // company.partner_id ||\n // companiesByPartner[lastIndex][0]?.partner_id\n // ) {\n // companiesByPartner.push([company]);\n // } else {\n // companiesByPartner[lastIndex].push(company);\n // }\n // } else {\n // companiesByPartner[partnerArrIndex].push(company);\n // }\n // });\n // let groupedCompanies = [];\n\n // companiesByPartner.forEach(partnerArr => {\n // groupedCompanies = [\n // ...groupedCompanies,\n // ...partnerArr.sort((a, b) => new Date(a.created_at) - new Date(b.created_at)),\n // ];\n // });\n // return groupedCompanies;\n // }\n\n // return sortedCompanies;\n});\n\nexport const IsCompaniesEmpty = defaultMemoize(state =>\n isEmpty(get(state, 'Company.companies.byIds', {})),\n);\n\nexport const getCompanyDataTables = defaultMemoize(state =>\n Object.values(state.Company?.companyDataTables || {}).map(e => ({\n ...e,\n label: e.question_label,\n value: e.id,\n })),\n);\n\nconst getCurrentCompanyID = defaultMemoize(state =>\n get(state, 'Auth.account.accountId', ''),\n);\n\nexport const CurrentCompany = createSelector(\n MyCompanies,\n getCurrentCompanyID,\n (companies, currentCompanyID) =>\n get(\n companies,\n `[${companies.findIndex(e => e.account_id === currentCompanyID)}]`,\n {},\n ),\n);\n\nexport const CompaniesActionableDocuments = createSelector(MyCompanies, companies =>\n companies.reduce((dict, e) => {\n if (e.documents.length > 0) {\n e.documents.forEach(doc => {\n let included_states = [\n 'document.sent',\n 'document.viewed',\n 'document.waiting_approval',\n 'document.waiting_pay',\n ];\n\n if (included_states.includes(get(doc, 'status', '')) && doc.account_task_id) {\n dict.push({ account: e, ...doc });\n }\n });\n }\n return dict;\n }, []),\n);\n\nexport const CompaniesDocuments = createSelector(\n MyCompanies,\n MyTransactions,\n (companies, transactions) => {\n let filteredDocs = [];\n companies.forEach(e => {\n if (e.documents.length > 0) {\n e.documents.forEach(doc => {\n let skip_states = [\n 'document.sent',\n 'document.viewed',\n 'document.waiting_approval',\n 'document.waiting_pay',\n ];\n\n if (skip_states.includes(get(doc, 'status', ''))) {\n filteredDocs = [...filteredDocs, { companyMeta: e, ...doc }];\n }\n });\n }\n });\n const documents = filteredDocs.reduce(\n (dict, e) => {\n let document = { ...e };\n let isRedlining = false;\n if (!e.account_task_id) {\n return dict;\n }\n transactions.some(transaction => {\n let taskIndex = transaction.tasks.findIndex(\n task => task.id + '' === e.savvi_task_id,\n );\n if (taskIndex !== -1) {\n isRedlining = e.revision_count > 0;\n document = {\n ...document,\n ...transaction,\n taskIndex,\n };\n return true;\n }\n return false;\n });\n if (isRedlining) {\n dict.editableDocs.push(document);\n } else {\n dict.missingSignatureDocs.push(document);\n }\n return dict;\n },\n { editableDocs: [], missingSignatureDocs: [] },\n );\n return documents;\n },\n);\n","const boxTokenIsValid = ({ Cabinet }) => {\n const { accessToken = false, accessTokenTTLMS, acquiredAtMS } = Cabinet.box;\n\n if (!accessToken) {\n return false;\n }\n\n const expiresAt = new Date(accessTokenTTLMS + acquiredAtMS);\n const now = new Date();\n return expiresAt > now;\n};\n\nconst userDocumentBoxTokenIsValid = ({ Cabinet }, documentId) => {\n const userDocumentToken = Cabinet.userDocumentsBoxTokens[documentId] || {};\n const { accessToken = false, accessTokenTTLMS, acquiredAtMS } = userDocumentToken;\n\n if (!accessToken) {\n return false;\n }\n\n const expiresAt = new Date(accessTokenTTLMS + acquiredAtMS);\n const now = new Date();\n if (expiresAt > now) {\n return userDocumentToken;\n }\n return false;\n};\n\nexport { boxTokenIsValid, userDocumentBoxTokenIsValid };\n","import { RSAA } from 'redux-api-middleware';\n\nimport get from 'lodash-es/get';\n\nimport { requestHeaders } from '../../utils/api';\nimport { setNotice } from '../UI/actions';\nimport { setBoxToken } from './actions';\nimport * as types from './types';\nimport * as actions from './actions';\nimport { boxTokenIsValid, userDocumentBoxTokenIsValid } from './utils';\nimport handlePath from '../../../utils/handlePath';\nimport { generateErrorNotice } from '../../../utils/generateErrorNotice';\n\nexport const getOutsideBoxToken = accessCode => {\n const { BOX_TOKEN_REQUEST, BOX_TOKEN_SUCCESS, BOX_TOKEN_FAILED } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/unlisted/storage/token${\n accessCode ? `?access_code=${accessCode}` : ''\n }`,\n method: 'GET',\n headers: requestHeaders(),\n types: [BOX_TOKEN_REQUEST, BOX_TOKEN_SUCCESS, BOX_TOKEN_FAILED],\n bailout: boxTokenIsValid,\n },\n });\n if (boxTokenIsValid(getState())) {\n return await 'Using Previous Token';\n }\n if (!actionResponse.error) {\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'An error has occurred. If this persists after refresh please contact support.',\n ),\n }),\n );\n };\n};\n\nconst getBoxToken = accountId => {\n const { BOX_TOKEN_REQUEST, BOX_TOKEN_SUCCESS, BOX_TOKEN_FAILED } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/storage/token',\n method: 'GET',\n headers: requestHeaders(true, accountId),\n types: [BOX_TOKEN_REQUEST, BOX_TOKEN_SUCCESS, BOX_TOKEN_FAILED],\n bailout: boxTokenIsValid,\n },\n });\n if (boxTokenIsValid(getState())) {\n return await 'Using Previous Token';\n }\n if (!actionResponse.error) {\n return await actionResponse.payload;\n }\n dispatch(setNotice(generateErrorNotice(actionResponse.payload)));\n };\n};\n\nexport const getUserDocumentBoxToken = documentId => {\n const {\n GET_USER_DOCUMENT_BOX_TOKEN_REQUEST: REQUEST,\n GET_USER_DOCUMENT_BOX_TOKEN_SUCCESS: SUCCESS,\n GET_USER_DOCUMENT_BOX_TOKEN_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const userDocumentToken = userDocumentBoxTokenIsValid(getState(), documentId);\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/document/${documentId}/token`,\n method: 'GET',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n bailout: () => !!userDocumentToken,\n },\n });\n if (userDocumentToken) {\n return await userDocumentToken;\n }\n if (!actionResponse.error) {\n dispatch(actions.setUserDocumentBoxToken(actionResponse.payload, documentId));\n return await actionResponse.payload.token;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'An error has occurred. If this persists after refresh please contact support.',\n ),\n }),\n );\n };\n};\n\nexport const downloadSelectedBoxFiles = (name, items) => {\n const {\n DOWNLOAD_SELECTED_BOX_FILES_REQUEST,\n DOWNLOAD_SELECTED_BOX_FILES_SUCCESS,\n DOWNLOAD_SELECTED_BOX_FILES_FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/storage/download-zip',\n method: 'POST',\n headers: requestHeaders(true),\n types: [\n DOWNLOAD_SELECTED_BOX_FILES_REQUEST,\n DOWNLOAD_SELECTED_BOX_FILES_SUCCESS,\n DOWNLOAD_SELECTED_BOX_FILES_FAILED,\n ],\n body: JSON.stringify({ name, items }),\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'An error has occurred. If this persists after refresh please contact support.',\n ),\n }),\n );\n };\n};\n\nexport const getBoxFileForDataRoom = (boxFileId, accessCode, queryUrl = '') => {\n const {\n GET_BOX_FILE_INFO_REQUEST,\n GET_BOX_FILE_INFO_SUCCESS,\n GET_BOX_FILE_INFO_FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/guest/rooms/${accessCode}/file/${boxFileId}/token${queryUrl}`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [\n GET_BOX_FILE_INFO_REQUEST,\n GET_BOX_FILE_INFO_SUCCESS,\n GET_BOX_FILE_INFO_FAILED,\n ],\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n } else {\n let err = new Error(actionResponse.payload?.message || 'An error has occurred.');\n throw err;\n }\n };\n};\n\nconst getBoxFileInfo = (fileId, push, companyId) => {\n const {\n GET_BOX_FILE_INFO_REQUEST,\n GET_BOX_FILE_INFO_SUCCESS,\n GET_BOX_FILE_INFO_FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/box/file/${fileId}/info`,\n method: 'GET',\n headers: requestHeaders(true, companyId),\n types: [\n GET_BOX_FILE_INFO_REQUEST,\n GET_BOX_FILE_INFO_SUCCESS,\n GET_BOX_FILE_INFO_FAILED,\n ],\n },\n });\n if (!actionResponse.error) {\n if (push) {\n push(\n handlePath(\n `/cabinet/${get(actionResponse, 'payload.parent.id', -1)}/${fileId}`,\n companyId,\n ),\n );\n }\n return await actionResponse.payload;\n } else {\n if (push) {\n await push(handlePath(`/cabinet/-1/${fileId}`, companyId));\n }\n return await actionResponse.error;\n }\n };\n};\n\nexport const getBoxTokenFolderId = (path, isOutsideForm, access_code, accountId) => {\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/${isOutsideForm ? 'unlisted/' : ''}account/storage/folder?path=${\n path || '/'\n }${access_code ? `&access_code=${access_code}` : ''}`,\n method: 'GET',\n headers: requestHeaders(!isOutsideForm, accountId),\n types: [\n types.GET_BOX_TOKEN_FOLDER_ID_REQUEST,\n types.GET_BOX_TOKEN_FOLDER_ID_SUCCESS,\n types.GET_BOX_TOKEN_FOLDER_ID_FAILED,\n ],\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'An Error has occured'),\n }),\n );\n return await actionResponse.payload;\n }\n };\n};\n\nexport const getTempBoxToken = () => {\n return async (dispatch, getState) => {\n const {\n Cabinet: {\n tempBox: { isInitialized },\n },\n } = getState();\n if (isInitialized) {\n return await {};\n } else {\n dispatch(actions.setTempTokenFetchInitialized());\n }\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/storage/token/temp_upload',\n method: 'GET',\n headers: requestHeaders(true),\n types: [\n types.GET_TEMPORARY_BOX_TOKEN_REQUEST,\n types.GET_TEMPORARY_BOX_TOKEN_SUCCESS,\n types.GET_TEMPORARY_BOX_TOKEN_FAILED,\n ],\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'An Error has occurred'),\n }),\n );\n return await actionResponse.payload;\n }\n };\n};\n\nexport const getBoxFile = (fileId, isOutsideForm, account_id) => {\n // const config = setupRequestConfig();\n const { UPLOAD_BOX_FILE_REQUEST, UPLOAD_BOX_FILE_SUCCESS, UPLOAD_BOX_FILE_FAILED } =\n types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/${isOutsideForm ? 'unlisted/' : ''}account/box/file/${fileId}`,\n method: 'GET',\n headers: requestHeaders(true, account_id),\n types: [UPLOAD_BOX_FILE_REQUEST, UPLOAD_BOX_FILE_SUCCESS, UPLOAD_BOX_FILE_FAILED],\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'An Error has occured'),\n }),\n );\n throw actionResponse.payload;\n }\n };\n};\n\nexport const uploadBoxFile = (fileId, body, isOutsideForm, account_id) => {\n // const config = setupRequestConfig();\n const { UPLOAD_BOX_FILE_REQUEST, UPLOAD_BOX_FILE_SUCCESS, UPLOAD_BOX_FILE_FAILED } =\n types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/${isOutsideForm ? 'unlisted/' : ''}account/box/file/${fileId}`,\n method: 'PUT',\n headers: requestHeaders(true, account_id),\n types: [UPLOAD_BOX_FILE_REQUEST, UPLOAD_BOX_FILE_SUCCESS, UPLOAD_BOX_FILE_FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n } else {\n if (actionResponse.payload.status !== 500) {\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'An Error has occured'),\n }),\n );\n }\n throw actionResponse.payload;\n }\n };\n};\n\nexport { setBoxToken, getBoxFileInfo, getBoxToken };\n","export const SubscriptionsFeaturesDict = [\n {\n header: 'Basic',\n slug: 'basic',\n subheader:\n \"Platform Access, Free Assessments, Initial Consultation, Limited Team Onboarding, FAQ's.\",\n options: [\n {\n label: 'Free',\n value: 0,\n slug: 'basic',\n },\n {\n label: 'Free',\n value: 0,\n slug: 'basic',\n },\n ],\n },\n {\n header: 'Starter',\n slug: 'starter',\n subheader:\n 'Basic Slack Support, Entity Setup & Management, Unlimited Team Onboarding.',\n optionalAddonsColItems: ['add-on', 'add-on', 'add-on', 'add-on'],\n workflowColItems: ['check', 'X'],\n options: [\n {\n label: '$499/Yr',\n // label: '$25/Mo($499/Yr)',\n slug: 'starter_annual',\n subscriptionLabel: 'Starter Annual',\n value: 499,\n },\n {\n label: '$35/Mo',\n slug: 'starter_monthly',\n subscriptionLabel: 'Starter Monthly',\n value: 35,\n },\n ],\n },\n {\n header: 'Advanced',\n slug: 'advanced',\n subheader: 'Full Equity Setup and Management with Carta integration.',\n optionalAddonsColItems: ['add-on', 'add-on', 'add-on', 'add-on'],\n workflowColItems: ['check', 'check'],\n options: [\n {\n label: '$2000/Yr',\n slug: 'advanced_annual',\n subscriptionLabel: 'Advanced Annual',\n value: 2000,\n },\n {\n label: '$94/Mo',\n slug: 'advanced_monthly',\n subscriptionLabel: 'Advanced Monthly',\n value: 94,\n },\n ],\n },\n {\n header: 'Premium',\n slug: 'premium',\n subheader:\n 'Prepare for Due Diligence, Generate & Execute Standard Financing Documents.',\n optionalAddonsColItems: ['add-on', 'add-on', 'add-on', 'add-on'],\n workflowColItems: ['check', 'check'],\n options: [\n {\n isQuote: true,\n label: 'Request a Quote',\n slug: 'premium_annual',\n subscriptionLabel: 'Premium Annual',\n value: null,\n },\n {\n label: '$420/Mo',\n slug: 'premium_monthly',\n subscriptionLabel: 'Premium Monthly',\n value: 420,\n },\n ],\n },\n];\n\nexport const KnowledgeLibraryDict = {\n columns: [\n ['check', 'X', 'X'],\n ['check', 'X', 'X'],\n ['check', 'check', 'X'],\n ['check', 'check', 'check'],\n ],\n features: [\n {\n rowFeature: {\n description: 'Manage standardized legal documents and filings through Savvi.',\n label: 'Standard Products',\n },\n rowSubfeatures: [\n { label: 'Form a New Entity' },\n { label: 'Issue Equity' },\n { label: 'Issue SAFE Notes' },\n { label: \"Onboard & Offboard Contractors, W2's, and Advisors\" },\n { label: 'Add/Remove Board Members' },\n { label: \"Send NDA's\" },\n { label: 'View All', linkUrl: 'https://learn.savvi.legal/' },\n ],\n },\n {\n rowFeature: {\n description: 'Attorney-managed workflows for complex transactions and scenarios.',\n label: 'Private Products',\n },\n rowSubfeatures: [\n { label: 'LLC to C-Corp Conversions' },\n { label: 'Preferred Stock Financings' },\n { label: 'Mergers & Acquisitions' },\n ],\n },\n {\n rowFeature: {\n description:\n 'Customize your library with your own templates, questionnaires, and workflow logic.',\n label: 'Custom Products',\n hover:\n 'Customize your library with your own templates, questionnaires, and workflow logic.',\n },\n },\n ],\n};\n\nexport const DocumentManagementDict = {\n columns: [\n ['Up to 5', 'check', 'X', 'X', 'X'],\n ['Up to 60/yr', 'check', 'X', 'X', 'X'],\n ['Up to 180/yr', 'check', 'check', 'X', 'X'],\n ['Custom', 'check', 'check', 'check', 'check'],\n ],\n features: [\n {\n rowFeature: {\n description:\n 'Generate, send, sign, and track legal documents through a Savvi workflow.',\n label: 'Execute Savvi Docs',\n },\n },\n {\n rowFeature: {\n description:\n 'A connected view that ties documents to their legal terms and history on Savvi, with a Box (^TM) integration for secure sharing.',\n label: 'Digital File Cabinet',\n },\n },\n {\n rowFeature: {\n description:\n \"Send and sign your own custom documents, or custom versions of Savvi's templates.\",\n label: 'Sign Custom Docs',\n },\n },\n {\n rowFeature: {\n description: \"Implement custom document templates within Savvi's workflows.\",\n label: 'Custom Templates',\n },\n },\n {\n rowFeature: {\n description:\n 'Create secure, shareable data rooms for due diligence or reporting events.',\n label: 'Data Room',\n },\n },\n ],\n};\n\nexport const TaskManagementDict = {\n columns: [\n ['1', 'check', 'X', 'X'],\n ['3', 'check', 'X', 'X'],\n ['6', 'check', 'check', 'X'],\n ['Custom', 'check', 'check', 'check'],\n ],\n features: [\n {\n rowFeature: {\n description:\n 'Give in-house and outside admins a shared space to delegate and collaborate on any legal task.',\n label: 'Admin Seats',\n },\n },\n {\n rowFeature: {\n description:\n 'One place to view and access action items for both individuals and accounts.',\n label: 'Action Center',\n },\n },\n {\n rowFeature: {\n description: 'Assign recurring roles to accounts to automate task assignments.',\n label: 'Workflow Roles',\n },\n },\n {\n rowFeature: {\n description:\n \"Implement a new workflow, or customize one of Savvi's workflow templates.\",\n label: 'Custom Workflows',\n },\n },\n ],\n};\n\nexport const PortfolioManagementDict = {\n columns: [\n ['check', 'X', 'X', 'X'],\n ['check', 'X', 'X', 'X'],\n ['check', 'X', 'X', 'X'],\n ['check', 'check', 'check', 'check'],\n ],\n features: [\n {\n rowFeature: {\n description:\n 'One view to track and access all of your outstanding documents across your portfolio.',\n label: 'Portfolio Dashboard',\n },\n },\n {\n rowFeature: {\n description:\n 'Grant admin access for your team across affiliated portfolio companies.',\n label: 'Portfolio Admin Groups',\n },\n },\n {\n rowFeature: {\n description: 'Provide library access to a portfolio of companies under one plan.',\n label: 'Portfolio Library Access',\n },\n },\n {\n rowFeature: {\n description: 'Manage transactions on behalf of portfolio companies.',\n label: 'Transaction Management',\n },\n },\n ],\n};\n\nexport const IntegratedServicesDict = {\n columns: [\n ['X', 'check', 'check', 'check', 'X', 'X', 'X', 'X', 'X', 'X'],\n [\n 'Up to 20 docs',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n 'X',\n 'X',\n 'X',\n ],\n [\n 'Up to 60 docs',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n 'X',\n ],\n [\n 'Custom',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n 'check',\n ],\n ],\n features: [\n {\n rowFeature: {\n description:\n 'Savvi will setup your Data Room based on the documents that you have added to your File Cabinet.',\n label: 'Data Room Setup',\n },\n },\n {\n rowFeature: {\n description:\n \"Receive sales, billing, and technical support from Savvi's team of experts.\",\n label: 'Account Support',\n },\n },\n {\n rowFeature: {\n description:\n 'As required by states where your company is registered, Savvi provides a State Registered Agent for your company with a physical address in that state.',\n label: 'State Registered Agent (+$99/state)',\n },\n },\n {\n rowFeature: {\n description:\n \"A filing agent will handle all of your annual filings with the state. You'll receive reminders when we need information from you.\",\n label: 'State Filing Agent (+$99/state)',\n },\n rowSubfeatures: [\n { label: 'Annual State Reports and Filings' },\n { label: 'Does not include state filing fees' },\n ],\n },\n {\n rowFeature: {\n description:\n 'Connect with a Savvi certified attorney for counsel or custom needs.',\n label: 'Find Counsel',\n },\n },\n {\n rowFeature: {\n description:\n \"Access discounts and flat-fee pricing from Savvi's curated network of service providers.\",\n label: 'Exclusive Offerings',\n },\n },\n {\n rowFeature: {\n description:\n 'A Savvi partner will setup your Carta Account based on documentation in your File Cabinet.',\n label: 'Free Carta Onboarding*',\n },\n rowSubfeatures: [\n {\n label:\n 'Additional charge is required for companies who do not qualify for Carta Launch.',\n },\n ],\n },\n {\n rowFeature: {\n description:\n \"Savvi will analyze your Data Room and generate suggested actions and to-do's based on missing documents.\",\n label: 'Data Room Audit',\n },\n },\n {\n rowFeature: {\n description:\n \"Connect with Savvi's team of resident attorneys and paralegals to address your custom needs.\",\n label: 'Custom Support',\n },\n },\n {\n rowFeature: {\n description:\n 'For complex transactions (i.e., preferred stock financings, corporate restructuring, and M&A), a Savvi General Counsel partner will work with your legal team and outside counsel to help reduce turn-around times and fees.',\n label: 'Transaction Management',\n },\n rowSubfeatures: [\n { label: 'Reduces legal fees by 40% on average.' },\n {\n label:\n \"Receive pre-negotiated reduced rates from Savvi's partner counsel network.\",\n },\n { label: 'Unlock and track counsel-managed transactions on your Savvi account.' },\n {\n label: 'Operational support to make sure that your transaction goes smoothly.',\n },\n ],\n },\n ],\n};\n\n/** *** UPDATED 2021 SUBSCRIPTIONS END *** */\n\nexport const SolutionsFeaturesDict = {\n EntityFeaturesDict: {\n columns: [\n ['check', 'X'],\n ['check', 'X'],\n ['check', 'check'],\n ['check', 'check'],\n ],\n features: [\n {\n id: 1,\n rowFeature: {\n label: 'Form a New Entity*',\n description:\n 'Get your LLC or C-Corporation started with peace of mind. Everything you need to start operating as an official business.',\n },\n rowSubfeatures: [\n [\n { label: 'Entity Filing Certificate' },\n {\n label: 'EIN Number',\n description: 'Employer Identification Number provided by filing state',\n },\n { label: 'Organizational Documents' },\n { label: 'Filing State Registered Agent' },\n { label: 'Annual Report and Filing Renewal' },\n ],\n [\n {\n label: 'Subscription: Basic (Free) + State Filing Agent add-on ($249/Yr)',\n description: 'See \"Optional Add-ons\" section.',\n },\n {\n label: 'Document Credits: 2-3',\n description: 'See \"Legal Document Credits\" section.',\n },\n {\n label: 'One-time fees: Vary by state (shown in task)',\n },\n ],\n ],\n },\n {\n id: 5,\n rowFeature: {\n label: 'LLC to C-Corp Conversion*',\n description:\n 'Convert your LLC to a Delaware C-Corporation with the help of your Managing Attorney.',\n },\n rowSubfeatures: [\n [\n { label: 'Entity Filing Certificate' },\n {\n label: 'EIN Number',\n description: 'Employer Identification Number provided by filing state',\n },\n { label: 'Organizational Documents' },\n ],\n [\n {\n label: 'Subscription: Advanced + State Filing Agent ($249/Yr)',\n description: 'See \"Optional Add-ons\" section.',\n },\n {\n label: 'Document Credits: 5 or more',\n description: 'See \"Legal Document Credits\" section.',\n },\n {\n label: 'One-time fees: Vary by state',\n },\n ],\n ],\n },\n ],\n },\n EquityFeaturesDict: {\n columns: [\n ['check', 'X', 'X'],\n ['check', 'check', 'check'],\n ['check', 'check', 'check'],\n ['check', 'check', 'check'],\n ],\n features: [\n {\n id: 3,\n rowFeature: {\n label: 'Issue Equity',\n description:\n \"Issue and manage your company's equity. Issue different types of stock, generate an equity incentive plan (ex. option pool), and keep your cap table up-to-date.\",\n },\n rowSubfeatures: [\n [\n { label: 'Common Stock Grants' },\n { label: 'Stock Option Grants' },\n { label: 'Equity Board Consents' },\n ],\n [\n { label: 'Subscription: Basic' },\n {\n label: 'Document Credits: 2 per issuance',\n // description: 'See \"Legal Document Credits\" section.',\n },\n ],\n ],\n },\n { rowFeature: { label: 'Stock Repurchase' } },\n { rowFeature: { label: 'Stock Option Pool Setup' } },\n ],\n },\n FundraisingFeaturesDict: {\n columns: [\n ['check', 'check', 'X'],\n ['check', 'check', 'X'],\n ['check', 'check', 'check'],\n ['check', 'check', 'check'],\n ],\n features: [\n { rowFeature: { label: 'Generate & Execute Term Sheets' } },\n { rowFeature: { label: 'Generate & Execute a SAFE agreement' } },\n { rowFeature: { label: 'Complex Financing' } },\n ],\n },\n TeamFeaturesDict: {\n columns: [\n ['check', 'X'],\n ['check', 'X'],\n ['check', 'check'],\n ['check', 'check'],\n ],\n features: [\n { rowFeature: { label: 'Onboard Employees and Contractors' } },\n { rowFeature: { label: 'Terminate Employees' } },\n ],\n },\n IPFeaturesDict: {\n columns: [\n ['check', 'check', 'X'],\n ['check', 'check', 'X'],\n ['check', 'check', 'check'],\n ['check', 'check', 'check'],\n ],\n features: [\n { rowFeature: { label: 'Trademark Application' } },\n { rowFeature: { label: 'Send a Cease and Desist Notice' } },\n { rowFeature: { label: 'Patent Services' } },\n ],\n },\n CustomersPartnersFeaturesDict: {\n columns: [\n ['check', 'check'],\n ['check', 'check'],\n ['check', 'check'],\n ['check', 'check'],\n ],\n features: [\n { rowFeature: { label: 'SAAS Services Agreement Template' } },\n { rowFeature: { label: 'NDA Template' } },\n ],\n },\n CrisisManagement: {\n columns: [['X'], ['X'], ['check'], ['check']],\n features: [\n {\n // id: 24,\n rowFeature: {\n label: 'COVID-19 Response Assessment',\n description: 'Consult with an attorney and receive a Crisis Response Proposal.',\n },\n rowSubfeatures: [\n [\n { label: 'Free Consultation (30 Minutes)' },\n {\n label: 'Crisis Response Proposal',\n },\n {\n label: 'Quotes Crisis Task',\n },\n ],\n [{ label: 'Subscription: Advanced' }],\n ],\n },\n ],\n },\n ExpeditedSBALoan: {\n columns: [['check'], ['check'], ['check'], ['check']],\n features: [\n {\n id: 25,\n rowFeature: {\n label: 'Generate PPP SBA Loan Assistance',\n description:\n \"Generate, sign, and share your PPP SBA Application with access to our hints and FAQ's. We will share your application with our partner lenders and notify you if accepted.\",\n },\n rowSubfeatures: [\n [\n { label: 'Generate and Sign the SBA Application Form' },\n {\n label: 'In-App Support (Advanced only)',\n },\n {\n label: 'Share Application to a Lender (Currently Unavailable)',\n },\n ],\n [{ label: 'Subscription: Basic (Free)' }],\n ],\n },\n {\n id: 26,\n rowFeature: {\n label: 'Upload & Share PPP SBA Loan Assistance',\n description:\n \"Upload and share your PPP SBA Application with access to our hints and FAQ's. We will share your application with our partner lenders and notify you if accepted.\",\n },\n rowSubfeatures: [\n [\n {\n label: 'In-App Support',\n },\n {\n label: 'Share Application to a Lender (Currently Unavailable)',\n },\n ],\n [{ label: 'Subscription: Advanced($80/mo)' }],\n ],\n },\n ],\n },\n};\n","import { get, isEmpty, reduce } from 'lodash-es';\nimport { createSelector, defaultMemoize } from 'reselect';\n\nimport { SolutionsFeaturesDict } from '../../../utils/SubscriptionsDict';\nimport WorkflowLearnMoreLinks from '../../../utils/WorkflowLearnMoreLinks';\nimport { DocumentsByProject } from '../Document/selectors';\n\nexport const isFetchingWithHooks = defaultMemoize(state =>\n get(state, 'Project.isFetching', false),\n);\n\nexport const isFetching = defaultMemoize(state => get(state, 'isFetching', false));\n\nexport const ProjectCounsel = defaultMemoize((state, id) =>\n get(state, `Project.accountProjects.byIds.${id}.counsel`, []).sort((a, b) =>\n a.counsel_type !== 'Other' ? -1 : 1,\n ),\n);\n\nexport const FirstAttachedPartner = defaultMemoize((state, id) =>\n get(state, `Project.accountProjects.byIds.${id}.attached_partners[0]`, {}),\n);\n\nexport const getAccountProjectsForHomeView = defaultMemoize(state =>\n get(state, 'accountProjects.byOrder', []).reduce((dict, e) => {\n const submittedTransactions = e.transactions.filter(transaction => !transaction.open);\n const submittedText = `${submittedTransactions.length}/${e.transactions.length} submitted`;\n dict.push({\n ...e,\n submittedText,\n });\n return dict;\n }, []),\n);\n\nexport const getAccountProjectsForModuleView = defaultMemoize((state, moduleId) =>\n get(state, 'accountProjects.byOrder', []).reduce((dict, e) => {\n if (!moduleId || moduleId === '-1') {\n const submittedTransactions = e.transactions.filter(\n transaction => !transaction.open,\n );\n const submittedText = `${submittedTransactions.length}/${e.transactions.length} submitted`;\n dict.push({\n ...e,\n submittedText,\n });\n return dict;\n }\n if (e.template.module_id + '' === moduleId) {\n const submittedTransactions = e.transactions.filter(\n transaction => !transaction.open,\n );\n const submittedText = `${submittedTransactions.length}/${e.transactions.length} submitted`;\n dict.push({\n ...e,\n submittedText,\n });\n }\n return dict;\n }, []),\n);\n\nexport const getAccountProject = defaultMemoize((state, id) =>\n get(state, `accountProjects.byIds[${id}]`, {}),\n);\n\nexport const AccountProject = defaultMemoize((state, id) =>\n get(state, `Project.accountProjects.byIds[${id}]`, {}),\n);\n\nexport const AccountProjectWithDocuments = createSelector(\n AccountProject,\n DocumentsByProject,\n (project, documents) => {\n const updatedTransactions = project.transactions.reduce(\n (transactions, transaction) => {\n let transactionDocuments = [];\n let isDeletable = false;\n if (transaction.template.delete_level === 'completed') {\n isDeletable = true;\n } else if (\n transaction.template.delete_level === 'unsubmitted' &&\n !!transaction.open\n ) {\n isDeletable = true;\n } else if (\n transaction.template.delete_level === 'submitted' &&\n transaction.tasks.findIndex(e => e.state === 'completed') === -1\n ) {\n isDeletable = true;\n }\n const updatedTasks = transaction.tasks.reduce((dict, e) => {\n const docIndex = documents.findIndex(doc => doc.account_task_id === e.id);\n if (docIndex !== -1) {\n transactionDocuments.push(documents[docIndex]);\n e.document = documents[docIndex];\n } else if (e.template_variant?.preview?.box_file_id) {\n transactionDocuments.push({\n ...e.template_type,\n label: e.template_type?.customer_label,\n template_variant: e.template_variant,\n task: e,\n isTransactionOpen: !!transaction.open,\n validatedQuestionnaire: !!transaction.validated_questionnaire,\n });\n }\n dict.push(e);\n return dict;\n }, []);\n transactions.push({\n ...transaction,\n transactionDocuments,\n tasks: updatedTasks,\n isDeletable,\n });\n return transactions;\n },\n [],\n );\n return {\n ...project,\n transactions: updatedTransactions,\n };\n },\n);\n\nexport const WorkflowsArray = defaultMemoize((state, moduleId) =>\n get(state, 'Project.projects.byOrder', []).reduce((dict, e) => {\n const findSolutionsIndex = feature => feature.id === e.id;\n let isSolutionsHelpShowing = false;\n let solutionsSlug = '';\n let solutionsFeaturesIndex;\n for (const values of Object.entries(SolutionsFeaturesDict)) {\n const innerIndex = values[1].features.findIndex(findSolutionsIndex);\n if (innerIndex !== -1) {\n isSolutionsHelpShowing = true;\n solutionsSlug = values[0];\n solutionsFeaturesIndex = innerIndex;\n }\n }\n if (isSolutionsHelpShowing) {\n e = {\n ...e,\n isSolutionsHelpShowing,\n solutionsSlug,\n solutionsFeaturesIndex,\n };\n }\n dict.push(e);\n return dict;\n }, []),\n);\n\nexport const GetWorkflows = defaultMemoize((state, moduleId) => {\n let workflows = get(state, 'projects.byOrder', []).reduce((dict, e) => {\n if (!moduleId || e.module_id + '' === moduleId) {\n let isLearnMoreShowing = false;\n let learnMoreUrl = '';\n for (const values of Object.entries(WorkflowLearnMoreLinks)) {\n if (values[0] === e.id + '') {\n isLearnMoreShowing = true;\n learnMoreUrl = values[1];\n }\n }\n e = {\n ...e,\n isLearnMoreShowing,\n learnMoreUrl,\n };\n dict.push(e);\n }\n return dict;\n }, []);\n if (workflows.length > 0) {\n workflows.push({\n description: 'Share File Cabinet documents via Box',\n id: 'share_data_room',\n isDataRoom: true,\n label: 'Share File Cabinet',\n module_id: 6,\n status: 'Available',\n });\n }\n return workflows;\n});\n\nexport const getProjects = defaultMemoize((state, moduleId) =>\n get(state, 'projects.byOrder', []).reduce((dict, e) => {\n if (!moduleId || e.module_id + '' === moduleId) {\n let isLearnMoreShowing = false;\n let learnMoreUrl = '';\n for (const values of Object.entries(WorkflowLearnMoreLinks)) {\n if (values[0] === e.id + '') {\n isLearnMoreShowing = true;\n learnMoreUrl = values[1];\n }\n }\n e = {\n ...e,\n isLearnMoreShowing,\n learnMoreUrl,\n };\n dict.push(e);\n }\n return dict;\n }, []),\n);\n\nexport const getProjectsHomeModule = defaultMemoize((state, moduleId, projects = []) =>\n projects\n .reduce((dict, e) => {\n let isLearnMoreShowing = false;\n let learnMoreUrl = '';\n for (const values of Object.entries(WorkflowLearnMoreLinks)) {\n if (values[0] === e.id + '') {\n isLearnMoreShowing = true;\n learnMoreUrl = values[1];\n }\n }\n e = {\n ...e,\n isLearnMoreShowing,\n learnMoreUrl,\n };\n dict.push(e);\n return dict;\n }, [])\n .sort((a, b) => a.order - b.order),\n);\n\nexport const getLearnMoreMetaForProjectView = createSelector(\n getAccountProject,\n project => {\n let isLearnMoreShowing = false;\n let learnMoreUrl = '';\n for (const values of Object.entries(WorkflowLearnMoreLinks)) {\n if (values[0] === project.project_template_id + '') {\n isLearnMoreShowing = true;\n learnMoreUrl = values[1];\n }\n }\n return {\n isLearnMoreShowing,\n learnMoreUrl,\n };\n },\n);\n\nexport const getDocumentTasksCountForProjectView = createSelector(\n AccountProject,\n project => {\n let tasksCount = 0;\n (project?.transactions || []).forEach(transaction => {\n transaction.tasks.forEach(task => {\n if (task.template.type === 'Document' && task.mode === 'Generate') {\n tasksCount++;\n }\n });\n });\n return tasksCount;\n },\n);\n\nexport const getGroupedTransactionsForProjectView = createSelector(\n getAccountProject,\n project => {\n let initArr = [];\n if (isEmpty(project)) {\n return {};\n }\n if (project.transactions && project.transactions.findIndex(e => !e.group) !== -1) {\n initArr.push({ groupLabel: null, transactions: [] });\n }\n const groupedTransactions = reduce(\n project.transactions,\n (dict, e, index) => {\n const groupIndex = dict.findIndex(\n ({ groupLabel } = {}) => groupLabel === e.group,\n );\n if (groupIndex === -1) {\n dict.push({\n groupLabel: e.group,\n transactions: [e],\n });\n } else {\n dict[groupIndex] = {\n ...dict[groupIndex],\n transactions: [...dict[groupIndex].transactions, e],\n };\n }\n return dict;\n },\n initArr,\n );\n return {\n ...project,\n groupedTransactions,\n };\n },\n);\nexport const getGroupedTransactionsWithDocumentsForProjectView = createSelector(\n AccountProjectWithDocuments,\n project => {\n let initArr = [];\n if (isEmpty(project)) {\n return {};\n }\n if (project.transactions && project.transactions.findIndex(e => !e.group) !== -1) {\n initArr.push({\n groupLabel: null,\n groupDocuments: [],\n transactions: [],\n transactionsOpen: 0,\n createdAt: null,\n });\n }\n\n const groupedTransactions = reduce(\n project.transactions,\n (dict, e, index) => {\n const groupIndex = dict.findIndex(\n ({ groupLabel } = {}) => groupLabel === e.group,\n );\n if (groupIndex === -1) {\n dict.push({\n groupLabel: e.group,\n groupDocuments: [...e.transactionDocuments],\n transactionsOpen: e.open ? 1 : 0,\n transactions: [e],\n isGroupDeletable: e.isDeletable,\n createdAt: e.created_at,\n });\n } else {\n let existingGroup = dict[groupIndex];\n if (e.open) {\n existingGroup.transactionsOpen++;\n }\n if (\n new Date(existingGroup.createdAt).valueOf() > new Date(e.created_at).valueOf()\n ) {\n existingGroup.createdAt = e.created_at;\n }\n existingGroup.groupDocuments = [\n ...existingGroup.groupDocuments,\n ...e.transactionDocuments,\n ];\n existingGroup.transactions.push(e);\n if (!e.isDeletable) {\n existingGroup.isGroupDeletable = false;\n }\n dict[groupIndex] = existingGroup;\n }\n return dict;\n },\n initArr,\n );\n const rooms = get(project, 'rooms', []).reduce((dict, e) => {\n if (e.init_room || e.open) {\n dict.push(e);\n }\n return dict;\n }, []);\n return {\n ...project,\n rooms,\n groupedTransactions,\n };\n },\n);\n\n/**\n * @return {array} get a module for ModuleView.\n */\nexport const getProjectsForModuleView = createSelector(\n getAccountProjectsForModuleView,\n getProjects,\n (accountProjects, projects) => {\n let updatedProjects = reduce(\n projects,\n (dict, e) => {\n if (!e.is_repeatable) {\n const projIndex = accountProjects.findIndex(\n val => val.project_template_id === e.id,\n );\n if (projIndex !== -1) {\n let is_started = false;\n let open = false;\n accountProjects[projIndex].transactions.forEach(transaction => {\n if (transaction.is_started) {\n is_started = true;\n }\n if (transaction.open) {\n open = true;\n }\n });\n dict.push({\n ...accountProjects[projIndex],\n ...e,\n is_started,\n open,\n });\n } else {\n dict.push(e);\n }\n } else {\n dict.push(e);\n }\n return dict;\n },\n [],\n );\n updatedProjects.sort((a, b) => a.order - b.order);\n return updatedProjects;\n },\n);\n\nexport const getFaqsForModuleView = createSelector(getProjects, projects =>\n projects.reduce((dict, e, ind) => {\n const faqIndex = dict.findIndex(faq => faq.id === e.id);\n if (!isEmpty(e.faqs) && faqIndex === -1) {\n e.faqs.forEach(faq => dict.push(faq));\n }\n return dict;\n }, []),\n);\n\nexport const getFaqsForProjectView = createSelector(\n getAccountProject,\n project =>\n !isEmpty(project) &&\n project.transactions.reduce((dict, e, ind) => {\n const faqs = get(e, 'template.faqs', []);\n if (!isEmpty(faqs)) {\n faqs.forEach(faq => {\n if (dict.findIndex(val => val.id === faq.id) === -1) {\n dict.push(faq);\n }\n });\n }\n return dict;\n }, []),\n);\n\n/**\n * @return {array} get a module for ModuleView.\n */\nexport const getProjectsForHomeView = createSelector(\n getAccountProjectsForModuleView,\n getProjectsHomeModule,\n (accountProjects, projects) => {\n const updatedProjects = reduce(\n projects,\n (dict, e) => {\n if (accountProjects.findIndex(val => val.project_template_id === e.id) === -1) {\n dict.push(e);\n }\n return dict;\n },\n [],\n ).sort((a, b) => a.order - b.order);\n return updatedProjects;\n },\n);\n","export { default } from './InputStyledCheckbox';\n","export const GET_ACCOUNT_TODOS_REQUEST = 'savvi/todos/GET_ACCOUNT_TODOS_REQUEST';\nexport const GET_ACCOUNT_TODOS_SUCCESS = 'savvi/todos/GET_ACCOUNT_TODOS_SUCCESS';\nexport const GET_ACCOUNT_TODOS_FAILED = 'savvi/todos/GET_ACCOUNT_TODOS_FAILED';\n\nexport const GET_USER_TODOS_REQUEST = 'savvi/todos/GET_USER_TODOS_REQUEST';\nexport const GET_USER_TODOS_SUCCESS = 'savvi/todos/GET_USER_TODOS_SUCCESS';\nexport const GET_USER_TODOS_FAILED = 'savvi/todos/GET_USER_TODOS_FAILED';\n\nexport const UPDATE_ACCOUNT_TODO_REQUEST = 'savvi/todos/UPDATE_ACCOUNT_TODO_REQUEST';\nexport const UPDATE_ACCOUNT_TODO_SUCCESS = 'savvi/todos/UPDATE_ACCOUNT_TODO_SUCCESS';\nexport const UPDATE_ACCOUNT_TODO_FAILED = 'savvi/todos/UPDATE_ACCOUNT_TODO_FAILED';\n\nexport const UPDATE_USER_TODO_REQUEST = 'savvi/todos/UPDATE_USER_TODO_REQUEST';\nexport const UPDATE_USER_TODO_SUCCESS = 'savvi/todos/UPDATE_USER_TODO_SUCCESS';\nexport const UPDATE_USER_TODO_FAILED = 'savvi/todos/UPDATE_USER_TODO_FAILED';\n\nexport const ASSIGN_ACCOUNT_TASK_TODO_REQUEST =\n 'savvi/todos/ASSIGN_ACCOUNT_TASK_TODO_REQUEST';\nexport const ASSIGN_ACCOUNT_TASK_TODO_SUCCESS =\n 'savvi/todos/ASSIGN_ACCOUNT_TASK_TODO_SUCCESS';\nexport const ASSIGN_ACCOUNT_TASK_TODO_FAILED =\n 'savvi/todos/ASSIGN_ACCOUNT_TASK_TODO_FAILED';\n\nexport const ASSIGN_USER_TASK_TODO_REQUEST = 'savvi/todos/ASSIGN_USER_TASK_TODO_REQUEST';\nexport const ASSIGN_USER_TASK_TODO_SUCCESS = 'savvi/todos/ASSIGN_USER_TASK_TODO_SUCCESS';\nexport const ASSIGN_USER_TASK_TODO_FAILED = 'savvi/todos/ASSIGN_USER_TASK_TODO_FAILED';\n\nexport const DELETE_ACCOUNT_TODO_REQUEST = 'savvi/todos/DELETE_ACCOUNT_TODO_REQUEST';\nexport const DELETE_ACCOUNT_TODO_SUCCESS = 'savvi/todos/DELETE_ACCOUNT_TODO_SUCCESS';\nexport const DELETE_ACCOUNT_TODO_FAILED = 'savvi/todos/DELETE_ACCOUNT_TODO_FAILED';\n\nexport const DELETE_USER_TODO_REQUEST = 'savvi/todos/DELETE_USER_TODO_REQUEST';\nexport const DELETE_USER_TODO_SUCCESS = 'savvi/todos/DELETE_USER_TODO_SUCCESS';\nexport const DELETE_USER_TODO_FAILED = 'savvi/todos/DELETE_USER_TODO_FAILED';\n\nexport const GET_USER_ASSIGNEE_OPTIONS_REQUEST =\n 'savvi/todos/GET_USER_ASSIGNEE_OPTIONS_REQUEST';\nexport const GET_USER_ASSIGNEE_OPTIONS_SUCCESS =\n 'savvi/todos/GET_USER_ASSIGNEE_OPTIONS_SUCCESS';\nexport const GET_USER_ASSIGNEE_OPTIONS_FAILED =\n 'savvi/todos/GET_USER_ASSIGNEE_OPTIONS_FAILED';\n\nexport const GET_ACCOUNT_ASSIGNEE_OPTIONS_REQUEST =\n 'savvi/todos/GET_ACCOUNT_ASSIGNEE_OPTIONS_REQUEST';\nexport const GET_ACCOUNT_ASSIGNEE_OPTIONS_SUCCESS =\n 'savvi/todos/GET_ACCOUNT_ASSIGNEE_OPTIONS_SUCCESS';\nexport const GET_ACCOUNT_ASSIGNEE_OPTIONS_FAILED =\n 'savvi/todos/GET_ACCOUNT_ASSIGNEE_OPTIONS_FAILED';\n\nexport const SET_ACCOUNT_TODOS = 'savvi/todos/SET_ACCOUNT_TODOS';\nexport const SET_ASSIGNEE_OPTIONS = 'savvi/todos/SET_ASSIGNEE_OPTIONS';\nexport const SET_TEAM_TODOS = 'savvi/todos/SET_TEAM_TODOS';\n","import { get, isEmpty, startCase } from 'lodash-es';\nimport { createSelector, defaultMemoize } from 'reselect';\nimport { parseShareLink } from '../../../components/formik/ShareLinks/ShareLinks';\n\nexport const AccountRooms = defaultMemoize(state => state.Data.accountRooms);\n\nexport const UserRooms = defaultMemoize((state, roomId) => state.Data.userRooms || []);\n\nexport const getRoomFeatures = defaultMemoize((state, key, features) =>\n get(state, `Data.roomFeatures[${key}]`, []).filter(feature => {\n if ((features || []).findIndex(e => e.feature_id === feature.feature_id) === -1) {\n return true;\n }\n return false;\n }),\n);\n\nexport const getRoomFeaturesAsOptions = createSelector(getRoomFeatures, features =>\n (features || [])\n .filter(e => e.feature_type !== 'document' && e.feature_type !== 'share_links')\n .map(e => ({ ...e, label: startCase(e.feature), value: e.feature_id })),\n);\n\nexport const getRoomResourceOptions = createSelector(getRoomFeatures, features =>\n features.reduce((dict, e) => {\n if (dict.findIndex(resource => resource.label === e.resource) === -1) {\n dict.push({ label: e.resource, value: e.resource_id });\n }\n return dict;\n }, []),\n);\n\nexport const getRoom = defaultMemoize((state, accessCode) =>\n get(state, `Data.room[${accessCode}]`, {}),\n);\n\nexport const getError = defaultMemoize((state, accessCode) =>\n get(state, `Data.room.error`, {}),\n);\n\nexport const IsFetching = defaultMemoize((state, accessCode) =>\n get(state, `Data.isFetching`, false),\n);\n\nexport const getRoomCodes = defaultMemoize(\n (state, roomId) => state.Data.roomCodes[roomId] || [],\n);\n\nexport const getRoomDocuments = defaultMemoize((state, roomId) =>\n (state.Data.roomDocuments[roomId] || []).sort((a, b) => a.order - b.order),\n);\n\nexport const getRoomLinks = defaultMemoize(\n (state, roomId) => state.Data.roomLinks[roomId] || [],\n);\n\nexport const getRoomParticipants = defaultMemoize(\n (state, roomId) => state.Data.roomParticipants[roomId] || [],\n);\n\nexport const getRoomAccessLog = defaultMemoize(\n (state, roomId) => state.Data.roomAccessLog[roomId] || [],\n);\n\nexport const getRoomHistory = defaultMemoize(\n (state, roomId) => state.Data.roomHistory[roomId] || [],\n);\n\nexport const getRoomSharingMeta = createSelector(\n getRoomCodes,\n getRoomAccessLog,\n getRoomHistory,\n getRoomParticipants,\n (codes, accessLog, roomHistory, participants) => {\n let standingFormLink = null;\n let standingFormLinkLabel = null;\n\n let standingForms = [];\n let standingFormsCompleted = 0;\n\n let otherForms = [];\n let otherFormsCompleted = 0;\n let totalTimesVisited = 0;\n let totalDocInteractions = 0;\n let totalPrivateLinks = 0;\n let anonymous = {\n name: 'Anonymous',\n lastVisited: null,\n timesVisited: 0,\n docInteractions: 0,\n forms: [],\n codes: [],\n history: [],\n };\n let usersByEmail = {};\n\n participants.forEach(val => {\n const existingUser = usersByEmail[val.email];\n if (existingUser) {\n usersByEmail[val.email] = {\n ...existingUser,\n codes: [...existingUser.codes, val.room_access],\n name: existingUser.name.trim() || val.name.trim(),\n user_id: existingUser.user_id || val.user_id,\n };\n } else if (val.email) {\n usersByEmail[val.email] = {\n created_at: val.room_access?.created_at,\n email: val.email,\n name: val.name.trim(),\n user_id: val.id,\n room_id: val.room_access.room_id,\n timesVisited: 0,\n docInteractions: 0,\n lastVisited: null,\n codes: [val.room_access],\n forms: [],\n history: [],\n };\n }\n });\n\n codes.forEach(code => {\n if (code.outside_form?.metadata?.type === 'persistent') {\n standingFormLink = code;\n standingFormLinkLabel = standingFormLink.outside_form?.name;\n } else if (code.outside_form?.metadata?.type === 'persistent_instance') {\n standingForms.push(code);\n if (code.outside_form.state !== 'new') {\n standingFormsCompleted++;\n }\n } else if (!isEmpty(code.outside_form) && !code.outside_form.assigned_email) {\n otherForms.push(code);\n if (code.outside_form.state !== 'new') {\n otherFormsCompleted++;\n }\n } else {\n if (code.identifier || code.user?.email) {\n let existingUser = usersByEmail[code.identifier || code.user?.email];\n if (!existingUser) {\n existingUser = Object.values(usersByEmail).find(\n v => v.user_id === code.user_id,\n );\n }\n if (existingUser) {\n if (existingUser.codes.length > 0) {\n totalPrivateLinks++;\n }\n existingUser.user_id = existingUser.user_id || code.user_id;\n existingUser.name =\n existingUser.name.trim() || (code.user?.name || '').trim();\n const codeIndex = existingUser.codes.findIndex(v => v.code === code.code);\n if (codeIndex === -1) {\n existingUser.codes.push(code);\n }\n if (code?.outside_form?.assigned_email) {\n existingUser.forms.push(code.outside_form);\n }\n if (\n !existingUser.created_at ||\n new Date(existingUser.created_at).valueOf() >\n new Date(code.created_at).valueOf()\n ) {\n existingUser.created_at = code.created_at;\n }\n usersByEmail[existingUser.email] = existingUser;\n } else if (code.identifier) {\n totalPrivateLinks++;\n usersByEmail[code.identifier] = {\n created_at: code.created_at,\n email: code.identifier || code.user?.email,\n name: (code.user?.name || '').trim(),\n room_id: code.room_id,\n user_id: code.user_id,\n timesVisited: 0,\n docInteractions: 0,\n lastVisited: null,\n codes: [code],\n forms: code?.outside_form?.assigned_email ? [code.outside_form] : [],\n history: [],\n };\n }\n } else {\n anonymous.codes.push(code);\n }\n }\n });\n\n accessLog.forEach(log => {\n totalTimesVisited++;\n if (log.user?.email) {\n let existingUser = usersByEmail[log.user.email];\n if (!existingUser) {\n existingUser = existingUser = Object.values(usersByEmail).find(\n v => v.user_id === log.user_id,\n );\n }\n if (existingUser) {\n existingUser.history.push(log);\n existingUser.timesVisited++;\n existingUser.email = existingUser.email || log.user?.email;\n existingUser.name = existingUser.name || (log.user?.name || '').trim();\n if (\n !existingUser.created_at ||\n new Date(existingUser.created_at).valueOf() >\n new Date(log.created_at).valueOf()\n ) {\n existingUser.created_at = log.created_at;\n }\n if (\n new Date(existingUser.lastVisited).valueOf() <\n new Date(log.created_at).valueOf()\n ) {\n existingUser.lastVisited = log.created_at;\n }\n } else {\n existingUser = {\n created_at: log.created_at,\n email: log.user.email,\n name: (log.user.name || '').trim(),\n room_id: log.room_id,\n user_id: log.user_id,\n timesVisited: 1,\n docInteractions: 0,\n lastVisited: log.created_at,\n forms: [],\n codes: [],\n history: [log],\n };\n }\n usersByEmail[existingUser.email] = existingUser;\n } else {\n if (\n new Date(log.created_at).valueOf() - new Date(anonymous.lastVisited).valueOf()\n ) {\n anonymous.lastVisited = log.created_at;\n }\n anonymous.timesVisited++;\n anonymous.history.push(log);\n }\n });\n\n roomHistory.forEach(val => {\n const historyAction = val.history?.action || '';\n if (historyAction.includes('visit')) {\n totalTimesVisited++;\n } else {\n totalDocInteractions++;\n }\n if (val.user?.email) {\n let existingUser = usersByEmail[val.user.email];\n if (!existingUser) {\n existingUser = existingUser = Object.values(usersByEmail).find(\n v => v.user_id === val.user_id,\n );\n }\n if (existingUser) {\n existingUser.history.push(val);\n if (historyAction.includes('visit')) {\n existingUser.timesVisited++;\n } else {\n existingUser.docInteractions++;\n }\n existingUser.email = existingUser.email || val.user.email;\n existingUser.name = existingUser.name || (val.user?.name || '').trim();\n if (\n !existingUser.created_at ||\n new Date(existingUser.created_at).valueOf() >\n new Date(val.created_at).valueOf()\n ) {\n existingUser.created_at = val.created_at;\n }\n if (\n new Date(existingUser.lastVisited).valueOf() <\n new Date(val.created_at).valueOf()\n ) {\n existingUser.lastVisited = val.created_at;\n }\n } else {\n totalTimesVisited++;\n existingUser = {\n email: val.user.email,\n name: (val.user.name || '').trim(),\n room_id: val.room_id,\n user_id: val.user_id,\n timesVisited: 1,\n docInteractions: historyAction.includes('visit') ? 0 : 1,\n lastVisited: val.created_at,\n forms: [],\n codes: [],\n history: [val],\n };\n }\n usersByEmail[existingUser.email] = existingUser;\n } else {\n if (\n new Date(val.created_at).valueOf() - new Date(anonymous.lastVisited).valueOf()\n ) {\n anonymous.lastVisited = val.created_at;\n }\n if (historyAction.includes('visit')) {\n anonymous.timesVisited++;\n } else {\n anonymous.docInteractions++;\n }\n anonymous.history.push(val);\n }\n });\n\n let usersArr = Object.values(usersByEmail)\n .sort((a, b) => new Date(a.created_at) - new Date(b.created_at))\n .map(user => ({\n ...user,\n history: user.history.sort(\n (a, b) => new Date(b.created_at) - new Date(a.created_at),\n ),\n }));\n\n return {\n standingFormLink,\n standingFormLinkLabel,\n standingFormsCompleted,\n standingForms,\n otherForms,\n otherFormsCompleted,\n totalDocInteractions,\n totalPrivateLinks,\n totalTimesVisited,\n usersByEmail: [...usersArr, anonymous],\n };\n },\n);\n\nconst addFeatureToDict = (e, passedDict) => {\n if (!passedDict[e.resource_custom_label]) {\n passedDict[e.resource_custom_label] = {\n resource_custom_label: e.resource_custom_label,\n resource_type: e.resource_type,\n resource_type_id: e.resource_type_id,\n resource_variable_name: e.resource_variable_name,\n resources: {\n [e.resource]: {\n resource: e.resource,\n resource_id: e.resource_id,\n resource_custom_label: e.resource_custom_label,\n resource_type: e.resource_type,\n resource_type_id: e.resource_type_id,\n resource_variable_name: e.resource_variable_name,\n features: [e],\n },\n },\n };\n } else if (!passedDict[e.resource_custom_label].resources[e.resource]) {\n passedDict[e.resource_custom_label].resources[e.resource] = {\n resource: e.resource,\n resource_id: e.resource_id,\n resource_custom_label: e.resource_custom_label,\n resource_type: e.resource_type,\n resource_type_id: e.resource_type_id,\n resource_variable_name: e.resource_variable_name,\n features: [e],\n };\n } else {\n const featuresArr = get(\n passedDict,\n `[\"${e.resource_custom_label}\"].resources[\"${e.resource}\"].features`,\n [],\n );\n passedDict[e.resource_custom_label].resources[e.resource].features = [\n ...featuresArr,\n e,\n ];\n }\n return passedDict;\n};\n\nexport const getRoomWithUpdatedFeatures = createSelector(getRoom, room => {\n if (!room || !room.room) {\n return room;\n }\n let entityMeta = {};\n let infoCardFeatures = {};\n let isChecklistsAvailable = false;\n const updatedFeatures = (room.room?.features || []).reduce((dict, e) => {\n if (e.feature_type.feature_type === 'boolean') {\n const valStr = e.value + '';\n e.value = valStr === 'true' || valStr === '1' ? 'Yes' : 'No';\n } else if (e.feature_type.feature_type === 'document') {\n if (!!e.value) {\n e.fileId = e.value;\n e.value = 'Uploaded';\n e.isDocument = true;\n }\n } else if (e.feature_type.feature_type === 'share_links' && !!e.value) {\n e.value = parseShareLink(e.value);\n } else if (\n e.feature_type.feature_type === 'social_security' &&\n e.value &&\n e.value.length === 9\n ) {\n e.value = '*****' + e.value.slice(5);\n } else if (e.feature === 'filing_state') {\n e.feature_type.question_label = 'Filing State';\n }\n if (e.resource_type_id === 2) {\n if (!entityMeta.features) {\n entityMeta = {\n resource: e.resource,\n resource_id: e.resource_id,\n resource_custom_label: e.resource_custom_label,\n resource_type: e.resource_type,\n resource_type_id: e.resource_type_id,\n resource_variable_name: e.resource_variable_name,\n features: [e],\n };\n } else {\n entityMeta.features.push(e);\n }\n }\n dict = addFeatureToDict(e, dict);\n if (e.resource_type_id === 2) {\n infoCardFeatures = addFeatureToDict(e, infoCardFeatures);\n }\n if (e.resource_type_id === 25) {\n infoCardFeatures = addFeatureToDict(e, infoCardFeatures);\n isChecklistsAvailable = true;\n }\n return dict;\n }, {});\n\n return {\n ...room,\n room: {\n ...room.room,\n features: Object.entries(updatedFeatures).sort((a, b) => {\n if (a[0] === 'Company') {\n return -1;\n }\n if (b[0] === 'Company') {\n return 1;\n }\n if (b[0] === 'Directors') {\n return -1;\n }\n return 0;\n }),\n entityMeta,\n infoCardFeatures: Object.entries(infoCardFeatures),\n isChecklistsAvailable,\n },\n };\n});\n","import { RSAA } from 'redux-api-middleware';\n\nimport get from 'lodash-es/get';\n\nimport { requestHeaders } from '../../utils/api';\nimport { getAccountInfo } from '../Formation/operations';\nimport { setNotice } from '../UI/actions';\nimport { mergeSubscription, setInvoice } from './actions';\nimport * as types from './types';\n\nconst addPaymentMethod = (token, is_default, customNotice) => {\n const body = { stripe_token_id: token.id, is_default };\n const {\n ADD_METHOD_REQUEST: REQUEST,\n ADD_METHOD_SUCCESS: SUCCESS,\n ADD_METHOD_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/admin/billing/method',\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n options: {\n timeout: 5000,\n },\n },\n });\n if (!actionResponse.error) {\n dispatch(getPaymentMethods());\n dispatch(setNotice(customNotice || 'Payment Method Added.'));\n return await actionResponse;\n }\n const message =\n get(actionResponse, 'payload.err.message', false) ||\n get(\n actionResponse,\n 'payload.message',\n 'An error has occurred. If error persists after page refresh, please chat our Support Team.',\n );\n\n dispatch(\n setNotice({\n type: 'error',\n message,\n }),\n );\n return await actionResponse;\n };\n};\n\nconst addACHMethod = (token, is_default) => {\n const {\n ADD_ACH_REQUEST: REQUEST,\n ADD_ACH_SUCCESS: SUCCESS,\n ADD_ACH_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/ach',\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(token),\n },\n });\n if (!actionResponse.error) {\n await dispatch(getPaymentMethods());\n await dispatch(setNotice('ACH Account info submitted.'));\n return actionResponse;\n }\n const message =\n get(actionResponse, 'payload.err.message', false) ||\n get(\n actionResponse,\n 'payload.message',\n 'An error has occurred. If error persists after page refresh, please chat our Support Team.',\n );\n dispatch(\n setNotice({\n type: 'error',\n message,\n }),\n );\n return actionResponse;\n };\n};\n\n/**\n *\n * @param {Object} body\n * @param {String} body.public_token - Public Plaid Token\n * @param {Object} body.institution - bank institution data\n * @param {Object} body.account - bank account data\n * @returns {Promise} - returns payload.source_id\n */\nexport const savePlaidMethod = body => {\n const {\n SAVE_PLAID_REQUEST: REQUEST,\n SAVE_PLAID_SUCCESS: SUCCESS,\n SAVE_PLAID_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/admin/billing/plaid/public_token',\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n await dispatch(setNotice('Account Saved.'));\n return await actionResponse.payload;\n }\n throw new Error(actionResponse.payload?.message || 'An error has occurred.');\n };\n};\n\nexport const getPlaidToken = () => {\n const {\n GET_PLAID_TOKEN_REQUEST: REQUEST,\n GET_PLAID_TOKEN_SUCCESS: SUCCESS,\n GET_PLAID_TOKEN_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/admin/billing/plaid/link_token',\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n }\n throw new Error(actionResponse.payload?.message || 'An error has occurred.');\n };\n};\n\nconst verifyACHMethod = ({ bankToken, ...body }, is_default) => {\n const {\n VERIFY_ACH_REQUEST: REQUEST,\n VERIFY_ACH_SUCCESS: SUCCESS,\n VERIFY_ACH_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/ach/${bankToken}`,\n method: 'PUT',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n await dispatch(getPaymentMethods());\n await dispatch(setNotice('ACH Account verified.'));\n return await actionResponse;\n }\n\n await dispatch(\n setNotice({\n type: 'error',\n message: actionResponse.payload?.message || 'An error has occurred.',\n }),\n );\n throw new Error(actionResponse.payload?.message || 'An error has occurred.');\n };\n};\n\nconst removePaymentMethod = methodId => {\n const {\n REMOVE_METHOD_REQUEST: REQUEST,\n REMOVE_METHOD_SUCCESS: SUCCESS,\n REMOVE_METHOD_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/billing/method/${methodId}`,\n method: 'DELETE',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(getPaymentMethods());\n dispatch(setNotice('Payment Method removed.'));\n return actionResponse;\n }\n return actionResponse;\n };\n};\n\nconst removeACHMethod = methodId => {\n const {\n REMOVE_METHOD_REQUEST: REQUEST,\n REMOVE_METHOD_SUCCESS: SUCCESS,\n REMOVE_METHOD_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/ach/${methodId}`,\n method: 'DELETE',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(getPaymentMethods());\n await dispatch(setNotice('ACH Payment Method removed.'));\n return actionResponse;\n }\n return actionResponse;\n };\n};\n\nconst setDefaultMethod = methodId => {\n const {\n SET_DEFAULT_REQUEST: REQUEST,\n SET_DEFAULT_SUCCESS: SUCCESS,\n SET_DEFAULT_FAILED: FAILED,\n } = types;\n\n const body = { default_method_id: methodId };\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/billing/method/`,\n method: 'PUT',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n await dispatch(setNotice('Default Method set.'));\n }\n };\n};\n\nconst getPaymentMethods = () => {\n const {\n GET_METHODS_REQUEST: REQUEST,\n GET_METHODS_SUCCESS: SUCCESS,\n GET_METHODS_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/billing/method',\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n return await actionResponse.payload;\n };\n};\n\nconst getInvoice = () => {\n const {\n GET_INVOICE_REQUEST: REQUEST,\n GET_INVOICE_SUCCESS: SUCCESS,\n GET_INVOICE_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/invoice',\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setInvoice(actionResponse.payload));\n }\n };\n};\n\nconst getSubscriptions = () => {\n const {\n GET_SUBSCRIPTION_REQUEST: REQUEST,\n GET_SUBSCRIPTION_SUCCESS: SUCCESS,\n GET_SUBSCRIPTION_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/billing/customer',\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(mergeSubscription(actionResponse.payload));\n }\n };\n};\n\nconst setSubscription = (subscriptionSlug, selected_source_id) => {\n const body = selected_source_id ? JSON.stringify({ selected_source_id }) : null;\n const {\n SET_SUBSCRIPTION_REQUEST: REQUEST,\n SET_SUBSCRIPTION_SUCCESS: SUCCESS,\n SET_SUBSCRIPTION_FAILED: FAILED,\n } = types;\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/bundle/${subscriptionSlug}`,\n method: 'post',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body,\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Subscribed!'));\n dispatch(getAccountInfo());\n dispatch(getSubscriptions());\n return await actionResponse;\n } else {\n const message =\n get(actionResponse, 'payload.err.message', false) ||\n get(\n actionResponse,\n 'payload.message',\n 'An error has occurred. If error persists after page refresh, please chat our Support Team.',\n );\n dispatch(\n setNotice({\n type: 'error',\n message,\n }),\n );\n throw actionResponse.payload.message;\n }\n };\n};\n\nconst deleteSubscription = subscriptionId => {\n const {\n DELETE_SUBSCRIPTION_REQUEST: REQUEST,\n DELETE_SUBSCRIPTION_SUCCESS: SUCCESS,\n DELETE_SUBSCRIPTION_FAILED: FAILED,\n } = types;\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/bundle/${subscriptionId}`,\n method: 'delete',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Subscription cancelled'));\n dispatch(getSubscriptions());\n return actionResponse;\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n throw actionResponse.payload.message;\n }\n };\n};\n\nconst getSubscriptionPreview = subscriptionSlug => {\n const {\n GET_SUBSCRIPTION_PREVIEW_REQUEST: REQUEST,\n GET_SUBSCRIPTION_PREVIEW_SUCCESS: SUCCESS,\n GET_SUBSCRIPTION_PREVIEW_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/bundle/${subscriptionSlug}/preview`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return actionResponse;\n // dispatch(setSubscriptionPreview(actionResponse.payload));\n }\n // setNotice({ type: 'error', message: actionResponse.payload });\n throw actionResponse;\n };\n};\n\nconst getCouponInfo = (subscriptionSlug, coupon) => {\n const {\n GET_COUPON_INFO_REQUEST: REQUEST,\n GET_COUPON_INFO_SUCCESS: SUCCESS,\n GET_COUPON_INFO_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/bundle/${subscriptionSlug}/coupon`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify({ coupon }),\n },\n });\n if (!actionResponse.error) {\n return actionResponse;\n }\n setNotice({ type: 'error', message: actionResponse.payload });\n return actionResponse;\n };\n};\n\nexport {\n // getHistory,\n addACHMethod,\n addPaymentMethod,\n deleteSubscription,\n getCouponInfo,\n getInvoice,\n getPaymentMethods,\n getSubscriptions,\n getSubscriptionPreview,\n removePaymentMethod,\n removeACHMethod,\n setDefaultMethod,\n setSubscription,\n verifyACHMethod,\n};\n","import { get } from 'lodash-es';\nimport { defaultMemoize } from 'reselect';\n\nexport const getNotices = defaultMemoize(state => get(state, `notices`, []));\n\nexport const isUserDropdownOpen = defaultMemoize(state =>\n get(state, 'UI.isUserDropdownOpen', false),\n);\n\nexport const SearchInput = defaultMemoize(state => get(state, 'UI.search', ''));\nexport const IsSidebarCollapsed = defaultMemoize(state =>\n get(state, 'UI.isSidebarCollapsed', false),\n);\n\nexport const BrandMeta = defaultMemoize(state => {\n let brandMeta = get(state, 'UI.brandMeta', {});\n if (\n !brandMeta.web_base_url ||\n brandMeta.web_base_url === 'https://app.example.com' ||\n window.location.href.includes('localhost')\n ) {\n brandMeta.web_base_url = process.env.REACT_APP_BASEURL;\n }\n return brandMeta;\n});\n","import { applyMiddleware, createStore } from 'redux';\nimport { apiMiddleware } from 'redux-api-middleware';\nimport thunk from 'redux-thunk';\n\nimport { routerMiddleware } from 'connected-react-router';\nimport { createBrowserHistory } from 'history';\n\nimport payload, { myInterceptor } from '../middleware/PayloadHandler';\nimport createRootReducer from '../reducers';\n\n// import { persistState } from '../utils/localStorage';\nexport const history = createBrowserHistory();\n\n// import { persistState } from '../utils/localStorage';\n\nconst configureStore = preloadedState => {\n const store = createStore(\n createRootReducer(history),\n preloadedState,\n applyMiddleware(\n thunk,\n myInterceptor,\n apiMiddleware,\n payload,\n routerMiddleware(history),\n ),\n );\n\n // store.subscribe(() => {\n // store.subscribe(() => {\n // persistState(store.getState());\n // });\n // });\n\n return store;\n};\n\nexport default configureStore;\n","import { applyMiddleware, compose, createStore } from 'redux';\nimport { routerMiddleware } from 'connected-react-router';\nimport { apiMiddleware } from 'redux-api-middleware';\nimport { createLogger } from 'redux-logger';\nimport thunk from 'redux-thunk';\n\nimport { createBrowserHistory } from 'history';\n\nimport payload, { myInterceptor } from '../middleware/PayloadHandler';\nimport createRootReducer from '../reducers';\n\n// import { persistState } from '../utils/localStorage';\nexport const history = createBrowserHistory();\n\nconst logger = createLogger({\n collapsed: true,\n duration: true,\n});\n\nconst composeEnhancers =\n typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({\n // Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize...\n })\n : compose;\n\nconst configureStore = preloadedState => {\n const store = createStore(\n createRootReducer(history),\n composeEnhancers(\n applyMiddleware(\n thunk,\n myInterceptor,\n apiMiddleware,\n payload,\n routerMiddleware(history),\n logger,\n ),\n ),\n // composeEnhancers(applyMiddleware(thunk, apiMiddleware, payload, logger)),\n );\n\n // store.subscribe(() => {\n // persistState(store.getState());\n // });\n\n return store;\n};\n\nexport default configureStore;\n","import { dom, library } from '@fortawesome/fontawesome-svg-core';\n// Brands\nimport {\n faCcAmex,\n faCcDiscover,\n faGoogle,\n faCcMastercard,\n faCcVisa,\n} from '@fortawesome/free-brands-svg-icons';\n// Light *ex. icon={['fal', 'bell-slash']}\nimport {\n faArrowDown19,\n faArrowDownAZ,\n faArrowDownWideShort,\n faArrowUp19,\n faArrowUpAZ,\n faArrowUpWideShort,\n faArrowFromLeft,\n faArrowUpFromSquare,\n faArrowToLeft,\n faBallotCheck,\n faBars as faBarsLight,\n faBell,\n faBellSlash,\n faBuilding,\n faBuildingCircleArrowRight,\n faBooks,\n faCalendarAlt,\n faCaretDown as faCaretDownLight,\n faCaretUp as faCaretUpLight,\n faChartPie,\n faCheck as faCheckLight,\n faCheckCircle as faCheckCircleLight,\n faCheckSquare,\n faChevronDown as faChevronDownLight,\n faChevronLeft as faChevronLeftLight,\n faChevronRight as faChevronRightLight,\n faCircle as faCircleLight,\n faClipboard,\n faClock,\n faClockRotateLeft,\n faCog,\n faCopy,\n faCreditCard,\n faDollarSign as faDollarSignLight,\n faEdit,\n faEllipsisV as faEllipsisVLight,\n faEnvelopeOpenText,\n faEraser,\n faExternalLink,\n faFeatherAlt,\n faFileAlt,\n faFileArrowDown,\n faFileContract,\n faFileDownload,\n faFileInvoiceDollar,\n faFile as faFileLight,\n faFileExport,\n faFilePlus,\n faFileSignature,\n faFilePen,\n faFileUpload,\n faFileUser,\n faHandshake,\n faHistory,\n faHome,\n faHouseUser,\n faHourglass,\n faInfoCircle,\n faLayerGroup,\n faLightbulb,\n faLink,\n faLinkSimple,\n faLockKeyhole,\n faMinus as faMinusLight,\n faMinusSquare,\n faMoneyCheck,\n faMoneyCheckEdit,\n faPaperPlane,\n faPenAlt,\n faPlus as faPlusLight,\n faPlusCircle,\n faPlusSquare,\n faPortrait,\n faQuestionCircle,\n faQuestion as faQuestionLight,\n faRocket,\n faScroll,\n faSearch,\n faShareFromSquare,\n faShoppingBasket,\n faSignature,\n faSort,\n faSortAmountDown,\n faSortAmountUp,\n faTasks,\n faTimes as faTimesLight,\n faTrashAlt,\n faUndo,\n faUserAlt,\n faUserCircle,\n faUserEdit,\n faUserMinus,\n faUserPlus as faUserPlusLight,\n faUserTie,\n faUsers,\n faUsersClass,\n} from '@fortawesome/pro-light-svg-icons';\n// Regular *ex. icon={['far', 'caret-square-down']}\nimport {\n faCaretSquareDown,\n faCaretSquareUp,\n faCircle as faCircleReg,\n faDollarSign as faDollarSignReg,\n faArrowDownToLine,\n faFile as faFileReg,\n faFileImport,\n faFileSearch as faFileSearchReg,\n faLowVision,\n faPercent,\n faPrintSearch,\n faUnlink,\n} from '@fortawesome/pro-regular-svg-icons';\n// SOLID(default) *ex. icon=\"caret-down\"**\nimport {\n faArchive,\n faArrowDown,\n faArrowUp,\n faArrowLeft,\n faArrowRight,\n faBars,\n faCaretDown,\n faCaretLeft,\n faCaretRight,\n faCaretUp,\n faCheck,\n faCheckCircle,\n faChevronDown,\n faChevronLeft,\n faChevronRight,\n faChevronUp,\n faCircle,\n faCircleInfo,\n faComments,\n faDownload,\n faEllipsisV,\n faEnvelope,\n faExclamation,\n faExclamationCircle,\n faEye,\n faEyeSlash,\n faFile,\n faFileSearch,\n faInfo,\n faLock,\n faLongArrowLeft,\n faLongArrowRight,\n faMagnifyingGlass,\n faMinus,\n faPencil,\n faPencilAlt,\n faPhone,\n faPlus,\n faQuestion,\n faSlash,\n faSpinner,\n faSuitcase,\n faTimes,\n faTimesCircle,\n faTrademark,\n faTrash,\n faUser,\n faUserPlus,\n} from '@fortawesome/pro-solid-svg-icons';\n\nlibrary.add(\n // Brands\n faCcAmex,\n faCcDiscover,\n faGoogle,\n faCcMastercard,\n faCcVisa,\n // Solid\n faArchive,\n faArrowDown,\n faArrowUp,\n faArrowLeft,\n faArrowRight,\n faBars,\n faCaretDown,\n faCaretLeft,\n faCaretRight,\n faCaretUp,\n faCheck,\n faCheckCircle,\n faChevronDown,\n faChevronLeft,\n faChevronRight,\n faChevronUp,\n faCircle,\n faCircleInfo,\n faComments,\n faDownload,\n faEllipsisV,\n faEnvelope,\n faExclamation,\n faExclamationCircle,\n faEye,\n faEyeSlash,\n faFile,\n faFileSearch,\n faInfo,\n faLock,\n faLongArrowLeft,\n faLongArrowRight,\n faMagnifyingGlass,\n faMinus,\n faPencil,\n faPencilAlt,\n faPhone,\n faPlus,\n faQuestion,\n faSlash,\n faSpinner,\n faSuitcase,\n faTimes,\n faTimesCircle,\n faTrademark,\n faTrash,\n faUser,\n faUserPlus,\n\n // Regular\n faCaretSquareDown,\n faCaretSquareUp,\n faCircleReg,\n faDollarSignReg,\n faArrowDownToLine,\n faFileReg,\n faFileImport,\n faFileSearchReg,\n faLowVision,\n faPercent,\n faPrintSearch,\n faUnlink,\n\n // Light\n faArrowDown19,\n faArrowDownAZ,\n faArrowDownWideShort,\n faArrowUp19,\n faArrowUpAZ,\n faArrowUpWideShort,\n faArrowFromLeft,\n faArrowUpFromSquare,\n faArrowToLeft,\n faBallotCheck,\n faBarsLight,\n faBell,\n faBellSlash,\n faBooks,\n faBuilding,\n faBuildingCircleArrowRight,\n faCalendarAlt,\n faCaretDownLight,\n faCaretUpLight,\n faChartPie,\n faCheckLight,\n faCheckCircleLight,\n faCheckSquare,\n faChevronDownLight,\n faChevronLeftLight,\n faChevronRightLight,\n faCircleLight,\n faClipboard,\n faClock,\n faClockRotateLeft,\n faCog,\n faCopy,\n faCreditCard,\n faDollarSignLight,\n faEdit,\n faEllipsisVLight,\n faEnvelopeOpenText,\n faEraser,\n faExternalLink,\n faFeatherAlt,\n faFileAlt,\n faFileArrowDown,\n faFileContract,\n faFileDownload,\n faFileInvoiceDollar,\n faFileExport,\n faFileLight,\n faFilePlus,\n faFileSignature,\n faFilePen,\n faFileUpload,\n faFileUser,\n faHandshake,\n faHome,\n faHouseUser,\n faHistory,\n faHourglass,\n faInfoCircle,\n faLayerGroup,\n faLightbulb,\n faLink,\n faLinkSimple,\n faLockKeyhole,\n faMinusLight,\n faMinusSquare,\n faMoneyCheck,\n faMoneyCheckEdit,\n faPaperPlane,\n faPenAlt,\n faPlusLight,\n faPlusCircle,\n faPlusSquare,\n faPortrait,\n faQuestionCircle,\n faQuestionLight,\n faSearch,\n faShareFromSquare,\n faSort,\n faSortAmountDown,\n faSortAmountUp,\n faScroll,\n faShoppingBasket,\n faSignature,\n faTasks,\n faTimesLight,\n faTrashAlt,\n faUndo,\n faUserAlt,\n faUserCircle,\n faUserEdit,\n faUserMinus,\n faUserPlusLight,\n faUsers,\n faUsersClass,\n faUserTie,\n faRocket,\n);\n\ndom.watch();\n","import React from 'react';\nimport { useLocation } from 'react-router';\n\nimport logo from '../../assets/images/savvi_logo.svg';\nimport oneTapLogo from '../../assets/images/one_tap_logo.png';\n// import paperOSLogo from '../../assets/images/paperOS_wordmark_flat.svg';\nimport { Button } from '../common';\n\nimport './Footer.scss';\n\nconst Footer = ({ hideBack, hideLogo, hideSettings }) => {\n const location = useLocation();\n const isWhiteLabel = window.location.href.includes('paperos');\n\n return (\n
\n \n
\n );\n};\n\nFooter.defaultProps = {\n isAuthenticated: false,\n};\n\nexport default Footer;\n","export default \"data:image/png;base64,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\"","import { isEmpty } from 'lodash-es';\nimport React, { useEffect, useState } from 'react';\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useDispatch } from 'react-redux';\n\nimport { onLogout } from '../../redux/modules/User/operations';\nimport SavviLoading from '../SavviLoading';\n\nimport './LoadingComponent.scss';\n\nconst Loading = ({ history: { push = () => {} } = {} }) => {\n const dispatch = useDispatch();\n // Handle the loading state\n const [isPastDelay, setPastDelay] = useState(false);\n\n useEffect(() => {\n let timer1 = setTimeout(() => {\n setPastDelay(true);\n }, 7000);\n if (isPastDelay === true && isEmpty(localStorage.id_tokens)) {\n dispatch(onLogout(push));\n }\n return () => clearTimeout(timer1);\n }, [dispatch, isPastDelay, push, setPastDelay]);\n\n if (isPastDelay) {\n return (\n
\n

Sorry, there was a problem loading the page.

\n \n Reload page and try again.\n \n

or try logging out then back in.

\n {\n e.preventDefault();\n dispatch(onLogout(push));\n }}\n >\n Logout\n \n

If issue persists, contact us at

\n \n support@savvi.legal\n \n
\n );\n }\n return (\n
\n Loading...\n {/* */}\n \n
\n );\n};\nexport default Loading;\n","import { replace } from 'connected-react-router';\nimport locationHelperBuilder from 'redux-auth-wrapper/history4/locationHelper';\nimport {\n connectedReduxRedirect,\n // connectedRouterRedirect,\n} from 'redux-auth-wrapper/history4/redirect';\n\nimport Loading from '../components/LoadingComponent';\nimport { decodeToken } from '../redux/modules/User/utils';\nimport { setCompany } from '../redux/modules/Company/operations';\nimport { isEmpty } from 'lodash-es';\n\nconst locationHelper = locationHelperBuilder({});\n\nconst userIsAuthenticated = connectedReduxRedirect({\n redirectPath: (state, ownProps) => {\n const {\n location,\n match: {\n params: { companyId },\n },\n } = ownProps;\n const { pathname } = location;\n\n const redirectQueryParam = locationHelper.getRedirectQueryParam(ownProps);\n\n if (!state.Auth.isInitLoading && !state.Auth.user.isAuthenticated) {\n return '/login';\n }\n if (state.Auth.isInitLoading || !state.Auth.user.isAuthenticated) {\n return location;\n }\n if (!pathname.includes('company-select')) {\n if (pathname.includes('/c/0')) {\n return '/c/0/company-select';\n }\n if (redirectQueryParam && redirectQueryParam.includes('/c/0')) {\n return {\n ...location,\n search: location.search.replace('%2Fc%2F0', `%2Fc%2F${companyId}`),\n };\n }\n }\n return location;\n },\n redirectAction: newLoc => (dispatch, getState) => {\n if (\n newLoc &&\n (newLoc.search.includes('company-select') || newLoc.search.includes('home'))\n ) {\n return dispatch(replace('/login'));\n }\n return dispatch(replace(newLoc));\n },\n authenticatedSelector: (state, ownProps) => {\n const {\n location: { pathname },\n } = ownProps;\n const redirectQueryParam = locationHelper.getRedirectQueryParam(ownProps);\n\n if (\n !pathname.includes('company-select') &&\n !pathname.includes('/teams') &&\n !pathname.includes('/dashboard') &&\n !pathname.includes('company-select/new') &&\n !pathname.includes('verify') &&\n (pathname.includes('/c/0/') ||\n (redirectQueryParam && redirectQueryParam.includes('/c/0/')))\n ) {\n return false;\n }\n return state.Auth.user.isAuthenticated && !state.Auth.isInitLoading;\n },\n authenticatingSelector: state =>\n state.Auth.isInitLoading || state.Company.isCompanyTokenRefreshing,\n AuthenticatingComponent: Loading,\n});\n\nconst userIsNotAuthenticated = connectedReduxRedirect({\n redirectPath: (state, ownProps) => {\n let updatedOwnProps = ownProps;\n const storedLocation = JSON.parse(localStorage.storedLocation || '{}');\n\n if (!state.Auth.user.isAuthenticated) {\n return ownProps.location;\n }\n if (!isEmpty(storedLocation)) {\n updatedOwnProps = {\n ...ownProps,\n location: {\n ...storedLocation,\n pathname: ownProps.location.pathname,\n },\n };\n localStorage.removeItem('storedLocation');\n }\n\n const redirectQueryParam = locationHelper.getRedirectQueryParam(updatedOwnProps);\n\n const {\n location: { hash, search, state: { redirectPathname } = {} },\n match: {\n params: { companyId },\n },\n } = updatedOwnProps;\n\n const decodedToken = decodeToken('stored');\n const { accountId } = decodedToken;\n const passedId = companyId || accountId || 0;\n\n if (redirectPathname) {\n return redirectPathname + (hash || '');\n }\n\n const redirectLoc = localStorage.getItem('redirectLoc');\n const redirectHash = localStorage.getItem('redirectHash');\n\n if (redirectLoc) {\n localStorage.removeItem('redirectLoc');\n localStorage.removeItem('redirectHash');\n return redirectLoc + (redirectHash || '');\n }\n\n if (redirectQueryParam) {\n if (redirectQueryParam.includes('/c/0/') && passedId && passedId !== '0') {\n return redirectQueryParam.replace('/c/0', `/c/${passedId}`);\n } else if (\n redirectQueryParam.includes('/c/0/') &&\n !redirectQueryParam.includes('company-select') &&\n !redirectQueryParam.includes(`/c/${accountId}`)\n ) {\n return `/c/0/company-select${search}${hash}`;\n }\n }\n return redirectQueryParam || `/c/${passedId}/company-select`;\n },\n allowRedirectBack: false,\n redirectAction: newLoc => (dispatch, getState) => {\n const state = getState();\n\n if (newLoc && newLoc.pathname.includes('data-room')) {\n return dispatch(\n replace({ pathname: newLoc.pathname, state: { reinitialize: true } }),\n );\n }\n if (newLoc && newLoc.pathname.includes('/c/')) {\n const redirectCompanyId = newLoc.pathname.split('/')[2];\n if (\n redirectCompanyId !== '0' &&\n redirectCompanyId !== state.Auth.account.accountId\n ) {\n return dispatch(\n setCompany(redirectCompanyId, newLoc, false, 'replace', true),\n ).then(\n e => {},\n err => dispatch(replace('/c/0/company-select')),\n );\n }\n }\n\n if (\n newLoc.pathname &&\n !newLoc.pathname.includes('/c/') &&\n !newLoc.pathname.includes('remote-login')\n ) {\n return dispatch(replace({ ...newLoc, pathname: `/c/0${newLoc.pathname}` }));\n }\n if (newLoc && !newLoc.search) {\n return dispatch(replace({ ...newLoc, state: { isPlansShowing: true } }));\n }\n return dispatch(replace(newLoc));\n },\n authenticatedSelector: (state, ownProps) => !state.Auth.user.isAuthenticated,\n});\n\nexport { userIsAuthenticated, userIsNotAuthenticated };\n","import React, { useState } from 'react';\nimport { useHistory } from 'react-router';\nimport { useDispatch } from 'react-redux';\n\nimport { InputStyledTextField } from '../../components/inputs';\nimport { requestVerificationEmail } from '../../redux/modules/User/operations';\nimport { Button } from '../../components/common';\nimport { validateEmail } from '../../utils/FeatureTypes';\nimport { Link } from 'react-router-dom';\nimport { setNotice } from '../../redux/modules/UI/actions';\n\nconst ForgotPassword = ({ code, location: { state: { email = '' } = {} } }) => {\n const dispatch = useDispatch();\n const { goBack } = useHistory();\n const [error, setError] = useState('');\n const [emailInput, setEmailInput] = useState(email);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const handleSubmit = e => {\n e.preventDefault();\n if (!validateField(emailInput)) {\n setIsSubmitting(true);\n dispatch(\n requestVerificationEmail({\n identifier: {\n type: 'email',\n value: emailInput,\n },\n template: 'reset-password',\n }),\n ).then(\n e => {\n setIsSubmitting(false);\n dispatch(\n setNotice(\n \"If there's a Savvi account linked to this email address, you will receive reset instructions in your inbox.\",\n ),\n );\n goBack();\n },\n error => setIsSubmitting(false),\n );\n }\n };\n\n const validateField = value => {\n const fieldError = validateEmail(value);\n setError(fieldError);\n return fieldError;\n };\n\n return (\n
\n
\n
\n

\n Can't remember your password?\n \n Enter your email address below and we'll send you a password reset.\n \n

\n setEmailInput(e.target.value)}\n onBlur={e => validateField(e.target.value)}\n />\n
\n \n Request Reset Link\n \n

\n \n Back to Login\n \n

\n
\n \n
\n
\n );\n};\n\nexport default ForgotPassword;\n","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/wordmark-white.380c2ab6.svg\";","export default __webpack_public_path__ + \"static/media/google_icon.7433a4f5.svg\";","import Login from './Login';\n\nexport default Login;\n","import React, { useCallback, useEffect, useState, useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { isEqual, omit } from 'lodash-es';\n\nimport oneTapLogo from '../../assets/images/one_tap_wordmark.png';\nimport logo from '../../assets/images/wordmark-white.svg';\nimport googleIcon from '../../assets/images/google_icon.svg';\nimport Button from '../../components/common/Button';\nimport { InputPassword, InputStyledTextField } from '../../components/inputs';\nimport SavviLoading from '../../components/SavviLoading';\nimport { clearErrors, setUserFromToken } from '../../redux/modules/User/actions';\nimport {\n loginUser,\n requestVerificationEmail,\n verifyEmail,\n} from '../../redux/modules/User/operations';\nimport { AuthErrors, isFetchingUser } from '../../redux/modules/User/selectors';\nimport { validateEmail, validatePassword } from '../../utils/FeatureTypes';\n\nimport './Login.scss';\nimport { decodeToken } from '../../redux/modules/User/utils';\nimport { useHistory, useLocation } from 'react-router';\nimport { setNotice } from '../../redux/modules/UI/actions';\n\nconst Login = () => {\n const dispatch = useDispatch();\n const { push } = useHistory();\n const location = useLocation();\n const { hash, search, state: { redirectPathname, passedEmail } = {} } = location;\n\n const authErrors = useSelector(AuthErrors);\n const isFetching = useSelector(isFetchingUser);\n\n const [email, setEmail] = useState(passedEmail || '');\n const [prevAuthErrors, setPrevAuthErrors] = useState(authErrors);\n const [errors, setErrors] = useState(authErrors);\n const [isEmailVerified, setEmailVerified] = useState(false);\n const [isSubmitted, setIsSubmitted] = useState(false);\n const [isLoading, setLoading] = useState(false);\n const [isPasswordAllowed, setIsPasswordAllowed] = useState(true);\n const [isPasswordPlainText, setPasswordPlainText] = useState(false);\n const [password, setPassword] = useState('');\n const idTokenInjector = useRef();\n\n const isWhiteLabel = window.location.href.includes('paperos');\n\n const emailRef = useCallback(\n node => {\n if (node !== null && !isEmailVerified) {\n node.focus();\n }\n },\n [isEmailVerified],\n );\n\n const passwordRef = useCallback(\n node => {\n if (node !== null && isEmailVerified) {\n node.focus();\n }\n },\n [isEmailVerified],\n );\n\n useEffect(() => {\n dispatch(clearErrors());\n }, [dispatch]);\n\n useEffect(() => {\n if (passedEmail) {\n dispatch(verifyEmail(passedEmail)).then(\n payload => {\n setEmailVerified(true);\n if (!payload.password_allowed) {\n setIsPasswordAllowed(false);\n }\n setErrors({});\n },\n error => {\n if (error.code === 'NOT_FOUND') {\n push({\n pathname: '/register',\n search,\n state: { email: passedEmail, redirectPathname },\n });\n }\n },\n );\n }\n }, [dispatch, passedEmail, push, redirectPathname, search]);\n\n useEffect(() => {\n if (!isEqual(authErrors, prevAuthErrors)) {\n setErrors({ ...errors, ...authErrors });\n setPrevAuthErrors(authErrors);\n }\n }, [authErrors, errors, prevAuthErrors]);\n\n const getCreds = () => ({\n email,\n password,\n });\n\n const injectGoogleAuth = () => {\n const decodedToken = decodeToken(idTokenInjector.current.value);\n dispatch(setUserFromToken(decodedToken));\n };\n\n const handleSubmit = e => {\n e.preventDefault();\n if (!isEmailVerified && !errors.email) {\n e.stopPropagation();\n setLoading(true);\n dispatch(verifyEmail(email)).then(\n payload => {\n if (!payload.password_allowed) {\n setIsPasswordAllowed(false);\n }\n setEmailVerified(true);\n setErrors({});\n },\n error => {\n if (error.code === 'NOT_FOUND') {\n push({ pathname: '/register', search, state: { email, redirectPathname } });\n }\n },\n );\n setTimeout(() => setLoading(false), 500);\n } else if (isEmailVerified) {\n if (!isPasswordAllowed) {\n dispatch(\n requestVerificationEmail({\n identifier: {\n type: 'email',\n value: email,\n },\n template: 'reset-password',\n state: { email, redirectLocation: redirectPathname || search },\n }),\n ).then(e => {\n dispatch(setNotice('Set new password email sent.'));\n });\n } else if (!errors.email && password && !errors.password) {\n dispatch(clearErrors());\n setErrors({});\n dispatch(loginUser(getCreds())).then(\n e => {\n setIsSubmitted(true);\n },\n error => {\n setIsSubmitted(true);\n },\n );\n }\n }\n };\n\n const validateLoginPassword = e => {\n const { name, value } = e.target;\n const password = validatePassword(\n value,\n 6,\n 'Password must be at least 6 characters long',\n );\n setErrors(!password ? omit(errors, name) : { ...errors, password });\n };\n\n const validateLoginEmail = e => {\n const { name, value } = e.target;\n const email = validateEmail(value);\n setErrors(!email ? omit(errors, name) : { ...errors, email });\n };\n\n const primaryActionLabel =\n (isEmailVerified && !isPasswordAllowed && 'Send New Password Link') ||\n (isEmailVerified && 'Login') ||\n 'Next';\n return (\n
\n
\n \n {isWhiteLabel && (\n
\n

powered by PaperOS

\n
\n )}\n
\n
\n {(isLoading || isFetching) && (\n
\n \n
\n )}\n

\n Welcome\n {isEmailVerified && (\n <>\n {','}\n {\n setErrors({});\n setEmailVerified(false);\n }}\n >\n {email}\n \n \n \n

\n \n {!isPasswordAllowed && }\n {isPasswordAllowed\n ? 'Please enter your password below.'\n : 'You have not yet set a password on this account.'}\n \n \n )}\n {!isEmailVerified && (\n <>\n {'!'}\n Please enter your email below.\n \n )}\n \n {\n setEmail(e.target.value);\n }}\n ref={emailRef}\n type=\"email\"\n value={email}\n />\n {\n if (!(ev.relatedTarget?.className || '').includes('send-email-link')) {\n validateLoginPassword(ev);\n }\n }}\n onChange={e => {\n setPassword(e.target.value);\n }}\n onToggle={() => setPasswordPlainText(!isPasswordPlainText)}\n ref={passwordRef}\n value={password}\n />\n {isSubmitted && errors.form &&
{errors.form}
}\n
\n \n {primaryActionLabel}\n \n
\n {isEmailVerified && (\n \n {!passedEmail && (\n

\n {!isPasswordAllowed\n ? 'Not wanting to use a password?'\n : 'Forgot password?'}\n

\n )}\n \n dispatch(\n requestVerificationEmail({\n identifier: { type: 'email', value: email },\n template: 'magic-link',\n state: { email, redirectLocation: redirectPathname || search },\n }),\n ).then(e =>\n push({\n pathname: '/verify-code/magic-link',\n state: {\n email,\n redirectLocation:\n redirectPathname || search || '/c/0/company-select',\n },\n }),\n )\n }\n size=\"sm\"\n >\n Login By Email Link\n \n {isPasswordAllowed && (\n <>\n {' | '}\n \n Reset Password\n \n \n )}\n \n )}\n \n {!isWhiteLabel && (\n
\n {\n let redirectLoc = redirectPathname;\n if (search) {\n redirectLoc = search;\n }\n if (!!redirectLoc) {\n localStorage.setItem('redirectLoc', redirectLoc);\n }\n if (hash && redirectLoc) {\n let redirectHash = hash;\n if (redirectLoc.includes('%2F')) {\n redirectHash = hash.replace('#', '%23');\n }\n localStorage.setItem('redirectHash', redirectHash);\n }\n return e;\n }}\n >\n \"google-logo\"\n Login with Google\n \n {window.location.href.match(/localhost/) && (\n
\n \n \n
\n )}\n
\n )}\n
\n

\n By continuing, you're confirming that you've read our\n \n Terms & Conditions\n \n

\n

\n For help with any issues please contact{' '}\n \n our support\n \n

\n
\n \n );\n};\n\nexport default Login;\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\n\nimport { clearErrors } from '../../../redux/modules/User/actions';\nimport { resetPassword } from '../../../redux/modules/User/operations';\nimport { resetSchema, validateField, validateForm } from '../../../utils/Validations';\nimport { Button } from '../../common';\nimport { InputPassword } from '../../inputs';\n\nclass ResetPasswordForm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n errors: {},\n password: '',\n isPwPlainText: false,\n };\n }\n\n UNSAFE_componentWillReceiveProps({ errors }) {\n this.setState({ errors });\n }\n\n validateForm = () => {\n this.setState({ errors: {} });\n const errors = validateForm(resetSchema, {\n password: this.state.password,\n });\n this.setState({ errors: errors || {} });\n return !errors;\n };\n\n validateField = e => {\n const error = validateField(e.target, resetSchema, this.state.errors);\n this.setState({ errors: error || {} });\n };\n\n handleChange = e => {\n this.setState({ [e.target.name]: e.target.value });\n };\n\n handleSubmit = e => {\n e.preventDefault();\n if (this.validateForm()) {\n const { password } = this.state;\n const { clearErrors, code, onSubmit } = this.props;\n clearErrors();\n onSubmit({ code, password });\n }\n };\n\n render() {\n const { errors, password, isPwPlainText } = this.state;\n const { isFetching } = this.props;\n return (\n
\n
\n
\n

\n Reset your Password\n Enter a new password below.\n

\n this.setState({ isPwPlainText: !isPwPlainText })}\n isPlainText={isPwPlainText}\n />\n {errors.form &&
{errors.form}
}\n
\n \n Reset Password\n \n
\n \n
\n
\n );\n }\n}\n\nResetPasswordForm.defaultProps = {\n errors: {},\n code: '',\n};\n\nconst mapStateToProps = ({ Auth, UI }, ownProps) => {\n const { errors, isFetching } = Auth;\n return {\n isFetching,\n errors,\n code: ownProps.code,\n };\n};\n\nconst mapDispatchToProps = (dispatch, { push }) => {\n return {\n onSubmit: data => dispatch(resetPassword(data, push)),\n clearErrors: () => dispatch(clearErrors()),\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ResetPasswordForm);\n","import React, { Fragment } from 'react';\nimport { connect } from 'react-redux';\n\nimport ResetPasswordForm from '../../components/forms/ResetPasswordForm';\n\nconst ResetPassword = ({ code, history }) => (\n \n \n \n);\n\nResetPassword.defaultProps = {\n code: false,\n};\n\nconst mapStateToProps = ({ Auth, UI }, ownProps) => {\n const { code = false } = ownProps.match.params;\n return { code };\n};\n\nexport default connect(mapStateToProps)(ResetPassword);\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport Modal from 'react-modal';\nimport { useHistory, useLocation } from 'react-router';\nimport { Button } from '../common';\n\nimport './TermsOfServiceModal.scss';\nModal.setAppElement('#root');\n\nconst TermsOfService = () => {\n const history = useHistory();\n const { action, goBack, replace } = history;\n const location = useLocation();\n const { pathname, state } = location;\n const { background } = state || {};\n\n const onClose = () => {\n if (action !== 'POP') {\n goBack();\n } else if (background) {\n replace(background);\n } else {\n replace('/c/0/company-select');\n }\n };\n return (\n \n
\n

Terms of Service

\n \n
\n

\n In addition to the{' '}\n \n Terms of Use and Privacy Policy\n {' '}\n applicable to all services provided by Savvi Technologies, Inc., or any of its\n affiliates (collectively, “Savvi”), which are incorporated herein by reference,\n the following terms apply to your use of this service:{' '}\n

\n

\n You acknowledge and agree that the provision of any products, information,\n materials or services by Savvi or via www.savvi.legal or any related websites\n (collectively, the \"Site\") does not constitute the provision of legal advice, tax\n advice or any other professional advice by Savvi, and does not create any\n attorney-client or other confidential or special relationship between Savvi and\n you or any other party.{' '}\n

\n

\n You further agree and acknowledge that the results of this form, any paperwork, or\n communications with Savvi employees are provided as a \"DIY\" service by Savvi and\n thus Savvi makes no representation, guarantee or warranty that any documents,\n information or materials provided will actually be suitable for use in your\n business. You acknowledge that you should seek advice from an attorney licensed in\n your applicable jurisdiction(s) and also relevant tax professionals before relying\n on any products or services provided by Savvi or via the Site.{' '}\n

\n

\n By relying on the Savvi's services, you assume all risk and liability that may\n result, and hereby release Savvi from any claims that may arise against it from\n your use of the Savvi Pre-Diligence Assessment and subsequent deliverables and\n communications.{' '}\n

\n

\n SAVVI SERVICES ARE PROVIDED ON AN “AS IS” BASIS, AND SPECIFICALLY DISCLAIMS ALL\n WARRANTIES, TERMS, REPRESENTATIONS AND CONDITIONS WHETHER EXPRESS, IMPLIED, OR\n STATUTORY, AND INCLUDING ANY WARRANTIES, TERMS, REPRESENTATIONS AND CONDITIONS OF\n MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, OR\n NONINFRINGEMENT. WHILE WE TAKE PRECAUTIONS TO PROTECT THE SECURITY OF YOUR\n INFORMATION, WE CANNOT GUARANTEE IT.{' '}\n

\n

\n You may not use any of the services or products provided by Savvi for any illegal\n purpose, including for purposes of avoiding penalties under the Internal Revenue\n Code (or equivalent in the relevant jurisdiction) or promoting, marketing or\n recommending to another party any transaction or matter.{' '}\n

\n

\n You confirm that you have the authority to share any information that you provide\n about any entity or other individuals. These terms and the products and services\n available on the Site may be changed at any time by Savvi, with or without notice,\n at Savvi's sole discretion. Your agreement to these terms is required before you\n are permitted to use any of Savvi's or the Site's products and services.\n

\n \n );\n};\n\nexport default TermsOfService;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Field, Form, Formik } from 'formik';\n\nimport { Button } from '../../components/common';\nimport { Select, TextField } from '../../components/formik';\nimport { createNewCompany } from '../../redux/modules/Company/operations';\nimport { isCompanyFetching, MyCompanies } from '../../redux/modules/Company/selectors';\nimport { validateSelect, validateString } from '../../utils/FeatureTypes';\nimport MyTypes from '../../utils/MyTypes';\n\nimport './NewCompany.scss';\n\nconst customStyles = {\n overlay: {\n zIndex: 9,\n backgroundColor: 'rgba(0,0,0,.66)',\n position: 'fixed',\n height: '100vh',\n width: '100vw',\n display: 'flex',\n overflowY: 'auto',\n paddingTop: 20,\n WebkitOverflowScrolling: 'touch',\n },\n content: {\n position: 'static',\n maxWidth: 450,\n height: 400,\n margin: 'auto',\n padding: 0,\n border: 'none',\n boxShadow: '3px 3px 3px 3px #33373859',\n display: 'flex',\n flexDirection: 'column',\n },\n};\n\nexport const businessTypeOptions = [\n { label: 'For-profit Company', value: 'For-profit Company' },\n { label: 'Investment Vehicle', value: 'Investment Vehicle' },\n { label: 'Legal/Accounting Provider', value: 'Legal/Accounting Provider' },\n { label: 'Other', value: 'Other' },\n];\n\nconst NewCompany = ({\n history: { action, goBack, replace },\n location: { hash, pathname, search, state },\n}) => {\n const { background } = state || {};\n const isWhiteLabel = window.location.href.includes('paperos');\n const dispatch = useDispatch();\n const isFetching = useSelector(isCompanyFetching);\n const companies = useSelector(MyCompanies);\n const [isSubmitted, setSubmitted] = useState(false);\n return (\n {\n e.stopPropagation();\n if (action !== 'POP') {\n goBack();\n } else if (background) {\n replace({ ...background, ...state });\n } else {\n replace('/c/0/company-select');\n }\n }}\n style={customStyles}\n >\n
\n

\n \n Add a Company Workspace to your User Account\n

\n {\n setSubmitted(true);\n const body = {\n company_name,\n features: [{ feature_type_id: 881, value: business_type.value }],\n };\n dispatch(\n createNewCompany(body, { search, hash }, companies.length === 0),\n ).then(\n e => {},\n error => setSubmitted(false),\n );\n }}\n >\n {formikProps => (\n
\n \n {!isWhiteLabel && (\n \n )}\n
\n \n Submit\n \n
\n \n )}\n \n
\n {/* */}\n \n );\n};\n\nNewCompany.propTypes = {\n fetchError: PropTypes.string,\n isFetching: PropTypes.bool,\n initData: MyTypes.initData,\n myModule: PropTypes.object,\n};\n\nexport default NewCompany;\n","import React from 'react';\n\nimport { Field, Form } from 'formik';\n\nimport logo from '../../assets/images/wordmark-white.svg';\nimport oneTapLogo from '../../assets/images/one_tap_wordmark.png';\nimport Button from '../../components/common/Button';\nimport { Password, Select, StyledCheckbox, TextField } from '../../components/formik';\nimport TermsOfService from '../../components/TermsOfServiceModal';\n\nimport './Register.scss';\nimport { businessTypeOptions } from '../NewCompany/NewCompany';\nimport {\n validateEmail,\n validatePassword,\n validateSelect,\n validateString,\n} from '../../utils/FeatureTypes';\n\nconst RegisterForm = ({\n isFetching,\n isModalOpen,\n isPasswordPlainText,\n isRoomRedirect,\n isWhiteLabel,\n handleTogglePassword,\n handleOnLoginClick,\n status,\n toggleModal,\n}) => (\n
\n
\n \n {isWhiteLabel && (\n
\n

powered by PaperOS

\n
\n )}\n
\n
\n

\n {isWhiteLabel\n ? 'Please answer a few questions to get started.'\n : 'Create an account to get started.'}\n

\n
\n
\n \n
\n
\n \n
\n
\n \n \n {!isRoomRedirect && (\n <>\n \n {!isWhiteLabel && (\n \n )}\n \n )}\n \n I agree to {isWhiteLabel ? \"PaperOs'\" : \"Savvi's\"}{' '}\n \n Terms of Service\n \n {' and'}\n \n Privacy Policy\n \n \n }\n validate={val =>\n val !== '1' ? \"You must agree to Savvi's Terms of Service\" : ''\n }\n />\n {status.form &&
{status.form}
}\n
\n \n Back\n \n \n Create Account\n \n
\n \n toggleModal(false)}\n label=\"Terms of Service\"\n />\n
\n);\n\nRegisterForm.defaultProps = {\n values: {},\n status: {},\n};\n\nexport default RegisterForm;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\n\nimport { Formik } from 'formik';\n\nimport { operations as UI } from '../../redux/modules/UI';\nimport { operations } from '../../redux/modules/User';\n// import { registerSchema } from '../../utils/Validations';\nimport Register from './Register';\nimport { setUserFromToken } from '../../redux/modules/User/actions';\n\nclass RegisterContainer extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isPasswordPlainText: false,\n };\n }\n\n handleOnLoginClick = () =>\n this.props.history.replace({\n ...this.props.location,\n pathname: '/login',\n });\n\n handleTogglePassword = () => {\n return this.setState({\n isPasswordPlainText: !this.state.isPasswordPlainText,\n });\n };\n\n render() {\n const {\n isFetching,\n isModalOpen,\n location: { state: { email = '', redirectPathname = '' } = {} },\n submitForm,\n toggleModal,\n } = this.props;\n const isRoomRedirect = redirectPathname.includes('data-room');\n const isWhiteLabel = window.location.href.includes('paperos');\n\n return (\n {\n const userBody = {\n email,\n password,\n first_name,\n family_name: last_name,\n create: true,\n };\n const companyBody = {\n company_name,\n features: [{ feature_type_id: 881, value: business_type?.value || '' }],\n };\n submitForm(userBody, companyBody, isRoomRedirect);\n }}\n >\n {formikProps => (\n \n )}\n \n );\n }\n}\n\nRegisterContainer.propTypes = {\n errors: PropTypes.object,\n isFetching: PropTypes.bool,\n isModalOpen: PropTypes.bool,\n toggleModal: PropTypes.func,\n};\n\nRegisterContainer.defaultProps = {\n errors: {},\n isFetching: false,\n isModalOpen: false,\n toggleModal: () => null,\n};\n\nconst mapStateToProps = ({ Auth, UI }) => {\n const { isFetching } = Auth;\n return {\n isFetching,\n isModalOpen: UI.isTermsModalOpen,\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n const { createUser } = operations;\n const { openTermsModal, closeTermsModal } = UI;\n return {\n setUser: decodedToken => dispatch(setUserFromToken(decodedToken)),\n submitForm: (userBody, companyBody, isRoomRedirect) =>\n dispatch(createUser(userBody, companyBody, isRoomRedirect)),\n toggleModal: open =>\n !!open ? dispatch(openTermsModal()) : dispatch(closeTermsModal()),\n };\n};\n\nconst enhance = connect(mapStateToProps, mapDispatchToProps);\n\nexport default enhance(RegisterContainer);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport clone from 'lodash-es/clone';\nimport compact from 'lodash-es/compact';\n\nimport { operations } from '../../redux/modules/User';\n\nimport './RegisterConfirm.scss';\n\nclass RegisterConfirm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n code: ['', '', '', '', '', '', '', ''],\n isFilled: false,\n };\n this.inputs = [];\n }\n\n handleResend = () => {\n const message = 'Send new confirmation code?';\n\n if (window.confirm(message)) {\n this.props.resendEmailConfirmation();\n }\n };\n\n updateCode(index, value) {\n const code = clone(this.state.code);\n code[index] = value;\n this.setState({\n code,\n });\n\n if (this.inputs[index + 1] && value !== '') {\n this.inputs[index + 1].focus();\n }\n if (compact(code).length === this.inputs.length) {\n this.submitCode(code);\n }\n }\n\n // focusOnNextDigit(index){\n\n // }\n\n allowOverwrite(index, event) {\n const { key } = event;\n if (this.state.code[index].match(/\\d/) && key.match(/\\d/)) {\n const code = clone(this.state.code);\n code[index] = '';\n // let changed = false;\n // let moveFocus = false\n this.setState({\n code,\n });\n }\n if (key === 'Backspace' && this.state.code[index] === '') {\n if (this.inputs[index - 1]) {\n this.inputs[index - 1].focus();\n }\n }\n }\n\n handlePaste(digit, event) {\n event.preventDefault();\n const numbers = event.clipboardData.getData('Text').replace(/[^0-9]/g, '');\n const digits = numbers.split('');\n\n let code = clone(this.state.code);\n digits.forEach((value, index) => {\n const input = digit + index;\n if (input < this.inputs.length) {\n this.inputs[input].value = value;\n code[input] = value;\n if (input < this.inputs.length - 1) {\n this.inputs[input + 1].focus();\n }\n }\n });\n this.setState({ code });\n if (compact(code).length === this.inputs.length) {\n this.submitCode(code);\n }\n }\n\n submitCode = code => {\n const { confirmUserEmail } = this.props;\n if (typeof code !== 'string') {\n code = code.join('');\n }\n if (code.indexOf('-' === -1)) {\n code = [code.slice(0, 3), '-', code.slice(3)].join('');\n }\n confirmUserEmail(code);\n };\n\n renderDigit = digit => {\n return (\n
\n this.handlePaste(digit, e)}\n key={`digit-${digit}`}\n ref={input => (this.inputs[digit] = input)}\n className=\"input__digit\"\n value={this.state.code[digit]}\n maxLength={1}\n onChange={e => this.updateCode(digit, e.target.value)}\n onKeyDown={e => this.allowOverwrite(digit, e)}\n />\n
\n );\n };\n\n render() {\n const { isLoading, email, errors } = this.props;\n\n return (\n
\n
\n

Please check your email.

\n

\n Thank you for creating an account with Savvi, We sent an email to\n {email}. Enter the code contained within that email below.\n

\n \n
\n
{[0, 1, 2].map(this.renderDigit)}
\n
\n
{[3, 4, 5].map(this.renderDigit)}
\n
\n {errors.token && (\n
\n

\n \n

\n

That code wasn't valid. Double Check and try again.

\n
\n )}\n {isLoading && (\n
\n
\n Checking your code...\n
\n )}\n {!errors.token && !isLoading && (\n

\n Keep this window open while you are checking your email for the code from{' '}\n support@savvi.legal. if you can't\n locate the email, look in your spam folder, or check above to see if you\n input your email correctly.\n

\n )}\n

\n Can't find/code not working?{' '}\n \n Send New Confirmation Code\n \n

\n

\n Enter the wrong Email?{' '}\n this.props.onLogout()}>\n Back to Registration\n \n

\n
\n
\n );\n }\n}\n\nRegisterConfirm.defaultProps = {\n isLoading: false,\n errors: {},\n email: '',\n};\n\nconst mapStateToProps = ({ Auth }) => {\n return {\n isLoading: Auth.isFetching,\n errors: Auth.errors,\n email: Auth.user.email || '',\n };\n};\n\nconst mapDispatchToProps = (dispatch, { history: { push } }) => {\n const { confirmUserEmail, onLogout, resendEmailConfirmation } = operations;\n return {\n confirmUserEmail: code => dispatch(confirmUserEmail(code, push)),\n onLogout: () => dispatch(onLogout()),\n resendEmailConfirmation: () => dispatch(resendEmailConfirmation()),\n };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(RegisterConfirm);\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\n\n// Pages\nimport { userIsNotAuthenticated } from '../../utils/Auth';\nimport Register from '../../views/Register';\nimport RegisterConfirm from '../../views/RegisterConfirm';\n\nconst Registration = props => {\n return (\n \n \n \n \n );\n};\n\nexport default Registration;\n","import React, { useEffect } from 'react';\nimport { Redirect, Route, Switch, useHistory, useLocation } from 'react-router-dom';\n\nimport { userIsNotAuthenticated } from '../../utils/Auth';\nimport ForgotPassword from '../../views/ForgotPassword';\nimport Login from '../../views/Login';\nimport ResetPassword from '../../views/ResetPassword';\nimport Registration from '../Registration';\n\nimport './Basic.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { IsAuthenticated } from '../../redux/modules/User/selectors';\nimport SavviLoading from '../../components/SavviLoading';\nimport { refreshCompanyToken } from '../../redux/modules/Company/operations';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport { onLogout } from '../../redux/modules/User/operations';\n\nconst RemoteLogin = () => {\n const dispatch = useDispatch();\n const { push, replace } = useHistory();\n const { pathname, search } = useLocation();\n const isAuthenticated = useSelector(IsAuthenticated);\n\n useEffect(() => {\n if (isAuthenticated) {\n const query = new URLSearchParams(search);\n let userId = query.get('user_id');\n let accountId = query.get('account_id');\n dispatch(refreshCompanyToken(accountId, userId, true)).then(\n e => {\n push(`/c/${accountId}/home`);\n window.location.reload();\n },\n error => {\n if (error.code !== 'UNAUTHORIZED') {\n if (error.code === 'NOT_SUDO') {\n dispatch(setNotice({ type: 'error', message: error.message }));\n }\n dispatch(\n onLogout({\n pathname: '/login',\n state: { redirectPathname: pathname + search },\n }),\n );\n }\n },\n );\n } else {\n replace({\n pathname: '/login',\n state: { redirectPathname: pathname + search },\n });\n }\n }, [dispatch, isAuthenticated, pathname, push, replace, search]);\n\n return (\n
\n \n
\n );\n};\n\nconst Basic = props => {\n return (\n
\n
\n \n \n \n \n \n \n \n \n \n {/*

catch all

} /> */}\n
\n
\n
\n );\n};\n\nexport default Basic;\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport {\n getUser,\n IsAccountSettingsShowing,\n isFetchingProfile,\n} from '../../redux/modules/Profile/selectors';\nimport {\n getAuthUser,\n getAuthAccount,\n IsAuthenticated,\n} from '../../redux/modules/User/selectors';\nimport { onLogout } from '../../redux/modules/User/operations';\nimport UseWindowSize from '../../utils/UseWindowSize';\nimport SavviLoading from '../SavviLoading';\n\nimport './OrgButton.scss';\nimport { Button } from '../common';\nimport handlePath from '../../utils/handlePath';\nimport { useLocation, useParams } from 'react-router';\nimport { DropdownAction } from '../common/Dropdown/Dropdown';\nimport { CurrentCompany } from '../../redux/modules/Company/selectors';\n\nconst OrgButton = ({ accountInfo, darkText, isDataRoom, limitedUserEmail }) => {\n const { pathname } = useLocation();\n const { subscriptions = [], owner = {} } = accountInfo || {};\n const { name, impersonator_id } = useSelector(getAuthAccount);\n const { companyId } = useParams();\n const dispatch = useDispatch();\n const { width } = UseWindowSize();\n const isAuthenticated = useSelector(IsAuthenticated);\n const user = useSelector(getUser);\n const AuthUser = useSelector(getAuthUser);\n const isFetching = useSelector(isFetchingProfile);\n const isAccountSettingsShowing = useSelector(IsAccountSettingsShowing);\n const isWhiteLabel = window.location.href.includes('paperos');\n const currentCompany = useSelector(CurrentCompany);\n const isPaymentsHidden = isWhiteLabel && !currentCompany.partner_id;\n\n const [isInitFetchingTimeout, setIsInitFetchingTimeout] = useState(false);\n\n useEffect(() => {\n const initLoadingTimeout = setTimeout(() => setIsInitFetchingTimeout(true), 1000);\n return () => {\n clearTimeout(initLoadingTimeout);\n };\n }, []);\n\n const signedInEmail = user.email || AuthUser.email;\n const menuLabel = limitedUserEmail || signedInEmail || 'menu';\n const isNameShowing = !isFetching || isInitFetchingTimeout;\n const isExclamationShowing =\n !isAuthenticated ||\n (!!limitedUserEmail && signedInEmail !== limitedUserEmail) ||\n !!impersonator_id;\n let possessionLabel = name;\n if (owner?.email) {\n possessionLabel += ` (${owner.email})`;\n }\n\n return (\n (\n \n \n {isExclamationShowing && (\n \n )}\n {!isNameShowing && }\n {isNameShowing && width > 678 && (\n <>\n {!!limitedUserEmail &&

Viewing as

}\n

{menuLabel}

\n \n )}\n \n \n )}\n >\n {!isAuthenticated && isDataRoom && (\n <>\n
\n

\n \n Sign in to Savvi to more easily access & interact with your Documents &\n connected Deal Rooms.\n

\n
\n
\n \n Sign In\n \n \n )}\n
\n {!!limitedUserEmail && signedInEmail && signedInEmail !== limitedUserEmail && (\n

\n Signed in as {signedInEmail}\n

\n )}\n {!!impersonator_id && (\n

\n \n You are currently accessing this account as {possessionLabel}\n

\n )}\n {user.first_name && user.last_name && (\n

{`${user.first_name || ''} ${user.last_name || ''}`}

\n )}\n {(user.email || AuthUser.email) &&

{user.email || AuthUser.email || ''}

}\n
\n {companyId !== '0' && !isDataRoom && (\n
\n

Subscriptions:

\n

\n {subscriptions.join()}\n {subscriptions.length === 0 && 'Free Basic'}\n

\n
\n )}\n {isAuthenticated &&
}\n {companyId !== '0' && !isDataRoom && !isPaymentsHidden && (\n \n View your subscriptions\n \n )}\n {isAuthenticated && (\n \n View Dashboard\n \n )}\n {isAccountSettingsShowing && !isDataRoom && (\n \n Account Settings\n \n )}\n {isAuthenticated && (\n {\n e.preventDefault();\n dispatch(onLogout());\n }}\n >\n Logout\n \n )}\n \n );\n};\n\nOrgButton.defaultProps = {\n darkText: true,\n};\n\nexport default OrgButton;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n// import classnames from 'classnames';\n// import Moment from 'moment';\n\n// import { setFeatureChangesDate } from '../../redux/modules/Profile/operations';\n// import { FeatureChanges, NewFeatureChanges } from '../../redux/modules/Profile/selectors';\n\nimport './WhatsNewModal.scss';\nimport { getAuthUser } from '../../redux/modules/User/selectors';\nimport Button from '../common/Button';\nimport { useLocation } from 'react-router';\nimport { getCurrentUser } from '../../redux/modules/Profile/selectors';\nimport { requestVerificationEmail } from '../../redux/modules/User/operations';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport { saveSettings } from '../../redux/modules/Profile/operations';\n\n// import { Link } from 'react-router-dom';\n\nconst customStyles = {\n overlay: {\n zIndex: 9,\n backgroundColor: 'rgba(0,0,0,.66)',\n position: 'fixed',\n height: '100vh',\n width: '100vw',\n display: 'flex',\n overflowY: 'auto',\n paddingTop: 42,\n WebkitOverflowScrolling: 'touch',\n },\n content: {\n width: '560px',\n minHeight: 124,\n margin: '0 20px auto auto',\n display: 'flex',\n flexDirection: 'column',\n boxShadow: '1px 1px 3px rgba(0, 0, 0, 0.15)',\n borderRadius: 2,\n padding: 0,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n position: 'static',\n },\n};\n\nexport const WhatsNewModalToggle = () => {\n // const newFeatureChanges = useSelector(NewFeatureChanges);\n const user = useSelector(getAuthUser);\n const userProfile = useSelector(getCurrentUser);\n const { password_allowed, password_prompted } = userProfile;\n\n const [isOpen, setOpen] = useState(false);\n if (user.email_verified && (password_allowed || password_prompted)) {\n return null;\n }\n\n return (\n
  • \n \n setOpen(false)} user={user} />\n
  • \n );\n};\n\nconst WhatsNewModal = ({ isOpen, closeModal }) => {\n const dispatch = useDispatch();\n const user = useSelector(getAuthUser);\n const userProfile = useSelector(getCurrentUser);\n const { email, password_allowed, password_prompted } = userProfile;\n // const dispatch = useDispatch();\n const { pathname } = useLocation();\n // const featureChanges = useSelector(FeatureChanges);\n // const newFeatureChanges = useSelector(NewFeatureChanges);\n\n // const [isCollapsed, setCollapsed] = useState(true);\n\n return (\n {\n e.stopPropagation();\n // dispatch(setFeatureChangesDate());\n closeModal();\n }}\n style={customStyles}\n >\n
    \n

    \n Notifications\n {\n e.stopPropagation();\n // dispatch(setFeatureChangesDate());\n closeModal();\n }}\n icon={['fal', 'times']}\n />\n

    \n
    \n {!user.email_verified && (\n
    \n \n
    \n

    \n You have not yet verified your account, and won't be able to access\n certain features until you do.\n \n Verify your account\n \n

    \n
    \n
    \n )}\n {!password_allowed && !password_prompted && (\n
    \n \n
    \n

    \n You have not yet set a password for your account.\n {\n dispatch(saveSettings({ password_prompted: 1 }));\n dispatch(\n requestVerificationEmail({\n identifier: {\n type: 'email',\n value: email,\n },\n template: 'reset-password',\n }),\n ).then(\n e => {\n dispatch(setNotice('Set new password email sent.'));\n closeModal();\n },\n error => closeModal(false),\n );\n }}\n >\n Email New Password Link\n \n

    \n
    \n
    \n )}\n {/* {featureChanges.map(\n ({\n change_date,\n details: { description, image, label, link, link_label, type = 'Features' },\n id,\n isOld,\n }) => (\n \n
    \n

    \n {type}\n {Moment(change_date).fromNow()}\n

    \n

    \n {label}\n {!description && !!link && (\n <>\n {' ('}\n dispatch(setFeatureChangesDate())}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {link_label || 'Link'}\n \n )\n \n )}\n

    \n {(!!description || !!link) && (\n

    \n {description}\n {!!description && !!link && ' ('}\n {link && (\n dispatch(setFeatureChangesDate())}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {link_label || 'Link'}\n \n )}\n {!!description && !!link && ')'}\n

    \n )}\n
    \n {image && (\n
    \n \"\"\n
    \n )}\n
    \n ),\n )} */}\n {/* {newFeatureChanges.length === 0 && !!user.email_verified && ( */}\n {/* {!!user.email_verified && (\n
    \n
    \n

    No new notifications.

    \n
    \n
    \n )} */}\n {/* {featureChanges.length > 0 && featureChanges.length > newFeatureChanges.length && (\n \n )} */}\n
    \n
    \n \n );\n};\n\nWhatsNewModal.propTypes = {\n isOpen: PropTypes.bool,\n closeModal: PropTypes.func.isRequired,\n};\n\nWhatsNewModal.defaultProps = {\n isOpen: false,\n closeModal: () => {},\n};\n\nexport default WhatsNewModal;\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgBuildings(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.75 20.2485C0.75 19.8343 1.08579 19.4985 1.5 19.4985H22.5C22.9142 19.4985 23.25 19.8343 23.25 20.2485C23.25 20.6627 22.9142 20.9985 22.5 20.9985H1.5C1.08579 20.9985 0.75 20.6627 0.75 20.2485Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.68934 2.68787C2.97064 2.40657 3.35218 2.24854 3.75 2.24854H12.75C13.1478 2.24854 13.5294 2.40657 13.8107 2.68787C14.092 2.96918 14.25 3.35071 14.25 3.74853V20.2485C14.25 20.6627 13.9142 20.9985 13.5 20.9985C13.0858 20.9985 12.75 20.6627 12.75 20.2485V3.74854H3.75L3.75 20.2485C3.75 20.6627 3.41421 20.9985 3 20.9985C2.58579 20.9985 2.25 20.6627 2.25 20.2485V3.74853C2.25 3.35071 2.40803 2.96918 2.68934 2.68787Z\",\n fill: \"currentColor\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.75 8.99854C12.75 8.58432 13.0858 8.24854 13.5 8.24854H20.25C20.6478 8.24854 21.0294 8.40657 21.3107 8.68788C21.592 8.96918 21.75 9.35071 21.75 9.74854V20.2485C21.75 20.6627 21.4142 20.9985 21 20.9985C20.5858 20.9985 20.25 20.6627 20.25 20.2485L20.25 9.74854L13.5 9.74854C13.0858 9.74854 12.75 9.41275 12.75 8.99854Z\",\n fill: \"currentColor\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.25 6.74854C5.25 6.33432 5.58579 5.99854 6 5.99854H9C9.41421 5.99854 9.75 6.33432 9.75 6.74854C9.75 7.16275 9.41421 7.49854 9 7.49854H6C5.58579 7.49854 5.25 7.16275 5.25 6.74854Z\",\n fill: \"currentColor\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.75 12.7485C6.75 12.3343 7.08579 11.9985 7.5 11.9985H10.5C10.9142 11.9985 11.25 12.3343 11.25 12.7485C11.25 13.1627 10.9142 13.4985 10.5 13.4985H7.5C7.08579 13.4985 6.75 13.1627 6.75 12.7485Z\",\n fill: \"currentColor\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.25 16.4985C5.25 16.0843 5.58579 15.7485 6 15.7485H9C9.41421 15.7485 9.75 16.0843 9.75 16.4985C9.75 16.9127 9.41421 17.2485 9 17.2485H6C5.58579 17.2485 5.25 16.9127 5.25 16.4985Z\",\n fill: \"currentColor\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.75 16.4985C15.75 16.0843 16.0858 15.7485 16.5 15.7485H18C18.4142 15.7485 18.75 16.0843 18.75 16.4985C18.75 16.9127 18.4142 17.2485 18 17.2485H16.5C16.0858 17.2485 15.75 16.9127 15.75 16.4985Z\",\n fill: \"currentColor\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.75 12.7485C15.75 12.3343 16.0858 11.9985 16.5 11.9985H18C18.4142 11.9985 18.75 12.3343 18.75 12.7485C18.75 13.1627 18.4142 13.4985 18 13.4985H16.5C16.0858 13.4985 15.75 13.1627 15.75 12.7485Z\",\n fill: \"currentColor\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBuildings);\nexport default __webpack_public_path__ + \"static/media/buildings.916cf8ea.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory, useParams } from 'react-router-dom';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport { setCompany } from '../../redux/modules/Company/operations';\nimport { MyCompanies } from '../../redux/modules/Company/selectors';\nimport {\n CompanyNameWithHooks,\n getAccountId,\n} from '../../redux/modules/Formation/selectors';\n\nimport './CompanyDropdown.scss';\nimport handlePath from '../../utils/handlePath';\nimport classNames from 'classnames';\nimport { Button, Dropdown, Tooltip } from '../common';\nimport { ReactComponent as BuildingsSVG } from '../../assets/images/buildings.svg';\nimport UseWindowSize from '../../utils/UseWindowSize';\nimport { getAuthAccount } from '../../redux/modules/User/selectors';\n\nconst CompanyDropdown = ({ isCollapsed, isTeam, isWorkbench }) => {\n const dispatch = useDispatch();\n const history = useHistory();\n const { goBack, push, location: historyLocation } = history;\n const { companyId = '0' } = useParams();\n const { width } = UseWindowSize();\n\n const companies = useSelector(MyCompanies);\n const companyName = useSelector(CompanyNameWithHooks);\n const currentAccountId = useSelector(getAccountId);\n const accountInfo = useSelector(getAuthAccount);\n const { impersonator_id } = accountInfo;\n const isTooltipShowing =\n (width < 876 && companyName.length > 16) ||\n (width < 1280 && companyName.length > 32) ||\n (width < 1400 && companyName.length > 37) ||\n companyName.length > 46;\n\n const [isOpen, setOpen] = useState(false);\n\n const userRoutes = ['/company-select', '/teams', '/dashboard'];\n const includedUserPathHistoryIndex = userRoutes.findIndex(e =>\n (historyLocation?.pathname || '').includes(e),\n );\n let accountId = Number(companyId);\n if (!accountId) {\n accountId = currentAccountId || accountInfo.id || companyId;\n }\n\n return (\n {\n if ((!companyName && isTeam) || !!impersonator_id) {\n return;\n } else if (includedUserPathHistoryIndex !== -1) {\n return push(handlePath('/home', accountId));\n } else if (isTeam) {\n return goBack();\n }\n setOpen(!isOpen);\n }}\n >\n \n

    {companyName || 'none selected'}

    \n {!impersonator_id && !isTeam && (\n \n )}\n {!!impersonator_id && (\n \n )}\n {isTooltipShowing && (\n \n )}\n {!isTeam && isOpen && (\n setOpen(false)}\n >\n \n View Your Workspaces\n \n {\n if (isTeam) {\n return push(\n handlePath(\n { pathname: '/home', state: { isToggled: true } },\n companyId,\n ),\n );\n }\n return setOpen(false);\n }}\n className=\"companyDropdown__menuItem second\"\n >\n {companyName}(current)\n \n {companies.map(\n (company, index) =>\n company.id !== currentAccountId && (\n dispatch(setCompany(company.id, '/home'))}\n >\n {company.name}\n \n ),\n )}\n \n )}\n
    \n );\n};\n\nexport default CompanyDropdown;\n","import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport './SearchBar.scss';\nimport { setSearch } from '../../redux/modules/UI/actions';\nimport { SearchInput } from '../../redux/modules/UI/selectors';\nimport classNames from 'classnames';\n\nconst SearchBar = () => {\n const dispatch = useDispatch();\n const searchInput = useSelector(SearchInput);\n\n return (\n \n \n dispatch(setSearch(ev.target.value))}\n />\n {searchInput.length > 0 && (\n dispatch(setSearch(''))}\n />\n )}\n \n );\n};\n\nexport default SearchBar;\n","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { Button } from '../common';\nimport DropdownMenu from 'react-dd-menu';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport { AccountInfo } from '../../redux/modules/Formation/selectors';\nimport OrgButton from '../OrgButton';\nimport { WhatsNewModalToggle } from '../WhatsNewModal';\n\nimport './ConsistentTopbar.scss';\nimport handlePath from '../../utils/handlePath';\nimport { useLocation, useParams } from 'react-router';\nimport { getAuthUser } from '../../redux/modules/User/selectors';\nimport CompanyDropdown from '../CompanyDropdown';\nimport SearchBar from '../SearchBar';\nimport { CurrentCompany } from '../../redux/modules/Company/selectors';\n\nconst Topbar = ({ isTeamView, isPortalView, workbenchParams }) => {\n const location = useLocation();\n const { companyId } = useParams();\n const { step } = workbenchParams || {};\n const accountInfo = useSelector(AccountInfo);\n const { credits_info: { limit, used } = {}, has_partner_subscriptions } = accountInfo;\n const user = useSelector(getAuthUser);\n const [isDocumentCountModalOpen, setDocumentCountModal] = useState(false);\n const teamRoutes = ['company-select', 'teams', 'dashboard'];\n const isTeam = teamRoutes.findIndex(e => location.pathname.includes(e)) !== -1;\n\n const availableCredits = !isNaN(limit) && limit - used;\n\n const isVerifyHiding = localStorage.getItem('hide_verify');\n\n const isWhiteLabel = window.location.href.includes('paperos');\n const currentCompany = useSelector(CurrentCompany);\n const isPaymentsHidden = isWhiteLabel && !currentCompany.partner_id;\n\n const isUpgradePlanShowing =\n !isPaymentsHidden &&\n (!!user.email_verified || !!isVerifyHiding) &&\n !!availableCredits &&\n availableCredits < 6 &&\n !has_partner_subscriptions;\n\n const plansPath = handlePath(\n {\n pathname: '/plans',\n state: { background: location },\n },\n companyId,\n );\n\n return (\n
    \n
      \n
        \n {((isPortalView && step === 'portal') || isTeamView) && }\n {isUpgradePlanShowing && (\n
      • \n setDocumentCountModal(false)}\n closeOnInsideClick={true}\n isOpen={isDocumentCountModalOpen}\n toggle={\n setDocumentCountModal(!isDocumentCountModalOpen)}\n >\n
        \n

        {availableCredits}

        \n \n
        \n \n \n \n
    \n }\n >\n
  • \n You only have\n \n {availableCredits}\n \n Document Credit(s) remaining on this plan.\n
    \n
    \n Credits are used when tasks are submitted that generate or send legal\n documents or filings.{' '}\n {' '}\n to get more credits.\n
  • \n \n \n Upgrade Plan\n \n \n )}\n \n
  • \n \n
  • \n
  • \n \n
  • \n \n \n \n );\n};\n\n// Topbar.defaultProps = {\n// isAuthenticated: false,\n// };\n\nexport default Topbar;\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport {\n getCompanies,\n setCompany,\n updateCompanyPreferences,\n removeCompanyPreferences,\n} from '../../redux/modules/Company/operations';\nimport {\n IsMultiCompany,\n // groupedCompanies,\n MyFormattedCompanies,\n} from '../../redux/modules/Company/selectors';\nimport { getAccountId } from '../../redux/modules/Formation/selectors';\nimport { IsPartner } from '../../redux/modules/User/selectors';\n\nimport './EntitySelect.scss';\nimport '../MyDashboard/MyDashboard.scss';\nimport PageLoader from '../../components/PageLoader';\nimport { useHistory, useLocation, useParams } from 'react-router';\nimport handlePath from '../../utils/handlePath';\nimport { Button, DropdownAction } from '../../components/common';\nimport dayjs from 'dayjs/esm';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport { someValuesEveryString } from '../../utils/FilterTools';\nimport ReactModal from 'react-modal';\nimport { generateBem } from '../../utils/generateBem';\nimport { InputSelect, InputStyledTextField } from '../../components/inputs';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport classNames from 'classnames';\nimport { SearchInput } from '../../redux/modules/UI/selectors';\ndayjs.extend(localizedFormat);\n\nconst sortNumbers = (a, b, sortIsDesc) => {\n if (sortIsDesc) {\n return b - a;\n } else {\n return a - b;\n }\n};\n\nconst sortStrings = (a, b, sortIsDesc) =>\n sortIsDesc ? b.localeCompare(a) : a.localeCompare(b);\n\nconst sortByDate = (a, b, sortIsDesc) => {\n return sortIsDesc\n ? new Date(b.created_at).valueOf() - new Date(a.created_at).valueOf()\n : new Date(a.created_at).valueOf() - new Date(b.created_at).valueOf();\n};\n\nconst EntitySelect = () => {\n const dispatch = useDispatch();\n const history = useHistory();\n const { companyId } = useParams();\n const location = useLocation();\n const { hash, search, state = {} } = location;\n const { isToggled, roomCode } = state || {};\n const companies = useSelector(MyFormattedCompanies);\n const searchInput = useSelector(SearchInput);\n\n const [isFetchingInit, setFetchingInit] = useState(true);\n\n const passedState = { isToggled, roomCode };\n\n useEffect(() => {\n const url = window.location.href;\n if (companies.length === 0 && isFetchingInit && !url.includes('/new')) {\n setFetchingInit(false);\n dispatch(getCompanies());\n }\n }, [dispatch, companies.length, isFetchingInit]);\n\n const groupedCompanies = useMemo(() => {\n let updatedCompanies = companies.filter(task =>\n someValuesEveryString(task, [searchInput]),\n );\n let groupedEntities = [{ name: '', order: null, entities: [] }];\n\n updatedCompanies.forEach(company => {\n if (company.account_group && company.account_group !== 'ungrouped') {\n const groupIndex = groupedEntities.findIndex(\n group => group.name === company.account_group,\n );\n if (groupIndex !== -1) {\n let updatedGroup = groupedEntities[groupIndex];\n\n updatedGroup.entities.push(company);\n groupedEntities[groupIndex] = updatedGroup;\n } else {\n groupedEntities.push({\n name: company.account_group,\n order: company.account_order,\n value: company.account_group,\n label: company.account_group,\n entities: [company],\n });\n }\n } else {\n groupedEntities[0].entities.push(company);\n }\n });\n return groupedEntities.sort((a, b) => {\n return b.order - a.order;\n });\n }, [companies, searchInput]);\n\n const [isAddToGroupModalShowing, showAddToGroupModal] = useState(false);\n const [selectedCompany, setSelectedCompany] = useState({});\n\n const handleAddToGroupModalClose = (group, groupOrder, company) => {\n if (group) {\n let order = company.account_order;\n if (groupOrder) {\n order = groupOrder;\n } else {\n order = groupedCompanies[0].order + 1000000;\n }\n\n dispatch(updateCompanyPreferences({ group, order }, company.id)).then(() => {\n dispatch(setNotice('Added to Group.'));\n dispatch(getCompanies());\n });\n }\n showAddToGroupModal(false);\n setSelectedCompany({});\n };\n\n const handleShowGroupModal = company => {\n showAddToGroupModal(true);\n setSelectedCompany(company);\n };\n\n const [isAddManyToGroupModalShowing, showAddManyToGroupModal] = useState(false);\n const [selectedGroup, setSelectedGroup] = useState({});\n\n const handleAddManyToGroupModalClose = (group, selectedCompanies) => {\n if (group) {\n // let order = group.order;\n selectedCompanies.forEach((entity, entityIndex) =>\n dispatch(\n updateCompanyPreferences(\n { group: group.name, order: group.order },\n entity.id,\n entityIndex !== group.entities.length - 1,\n ),\n ).then(payload => {\n if (entityIndex === selectedCompanies.length - 1) {\n dispatch(setNotice('Companies added.'));\n dispatch(getCompanies());\n }\n }),\n );\n }\n showAddManyToGroupModal(false);\n setSelectedGroup({});\n };\n\n const handleShowAddManyToGroupModal = group => {\n showAddManyToGroupModal(true);\n setSelectedGroup(group);\n };\n\n return (\n
    \n {/* */}\n \n

    Pick your Company Workspace

    \n \n history.push({\n pathname: '/new-company',\n hash,\n search,\n state: { ...passedState, background: location },\n })\n }\n >\n Add Workspace\n \n \n {isFetchingInit && companies.length === 0 && }\n {!isFetchingInit && companies.length === 0 && (\n
    \n

    \n No Connected Workspaces Found.\n \n history.push(\n handlePath(\n { pathname: '/dashboard', hash, search, state: passedState },\n companyId,\n ),\n )\n }\n >\n View Dashboard\n \n

    \n
    \n )}\n {companies.length > 0 && (\n
    \n {groupedCompanies.map((group, groupIndex) => (\n \n ))}\n
    \n )}\n \n \n
    \n );\n};\n\nconst EntityGroups = ({\n group,\n groupIndex,\n handleShowGroupModal,\n groupedCompanies,\n handleShowAddManyToGroupModal,\n}) => {\n const dispatch = useDispatch();\n\n const location = useLocation();\n const { hash, search, state = {} } = location;\n const { isPlansShowing } = state || {};\n\n const currentAccountId = useSelector(getAccountId);\n const isMultiCompany = useSelector(IsMultiCompany);\n const isPartner = useSelector(IsPartner);\n\n const [groupRenameInput, setGroupRenameInput] = useState(group.name);\n const [isGroupRenameShowing, showGroupRename] = useState(false);\n\n const [sortIsDesc, setSortIsDesc] = useState(false);\n const [sortSlug, setSortSlug] = useState('date');\n const sortIcon = ['fal', sortIsDesc ? 'sort-amount-up' : 'sort-amount-down'];\n\n const sortedEntities = useMemo(() => {\n let updatedEntities = group.entities;\n if (sortSlug) {\n updatedEntities = updatedEntities.sort((a, b) => {\n if (sortSlug === 'name') {\n return sortStrings(a.name, b.name, sortIsDesc);\n } else if (sortSlug === 'role') {\n return sortStrings(a.role, b.role, sortIsDesc);\n } else if (sortSlug === 'partnerGroup') {\n if (a.partner_id && !b.partner_id) {\n return -1;\n } else if (!a.partner_id && b.partner_id) {\n return 1;\n } else if (a.partner_id && b.partner_id) {\n return sortStrings(a.partner, b.partner, sortIsDesc);\n } else {\n sortByDate(a, b);\n }\n } else if (sortSlug === 'missingSignatures') {\n return sortNumbers(a.documents.length, b.documents.length, sortIsDesc);\n }\n return sortByDate(a, b, sortIsDesc);\n });\n }\n return updatedEntities;\n }, [group.entities, sortSlug, sortIsDesc]);\n\n const handleSortClick = clickedFilter => {\n if (clickedFilter === sortSlug) {\n if (sortIsDesc) {\n setSortSlug('');\n }\n setSortIsDesc(!sortIsDesc);\n } else {\n setSortIsDesc(false);\n setSortSlug(clickedFilter);\n }\n };\n\n const handleGroupNameBlur = ev => {\n if (isGroupRenameShowing || ev.target.value !== group.name) {\n group.entities.forEach((entity, entityIndex) =>\n dispatch(\n updateCompanyPreferences(\n { group: ev.target.value },\n entity.id,\n entityIndex !== group.entities.length - 1,\n ),\n ).then(payload => {\n if (entityIndex === group.entities.length - 1) {\n dispatch(setNotice('Group Renamed.'));\n dispatch(getCompanies());\n }\n }),\n );\n }\n };\n\n const handleRemoveFromGroup = company => {\n // dispatch(removeCompanyPreferences(company.id)).then(() => {\n dispatch(removeCompanyPreferences(company.id)).then(() => {\n dispatch(getCompanies());\n dispatch(setNotice(`removed ${company.name} from ${company.group}`));\n });\n };\n\n const handleDeleteGroup = group => {\n group.entities.forEach((entity, entityIndex) =>\n dispatch(removeCompanyPreferences(entity.id)).then(payload => {\n if (entityIndex === group.entities.length - 1) {\n dispatch(setNotice('Group Removed.'));\n dispatch(getCompanies());\n }\n }),\n );\n };\n\n const handleAddToGroup = (company, selectedGroup) => {\n dispatch(\n updateCompanyPreferences(\n { group: selectedGroup.name, order: selectedGroup.order },\n company.id,\n ),\n ).then(() => {\n dispatch(setNotice('Added to Group.'));\n dispatch(getCompanies());\n });\n };\n\n const handleSortGroup = (group, groupIndex) => {\n let aboveGroupOrder = groupedCompanies[groupIndex - 1].order;\n let order = group.order;\n if (groupIndex > 1) {\n let secondAboveGroupOrder = groupedCompanies[groupIndex - 2].order;\n order = (aboveGroupOrder + secondAboveGroupOrder) / 2;\n } else {\n order = aboveGroupOrder + 1000000;\n }\n group.entities.forEach((entity, entityIndex) =>\n dispatch(updateCompanyPreferences({ order }, entity.id)).then(payload => {\n if (entityIndex === group.entities.length - 1) {\n dispatch(setNotice('Group Sorted.'));\n dispatch(getCompanies());\n }\n }),\n );\n };\n return (\n
    \n {!!group.name && (\n
    \n {!isGroupRenameShowing &&

    {group.name}

    }\n {isGroupRenameShowing && (\n setGroupRenameInput(ev.target.value)}\n onBlur={handleGroupNameBlur}\n onKeyDown={e => {\n if (e.key === 'Escape') {\n setGroupRenameInput(group.name);\n showGroupRename(false);\n }\n }}\n />\n )}\n {!group.ungrouped && (\n \n
    \n

    Group Options

    \n
    \n
    \n handleSortGroup(group, groupIndex)}\n >\n Sort Up\n \n \n handleSortGroup(groupedCompanies[groupIndex + 1], groupIndex + 1)\n } // Always sort up.\n >\n Sort Down\n \n showGroupRename(true)}\n >\n Rename Group\n \n handleShowAddManyToGroupModal(group)}\n >\n Add Multiple Companies to Group\n \n handleDeleteGroup(group)}\n >\n Delete Group\n \n \n )}\n
    \n )}\n \n
    \n handleSortClick('name')}\n >\n Name\n {sortSlug === 'name' && (\n \n )}\n {sortSlug !== 'name' &&
    }\n \n handleSortClick('date')}\n >\n Date Created\n {sortSlug === 'date' && (\n \n )}\n \n handleSortClick('role')}\n >\n Role\n {sortSlug === 'role' && (\n \n )}\n \n {isPartner && (\n handleSortClick('partnerGroup')}\n >\n Partner Group\n {sortSlug === 'partnerGroup' && (\n \n )}\n \n )}\n {(isPartner || isMultiCompany) && (\n handleSortClick('missingSignatures')}\n >\n Missing Signatures\n {sortSlug === 'missingSignatures' && (\n \n )}\n \n )}\n
    \n {sortedEntities.map((company, companyIndex) => (\n {\n if (!ev.defaultPrevented) {\n dispatch(\n setCompany(\n company.id,\n {\n pathname: '/home',\n hash,\n search,\n state: { isPlansShowing },\n },\n company.id === currentAccountId,\n ),\n );\n }\n }}\n key={`company-option-${company.id}`}\n >\n
    \n \n {company.name}\n {company.id === currentAccountId && ' (current)'}\n \n
    \n
    \n

    \n {dayjs(company.created_at).format('L')}\n

    \n
    \n \n

    \n {company.role || '--'}\n

    \n
    \n {isPartner && (\n
    \n

    {company.partner}

    \n
    \n )}\n {(isPartner || isMultiCompany) && (\n
    \n

    \n {company.documents.length || '--'}\n

    \n \n
    \n

    Company Options

    \n
    \n
    \n {groupedCompanies.map(\n p =>\n p.name &&\n p.name !== company.account_group && (\n handleAddToGroup(company, p)}\n >\n {`Add to \"${p.name}\" Group`}\n \n ),\n )}\n handleShowGroupModal(company)}\n >\n Add to new Group\n \n {!!group.name && (\n handleRemoveFromGroup(company)}\n >\n {`Remove From \"${group.name}\" Group`}\n \n )}\n \n
    \n )}\n
    \n ))}\n
    \n
    \n );\n};\n\nconst bem = generateBem('entitySelect');\n\nconst AddToGroupModal = ({ company, isShowing, handleClose, groupedCompanies }) => {\n const [group, setGroup] = useState('');\n\n useEffect(() => {\n if (company.account_group && isShowing) {\n setGroup(company.account_group);\n }\n }, [company.account_group, isShowing]);\n\n let updatedGroup = typeof group === 'string' ? { value: group, label: group } : group;\n\n return (\n handleClose(false)}\n onAfterClose={ev => {\n setGroup('');\n document.body.classList.remove('ReactModal__Body--open');\n }}\n overlayClassName={bem('modalOverlay')}\n >\n
    \n

    \n {`${\n company.account_group && company.account_group !== 'ungrouped'\n ? 'Change'\n : 'Add'\n } to new or existing group`}\n

    \n handleClose(false)}\n icon=\"times\"\n />\n
    \n

    {company.name}

    \n {\n setGroup(val);\n }}\n options={groupedCompanies}\n />\n
    \n \n \n
    \n \n );\n};\n\nconst AddManyToGroupModal = ({ group, isShowing, handleClose, companies }) => {\n const [selectedCompanies, setSelectedCompanies] = useState([]);\n\n const filteredCompanies = companies.filter(\n company =>\n (group?.entities || []).findIndex(\n entity => entity.account_id === company.account_id,\n ) === -1,\n );\n\n return (\n handleClose(false)}\n onAfterClose={ev => {\n setSelectedCompanies([]);\n document.body.classList.remove('ReactModal__Body--open');\n }}\n overlayClassName={bem('modalOverlay')}\n >\n
    \n

    Add Multiple Companies to Group

    \n handleClose(false)}\n icon=\"times\"\n />\n
    \n

    {group.name}

    \n {\n setSelectedCompanies(val);\n }}\n options={filteredCompanies}\n />\n
    \n \n \n
    \n \n );\n};\n\nexport default EntitySelect;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport PageLoader from '../../components/PageLoader';\nimport { SavviNavLinkBar } from '../../components/SavviNavLink';\nimport TodosSection from '../../components/TodosSection';\nimport DocumentsSection from '../../components/DocumentsSection';\nimport ModuleDict from '../../utils/ModuleDict';\nimport { Button } from '../../components/common';\nimport TasksSection from '../../components/TasksSection';\nimport { hashContains, noHash } from '../../utils/generateMultiHash';\n\nimport './Home.scss';\nimport handlePath from '../../utils/handlePath';\n\nconst Home = ({\n companyId,\n hash,\n homeNavLinkItems,\n initialized,\n isAllEmpty,\n isDataLoaded,\n moduleId,\n myDocuments,\n filterInput,\n myTasks,\n myTodos,\n setFilterInput,\n}) => (\n
    \n
    \n \n \n {!isDataLoaded && }\n {isDataLoaded && (\n <>\n {isAllEmpty && (\n

    \n No Action Items Found. Begin a new\n \n Workflow\n \n or view your\n \n Tasks\n \n

    \n )}\n {(noHash(hash) || hashContains(hash, '#actionable-documents')) &&\n myDocuments.length > 0 && (\n 6}\n />\n )}\n {(noHash(hash) || hashContains(hash, '#to-dos')) && myTodos.length > 0 && (\n \n )}\n {(noHash(hash) || hashContains(hash, '#open-tasks')) && myTasks.length > 0 && (\n \n )}\n \n )}\n
    \n
    \n);\n\nHome.propTypes = {\n actionableDocs: PropTypes.array,\n isDataLoaded: PropTypes.bool,\n isLoadingInitTimeout: PropTypes.bool,\n location: PropTypes.object,\n moduleId: PropTypes.string,\n homeNavLinkItems: PropTypes.array,\n todos: PropTypes.array,\n};\n\nexport default Home;\n","import HomeContainer from './HomeContainer';\n\nexport default HomeContainer;\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory, useLocation, useParams } from 'react-router';\nimport { getBoxToken } from '../../redux/modules/Cabinet/operations';\nimport { BoxToken } from '../../redux/modules/Cabinet/selectors';\n\nimport { getAllDocuments } from '../../redux/modules/Document/operations';\nimport { getActionableDocuments } from '../../redux/modules/Document/selectors';\nimport { getTodos } from '../../redux/modules/Todos/operations';\nimport { Todos } from '../../redux/modules/Todos/selectors';\nimport { getAccountTransactions } from '../../redux/modules/Transaction/operations';\nimport { getMissingInfoTransactions } from '../../redux/modules/Transaction/selectors';\nimport { someValuesEveryString } from '../../utils/FilterTools';\nimport handlePath from '../../utils/handlePath';\nimport Home from './Home';\n\nconst HomeContainer = ({ moduleId }) => {\n const { push } = useHistory();\n const location = useLocation();\n const { hash, search, state } = location;\n const { background, isPlansShowing } = state || {};\n const { companyId } = useParams();\n const dispatch = useDispatch();\n\n const boxToken = useSelector(BoxToken);\n const openTasks = useSelector(State =>\n getMissingInfoTransactions(State.Transaction, moduleId),\n );\n const actionableDocs = useSelector(getActionableDocuments);\n const todos = useSelector(Todos);\n\n const [minLoadingTimedOut, setMinLoadingTimedOut] = useState(false);\n const [maxLoadingTimedOut, setMaxLoadingTimedOut] = useState(false);\n\n const [initialized, setInitialized] = useState(!!state?.initialized);\n const [filterInput, setFilterInput] = useState(state?.filterInput || '');\n\n const myDocuments = useMemo(\n () => actionableDocs.filter(doc => someValuesEveryString(doc, [filterInput])),\n [actionableDocs, filterInput],\n );\n const myTasks = useMemo(\n () => openTasks.filter(doc => someValuesEveryString(doc, [filterInput])),\n [openTasks, filterInput],\n );\n const myTodos = useMemo(\n () => todos.filter(doc => someValuesEveryString(doc, [filterInput])),\n [todos, filterInput],\n );\n\n useEffect(() => {\n const minLoadingTimeout = setTimeout(() => setMinLoadingTimedOut(true), 300);\n const maxLoadingTimeout = setTimeout(() => setMaxLoadingTimedOut(true), 3000);\n return () => {\n clearTimeout(minLoadingTimeout);\n clearTimeout(maxLoadingTimeout);\n };\n }, []);\n\n useEffect(() => {\n const redirect = new URLSearchParams(search).get('redirect');\n if (redirect) {\n return push(redirect + hash);\n }\n if (isPlansShowing && background) {\n push(\n handlePath(\n {\n pathname: '/plans',\n hash,\n search,\n state: { background: location },\n },\n companyId,\n ),\n );\n }\n }, [background, companyId, hash, location, isPlansShowing, push, search]);\n\n useEffect(() => {\n if (!initialized) {\n setInitialized(true);\n dispatch(getTodos());\n dispatch(getAllDocuments());\n dispatch(getAccountTransactions(moduleId));\n if (!boxToken) {\n dispatch(getBoxToken());\n }\n }\n window.history.replaceState({}, document.title); // Resets location state for filters\n }, [boxToken, dispatch, actionableDocs.length, initialized, moduleId]);\n\n const isAllEmpty =\n myTasks.length === 0 && myDocuments.length === 0 && myTodos.length === 0;\n\n const isDataLoaded = (minLoadingTimedOut && !isAllEmpty) || maxLoadingTimedOut;\n\n const homeNavLinkItems = [\n {\n id: 'actionable_documents',\n isItemLengthShowing: true,\n itemLength: myDocuments.length,\n label: 'Documents Requiring Actions',\n path: {\n pathname: '/home',\n hash: '#actionable-documents',\n },\n },\n {\n id: 'to_dos',\n isItemLengthShowing: true,\n itemLength: myTodos.length,\n label: 'To-dos',\n path: {\n pathname: '/home',\n hash: '#to-dos',\n },\n },\n {\n id: 'open_tasks',\n isItemLengthShowing: true,\n itemLength: myTasks.length,\n label: 'Open Tasks',\n path: {\n pathname: '/home',\n hash: '#open-tasks',\n },\n },\n ];\n\n return (\n \n );\n};\n\nexport default HomeContainer;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport { connect } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport moment from 'moment';\n\nimport Button from '../../components/common/Button';\nimport { InputStyledTextField } from '../../components/inputs';\nimport {\n createDataRoomLink,\n getDataRoomLink,\n updateDataRoomLink,\n} from '../../redux/modules/Data/operations';\nimport { setNotice } from '../../redux/modules/UI/actions';\n\nimport './ShareDataRoomModal.scss';\n\nconst shouldOpenModal = locationPath => /\\bshare-data-room\\b/.test(locationPath);\n\nclass ShareDataRoomModal extends Component {\n componentDidMount() {\n this.props.getLink();\n }\n\n copyToClipboard = e => {\n if (document.queryCommandSupported('copy')) {\n const el = document.createElement('textarea');\n el.value = this.props.link;\n document.body.appendChild(el);\n el.select();\n document.execCommand('copy');\n document.body.removeChild(el);\n this.props.setNotice('Link Copied!');\n }\n };\n\n render() {\n const {\n createLink,\n expires,\n isFetching,\n history: { goBack },\n link,\n location: { pathname },\n updateLink,\n } = this.props;\n const customStyles = {\n overlay: {\n zIndex: 9,\n backgroundColor: 'rgba(0,0,0,.66)',\n position: 'fixed',\n height: '100vh',\n width: '100vw',\n display: 'flex',\n },\n content: {\n position: 'static',\n maxWidth: '80%',\n maxHeight: '80%',\n margin: 'auto',\n },\n };\n const isCopyable = document.queryCommandSupported('copy');\n\n return (\n \n
    \n
    \n

    Generate File Cabinet Link

    \n

    \n Generate a link to share your documents via Box. If you generate a new link\n the previous link will be disabled. Links expire after 3 months.\n

    \n

    \n System emails new link to your account email address when new link is\n generated.\n

    \n {isFetching && (\n \n )}\n {!link && !isFetching && }\n {link && !isFetching && (\n
    \n \n \n \n
    \n )}\n
    \n
    \n \n );\n }\n}\n\nconst mapStateToProps = ({ Data }) => ({\n isFetching: Data.isFetching,\n link: Data.dataRoomLink.url,\n expires: Data.dataRoomLink.expires,\n});\n\nconst mapDispatchToProps = dispatch => ({\n getLink: () => dispatch(getDataRoomLink()),\n createLink: () => dispatch(createDataRoomLink()),\n updateLink: () => dispatch(updateDataRoomLink()),\n setNotice: message => dispatch(setNotice(message)),\n});\n\nShareDataRoomModal.propTypes = {\n formData: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string, //TODO: clean up Review PropTypes\n value: PropTypes.string,\n }),\n ),\n ]),\n }),\n ),\n title: PropTypes.string,\n};\n\nconst enhance = connect(mapStateToProps, mapDispatchToProps);\n\nexport default enhance(ShareDataRoomModal);\n","export default __webpack_public_path__ + \"static/media/one_tap_wordmark_white.3dbfaf16.svg\";","export default __webpack_public_path__ + \"static/media/paperOS_wordmark_white.12b0e693.svg\";","export default __webpack_public_path__ + \"static/media/savvi-logo-white.1015a875.svg\";","export default __webpack_public_path__ + \"static/media/one_tap_logo_white.e2916286.svg\";","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { useLocation, useParams } from 'react-router';\nimport { AccountRooms } from '../../../redux/modules/Data/selectors';\n\nimport { IsFileCabinetShowing } from '../../../redux/modules/Profile/selectors';\nimport ModuleDict from '../../../utils/ModuleDict';\n// import { SidebarNavLink, SidebarNavLinkCompany } from '../../Sidebar';\nimport { SidebarNavLink } from '../../Sidebar';\n\nconst DashboardNav = ({ account_id, isCollapsed }) => {\n const { pathname } = useLocation();\n const { moduleId } = useParams();\n const isCabinetShowing = useSelector(IsFileCabinetShowing);\n const rooms = useSelector(AccountRooms);\n\n const isRoomsViewShowing = rooms.length > 0 || pathname.includes('data-room');\n\n return (\n
    \n {/* */}\n \n pathname.includes('home') ||\n moduleId === 'home' ||\n moduleId === '0' ||\n moduleId === '-1'\n }\n isCollapsed={isCollapsed}\n link={ModuleDict['home'].path}\n text={ModuleDict['home'].label}\n />\n \n pathname.includes('workflows') || moduleId === 'workflows'\n }\n isCollapsed={isCollapsed}\n link={ModuleDict['workflows'].path}\n text={ModuleDict['workflows'].label}\n />\n pathname.includes('tasks') || moduleId === 'tasks'}\n isCollapsed={isCollapsed}\n id={ModuleDict['tasks'].id}\n link={ModuleDict['tasks'].path}\n text={ModuleDict['tasks'].label}\n />\n {isRoomsViewShowing && (\n \n )}\n \n \n
    \n \n {isCabinetShowing && (\n \n )}\n \n
    \n );\n};\n\nexport default DashboardNav;\n","import React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Link, NavLink, useHistory, useParams } from 'react-router-dom';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport Modal from 'react-modal';\n\nimport { setCompany } from '../../../redux/modules/Company/operations';\nimport { MyCompanies } from '../../../redux/modules/Company/selectors';\nimport {\n CompanyNameWithHooks,\n getAccountId,\n} from '../../../redux/modules/Formation/selectors';\n\nimport './SidebarNavLink.scss';\nimport handlePath from '../../../utils/handlePath';\nimport classNames from 'classnames';\nimport { Tooltip } from '../../common';\n\nconst SideBarNavLink = ({\n account_id,\n isActive,\n icon,\n isCollapsed,\n isReplace,\n text,\n link,\n SVG,\n}) => {\n const { companyId } = useParams();\n return (\n
  • \n {\n if (isActive) {\n return isActive(match, location);\n }\n return (\n location.pathname ===\n handlePath(link.pathname || link, account_id || companyId)\n );\n }}\n replace={isReplace}\n to={handlePath(link, account_id || companyId)}\n >\n {SVG && }\n {!SVG && (\n \n )}\n

    {text}

    \n {isCollapsed && }\n \n
  • \n );\n};\n\nSideBarNavLink.defaultProps = {\n // icon: 'user',\n text: 'link',\n};\n\nexport const SidebarNavLinkCompany = ({ isCollapsed, isTeam, isWorkbench }) => {\n const dispatch = useDispatch();\n const history = useHistory();\n const { companyId = '0' } = useParams();\n\n const companies = useSelector(MyCompanies);\n const companyName = useSelector(CompanyNameWithHooks);\n const currentAccountId = useSelector(getAccountId);\n const isTooltipShowing = isWorkbench\n ? companyName.length > 24\n : companyName.length > 18;\n\n const [isOpen, setOpen] = useState(false);\n\n return (\n
    \n {\n if (isWorkbench || !companyName) {\n return;\n } else if (isTeam) {\n history.goBack();\n } else {\n setOpen(!isOpen);\n }\n }}\n >\n {companyName && (\n <>\n
    {companyName[0]}
    \n

    {companyName}

    \n {!isWorkbench && (\n \n )}\n \n )}\n {isTooltipShowing && (\n \n )}\n
    \n {!isTeam && (\n setOpen(false)}\n overlayClassName=\"sidebarNavLink__companyMenuOverlay\"\n >\n
    \n \n View Your Companies\n \n
    {companyName}(current)
    \n {companies.map(\n (company, index) =>\n company.id !== currentAccountId && (\n dispatch(setCompany(company.id, '/home'))}\n >\n {company.name}\n
    \n ),\n )}\n \n )}\n
    \n );\n};\n\nexport default SideBarNavLink;\n","import React, { useEffect, useRef, useState } from 'react';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport './ProjectHeader.scss';\nimport { Button } from '../common';\n\nconst ProjectHeader = ({\n icon,\n isEditingAllowed,\n isHighlighted,\n isLearnMoreShowing,\n handleUpdateProjectName,\n learnMoreUrl,\n projectLabel,\n}) => {\n const inputEl = useRef(null);\n const [label, updateLabel] = useState(projectLabel || '');\n const [isEditable, setEditable] = useState(false);\n useEffect(() => {\n if (isEditable === true) {\n inputEl.current.focus();\n }\n }, [isEditable]);\n\n useEffect(() => {\n updateLabel(projectLabel || '');\n }, [projectLabel]);\n\n return (\n
    \n

    16 ? ' long' : ''}`}>\n {isEditingAllowed && (\n setEditable(!isEditable)}\n >\n \n \n )}\n {isEditable && (\n {\n handleUpdateProjectName(e.target.value).then(\n e => setEditable(false),\n error => {\n updateLabel(projectLabel);\n setEditable(false);\n },\n );\n }}\n onChange={e => {\n updateLabel(e.target.value);\n }}\n value={label}\n />\n )}\n {!isEditable && label}\n

    \n
    \n {isLearnMoreShowing && projectLabel && (\n \n \n \n )}\n
    \n
    \n );\n};\n\nProjectHeader.defaultProps = {\n isAuthenticated: false,\n icon: 'question',\n};\n\nexport default ProjectHeader;\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Link, NavLink, useHistory, useParams } from 'react-router-dom';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classnames from 'classnames';\nimport get from 'lodash-es/get';\nimport isEmpty from 'lodash-es/isEmpty';\n\nimport {\n deleteAccountProject,\n updateProject,\n} from '../../../redux/modules/Project/operations';\nimport {\n getGroupedTransactionsForProjectView,\n getLearnMoreMetaForProjectView,\n} from '../../../redux/modules/Project/selectors';\nimport ModuleDict from '../../../utils/ModuleDict';\nimport ProjectHeader from '../../ProjectHeader';\n\nimport './WorkbenchNav.scss';\n// import { SidebarNavLinkCompany } from '..';\nimport handlePath from '../../../utils/handlePath';\n\nconst WorkbenchNav = ({ isCollapsed }) => {\n const { push, replace } = useHistory();\n const { companyId, moduleId = 2, projectId, step, transactionId } = useParams();\n const dispatch = useDispatch();\n\n const project = useSelector(state =>\n getGroupedTransactionsForProjectView(state.Project, projectId),\n );\n const { groupedTransactions = [], label } = project;\n const learnMoreMeta = useSelector(state =>\n getLearnMoreMetaForProjectView(state.Project, projectId),\n );\n\n const [isInitLoading, setInitLoading] = useState(isEmpty(project));\n\n const handleDiscardTransaction = () => {\n dispatch(deleteAccountProject(projectId)).then(\n e => replace(handlePath(ModuleDict[moduleId].path, companyId)),\n error => push(handlePath(ModuleDict['-1'].path, companyId)),\n );\n };\n\n const handleUpdateProjectName = label => {\n dispatch(updateProject({ label }, projectId));\n };\n\n const currentTransactionIndex = get(project, 'transactions', []).findIndex(\n e => e.id + '' === transactionId,\n );\n\n const isCurrentTransactionOpen = !!get(\n project,\n `transactions[${currentTransactionIndex}].open`,\n false,\n );\n\n let isInitQuestionnaire = false;\n\n if (currentTransactionIndex === 0 && !!project.transactions[0].open) {\n isInitQuestionnaire = true;\n }\n\n useEffect(() => {\n if (!isEmpty(project)) {\n setInitLoading(false);\n }\n }, [project]);\n\n return (\n <>\n
    \n {/* */}\n {!isInitLoading && (\n \n )}\n
    \n {groupedTransactions.map(({ groupLabel, transactions }, index) => (\n \n {groupLabel && groupedTransactions.length > 1 && (\n
    \n

    {groupLabel}

    \n
    \n )}\n {!isInitQuestionnaire &&\n transactions.map(\n ({ id, label, open, template = {}, tasks = [] }, ind) => {\n const isProcessesShowing =\n !template.is_assessment &&\n id + '' === transactionId &&\n tasks.length > 1;\n return (\n id + '' === transactionId}\n >\n {!template.is_assessment && tasks.length > 1 && (\n \n )}\n {!template.is_assessment && tasks.length < 2 && (\n
    \n )}\n
    \n

    \n {(!open && template.is_assessment && 'Overview') || label}\n

    \n {isProcessesShowing &&\n tasks.map((e, index) => (\n

    {e.label}

    \n ))}\n
    \n \n );\n },\n )}\n
    \n ))}\n
    \n \n {!isCurrentTransactionOpen && 'Exit Workflow'}\n {isCurrentTransactionOpen && 'Save & Exit'}\n \n {isInitQuestionnaire && step === 'task-view' && (\n \n \n Discard Workflow & Exit\n \n )}\n
    \n \n );\n};\n\nexport default WorkbenchNav;\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { useHistory, useLocation, useParams } from 'react-router';\nimport { getRoomWithUpdatedFeatures } from '../../../redux/modules/Data/selectors';\nimport { getAuthAccount, IsAuthenticated } from '../../../redux/modules/User/selectors';\nimport { getStoredToken } from '../../../redux/modules/User/utils';\nimport handlePath from '../../../utils/handlePath';\nimport { ReactComponent as BuildingsSVG } from '../../../assets/images/buildings.svg';\n\nimport { SidebarNavLink } from '../../Sidebar';\n\nconst TeamsNav = ({ isCollapsed, isDataRoom, isPartner }) => {\n const { goBack, push, replace } = useHistory();\n const { pathname, search, state = {} } = useLocation();\n const { companyId, room_access_code } = useParams();\n const isUserAuthenticated = useSelector(IsAuthenticated);\n const currentAccount = useSelector(getAuthAccount);\n const dataRoom = useSelector(state =>\n getRoomWithUpdatedFeatures(state, room_access_code),\n );\n\n let { account_id, is_admin_user, room = {} } = dataRoom;\n account_id = account_id || room.account_id;\n if (account_id !== parseInt(currentAccount.accountId)) {\n is_admin_user = false;\n }\n\n const { data_access_code, account_project_id } = room || {};\n const { isToggled, roomCode } = state || {};\n const passedState = {\n isToggled,\n roomCode: roomCode || room_access_code || data_access_code,\n };\n\n return (\n <>\n
    \n \n {isPartner && (\n \n )}\n {\n return location.pathname.includes('dashboard');\n }}\n isCollapsed={isCollapsed}\n isReplace\n link={{ pathname: '/dashboard', search, state: passedState }}\n text={'Dashboard'}\n />\n
    \n {isUserAuthenticated &&\n account_project_id &&\n (!!is_admin_user || account_id === currentAccount.accountId) && (\n \n push(\n handlePath(\n `/workbench/0/${account_project_id}/-1/initialize`,\n account_id || currentAccount.accountId,\n ),\n )\n }\n >\n \n View Project\n \n )}\n {!!roomCode && !isDataRoom && (\n {\n replace(`/data-room/${roomCode}/overview`);\n }}\n >\n \n Back\n \n )}\n {!isDataRoom && companyId !== '0' && !pathname.includes('dashboard') && !roomCode && (\n {\n let updatedCompanyId = companyId;\n if (!companyId || companyId === '-1') {\n updatedCompanyId = getStoredToken().accountId;\n }\n if (search) {\n push(handlePath({ pathname: '/home', search }, updatedCompanyId));\n } else if (isToggled) {\n goBack();\n } else {\n push(handlePath('/home', updatedCompanyId));\n }\n }}\n >\n {isToggled && }\n {isToggled ? 'Back' : 'To Home'}\n {!isToggled && }\n \n )}\n \n );\n};\n\nexport default TeamsNav;\n","import React, { useEffect, useState } from 'react';\n\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport classnames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport Modal from 'react-modal';\nimport { useHistory, useLocation, useParams } from 'react-router';\n\nimport wordMark from '../../assets/images/wordmark-white.svg';\nimport oneTapWordMark from '../../assets/images/one_tap_wordmark_white.svg';\nimport paperOSLogo from '../../assets/images/paperOS_wordmark_white.svg';\nimport savviLogo from '../../assets/images/savvi-logo-white.svg';\nimport oneTapLogo from '../../assets/images/one_tap_logo_white.svg';\n\nimport { DashboardNav, WorkbenchNav } from '../../components/Sidebar';\nimport TeamsNav from '../../components/Sidebar/TeamsNav';\n// import RoomNav from '../../components/Sidebar/RoomNav';\nimport { getAuthAccount, IsPartner } from '../../redux/modules/User/selectors';\n\nimport './Sidebar.scss';\nimport handlePath from '../../utils/handlePath';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport { getRoomWithUpdatedFeatures } from '../../redux/modules/Data/selectors';\nimport UseWindowSize from '../../utils/UseWindowSize';\nimport { Tooltip } from '../../components/common';\nimport ModuleDict from '../../utils/ModuleDict';\nimport { Link } from 'react-router-dom';\nimport { deleteAccountProject } from '../../redux/modules/Project/operations';\n\nconst Sidebar = ({\n isAssessment,\n isDataRoom,\n isDashboard,\n isEditing,\n isPortalView,\n isWorkbench,\n isTeamView,\n transactionLabel,\n workbenchParams,\n}) => {\n const dispatch = useDispatch();\n const { width } = UseWindowSize();\n const { push, replace } = useHistory();\n const location = useLocation();\n const { search } = location;\n const params = useParams();\n const { companyId, room_access_code } = params;\n const { moduleId = 'home', projectId, transactionId, step } = workbenchParams || {};\n\n const isPartner = useSelector(IsPartner);\n const dataRoom = useSelector(state =>\n getRoomWithUpdatedFeatures(state, room_access_code),\n );\n const currentAccount = useSelector(getAuthAccount);\n const { is_admin_user, room: { account_id } = {} } = dataRoom;\n const { isAuthenticated, accountId } = currentAccount;\n\n const isWhite = (isWorkbench && !isPortalView) || isTeamView || isDataRoom;\n const isWhiteLabel = window.location.href.includes('paperos');\n\n const isAuthorized = isAuthenticated && accountId === account_id && is_admin_user;\n const isToggleOverlayShowing = (isWhite && !isDataRoom) || (isDataRoom && isAuthorized);\n\n const [isCollapsed, setIsCollapsed] = useState(isPortalView || width < 1560);\n const [isOverlayVisible, setIsOverlayVisible] = useState(false);\n\n useEffect(() => {\n if (!isWhite) {\n setIsOverlayVisible(false);\n }\n }, [isWhite]);\n\n const handleDiscardTransaction = () => {\n dispatch(deleteAccountProject(projectId)).then(\n e => replace(handlePath(ModuleDict[moduleId].path, companyId)),\n error => push(handlePath(ModuleDict[moduleId].path, companyId)),\n );\n };\n\n return (\n <>\n {!isCollapsed && (\n
    setIsCollapsed(true)} className=\"sidebar__container-overlay\" />\n )}\n \n {isPortalView && step === 'portal' && (\n push(handlePath(ModuleDict[moduleId].path, companyId))}\n >\n \n {ModuleDict[moduleId].label}\n
    \n )}\n {isPortalView && step === 'task-view' && !isAssessment && (\n \n push(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${transactionId}/portal`,\n companyId,\n ),\n )\n }\n >\n \n Back to Portal\n \n )}\n {isPortalView && step === 'task-view' && isAssessment && (\n <>\n \n \n Save & Exit\n \n \n \n Discard Workflow & Exit\n \n \n )}\n {isToggleOverlayShowing && (\n {\n if (companyId + '' !== '0') {\n setIsOverlayVisible(true);\n } else {\n dispatch(setNotice('Please first select or create a company.'));\n }\n }}\n >\n \n \n )}\n {(!isWhite || isDataRoom) && (\n {\n if (isDataRoom) {\n return;\n } else if (companyId + '' !== '0') {\n push(handlePath({ pathname: '/home', search }, companyId));\n } else {\n dispatch(setNotice('First select or create a company.'));\n }\n }}\n >\n {!isCollapsed && (\n <>\n \n {/* {isWhiteLabel && (\n
    \n

    with

    \n \"paperOS\n
    \n )} */}\n \n )}\n {isCollapsed && \"\"}\n \n )}\n {isWhiteLabel && (\n {\n if (isDataRoom) {\n return;\n } else if (companyId + '' !== '0') {\n push(handlePath({ pathname: '/home', search }, companyId));\n } else {\n dispatch(setNotice('First select or create a company.'));\n }\n }}\n >\n
    \n

    Powered By

    \n \"paperOS\n
    \n \n )}\n {((isWorkbench && !isPortalView) || isDashboard || width <= 1200) && (\n setIsCollapsed(!isCollapsed)}\n >\n \n {isCollapsed && isWorkbench && }\n \n )}\n {(isTeamView || isDataRoom) && (\n \n )}\n {(isDashboard || isPortalView) && }\n {isWorkbench && !isPortalView && (\n \n )}\n {(!isWorkbench || isPortalView) && width > 1200 && (\n setIsCollapsed(!isCollapsed)}\n >\n
    \n \n \n
    \n

    {isCollapsed ? 'Expand Menu' : 'Collapse Menu'}

    \n \n )}\n {isWhite && (\n setIsOverlayVisible(false)}\n overlayClassName=\"sidebar__overlay\"\n >\n {\n if (companyId + '' !== '0') {\n push(handlePath({ pathname: '/home', search }, companyId));\n } else {\n dispatch(setNotice('First select or create a company.'));\n }\n }}\n >\n \"\"\n \n setIsOverlayVisible(!isOverlayVisible)}\n >\n \n \n \n \n )}\n \n \n );\n};\n\nSidebar.defaultProps = {\n isWorkbench: false,\n};\n\nexport default Sidebar;\n","import React from 'react';\nimport { Redirect, Route, Switch, useLocation, useRouteMatch } from 'react-router-dom';\nimport Loadable from 'react-loadable';\n\nimport ConsistentTopbar from '../../components/ConsistentTopbar';\nimport ModuleDict from '../../utils/ModuleDict';\nimport EntitySelect from '../../views/EntitySelect';\nimport HomeContainer from '../../views/Home';\nimport Loading from '../../components/LoadingComponent';\nimport ShareDataRoomModal from '../../views/ShareDataRoomModal';\nimport Sidebar from '../../views/Sidebar';\n\nimport { handleRoute } from '../../utils/handlePath';\nimport './Dashboard.scss';\n\nconst AsyncWorkflowsView = Loadable({\n loader: () => import('../../views/WorkflowsView'),\n loading: Loading,\n});\nconst AsyncTasksView = Loadable({\n loader: () => import('../../views/TasksView'),\n loading: Loading,\n});\nconst AsyncRoomsView = Loadable({\n loader: () => import('../../views/RoomsView'),\n loading: Loading,\n});\nconst AsyncAllDocuments = Loadable({\n loader: () => import('../../views/AllDocuments'),\n loading: Loading,\n});\nconst AsyncPartnersView = Loadable({\n loader: () => import('../../views/PartnersView'),\n loading: Loading,\n});\nconst AsyncReportsView = Loadable({\n loader: () => import('../../views/ReportsView'),\n loading: Loading,\n});\nconst AsyncTeams = Loadable({\n loader: () => import('../../views/Teams'),\n loading: Loading,\n});\nconst AsyncMyDashboard = Loadable({\n loader: () => import('../../views/MyDashboard'),\n loading: Loading,\n});\nconst AsyncSettings = Loadable({\n loader: () => import('../../views/Settings'),\n loading: Loading,\n});\nconst AsyncCabinet = Loadable({\n loader: () => import('../../views/Cabinet'),\n loading: Loading,\n});\n\nconst Dashboard = () => {\n let location = useLocation();\n let { path } = useRouteMatch();\n let background = location.state && location.state.background;\n\n const isTeamView =\n ['/company-select', '/teams', '/dashboard'].findIndex(e =>\n location.pathname.includes(e),\n ) !== -1;\n\n return (\n
    \n \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n \n \n \n {/* */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n );\n};\n\nexport default Dashboard;\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\n// import { Route } from 'react-router-dom';\n\nimport { Field, FieldArray, Form } from 'formik';\nimport { get, isObject, startCase, upperFirst } from 'lodash-es';\n\n// import BasicTopbar from '../../components/BasicTopbar';\nimport { Button } from '../../components/common';\nimport FinalizeReviewModal from '../../components/FinalizeReviewModal';\nimport { CompanyName, ResourceSelect } from '../../components/formik';\nimport FeatureTypes from '../../utils/FeatureTypes';\nimport SavviLoading from '../../components/SavviLoading';\n\nconst ReviewInfo = reviewObj =>\n Object.entries(reviewObj).map(([resourceKey, resourceArr], index) => (\n
    \n {resourceArr.map((resource, resourceInd) => (\n \n {resource.resource && (\n

    \n {`${resource.resource} (${resource['Custom Label']})`}\n

    \n )}\n {resource.resource && (\n
    \n {Object.entries(resource).map(([key, value], ind) => {\n if (\n key !== 'resource' &&\n key !== 'Company Name' &&\n key !== 'Name' &&\n key !== 'Custom Label'\n ) {\n let updatedVal = value;\n\n if (isObject(value)) {\n if (value.isLink) {\n return (\n \n

    \n {key}: {value.label}\n

    \n
    \n );\n }\n if (!Object.values(value).join('')) {\n updatedVal = 'None Given';\n } else {\n return (\n \n

    {key}:

    \n

    {value.line_one}

    \n {value.line_two.length > 0 &&

    {value.line_two}

    }\n

    {`${startCase(value.city)}, ${value.state} ${value.zip}`}

    \n
    \n );\n }\n } else if (value.indexOf('|') !== -1) {\n updatedVal = updatedVal.split('|').join(', ');\n }\n return (\n

    \n {key}:

    {updatedVal || 'Not Given'}

    \n

    \n );\n }\n return null;\n })}\n
    \n )}\n
    \n ))}\n
    \n ));\n\nconst OutsideForm = ({\n error,\n formValidationError,\n handleDelete,\n handleFinalize,\n handleFormBlur,\n handleResourceName,\n // handleSetResourceIds,\n history,\n isFetching,\n isFetchingInit,\n isFinalized,\n isReviewModalOpen,\n // values = {},\n params,\n questionnaireMeta,\n questions,\n reviewInfo,\n toggleReviewModal,\n ...props\n}) => {\n return (\n
    \n
    \n

    {questionnaireMeta.name || 'Outside Form'}

    \n

    {questionnaireMeta.description}

    \n

    \n Questions marked with * are required.\n

    \n
    \n {isFinalized && (\n
    \n Thank you, this form has been completed.\n
    \n )}\n {!isFetchingInit && error &&
    {error}
    }\n {isFetchingInit && (\n
    \n \n Loading...\n
    \n )}\n {!isFinalized && !error && questions.length > 0 && (\n
    \n {!!formValidationError && (\n
    \n

    {formValidationError}

    \n
    \n )}\n {questions.map(question => {\n const {\n custom_label,\n innerQuestions = [],\n isCompany,\n multi_entry, // property to tell if you have multiple of that resource.\n name,\n resourceArr = [],\n resource_type_id,\n } = question;\n let updatedLabel = custom_label;\n if (!(custom_label || '').includes('Name')) {\n updatedLabel = updatedLabel + ' Name';\n }\n let operatingStateInd = innerQuestions.findIndex(\n e => e.feature_type.name === 'operating_state',\n );\n let companyName = get(resourceArr, '[0].resource_name', 'Company');\n if (operatingStateInd !== -1) {\n updatedLabel = innerQuestions[operatingStateInd].question_text;\n }\n\n return (\n (\n
    \n

    \n {resource_type_id !== 2 &&\n `${upperFirst(custom_label)} Information`}\n {resource_type_id === 2 && `${companyName} Information*`}\n\n {resource_type_id !== 2 &&\n resource_type_id !== 16 &&\n resource_type_id !== 25 &&\n !!multi_entry && (\n \n Enter the names of each {custom_label}:\n \n )}\n

    \n {resourceArr.length > 0 &&\n resourceArr[0].resource_name &&\n resourceArr.map((resource, index) => (\n \n {resource_type_id !== 6 && resource_type_id !== 2 && (\n {}}\n handleDelete={handleDelete}\n handleRemoveResource={() => {}}\n handleResourceName={name =>\n handleResourceName(\n {\n name,\n },\n resource.resource_id,\n )\n }\n icon=\"user\"\n isCompany={isCompany}\n isFixed={resource.innerQuestions[0].fixed}\n questionHelp={\n resource.innerQuestions[0].question_help ||\n resource.innerQuestions[0].feature_type.question_help\n }\n sublabel={\n resource.innerQuestions[0].question_comment ||\n resource.innerQuestions[0].feature_type.question_comment\n }\n isWorkbench\n label={updatedLabel}\n name={`${name}[${index}].resource`}\n onResourceSelect={() => {}}\n params={params}\n resourceTypeName={name}\n resourceTypeCustomLabel={custom_label}\n setLabel={() => {}}\n />\n )}\n {resource.innerQuestions.map((innerQ, questionIndex) => {\n if (\n innerQ.isHidden ||\n innerQ.feature_type.name === 'operating_state' ||\n innerQ.feature_type.name === 'name'\n ) {\n return null;\n }\n return (\n \n {\n if (e.target.value !== innerQ.value) {\n handleFormBlur(\n e.target.value,\n innerQ.feature_type.id,\n innerQ.feature_id,\n resource.resource_id,\n resource_type_id,\n );\n }\n }}\n featureProps={innerQ}\n innerQuestions={resource.innerQuestions}\n params={params}\n resourceTypeName={name}\n resourceIndex={index}\n resource_id={resource.resource_id}\n resource_name={resource.resource_name}\n />\n \n );\n })}\n \n ))}\n
    \n )}\n />\n );\n })}\n {!!formValidationError && (\n
    \n

    {formValidationError}

    \n
    \n )}\n
    \n
    \n \n Submit\n \n
    \n
    \n \n )}\n
    \n

    \n For help with any issues please contact us at{' '}\n support@savvi.legal\n

    \n
    \n {isReviewModalOpen && (\n toggleReviewModal()}\n params={params}\n reviewInfo={reviewInfo}\n ReviewInfoComponent={ReviewInfo}\n />\n )}\n
    \n );\n};\n\nconst Question = ({\n featureProps,\n handleFormBlur,\n innerQuestions,\n params,\n resourceTypeName,\n resourceIndex,\n resource_id,\n resource_name,\n}) => {\n const {\n feature_type: {\n calendly_options,\n feature_type,\n filename,\n is_creatable,\n multi_entry_feature,\n json: { markdown = '' } = {},\n options,\n path: qpath,\n question_comment: qc,\n question_help: qh,\n } = {},\n feature_type_id,\n fixed,\n json: { markdown: flattenedMarkdown = '' } = {},\n is_label,\n is_required,\n path,\n question_comment,\n question_help,\n question_label,\n question_placeholder,\n question_text,\n tags,\n } = featureProps;\n let updatedOptions = calendly_options || options;\n if (feature_type === 'detailed_options') {\n updatedOptions = JSON.parse(options);\n }\n let isSSNRequired = false;\n const isAddressUSA =\n innerQuestions.findIndex(\n innerQ =>\n innerQ.feature_type.feature_type.includes('address') &&\n (innerQ?.value?.country?.value || innerQ?.value?.country || '').includes(\n 'United States of America',\n ),\n ) !== -1;\n if (isAddressUSA) {\n isSSNRequired = true;\n }\n const updatedName = `${resourceTypeName}[${resourceIndex}]${question_label}`;\n const isRequired =\n (feature_type === 'social_security' && isSSNRequired) || !!is_required;\n return (\n
    \n {}}\n sublabel={question_comment || qc}\n tags={tags}\n taskId={params.transactionId}\n validate={isRequired && FeatureTypes[feature_type].validate}\n />\n
    \n );\n};\n\nOutsideForm.propTypes = {\n isFetching: PropTypes.bool,\n formTitle: PropTypes.string,\n status: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n values: PropTypes.object,\n};\n\nOutsideForm.defaultProps = {\n status: {},\n};\n\nexport default OutsideForm;\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React, { useState } from 'react';\nimport ReactModal from 'react-modal';\nimport { useHistory, useLocation } from 'react-router';\n\nimport logo from '../../assets/images/wordmark-white.svg';\nimport oneTapLogo from '../../assets/images/one_tap_wordmark.png';\nimport handlePath from '../../utils/handlePath';\nimport OrgButton from '../OrgButton';\nimport { DashboardNav } from '../Sidebar';\nimport TeamsNav from '../Sidebar/TeamsNav';\n\nimport '../../views/Sidebar/Sidebar.scss';\nimport './BasicTopbar.scss';\n\nconst BasicTopbar = ({ accountId, isAuthenticated, isDataRoom, limitedUserEmail }) => {\n const { push } = useHistory();\n const { search } = useLocation();\n\n const [isOverlayVisible, setIsOverlayVisible] = useState(false);\n const isWhiteLabel = window.location.href.includes('paperos');\n\n const isOverlayToggleVisible = isDataRoom && isAuthenticated;\n\n return (\n
    \n
      \n {isOverlayToggleVisible && (\n setIsOverlayVisible(true)}\n >\n \n
    \n )}\n {(!isDataRoom || !isAuthenticated) && (\n push('/login')}\n >\n \"topbar\n \n )}\n {isDataRoom && (\n
      \n
    • \n \n
    • \n
    \n )}\n \n {isOverlayToggleVisible && (\n setIsOverlayVisible(false)}\n overlayClassName=\"sidebar__overlay\"\n >\n {\n push(handlePath({ pathname: '/home', search }, accountId));\n }}\n >\n \"\"\n \n setIsOverlayVisible(!isOverlayVisible)}\n >\n \n \n {accountId !== 0 && }\n {accountId === 0 && }\n \n )}\n \n );\n};\n\nBasicTopbar.defaultProps = {\n isAuthenticated: false,\n};\n\nexport default BasicTopbar;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\n\nimport { Formik } from 'formik';\nimport isEmpty from 'lodash-es/isEmpty';\nimport isEqual from 'lodash-es/isEqual';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport { getOutsideBoxToken } from '../../redux/modules/Cabinet/operations';\nimport {\n createFeature,\n createResourceName,\n finalizeOutsideForm,\n getOutsideForm,\n updateResourceName,\n} from '../../redux/modules/Transaction/operations';\nimport {\n getFaqsFromTransaction,\n getFormikValues,\n getOrderedQuestions,\n getQuestionnaireByTransactionId,\n getQuestionnaireSnapshotByTransactionId,\n getReviewValues,\n} from '../../redux/modules/Transaction/selectors';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport InfoSidebar from '../InfoSidebar';\nimport OutsideForm from './OutsideForm';\nimport { Button } from '../../components/common';\nimport BasicTopbar from '../../components/BasicTopbar';\nimport SavviLoading from '../../components/SavviLoading';\n\nimport './OutsideForm.scss';\nimport '../WorkbenchForm/WorkbenchForm.scss';\nimport '../Workbench/Workbench.scss';\n\nclass OutsideFormContainer extends Component {\n constructor(props) {\n super(props);\n this.state = {\n error: '',\n formValidationError: '',\n isFinalized: false,\n isReviewModalOpen: false,\n isSidebarCollapsed: window.innerWidth < 1240,\n isFetchingInit: true,\n isSubmitWaiting: false,\n };\n }\n\n componentDidMount() {\n const { getOutsideBoxToken, getOutsideForm, match } = this.props;\n const { params: { access_code } = {} } = match || {};\n getOutsideForm(access_code).then(\n e => {\n this.setState({ isFetchingInit: false });\n getOutsideBoxToken(access_code);\n },\n error => this.setState({ isFetchingInit: false, error }),\n );\n }\n\n componentDidUpdate(prevProps) {\n const {\n createFeature,\n isFetching,\n match: {\n params: { access_code },\n },\n questions,\n } = this.props;\n\n if (!isEqual(prevProps.questions, questions)) {\n questions.forEach(question =>\n question.resourceArr.forEach(resource => {\n resource.innerQuestions.forEach(innerQ => {\n if (innerQ.question_default && !innerQ.value) {\n createFeature({\n access_code,\n value: innerQ.question_default,\n feature_type_id: innerQ.feature_type.id,\n resource_id: resource.resource_id,\n resourceTypeId: resource.resource_type_id,\n });\n }\n });\n }),\n );\n }\n if (this.state.isSubmitWaiting && !isFetching) {\n this.setState({ isSubmitWaiting: false }, () => this.handleSubmit());\n }\n }\n\n handleDelete = (resourceId, resourceName) => {\n const { match, deleteIndividual, getOutsideForm } = this.props;\n const { params: { access_code } = {} } = match || {};\n const message = `Are you sure you want to remove ${resourceName} from our system?`;\n if (window.confirm(message)) {\n deleteIndividual(resourceId, resourceName).then(e => getOutsideForm(access_code));\n }\n };\n\n handleFinalize = () => {\n const { finalizeOutsideForm, reviewInfo } = this.props;\n return finalizeOutsideForm(reviewInfo).then(\n e => {\n this.setState({ isFinalized: true, isReviewModalOpen: false });\n return e;\n },\n error => {\n this.setState({ isReviewModalOpen: false });\n return error;\n },\n );\n };\n\n handleFormBlur = (value, feature_type_id, feature_id, resource_id, resourceTypeId) => {\n const { createFeature } = this.props;\n const {\n match: {\n params: { access_code },\n },\n } = this.props;\n\n createFeature({\n access_code,\n value,\n feature_id,\n feature_type_id,\n resource_id,\n resourceTypeId,\n });\n };\n\n handleSubmit = (values, actions) => {\n if (\n ((values['Investor (Full Legal Name)'] || [])[0]?.resource || '').includes(\n 'New Invest',\n ) ||\n ((values['Investor'] || [])[0]?.resource || '').includes('Investor') ||\n (\n (values['Investor Signatory (Full Legal Name)'] || [])[0]?.resource || ''\n ).includes('New Invest')\n ) {\n return this.setState({\n formValidationError:\n 'Please replace Investor and/or Investor Signatory input with full legal name',\n });\n } else {\n this.setState({ formValidationError: '' });\n }\n const {\n getOutsideForm,\n match: {\n params: { access_code },\n },\n } = this.props;\n const { isReviewModalOpen } = this.state;\n\n if (this.props.isFetching) {\n return this.setState({ isSubmitWaiting: true });\n }\n\n return getOutsideForm(access_code).then(e =>\n this.setState({ isReviewModalOpen: !isReviewModalOpen }),\n );\n };\n\n handleResourceName = (body, resourceId, isDraft) => {\n const {\n match: {\n params: { access_code },\n },\n updateResourceName,\n } = this.props;\n body.access_code = access_code;\n return updateResourceName(body, resourceId);\n };\n\n render() {\n const {\n faqs,\n formikValues,\n history,\n isFetching,\n isFetchingRoom,\n match,\n questions,\n outsideFormSnapshot,\n reviewInfo,\n questionnaireMeta,\n } = this.props;\n const {\n error,\n formValidationError,\n isFinalized,\n isFetchingInit,\n isReviewModalOpen,\n isSidebarCollapsed,\n // isSafariMobile,\n } = this.state;\n const { params = {} } = match || {};\n\n const isSidebarEmpty =\n (faqs.length === 0 && isEmpty(outsideFormSnapshot)) ||\n questionnaireMeta?.metadata?.type === 'persistent_instance';\n\n // const isLaunchForm =\n // questionnaireMeta?.name === 'Investor Onboarding for Master LLC | INVESTOR';\n\n return (\n \n \n
    \n {isFetchingInit && (\n
    \n Loading...\n \n
    \n )}\n {!isFetchingInit && (\n {\n return (\n \n this.setState({ isReviewModalOpen: !isReviewModalOpen })\n }\n />\n );\n }}\n />\n )}\n {!isSidebarEmpty && (\n <>\n \n this.setState({ isSidebarCollapsed: !isSidebarCollapsed })}\n >\n \n \n {!isSidebarCollapsed && (\n this.setState({ isSidebarCollapsed: true })}\n className=\"workbench__info-sidebar-overlay\"\n />\n )}\n \n )}\n
    \n \n );\n }\n}\n\nOutsideFormContainer.propTypes = {\n formValues: PropTypes.object.isRequired,\n formikValues: PropTypes.object.isRequired,\n isFetching: PropTypes.bool.isRequired,\n match: PropTypes.object,\n};\nOutsideFormContainer.defaultProps = {\n formValues: {},\n formikValues: {},\n isFetching: false,\n getFormInfo: () => {},\n};\n\nconst mapStateToProps = ({ Data, Transaction }, ownProps) => {\n const { isFetching } = Transaction;\n const { params: { access_code } = {} } = ownProps.match || {};\n return {\n isFetching,\n isFetchingRoom: Data.isFetching,\n formikValues: getFormikValues(Transaction, access_code),\n outsideFormSnapshot: getQuestionnaireSnapshotByTransactionId(\n Transaction,\n access_code,\n ),\n questions: getOrderedQuestions(Transaction, access_code),\n reviewInfo: getReviewValues(Transaction, access_code),\n questionnaireMeta: getQuestionnaireByTransactionId(Transaction, access_code),\n faqs: getFaqsFromTransaction(Transaction, access_code),\n };\n};\n\nconst mapDispatchToProps = (dispatch, ownProps) => {\n const { params: { access_code } = {} } = ownProps.match || {};\n\n return {\n createFeature: meta => dispatch(createFeature(meta, true)),\n createResourceName: body => dispatch(createResourceName(body)),\n finalizeOutsideForm: snapshot => dispatch(finalizeOutsideForm(access_code, snapshot)),\n getOutsideBoxToken: accessCode => dispatch(getOutsideBoxToken(accessCode)),\n getOutsideForm: () => dispatch(getOutsideForm(access_code)),\n setNotice: obj => dispatch(setNotice(obj)),\n updateResourceName: (body, resourceId) =>\n dispatch(updateResourceName(body, resourceId, true)),\n };\n};\n\nconst enhance = connect(mapStateToProps, mapDispatchToProps);\n\nexport default enhance(OutsideFormContainer);\n","import React, { useMemo } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nimport './Room.scss';\nimport DataTable from '../../components/DataTable';\nimport { hashContains, noHash } from '../../utils/generateMultiHash';\nimport { SavviNavLinkBar } from '../../components/SavviNavLink';\n\nexport const RoomReports = ({\n accessCode,\n isEditing,\n account_id,\n is_admin_user,\n roomId,\n report_feature_types,\n}) => {\n const { hash } = useLocation();\n // const { push } = useHistory();\n const { pathname } = useLocation();\n\n const homeNavLinkItems = useMemo(\n () =>\n report_feature_types\n .filter(table => Object.values(table.resourceListData).length > 0)\n .map(table => ({\n id: table.name,\n isItemLengthShowing: true,\n itemLength: Object.entries(table.resourceListData).length,\n label: table.question_label,\n path: {\n pathname,\n hash: '#' + table.question_label,\n },\n })),\n [report_feature_types, pathname],\n );\n\n const filteredAndSortedCompanyDataTables = useMemo(() => {\n let updatedCompanyDataTables = report_feature_types.filter(table => {\n if (noHash(hash) || hashContains(hash, table.question_label)) {\n return true;\n }\n return false;\n });\n return updatedCompanyDataTables;\n }, [report_feature_types, hash]);\n\n return (\n <>\n \n
    \n {filteredAndSortedCompanyDataTables.map((report, reportIndex) => (\n 2}\n question_label={report.question_label}\n roomId={roomId}\n reportIndex={reportIndex}\n reports={report_feature_types}\n />\n ))}\n
    \n \n );\n};\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport ContentPreview from 'box-ui-elements/es/elements/content-preview';\nimport classNames from 'classnames';\nimport dayjs from 'dayjs';\nimport { capitalize, get, isArray, isEmpty, isObject, startCase } from 'lodash';\nimport React, { Fragment, useState } from 'react';\nimport ReactMarkdown from 'react-markdown';\nimport Modal from 'react-modal';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router';\nimport { getBoxFileInfo } from '../../redux/modules/Cabinet/operations';\nimport { BoxToken } from '../../redux/modules/Cabinet/selectors';\nimport { isFetchingWithHooks } from '../../redux/modules/Transaction/selectors';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport { Button } from '../common';\nimport { MultiToggle } from '../inputs';\n\nimport './WorkbenchInfoModal.scss';\nimport { BrandMeta } from '../../redux/modules/UI/selectors';\nModal.setAppElement('#root');\n\nconst WorkbenchInfoModal = ({\n addons,\n customDocsReviewInfo,\n dataRoomLinks = [],\n faqs,\n fees,\n handleTaskAction,\n isAssessment,\n isDataRoom,\n isEditing,\n isOutsideForm,\n isOverview,\n isProcessesShowing,\n isQuestionnaireSubmitted,\n isPortalView,\n isReviewersShowing,\n isTaskView,\n isWorkflowCounselShowing,\n isOpen,\n onClose,\n open,\n sharedForms,\n params: { companyId } = {},\n projectCounsel,\n reviewers,\n reviewInfo,\n roomId,\n rooms = [],\n tasks = [],\n}) => {\n const dispatch = useDispatch();\n const { push } = useHistory();\n const boxToken = useSelector(BoxToken);\n\n const [isFAQCollapsed, setIsFAQCollapsed] = useState(window.screen.height < 1400);\n\n if (\n (isDataRoom && faqs.length === 0 && dataRoomLinks.length === 0 && !isEditing) ||\n (isOutsideForm && isEmpty(reviewInfo) && faqs.length === 0)\n ) {\n return null;\n }\n return (\n {\n document.body.classList.remove('ReactModal__Body--open');\n }}\n contentLabel={'Review Info'}\n className=\"workbenchInfoModal\"\n overlayClassName=\"workbenchInfoModal__overlay\"\n >\n
    \n

    Review Information

    \n \n
    \n {!isDataRoom && (\n
    0 && 'maxHeight'}`}>\n
    \n {sharedForms.length > 0 && }\n {isProcessesShowing && (\n
    \n {tasks.map((task, taskIndex) => (\n \n ))}\n
    \n )}\n {isOverview && (\n

    \n Review initial assessment input. Will not reflect changes that occur after\n assessment submission.\n

    \n )}\n {isOverview && isEmpty(reviewInfo) && (\n

    \n Nothing to review. Please select a task\n

    \n )}\n {isTaskView && !isQuestionnaireSubmitted && tasks.length === 0 && (\n

    \n Review inputs here upon task form completion.\n

    \n )}\n {isOutsideForm && !reviewInfo.length === 0 && (\n

    No inputs to Review.

    \n )}\n {isWorkflowCounselShowing && (\n
    \n

    Workflow Role Info

    \n {projectCounsel.length === 0 && (\n
    \n

    No Role assigned.

    \n
    \n )}\n {projectCounsel.map((counsel, parentIndex) => (\n \n

    \n {startCase(counsel.counsel_type)}:{' '}\n

    \n {counsel.user &&\n counsel.partner &&\n `${counsel.user.full_name} from ${counsel.partner.name}`}\n {!!counsel.user && !counsel.partner && counsel.user.full_name}\n {!!counsel.partner && !counsel.user && counsel.partner.name}\n

    \n

    \n
    \n ))}\n
    \n )}\n {isReviewersShowing && (\n
    \n

    Reviewers Info

    \n
    \n

    \n {reviewers.length === 0 && 'No reviewers assigned.'}\n {reviewers.map(\n ({ first_name = '', last_name = '', value }, reviewerIndex) => (\n \n {`${first_name} ${last_name}`}\n {reviewerIndex !== reviewers.length - 1 && `, `}\n \n ),\n )}\n

    \n
    \n
    \n )}\n {customDocsReviewInfo && customDocsReviewInfo.length > 0 && (\n <>\n

    Custom Document Info

    \n {customDocsReviewInfo.map((values, parentIndex) => (\n \n {!isEmpty(values.fields) && (\n
    \n

    Input Fields

    \n {Object.entries(values.fields).map(\n ([fieldKey, fieldVal], index) => (\n \n

    \n {startCase(fieldKey)}:

    {fieldVal}

    \n

    \n
    \n ),\n )}\n
    \n )}\n {values.recipients.map((recipient, index) => (\n \n

    Recipient #{index + 1}

    \n
    \n {Object.entries(recipient).map(([key, value], ind) => (\n

    \n {startCase(key)}:

    {value}

    \n

    \n ))}\n
    \n \n ))}\n \n ))}\n \n )}\n {(isQuestionnaireSubmitted || isOverview || isOutsideForm) && (\n \n )}\n \n \n )}\n {faqs.length > 0 && (\n \n
    \n \n
    \n {/*
    */}\n
    \n {faqs.map((faq, ind) => (\n \n

    {faq.header}

    \n {faq.body}\n
    \n ))}\n
    \n {/*
    */}\n \n )}\n \n );\n};\n\nconst ReviewInfo = ({ boxToken, companyId, dispatch, push, reviewInfo, isOutsideForm }) =>\n Object.entries(reviewInfo).map(([resourceKey, resourceArr], index) => (\n \n {Array.isArray(resourceArr) &&\n resourceArr.map((resource, resourceInd) => (\n \n {resource.resource && (\n

    {`${resource.resource} (${resource['Custom Label']})`}

    \n )}\n {resource.resource && (\n
    \n {Object.entries(resource).map(([key, value], ind) => {\n if (\n key !== 'resource' &&\n key !== 'Company Name' &&\n key !== 'Name' &&\n key !== 'Custom Label'\n ) {\n let updatedVal = value;\n\n if (isObject(value)) {\n if (value.isDocument) {\n if (!isOutsideForm) {\n return (\n \n

    {key}:

    \n
    \n {boxToken && (\n \n )}\n
    \n \n dispatch(getBoxFileInfo(value.fileId, push, companyId))\n }\n >\n {value.label}\n \n
    \n );\n } else {\n return (\n \n

    \n {key}:

    {value.value}

    \n

    \n
    \n );\n }\n }\n if (value.isLink) {\n return (\n \n

    \n {key}: {value.label}\n

    \n
    \n );\n }\n if (isArray(value)) {\n return (\n \n

    {key}:

    \n
    \n {value.map((e, linkIndex) => (\n \n

    \n Link #{linkIndex + 1}:\n \n {e.label}\n \n

    \n \n ))}\n
    \n
    \n );\n }\n if (!Object.values(value).join('')) {\n updatedVal = 'None Given';\n } else {\n return (\n \n

    {key}:

    \n

    {value.line_one}

    \n {value.line_two.length > 0 &&

    {value.line_two}

    }\n

    {`${startCase(value.city)}, ${value.state} ${\n value.zip\n }`}

    \n {value.country &&

    {value.country}

    }\n
    \n );\n }\n } else if (value.indexOf('|') !== -1) {\n updatedVal = updatedVal.split('|').join(', ');\n }\n return (\n

    \n {key}:

    {updatedVal || 'Not Given'}

    \n

    \n );\n }\n return null;\n })}\n
    \n )}\n
    \n ))}\n \n ));\n\nconst ReviewTask = ({\n addons,\n fees,\n handleTaskAction,\n isAssessment,\n isInitCollapsed,\n open,\n task: {\n bypassed,\n deliverables,\n id,\n label,\n mode,\n state,\n status_label,\n template: { transaction_actions = {}, type, type_label } = {},\n } = {},\n}) => {\n const { Bypass, Custom, Generate, Upload } = transaction_actions;\n const { high_days, low_days } = get(deliverables, '[0].timeline[0]', {});\n const taskAddons = addons.filter(e => e.taskId === id);\n const taskFees = fees.filter(e => e.taskId === id);\n\n const isFetchingTransaction = useSelector(isFetchingWithHooks);\n\n const [isTaskCollapsed, setIsTaskCollapsed] = useState(isInitCollapsed);\n\n let hideRadios = false;\n let isActionsShowing = true;\n let timelineLabel = '';\n\n if (type === 'System' || mode === 'Upload') {\n timelineLabel = 'instant';\n } else if (low_days) {\n timelineLabel = `${low_days} - ${high_days} days`;\n }\n\n if (\n (!Bypass && !Generate && !Upload && !Custom) ||\n isAssessment ||\n (Object.keys(transaction_actions).length < 2 && !Bypass)\n ) {\n isActionsShowing = false;\n }\n\n if (!Generate && !Upload && !Custom) {\n hideRadios = true;\n }\n\n const toggleActions = Object.entries(transaction_actions)\n .sort((a, b) => {\n if (a[0] === 'Generate') {\n return -1;\n }\n if (\n (a[0] === 'Upload' && b[0] !== 'Generate') ||\n (a[0] === 'Skip' && b[0] === 'Custom')\n ) {\n return -1;\n }\n return 1;\n })\n .reduce((dict, [key, value]) => {\n let updatedOption = {\n label: key,\n mode: key,\n value,\n disabled: false,\n };\n if (hideRadios && (key === 'Generate' || key === 'Upload' || key === 'Custom')) {\n return dict;\n }\n if (hideRadios && key !== 'Bypass') {\n updatedOption.value = !!bypassed;\n }\n if (key === 'Bypass') {\n updatedOption.disabled = !value;\n updatedOption.label = 'Skip';\n }\n dict.push(updatedOption);\n return dict;\n }, []);\n\n return (\n
    \n setIsTaskCollapsed(!isTaskCollapsed)}\n >\n \n {label}\n

    \n {!isTaskCollapsed && (\n
    \n
    \n
    \n

    Status

    \n

    \n {capitalize(\n (mode === 'Upload' && state) ||\n (state === 'completed' && 'Completed') ||\n status_label ||\n state ||\n 'Not Given',\n )}\n

    \n
    \n
    \n

    Type

    \n

    {type_label || type}

    \n
    \n {taskAddons.length > 0 && (\n
    \n

    Add-ons

    \n {taskAddons.map((addon, addonInd) => (\n
    \n

    \n \n {'$' + addon.amount}/{addon.period === 'year' ? 'Yr ' : 'Mo '}\n \n {`${addon.label} Add-on `}\n {!open && Paid}\n

    \n
    \n ))}\n
    \n )}\n {taskFees.length > 0 && (\n
    \n

    Fees

    \n {taskFees.map((fee, feeInd) => (\n
    \n

    \n \n {fee.is_annual ? fee.amount : '$' + fee.amount + ' '}\n \n {`${fee.label} Fee `}\n {!open && Paid}\n

    \n
    \n ))}\n
    \n )}\n {!!timelineLabel && (\n
    \n

    Timeline

    \n

    {timelineLabel}

    \n
    \n )}\n
    \n {isActionsShowing && (\n {\n const { mode: selectedMode, value } = selectedOption;\n if (hideRadios && mode === 'Bypass' && selectedMode === mode) {\n handleTaskAction('Enable', id);\n } else if (selectedMode !== mode && value) {\n handleTaskAction(selectedMode, id);\n }\n }}\n />\n )}\n
    \n )}\n
    \n );\n};\n\nconst SharedForms = ({ forms }) => {\n return (\n
    \n

    Shared Forms ({forms.length})

    \n
    {forms.map(SharedForm)}
    \n
    \n );\n};\n\nfunction SharedForm({\n access_code,\n assigned_email,\n created_at,\n id,\n metadata: { send_email, finalize, type = 'outside_form' } = {},\n name,\n state,\n}) {\n const dispatch = useDispatch();\n const brandMeta = useSelector(BrandMeta);\n let emailStatusLabel = 'Email Sent';\n if (type === 'data_request' && !send_email) {\n emailStatusLabel = 'Email Not Sent';\n }\n return (\n
    \n
    \n

    {name}

    \n {\n navigator.clipboard\n .writeText(`${brandMeta.web_base_url}/outside-form/${access_code}`)\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n \n \n \n \n \n
    \n
    \n
    \n

    Date Created

    \n

    {dayjs(created_at).format('ddd, MMM YYYY hh:mm A')}

    \n
    \n
    \n

    Connected Email

    \n

    {assigned_email || 'None connected'}

    \n
    \n
    \n
    \n
    \n

    Status

    \n
    \n \n {state === 'new' ? 'Open' : 'Completed'}\n
    \n \n {emailStatusLabel}\n
    \n {finalize && (\n
    \n Finalizes task on submission\n
    \n )}\n
    \n
    \n \n \n );\n}\n\nexport default WorkbenchInfoModal;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useDispatch, useSelector } from 'react-redux';\n// import { useLocation } from 'react-router';\nimport { Link, NavLink, useHistory } from 'react-router-dom';\nimport { Button, DropdownAction, TooltipAction } from '../../components/common';\nimport {\n getFaqsForProjectView,\n getGroupedTransactionsWithDocumentsForProjectView,\n getLearnMoreMetaForProjectView,\n ProjectCounsel,\n} from '../../redux/modules/Project/selectors';\n// import { getFaqsFromTransaction } from '../../redux/modules/Transaction/selectors';\nimport { generateBem } from '../../utils/generateBem';\nimport './PortalView.scss';\nimport {\n addRoomCode,\n // fetchRoomAccessLog,\n fetchRoomCodes,\n fetchRoomHistory,\n fetchRoomLinks,\n fetchRoomDocuments,\n fetchRoomParticipants,\n updateRoom,\n updateRoomDocument,\n swapRoomDocuments,\n deleteRoomDocument,\n createRoomHistory,\n} from '../../redux/modules/Data/operations';\nimport {\n getRoomDocuments,\n getRoomLinks,\n getRoomSharingMeta,\n} from '../../redux/modules/Data/selectors';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport handlePath from '../../utils/handlePath';\nimport { getProjectDocuments } from '../../redux/modules/Document/operations';\nimport ContentPreview from 'box-ui-elements/es/elements/content-preview';\nimport { BoxToken } from '../../redux/modules/Cabinet/selectors';\nimport { ReactPDFViewer } from '../../components/FilePreviewer/FilePreviewer';\nimport DocumentPreview from '../../components/DocumentPreview';\nimport ReactModal from 'react-modal';\nimport dayjs from 'dayjs/esm';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport RoomUserHistoryModal from '../../components/RoomUserHistoryModal';\nimport { RoomStandingFormsModal } from '../Room/RoomSettings';\nimport {\n getNonOpenForms,\n getReviewValues,\n IsWorkflowCounselShowing,\n} from '../../redux/modules/Transaction/selectors';\nimport WorkbenchInfoModal from '../../components/WorkbenchInfoModal';\nimport {\n getTransactionQuestionnaire,\n updateTransaction,\n} from '../../redux/modules/Transaction/operations';\nimport UseWindowSize from '../../utils/UseWindowSize';\nimport {\n getAccountProject,\n performTaskAction,\n updateProject,\n updateTaskVariant,\n} from '../../redux/modules/Project/operations';\nimport { SearchInput } from '../../redux/modules/UI/selectors';\nimport { someValuesEveryString } from '../../utils/FilterTools';\nimport { requestHeaders } from '../../redux/utils/api';\nimport { DocumentsByProject } from '../../redux/modules/Document/selectors';\nimport { Form, Formik } from 'formik';\nimport InputStyledCheckbox from '../../components/common/InputStyledCheckbox';\nimport { PDFViewer } from '../../components/OverviewCard';\nimport AlertModal from '../../components/AlertModal';\nimport { ReactComponent as DocPreviewSVG } from '../../assets/images/doc_preview.svg';\nimport { InputStyledTextField } from '../../components/inputs';\n\ndayjs.extend(localizedFormat);\n\nconst bem = generateBem('portalView');\n\nconst PortalView = ({ params = {} }) => {\n const dispatch = useDispatch();\n const { push } = useHistory();\n const { width } = UseWindowSize();\n const { companyId, moduleId = 2, projectId, transactionId } = params;\n const searchInput = useSelector(SearchInput);\n const project = useSelector(state =>\n getGroupedTransactionsWithDocumentsForProjectView(state, projectId),\n );\n const {\n rooms = [],\n groupedTransactions = [],\n transactions = [],\n label: projectLabel,\n template: { actions = [] } = {},\n } = project;\n const { id: templateId } = actions[0] || {};\n const startedActionIndex = transactions.findIndex(\n e => !!e.open && e.template.id === templateId,\n );\n const { id } = transactions[startedActionIndex] || {};\n const projectRoom = rooms.find(e => !e.group) || {};\n const learnMoreMeta = useSelector(state =>\n getLearnMoreMetaForProjectView(state.Project, projectId),\n );\n const roomSharingMeta = useSelector(State => getRoomSharingMeta(State, projectRoom.id));\n\n const filteredGroups = groupedTransactions.filter(task =>\n someValuesEveryString(task, [searchInput]),\n );\n const {\n allow_reopen,\n label: assessmentLabel,\n id: assessmentId,\n } = transactions[0] || {};\n\n const inputEl = useRef(null);\n const [inputLabel, updateInputLabel] = useState(projectLabel || '');\n const [isEditable, setEditable] = useState(false);\n\n useEffect(() => {\n if (isEditable === true) {\n inputEl.current.focus();\n }\n }, [isEditable]);\n const [isProjectDocsFetched, setIsProjectDocsFetched] = useState(false);\n\n useEffect(() => {\n if (!isProjectDocsFetched) {\n setIsProjectDocsFetched(true);\n dispatch(getProjectDocuments(projectId));\n dispatch(getTransactionQuestionnaire(transactionId));\n }\n }, [dispatch, projectId, isProjectDocsFetched, transactionId]);\n\n const projectTemplateId = project.template?.id;\n\n const groupType =\n (projectTemplateId === 179 && 'Trustee') ||\n (projectTemplateId === 417 && 'Partner') ||\n 'Investor';\n const isGroupsEmpty = filteredGroups.length < 2;\n\n const handleUpdateProjectName = ev => {\n const trimmedLabel = (ev.target.value + '').trim();\n if (trimmedLabel.length > 0 && trimmedLabel !== projectLabel.trim()) {\n dispatch(updateProject({ label: trimmedLabel }, projectId)).then(\n payload => {\n updateInputLabel(trimmedLabel);\n setEditable(false);\n },\n error => {\n updateInputLabel(projectLabel);\n setEditable(false);\n },\n );\n } else {\n updateInputLabel(projectLabel);\n setEditable(false);\n }\n };\n\n const [isReopenShowing, setIsReopenShowing] = useState(false);\n\n const handleReopenAssessment = ev => {\n dispatch(performTaskAction('reopen', assessmentId, projectId)).then(\n e => {\n setIsReopenShowing(false);\n push(\n handlePath(\n {\n pathname: `/workbench/${moduleId}/${projectId}/0/task-view`,\n state: { isReopening: true },\n },\n companyId,\n ),\n );\n },\n error => setIsReopenShowing(false),\n );\n };\n\n return (\n
    \n

    \n {isEditable && (\n {\n updateInputLabel(e.target.value);\n }}\n value={inputLabel}\n />\n )}\n {!isEditable && inputLabel}\n setEditable(!isEditable)}\n >\n \n \n \n {learnMoreMeta.isLearnMoreShowing && (\n e.stopPropagation()}\n href={learnMoreMeta.learnMoreUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Learn More\n \n )}\n setIsReopenShowing(true)}\n // onClick={e => {\n // handleReopenAssessment('reopen', transactionId, label, is_assessment);\n // }}\n >\n Restart Assessment\n \n \n

    \n
    \n
    \n
    \n \n

    \n {groupType}s\n {filteredGroups.length > 2 && ` (${filteredGroups.length - 1})`}\n

    \n \n {/* \n

    Related Projects

    \n */}\n
    \n
    \n {isGroupsEmpty && (\n
    \n

    \n {/* */}\n No {groupType}s added yet.\n

    \n

    \n \n Add {groupType}\n \n {' - '}If you already have the basic info you need about a(n){' '}\n {groupType} go ahead and take this action to fill out an initial form.\n This will generate tasks and a deal room based around that {groupType}.\n

    \n

    \n \n Batch Upload {groupType}s\n \n {` - If you would rather batch upload multiple ${groupType}'s basic info at once then you can input their data into a csv template we provide to automatically generate tasks and a deal room for each ${groupType}.`}\n

    \n {!!roomSharingMeta.standingFormLink && (\n

    \n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(\n `${REACT_APP_BASEURL}/api/redirect/form/${roomSharingMeta.standingFormLink.code}`,\n )\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n \n Share\n \n {' - '}Sharing a standing form link with a(n) {groupType} will take\n them to a similar basic form which they can fill out and submit. If\n the Room is open then they will be able to view the Portal's Data Room\n through that link as well. You can copy and share the same link with\n multiple people and it will generate a new standing form each time\n someone visits it.\n

    \n )}\n
    \n )}\n {filteredGroups.map(\n (group, index) =>\n !!group.groupLabel && (\n \n ),\n )}\n
    \n
    \n \n
    \n {isReopenShowing && (\n setIsReopenShowing(false)}\n primaryActionText=\"Restart Assessment\"\n onPrimaryClick={handleReopenAssessment}\n />\n )}\n
    \n );\n};\n\nconst infoBem = generateBem('portalInfoCard');\nconst InfoBar = ({ isGroupsEmpty, project, params, width, groupType }) => {\n const dispatch = useDispatch();\n const { companyId, moduleId, transactionId } = params;\n const {\n rooms,\n id: projectId,\n template: { actions = [] },\n groupedTransactions,\n transactions,\n } = project;\n const { id: templateId } = actions[0] || {};\n const startedActionIndex = transactions.findIndex(\n e => !!e.open && e.template.id === templateId,\n );\n const anyActionIndex = transactions.findIndex(e => e.template.id === templateId);\n const { id } = transactions[startedActionIndex] || transactions[anyActionIndex] || {};\n\n // const { id: actionTemplateId, label, description } = actions[0] || {};\n\n const projectRoom = rooms.find(e => !e.group) || {};\n const { id: roomId, data_access_code, open, require_auth, strict } = projectRoom;\n\n const addActionLabel = `Add ${groupType}`;\n\n const roomDocuments = useSelector(State => getRoomDocuments(State, roomId));\n const roomLinks = useSelector(State => getRoomLinks(State, roomId));\n const faqs = useSelector(state => getFaqsForProjectView(state.Project, projectId));\n const isWorkflowCounselShowing = useSelector(state =>\n IsWorkflowCounselShowing(state, transactionId),\n );\n const projectCounsel = useSelector(state => ProjectCounsel(state, projectId));\n const reviewInfo = useSelector(state =>\n getReviewValues(state.Transaction, transactionId),\n );\n const sharedForms = useSelector(state =>\n getNonOpenForms(state.Transaction, transactionId),\n );\n const projectDocuments = useSelector(State => DocumentsByProject(State, projectId));\n const roomSharingMeta = useSelector(State => getRoomSharingMeta(State, roomId));\n const {\n standingForms,\n standingFormLink,\n // standingFormLinkLabel,\n // standingFormsCompleted,\n // otherForms,\n // otherFormsCompleted,\n // totalDocInteractions,\n totalTimesVisited,\n // usersByEmail,\n } = roomSharingMeta;\n const roomAccessLabel =\n (!open && 'Private') ||\n (!!strict && 'Invite Only') ||\n (!!require_auth && 'Sign-in Required') ||\n 'Open';\n const [isRoomFetched, setIsRoomFetched] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n const [isStandingFormsModalOpen, setIsStandingFormsModalOpen] = useState(false);\n const [isInfoModalOpen, setIsInfoModalOpen] = useState(false);\n\n useEffect(() => {\n if (!isRoomFetched && !!roomId) {\n dispatch(fetchRoomCodes(roomId, companyId));\n dispatch(fetchRoomDocuments(roomId, companyId));\n dispatch(fetchRoomLinks(roomId, companyId));\n // dispatch(fetchRoomAccessLog(roomId));\n if (open) {\n dispatch(fetchRoomParticipants(roomId));\n }\n dispatch(fetchRoomHistory(data_access_code, roomId));\n setIsRoomFetched(true);\n }\n }, [dispatch, isRoomFetched, companyId, roomId, open, data_access_code, projectId]);\n\n const handleUpdateRoom = slug => {\n let body = {};\n let currentSlugValue =\n (slug === 'open' && open) ||\n (slug === 'require_auth' && require_auth) ||\n (slug === 'strict' && strict);\n body[slug] = !currentSlugValue;\n if (slug === 'open' && currentSlugValue) {\n body.init_room = true;\n }\n dispatch(updateRoom(body, roomId, companyId));\n };\n\n return (\n
    \n {width > 1239 && (\n
    \n (\n \n )}\n >\n
    \n

    Add {groupType} Options

    \n
    \n
    \n \n {addActionLabel}\n {!isGroupsEmpty && (\n \n )}\n \n \n Batch Upload {groupType}s\n {!isGroupsEmpty && (\n \n )}\n \n \n (\n \n \n Share\n {!isGroupsEmpty && (\n \n )}\n \n )}\n >\n
    \n

    Sharing Options

    \n
    \n
    \n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(\n `${REACT_APP_BASEURL}/api/redirect/form/${standingFormLink.code}`,\n )\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n {roomId\n ? 'Copy Standing Form Link with Data Room'\n : 'Copy Standing Form Link'}\n \n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(`${REACT_APP_BASEURL}/data-room/${data_access_code}`)\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n Copy Data Room Link\n \n \n
    \n )}\n
    \n
    \n {\n if (!ev.defaultPrevented && width < 1240) {\n setIsOpen(!isOpen);\n }\n }}\n >\n \n

    \n Portal Info\n {\n ev.preventDefault();\n setIsInfoModalOpen(!isInfoModalOpen);\n }}\n >\n \n \n

    \n {width < 1240 && (\n
    \n (\n \n \n Share\n \n )}\n >\n
    \n

    Sharing Options

    \n
    \n
    \n {\n ev.preventDefault();\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(`${REACT_APP_BASEURL}/data-room/${data_access_code}`)\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n Copy Data Room Link\n \n {\n ev.preventDefault();\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(\n `${REACT_APP_BASEURL}/api/redirect/form/${standingFormLink.code}`,\n )\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n {roomId\n ? 'Copy Data Room with new Standing Form Link'\n : 'Copy new Standing Form Link'}\n \n \n (\n \n )}\n >\n
    \n

    Add {groupType} Options

    \n
    \n
    \n \n {addActionLabel}\n {!isGroupsEmpty && (\n \n )}\n \n \n Batch Upload {groupType}s\n {!isGroupsEmpty && (\n \n )}\n \n \n
    \n )}\n
    \n {(isOpen || width > 1239) && (\n <>\n
    \n
    \n

    Data Room

    \n
    \n
    \n {width > 1239 && (\n
    \n \n \n \n \n View Data Room\n \n
    \n )}\n
    \n
    \n {!!roomId && (\n <>\n
    \n

    Room Access

    \n (\n \n \n

    {roomAccessLabel}

    \n {!!roomId && (\n \n )}\n \n )}\n >\n
    \n

    Access Options

    \n
    \n
    \n handleUpdateRoom('open')}\n >\n {open ? 'Close Room' : 'Open Room'}\n \n handleUpdateRoom('require_auth')}\n >\n {require_auth ? 'Sign-in Optional' : 'Sign-in Required'}\n \n handleUpdateRoom('require_auth')}\n >\n {strict ? 'Invite Optional' : 'Invite Only'}\n \n \n
    \n
    \n

    Views

    \n

    {totalTimesVisited}

    \n
    \n \n )}\n {!roomId && (\n <>\n
    \n

    Employees

    \n

    {groupedTransactions.length - 1}

    \n
    \n
    \n

    Documents

    \n

    {projectDocuments.length}

    \n
    \n \n )}\n
    \n

    Standing Forms

    \n {\n if (standingForms.length > 0) {\n setIsStandingFormsModalOpen(true);\n }\n }}\n >\n

    \n {standingForms.length} Form\n {standingForms.length === 1 ? '' : 's'}\n

    \n {standingForms.length > 0 && (\n \n )}\n
    \n
    \n
    \n {width < 1240 && (\n
    \n \n \n \n \n View Data Room\n \n
    \n )}\n
    \n
    \n {roomDocuments.length > 0 && (\n
    \n
    \n

    Documents

    \n
    \n
    \n \n {roomDocuments.map(doc => (\n \n ))}\n
    \n
    \n )}\n {roomLinks.length > 0 && (\n
    \n
    \n

    Links

    \n
    \n
    \n {roomLinks.map(link => (\n \n
    \n

    {link.label}

    \n

    \n \n {link.link}\n

    \n
    \n \n ))}\n
    \n )}\n \n )}\n
    \n
    \n setIsStandingFormsModalOpen(false)}\n standingForms={standingForms}\n />\n setIsInfoModalOpen(false)}\n sharedForms={sharedForms}\n params={params}\n projectCounsel={projectCounsel}\n reviewInfo={reviewInfo}\n />\n
    \n );\n};\n\n// const groupBem = generateBem('projectGroupCard');\nconst GroupCard = ({ filteredGroups, group, groupType, index, params, project }) => {\n const dispatch = useDispatch();\n const [isOpen, setIsOpen] = useState(filteredGroups.length === 2);\n const [isRemoveGroupOpen, setIsRemoveGroupOpen] = useState(false);\n const [isUserHistoryModalOpen, setIsUserHistoryModalOpen] = useState(false);\n const [selectedUserHistory, setSelectedUserHistory] = useState({});\n\n const {\n createdAt,\n isGroupDeletable,\n groupLabel,\n transactions,\n transactionsOpen,\n groupDocuments,\n } = group;\n const { rooms, id: projectId, groupedTransactions } = project;\n const { companyId, moduleId } = params;\n\n const groupRoom = rooms.find(e => e.group === groupLabel);\n const {\n account_id,\n id: roomId,\n data_access_code,\n open,\n strict,\n require_auth,\n } = groupRoom || {};\n\n const accountId = account_id || companyId;\n const dealRoomSharingMeta = useSelector(State => getRoomSharingMeta(State, roomId));\n const { totalTimesVisited, totalPrivateLinks, usersByEmail } = dealRoomSharingMeta;\n const isLastGroup = index + 1 === (groupedTransactions || []).length;\n const isRecipientsShowing =\n usersByEmail.length > 0 && !!usersByEmail.find(user => user.name !== 'Anonymous');\n const roomAccessLabel =\n (!open && 'Private') ||\n (!!strict && 'Invite Only') ||\n (!!require_auth && 'Sign-in Required') ||\n 'Open';\n const isInitialTaskSubmitted = !!transactions[0]?.submission_date;\n const nextTransactionId = (transactions.find(t => t.open) || {}).id;\n const [isDealRoomFetched, setIsDealRoomFetched] = useState(false);\n\n useEffect(() => {\n if (!isDealRoomFetched && !!roomId && (filteredGroups.length < 8 || isOpen)) {\n setIsDealRoomFetched(true);\n dispatch(fetchRoomCodes(roomId, accountId));\n // dispatch(fetchRoomAccessLog(roomId, accountId));\n dispatch(fetchRoomParticipants(roomId, accountId));\n dispatch(fetchRoomHistory(data_access_code, roomId));\n }\n }, [\n dispatch,\n isDealRoomFetched,\n accountId,\n companyId,\n filteredGroups.length,\n isOpen,\n roomId,\n data_access_code,\n ]);\n\n const handleUpdateRoom = slug => {\n let body = {};\n let currentSlugValue =\n (slug === 'open' && open) ||\n (slug === 'require_auth' && require_auth) ||\n (slug === 'strict' && strict);\n body[slug] = !currentSlugValue;\n if (slug === 'open' && currentSlugValue) {\n body.init_room = true;\n }\n dispatch(updateRoom(body, roomId, accountId));\n };\n\n const handleRemoveGroup = () => {\n let isError = false;\n transactions.forEach((transaction, index) =>\n dispatch(performTaskAction('delete', transaction.id, projectId, 'Portal')).then(\n payload => {\n if (index + 1 === transactions.length && !isError) {\n dispatch(setNotice(`${groupLabel} removed from Project.`));\n dispatch(getAccountProject(projectId));\n }\n },\n error => {\n isError = true;\n },\n ),\n );\n };\n\n return (\n
    \n {\n if (!ev.defaultPrevented) {\n setIsOpen(!isOpen);\n }\n }}\n >\n \n
    \n

    \n {groupLabel}\n {transactionsOpen > 0 && (\n {transactionsOpen}\n )}\n

    \n

    Started: {dayjs(createdAt).format('L')}

    \n
    \n \n
    \n

    {groupLabel} Options

    \n
    \n
    \n \n View {isInitialTaskSubmitted ? 'Next' : 'Initial'} Task\n \n {\n ev.preventDefault();\n setIsRemoveGroupOpen(true);\n }}\n >\n Remove {groupType}\n \n \n
    \n {isOpen && (\n <>\n
    \n
    \n

    Deal Room

    \n
    \n
    \n
    \n
    \n
    \n

    Room Access

    \n (\n \n \n

    {roomAccessLabel}

    \n \n \n )}\n >\n
    \n

    Access Options

    \n
    \n
    \n handleUpdateRoom('open')}\n >\n {open ? 'Close Room' : 'Open Room'}\n \n handleUpdateRoom('require_auth')}\n >\n {require_auth ? 'Sign-in Optional' : 'Sign-in Required'}\n \n handleUpdateRoom('require_auth')}\n >\n {strict ? 'Invite Optional' : 'Invite Only'}\n \n \n
    \n
    \n

    Views

    \n

    {totalTimesVisited}

    \n
    \n
    \n

    Room Participants

    \n

    {isRecipientsShowing ? usersByEmail.length : '0'}

    \n
    \n
    \n

    Private Links

    \n

    {totalPrivateLinks}

    \n
    \n
    \n
    \n \n \n \n \n View Deal Room\n \n
    \n
    \n
    \n {isRecipientsShowing && (\n
    \n
    \n

    Room Participants

    \n
    \n
    \n {usersByEmail.map(user => {\n const userDateLabel =\n (user.lasVisited &&\n `Last Visited: ${dayjs(user.lastVisited).format('L')}`) ||\n (user.codes.length > 0 &&\n `Date Invited: ${dayjs(user.created_at).format('L')}`) ||\n '';\n if (user.name === 'Anonymous') {\n return null;\n }\n return (\n {\n if (!ev.defaultPrevented) {\n setSelectedUserHistory(user);\n setIsUserHistoryModalOpen(true);\n }\n }}\n >\n
    \n

    {user.name}

    \n

    \n {user.email} | {userDateLabel}\n

    \n
    \n
    \n (\n \n Share Personal Link\n \n \n )}\n >\n
    \n

    Sharing Options

    \n
    \n
    \n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(\n `${REACT_APP_BASEURL}/data-room/${user.codes[0].code}`,\n )\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n Copy Link\n \n \n dispatch(\n addRoomCode(\n { identifier: { type: 'email', value: user.email } },\n user.room_id,\n accountId,\n ),\n ).then(() => dispatch(setNotice('Link Emailed')))\n }\n >\n Email Room Link\n \n \n
    \n
    \n );\n })}\n
    \n )}\n
    \n
    \n

    Tasks

    \n
    \n
    \n {transactions.map(transaction => (\n \n ))}\n
    \n {groupDocuments.length > 0 && (\n
    \n
    \n

    Related Documents

    \n
    \n
    \n \n {groupDocuments.map(doc => (\n \n ))}\n
    \n
    \n )}\n \n )}\n {!isLastGroup &&
    }\n {isRemoveGroupOpen && (\n setIsRemoveGroupOpen(false)}\n onPrimaryClick={handleRemoveGroup}\n />\n )}\n setIsUserHistoryModalOpen(false)}\n isOpen={isUserHistoryModalOpen}\n roomId={roomId}\n roomUserHistory={selectedUserHistory || {}}\n />\n
    \n );\n};\n\nconst PortalTaskRow = ({ accountId, transaction, params }) => {\n const dispatch = useDispatch();\n const {\n label,\n id: transactionId,\n is_started,\n open,\n submission_date,\n validated_questionnaire,\n tasks,\n } = transaction;\n const { moduleId, projectId } = params;\n let statusLevel = 'low';\n let statusLabel = 'Get Started';\n if (!open) {\n statusLabel = 'Submitted';\n statusLevel = 'none';\n } else if (validated_questionnaire) {\n statusLabel = 'Form Completed';\n statusLevel = 'low';\n } else if (is_started) {\n statusLabel = 'Form Started';\n }\n\n let taskVariants = [];\n tasks.forEach(task => {\n if ((task.template_type?.variants || []).length > 1 && task.mode !== 'Upload') {\n taskVariants.push(task);\n }\n });\n\n const [isVariantsOpen, setIsVariantsOpen] = useState(false);\n\n return (\n <>\n {\n if (ev.defaultPrevented) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n }}\n >\n
    \n

    \n {label}\n {taskVariants.length > 0 && !isVariantsOpen && !!open && (\n <>\n {' ('}\n {\n ev.preventDefault();\n setIsVariantsOpen(!isVariantsOpen);\n }}\n >\n {isVariantsOpen\n ? 'Cancel'\n : `Change Document Template${taskVariants.length > 1 ? 's' : ''}`}\n \n \n )\n \n )}\n

    \n {!!submission_date &&

    Completed: {dayjs(submission_date).format('L')}

    }\n
    \n
    \n

    {statusLabel}

    \n
    \n \n {isVariantsOpen &&\n taskVariants.map(task => (\n {\n dispatch(\n updateTaskVariant(task.id, { template_variant_id }, projectId),\n ).then(e => {\n if (validated_questionnaire && open) {\n dispatch(\n updateTransaction(transactionId, { validated_questionnaire: 0 }),\n );\n }\n setIsVariantsOpen(false);\n });\n }}\n >\n {formikProps => (\n
    \n
    \n

    \n Choose a Template for{' '}\n {task.template.type_label ||\n task.template.type ||\n taskVariants.template.label}\n :\n

    \n
    \n setIsVariantsOpen(false)}\n size=\"sm\"\n >\n Cancel\n \n \n
    \n
    \n
    \n {task.template_type.variants.map((variant, index) => (\n \n {\n formikProps.setFieldValue('template_variant_id', variant.id);\n }}\n type=\"radio\"\n value={variant.id}\n />\n {variant.description && (\n

    \n {'Description: '}\n

    {variant.description}

    \n

    \n )}\n {variant.partners.length > 0 && (\n

    \n Partners:{' '}\n

    \n {variant.partners\n .reduce((dict, e) => [...dict, e.partner.name], [])\n .join(', ')}\n

    \n

    \n )}\n {!!variant?.preview && (\n \n )}\n
    \n ))}\n
    \n \n )}\n \n ))}\n \n );\n};\n\nexport const DocumentItem = ({\n accessCode,\n doc,\n documents,\n index,\n isEditing,\n params = {},\n roomId,\n}) => {\n const dispatch = useDispatch();\n const companyBoxToken = useSelector(BoxToken);\n\n const { projectId, transactionId } = params;\n const {\n account_id,\n box_file_id,\n filename,\n flat_features = [],\n file_token: { accessToken } = {},\n label: roomLabel,\n template_variant,\n panda_data,\n variants = [],\n task,\n room_document_id,\n isTransactionOpen,\n validatedQuestionnaire,\n } = doc;\n const {\n customer_label: variant_label,\n filename: variant_filename,\n preview: templatePreview,\n template_type,\n id: variantId,\n } = template_variant || {};\n const { id: taskId, mode } = task || {};\n const templatePages =\n (panda_data?.redline_data?.redlining_revisions || [])[0]?.pages || [];\n const { label: templateLabel, box_file_id: previewBoxFileId } = templatePreview || {};\n const { customer_label } = template_type || {};\n\n const documentTemplateLabel =\n roomLabel ||\n customer_label ||\n variant_label ||\n flat_features[0]?.feature_type?.question_label ||\n templateLabel;\n\n const [isOpen, setIsOpen] = useState(false);\n const [error, setError] = useState(false);\n const [isEditingDocLabel, setIsEditingDocLabel] = useState(false);\n const [isEditDocSubmitting, setIsEditDocSubmitting] = useState(false);\n const [docLabelInput, setDocLabelInput] = useState(documentTemplateLabel);\n const [isVariantsOpen, setIsVariantsOpen] = useState(false);\n\n const isVariantsShowing =\n !!transactionId && variants.length > 1 && isTransactionOpen && mode !== 'Upload';\n\n const boxToken = accessToken || companyBoxToken;\n\n const handleModalClose = e => {\n e.preventDefault();\n setIsOpen(false);\n };\n\n const filenameLabel = filename || variant_filename || 'Unknown name';\n const isFilenameShowing = !!filenameLabel && !filenameLabel.includes('[');\n\n const onDocumentDownload = ev => {\n ev.preventDefault();\n const dynamicUrl = accessCode\n ? `guest/rooms/${accessCode}/file/${box_file_id || previewBoxFileId}`\n : `account/box/file/${box_file_id || previewBoxFileId}`;\n\n let updatedUrl = `${process.env.REACT_APP_BASEURL}/api/${dynamicUrl}`;\n var client = new XMLHttpRequest();\n client.open('GET', updatedUrl);\n client.withCredentials = true;\n client.responseType = 'blob';\n Object.entries(requestHeaders(true)).forEach(([key, value]) => {\n client.setRequestHeader(key, value);\n });\n client.onreadystatechange = () => {\n switch (client.readyState) {\n case 4:\n dispatch(setNotice('Starting Download.'));\n if (accessCode && box_file_id) {\n dispatch(\n createRoomHistory(\n accessCode,\n {\n box_file_id: box_file_id,\n action: 'download',\n customer_label: documentTemplateLabel,\n file_label: filenameLabel,\n },\n roomId,\n ),\n );\n }\n const url = window.URL.createObjectURL(client.response);\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n break;\n default:\n }\n };\n client.send();\n };\n\n const handleBoxResponseInterceptor = ev => {\n if (ev.type === 'error' || ev instanceof Error) {\n setError('Unable to preview file at this time.');\n }\n return ev;\n };\n\n const handleSortUpClick = e => {\n e.preventDefault();\n dispatch(\n swapRoomDocuments(\n room_document_id,\n documents[index - 1].room_document_id,\n roomId,\n account_id,\n accessCode,\n ),\n );\n };\n\n const handleSortDownClick = e => {\n e.preventDefault();\n dispatch(\n swapRoomDocuments(\n room_document_id,\n documents[index + 1].room_document_id,\n roomId,\n account_id,\n accessCode,\n ),\n );\n };\n\n const handleRemoveDocument = e => {\n e.preventDefault();\n const message = `Are you sure you want to remove this document from the Data Room?`;\n if (window.confirm(message)) {\n dispatch(deleteRoomDocument(room_document_id, roomId, account_id, accessCode));\n }\n };\n\n const handleDocLabelUpdate = e => {\n setIsEditDocSubmitting(true);\n dispatch(\n updateRoomDocument(\n { label: docLabelInput },\n room_document_id,\n roomId,\n account_id,\n accessCode,\n ),\n ).then(\n e => {\n setIsEditDocSubmitting(false);\n setIsEditingDocLabel(false);\n },\n error => setIsEditDocSubmitting(false),\n );\n };\n\n return (\n <>\n {\n if (!ev.defaultPrevented && !isEditingDocLabel) {\n ev.preventDefault();\n if (!isOpen && !!box_file_id && accessCode) {\n dispatch(\n createRoomHistory(\n accessCode,\n {\n box_file_id: box_file_id,\n action: 'view',\n customer_label: documentTemplateLabel,\n file_label: filenameLabel,\n },\n roomId,\n ),\n );\n }\n setIsOpen(!isOpen);\n }\n }}\n >\n
    \n {box_file_id && boxToken && !error && (\n \n )}\n {!box_file_id && boxToken && previewBoxFileId && (\n \n )}\n {!box_file_id && !previewBoxFileId && templatePages.length > 0 && (\n \n )}\n {!!error && }\n
    \n

    \n {!isEditingDocLabel && documentTemplateLabel}\n {!box_file_id && ' (Template)'}\n {(!!box_file_id || !!previewBoxFileId) && !isEditing && (\n \n \n \n )}\n {isEditingDocLabel && (\n setDocLabelInput(e.target.value)}\n onBlur={e => handleDocLabelUpdate(e)}\n />\n )}\n {isEditing && !isEditingDocLabel && (\n
    \n {\n e.preventDefault();\n setIsEditingDocLabel(!isEditingDocLabel);\n }}\n >\n \n \n {!!roomLabel && (\n {\n e.preventDefault();\n dispatch(\n updateRoomDocument(\n { label: '' },\n room_document_id,\n roomId,\n account_id,\n accessCode,\n ),\n );\n }}\n >\n \n \n )}\n
    \n )}\n

    \n {isFilenameShowing &&

    {filenameLabel}

    }\n {isVariantsShowing && (\n

    \n {\n ev.preventDefault();\n setIsVariantsOpen(true);\n }}\n >\n Change Template\n \n \n

    \n )}\n {isEditing && (\n
    \n \n \n \n \n \n \n \n \n \n
    \n )}\n
    \n {isVariantsShowing && (\n setIsVariantsOpen(false)}\n onAfterClose={ev => {\n document.body.classList.remove('ReactModal__Body--open');\n }}\n overlayClassName={infoBem('modalOverlay')}\n >\n setIsVariantsOpen(false)}\n icon={['fal', 'times']}\n />\n

    \n {documentTemplateLabel}\n {!box_file_id && '(Template)'}\n

    \n {\n dispatch(\n updateTaskVariant(taskId, { template_variant_id }, projectId),\n ).then(e => {\n if (validatedQuestionnaire && isTransactionOpen) {\n dispatch(\n updateTransaction(transactionId, { validated_questionnaire: 0 }),\n );\n }\n setIsVariantsOpen(false);\n });\n }}\n >\n {formikProps => (\n
    \n
    \n

    Choose a Template:

    \n
    \n
    \n {variants.map((variant, index) => (\n \n {\n formikProps.setFieldValue('template_variant_id', variant.id);\n }}\n type=\"radio\"\n value={variant.id}\n />\n {variant.description && (\n

    \n {'Description: '}\n

    {variant.description}

    \n

    \n )}\n {variant.partners.length > 0 && (\n

    \n Partners:{' '}\n

    \n {variant.partners\n .reduce((dict, e) => [...dict, e.partner.name], [])\n .join(', ')}\n

    \n

    \n )}\n {!!variant?.preview && (\n \n )}\n
    \n ))}\n
    \n
    \n \n \n
    \n \n )}\n \n \n )}\n {\n document.body.classList.remove('ReactModal__Body--open');\n }}\n overlayClassName={infoBem('modalOverlay')}\n >\n \n

    \n {documentTemplateLabel}\n {!box_file_id && '(Template)'}\n

    \n

    \n {filenameLabel}\n {!!(box_file_id || previewBoxFileId) && (\n \n )}\n

    \n
    \n {box_file_id && (\n \n )}\n {!box_file_id && previewBoxFileId && (\n \n )}\n {!box_file_id && !previewBoxFileId && templatePages.length > 0 && (\n \n )}\n
    \n \n \n );\n};\n\n// const DocumentsPreviewer = ({ documents }) => {\n// const dispatch = useDispatch();\n// const collection = documents.map(doc => doc.box_file_id);\n// const boxToken = useSelector(BoxToken);\n\n// const [collectionId, setCollectionId] = useState(documents[0].box_file_id);\n// const [isModalOpen, setIsModalOpen] = useState(false);\n\n// const selectedDoc = documents.find(doc => doc.box_file_id === collectionId);\n// const {\n// box_file_id,\n// filename,\n// flat_features = [],\n// label: roomLabel,\n// template_variant,\n// } = selectedDoc || {};\n// const {\n// customer_label: variant_label,\n// filename: variant_filename,\n// preview: templatePreview,\n// template_type,\n// } = template_variant || {};\n// const { label: templateLabel, box_file_id: previewBoxFileId } = templatePreview || {};\n// const { customer_label } = template_type || {};\n\n// const documentTemplateLabel =\n// roomLabel ||\n// customer_label ||\n// variant_label ||\n// flat_features[0]?.feature_type?.question_label ||\n// templateLabel;\n// const filenameLabel = filename || variant_filename || 'Unknown name';\n\n// const onDocumentDownload = ev => {\n// ev.preventDefault();\n// const updatedUrl = `${process.env.REACT_APP_BASEURL}/api/account/box/file/${box_file_id}`;\n// var client = new XMLHttpRequest();\n// client.open('GET', updatedUrl);\n// client.withCredentials = true;\n// client.responseType = 'blob';\n// Object.entries(requestHeaders(true)).forEach(([key, value]) => {\n// client.setRequestHeader(key, value);\n// });\n// client.onreadystatechange = () => {\n// switch (client.readyState) {\n// case 4:\n// dispatch(setNotice('Starting Download.'));\n// const url = window.URL.createObjectURL(client.response);\n// const link = document.createElement('a');\n// link.href = url;\n// link.setAttribute('download', filename);\n// document.body.appendChild(link);\n// link.click();\n// document.body.removeChild(link);\n// break;\n// default:\n// }\n// };\n// client.send();\n// };\n\n// return (\n// <>\n// {\n// if (\n// !(ev.target?.className || '').includes('bcpr-navigate') &&\n// !ev.defaultPrevented\n// ) {\n// ev.preventDefault();\n// ev.stopPropagation();\n// setIsModalOpen(!isModalOpen);\n// }\n// }}\n// >\n//
    \n// {\n// setCollectionId(nextFileId);\n// }}\n// collection={collection}\n// token={boxToken}\n// />\n//
    \n//

    \n// {documentTemplateLabel}\n// \n// \n// \n//

    \n//

    {filenameLabel}

    \n//
    \n// \n// \n// );\n// };\n\n// const DocumentsPreviewerModal = ({\n// boxToken,\n// documents,\n// isModalOpen,\n// setIsModalOpen,\n// }) => {\n// const collection = documents.map(doc => doc.box_file_id);\n\n// const [collectionId, setCollectionId] = useState(documents[0].box_file_id);\n\n// const selectedDoc = documents.find(doc => doc.box_file_id === collectionId);\n// const {\n// box_file_id,\n// filename,\n// flat_features = [],\n// label: roomLabel,\n// template_variant,\n// } = selectedDoc || {};\n// const {\n// customer_label: variant_label,\n// filename: variant_filename,\n// preview: templatePreview,\n// template_type,\n// } = template_variant || {};\n// const { label: templateLabel, box_file_id: previewBoxFileId } = templatePreview || {};\n// const { customer_label } = template_type || {};\n\n// const handleModalClose = e => {\n// e.preventDefault();\n// setIsModalOpen(false);\n// setCollectionId(documents[0].box_file_id);\n// };\n\n// const documentTemplateLabel =\n// roomLabel ||\n// customer_label ||\n// variant_label ||\n// flat_features[0]?.feature_type?.question_label ||\n// templateLabel;\n// const filenameLabel = filename || variant_filename || 'Unknown name';\n// return (\n// \n// \n//

    {documentTemplateLabel}

    \n//

    {filenameLabel}

    \n//
    \n// {\n// setCollectionId(nextFileId);\n// }}\n// collection={collection}\n// token={boxToken}\n// />\n//
    \n// \n// );\n// };\n\nexport default PortalView;\n","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n NavLink,\n Route,\n Redirect,\n Switch,\n useLocation,\n useRouteMatch,\n useHistory,\n} from 'react-router-dom';\nimport Modal from 'react-modal';\nimport { components } from 'react-select';\n\nimport BasicTopbar from '../../components/BasicTopbar';\n\nimport './Room.scss';\nimport DataTable from '../../components/DataTable';\nimport DocumentsSection from '../../components/DocumentsSection/DocumentsSection';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n getRoomResourceOptions,\n getRoomWithUpdatedFeatures,\n getRoomFeaturesAsOptions,\n // getRoomSharingMeta,\n} from '../../redux/modules/Data/selectors';\nimport {\n deleteRoomFeature,\n fetchFeaturesForRoom,\n fetchRoomByAccessCode,\n fetchRoomById,\n createRoomFeatures,\n deleteRoomFeatures,\n updateRoomFeatures,\n updateRoom,\n createRoomDocument,\n addRoomReport,\n fetchRoomCodes,\n // fetchRoomAccessLog,\n fetchRoomHistory,\n fetchRoomParticipants,\n createRoomHistory,\n fetchRoomByUser,\n swapRoomLinks,\n deleteRoomLink,\n} from '../../redux/modules/Data/operations';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { isEmpty } from 'lodash-es';\nimport { Button } from '../../components/common';\nimport { InputSelect, InputStyledTextField } from '../../components/inputs';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport { DropdownAction } from '../../components/common/Dropdown/Dropdown';\nimport {\n getAuthAccount,\n getAuthUser,\n IsInitLoading,\n} from '../../redux/modules/User/selectors';\nimport {\n fetchCompanyDataTables,\n refreshCompanyToken,\n} from '../../redux/modules/Company/operations';\nimport PageLoader from '../../components/PageLoader';\nimport { getAllDocuments } from '../../redux/modules/Document/operations';\nimport { getAllDocumentsForSelect } from '../../redux/modules/Document/selectors';\nimport {\n getBoxToken,\n getBoxTokenFolderId,\n uploadBoxFile,\n} from '../../redux/modules/Cabinet/operations';\nimport { BoxToken } from '../../redux/modules/Cabinet/selectors';\nimport ContentPreview from 'box-ui-elements/es/elements/content-preview';\nimport OutsideFormContainer from '../OutsideForm/OutsideFormContainer';\nimport ContentUploader from 'box-ui-elements/es/elements/content-uploader';\nimport { getCompanyDataTables } from '../../redux/modules/Company/selectors';\n// import { DataRoomLinks } from '../InfoSidebar/InfoSidebar';\n// import classNames from 'classnames';\nimport { RoomSettings } from './RoomSettings';\nimport Sidebar from '../Sidebar';\nimport { RoomReports } from './RoomReports';\nimport { DocumentItem } from '../PortalView/PortalView';\nimport { generateBem } from '../../utils/generateBem';\n// import UseWindowSize from '../../utils/UseWindowSize';\nimport { AddLinkModal } from '../InfoSidebar/InfoSidebar';\nimport classNames from 'classnames';\nimport UseWindowSize from '../../utils/UseWindowSize';\nimport { onLogout } from '../../redux/modules/User/operations';\n\nconst Room = () => {\n const dispatch = useDispatch();\n const { url, path, params } = useRouteMatch();\n const { room_access_code } = params;\n const { pathname } = useLocation();\n const { width } = UseWindowSize();\n const { push, replace } = useHistory();\n\n const currentUser = useSelector(getAuthUser);\n const currentAccount = useSelector(getAuthAccount);\n const isInitLoading = useSelector(IsInitLoading);\n const { isAuthenticated } = currentUser;\n const { accountId } = currentAccount;\n const room = useSelector(state => getRoomWithUpdatedFeatures(state, room_access_code));\n let {\n account_id: passedAccountId,\n message: errorMessage,\n code,\n is_admin_user,\n outside_forms = [],\n user_email,\n room: {\n account_id,\n account_project_id,\n documents = [],\n faqs = [],\n features = [],\n links = [],\n infoCardFeatures = [],\n id,\n isChecklistsAvailable,\n label,\n // links = [],\n open,\n require_auth,\n report_feature_types = [],\n strict,\n } = {},\n } = room || {};\n if (!is_admin_user && parseInt(currentAccount.accountId) === account_id) {\n is_admin_user = true;\n } else if (is_admin_user && parseInt(currentAccount.accountId) !== account_id) {\n is_admin_user = false;\n }\n\n const [addFeatureMeta, setAddFeatureMeta] = useState({});\n const [addResourceMeta, setAddResourceMeta] = useState({});\n // const [isAddDocumentOpen, setIsAddDocumentOpen] = useState(false);\n const [isAddReportOpen, setIsAddReportOpen] = useState(false);\n const [isEditing, setIsEditing] = useState(false);\n const [initialized, setInitialized] = useState(false);\n const [isRoomFetched, setIsRoomFetched] = useState(false);\n const [isEditingRoomName, setIsEditingRoomName] = useState(false);\n const [roomName, setRoomName] = useState(label);\n\n const groupedDocuments = useMemo(() => {\n let documentsNeedingSignature = [];\n let otherDocuments = [];\n documents.forEach(e => {\n const isUserDocument =\n e.status !== 'document.completed' &&\n e.recipients.length > 0 &&\n !!room_access_code &&\n e.recipients.findIndex(e =>\n [\n (currentUser?.email || '').toLowerCase(),\n (user_email || '').toLowerCase(),\n ].includes(e.email.toLowerCase()),\n ) !== -1;\n\n if (isUserDocument) {\n documentsNeedingSignature.push(e);\n } else {\n otherDocuments.push(e);\n }\n });\n return {\n documentsNeedingSignature,\n otherDocuments,\n };\n }, [currentUser?.email, documents, room_access_code, user_email]);\n\n const { documentsNeedingSignature = [], otherDocuments = [] } = groupedDocuments;\n\n const filteredResources = useMemo(\n () =>\n features.filter(\n ([resourceTypeKey, resourceType]) =>\n resourceTypeKey !== 'Document' &&\n (width < 1240 ||\n (isChecklistsAvailable && resourceType.resource_type_id !== 25) ||\n (!isChecklistsAvailable && resourceType.resource_type_id !== 2)),\n ),\n [features, isChecklistsAvailable, width],\n );\n\n const connectedFormAccessCode =\n outside_forms[0]?.access_code || outside_forms[0]?.questionnaire?.access_code;\n\n const isInfoBarShowing =\n isEditing ||\n otherDocuments.length > 0 ||\n links.length > 0 ||\n infoCardFeatures.length > 0;\n\n useEffect(() => {\n if (!isInitLoading && !initialized) {\n dispatch(fetchRoomByAccessCode(room_access_code));\n }\n }, [room_access_code, isInitLoading, initialized, dispatch]);\n\n useEffect(() => {\n const accId = account_id || passedAccountId;\n const roomHistoryAction = window.location.href.includes('outside-form')\n ? 'visit_form'\n : 'visit';\n if (!initialized && accId) {\n setInitialized(true);\n if (isAuthenticated) {\n dispatch(refreshCompanyToken(accId, null, false, true)).then(\n e => {\n dispatch(getBoxToken(accId));\n dispatch(fetchRoomCodes(id, accId));\n // dispatch(fetchRoomAccessLog(id, accId));\n dispatch(fetchRoomParticipants(id, accId));\n dispatch(\n createRoomHistory(\n room_access_code,\n { action: roomHistoryAction },\n id,\n accId,\n ),\n ).then(\n () => {},\n err => dispatch(fetchRoomHistory(room_access_code, id)),\n );\n dispatch(fetchRoomById(id, accId)).then(\n v => setIsRoomFetched(true),\n err => setIsRoomFetched(true),\n );\n },\n error => {\n dispatch(\n createRoomHistory(room_access_code, { action: roomHistoryAction }, id),\n );\n dispatch(fetchRoomByUser(id)).then(\n v => {\n if (\n v.room.data_access_code !== room_access_code &&\n !window.location.href.includes('outside-form')\n ) {\n replace(`/data-room/${v.room.data_access_code}/overview`);\n }\n setIsRoomFetched(true);\n },\n err => setIsRoomFetched(true),\n );\n },\n );\n } else {\n setIsRoomFetched(true);\n dispatch(createRoomHistory(room_access_code, { action: roomHistoryAction }, id));\n }\n }\n }, [\n id,\n account_id,\n dispatch,\n initialized,\n isAuthenticated,\n passedAccountId,\n replace,\n room_access_code,\n ]);\n\n useEffect(() => {\n if (!pathname.includes('data-room')) {\n setInitialized(false);\n }\n }, [pathname]);\n\n const roomNameRef = useCallback(\n node => {\n if (node !== null && isEditingRoomName) {\n node.focus();\n }\n },\n [isEditingRoomName],\n );\n\n const toggleEditing = () => {\n if (isEditing) {\n setRoomName(label);\n setIsEditingRoomName(false);\n }\n setIsEditing(!isEditing);\n };\n\n const handleRoomNameBlur = e => {\n if (isEditingRoomName || e.target.value !== label) {\n dispatch(updateRoom({ label: e.target.value }, id, account_id));\n setIsEditingRoomName(false);\n }\n };\n\n const handleSignIn = ev => {\n const path = { pathname: '/login', state: { redirectPathname: pathname } };\n if (isAuthenticated) {\n dispatch(onLogout(path));\n } else {\n push(path);\n }\n };\n\n if (errorMessage && isRoomFetched) {\n return (\n
    \n \n
    \n
    \n

    {label || 'Room Overview'}

    \n
    \n {code === 'UNAUTHORIZED' && (\n

    \n This room link requires you to be logged in to the correct email to\n view. Please{' '}\n {' '}\n to be allowed access.\n

    \n )}\n {code !== 'UNAUTHORIZED' &&

    {errorMessage}

    }\n
    \n
    \n
    \n
    \n );\n }\n\n const isMainSectionEmpty =\n documentsNeedingSignature.length === 0 && filteredResources.length === 0;\n\n return (\n
    \n \n {isAuthenticated && }\n {(isInitLoading || !isRoomFetched) && }\n {!isInitLoading && isRoomFetched && (\n 0 || isEditing ? ' room__main--show-faq' : ''\n }`}\n >\n
    \n

    \n \n {!isEditingRoomName && label}\n {isEditingRoomName && (\n {\n setRoomName(e.target.value);\n }}\n onBlur={handleRoomNameBlur}\n onKeyDown={e => {\n if (e.key === 'Escape') {\n setRoomName(label);\n setIsEditingRoomName(false);\n }\n }}\n />\n )}\n {isEditing && !isEditingRoomName && (\n {\n setRoomName(label);\n setIsEditingRoomName(true);\n }}\n tooltip=\"Edit Room Name\"\n >\n \n \n )}\n \n {is_admin_user && account_id === accountId && (\n \n \n {isEditing ? 'Preview Room' : 'Edit Room'}\n \n )}\n

    \n
    \n \n Overview\n \n {(isEditing || report_feature_types.length > 0) && (\n \n Reports\n \n )}\n {outside_forms.length > 0 && (\n \n Connected Form\n \n )}\n {is_admin_user && (\n \n Settings & Sharing\n \n )}\n {isEditing && pathname.includes('reports') && (\n setIsAddReportOpen(true)}\n >\n Add Report Table\n \n )}\n
    \n \n \n \n \n \n {routeProps => (\n \n )}\n \n \n
    \n {isInfoBarShowing && width > 1239 && (\n \n \n
    \n )}\n {(!isMainSectionEmpty || width < 1240) && (\n 1239,\n })}\n >\n {documentsNeedingSignature.length > 0 && (\n \n )}\n {width < 1240 && (\n \n )}\n {/* {(otherDocuments.length > 0 || isEditing) && (\n \n )} */}\n {/* {filteredResources.length < 1 && (\n

    No Overview info included.

    \n )} */}\n {filteredResources.map(([resourceTypeKey, resourceType], index) => (\n \n ))}\n {/* {features.map(\n ([resourceTypeKey, resourceType], index) =>\n resourceTypeKey !== 'Document' &&\n (isChecklistsAvailable ||\n resourceType.resource_type_id !== 2) && (\n \n ),\n )} */}\n
    \n )}\n
    \n \n \n \n \n \n \n
    \n
    \n )}\n {isEditing && (\n setAddFeatureMeta({ ...addFeatureMeta, isOpen: false })}\n />\n )}\n {isEditing && (\n setAddResourceMeta({ ...addResourceMeta, isOpen: false })}\n />\n )}\n setIsAddReportOpen(false)}\n reportFeatureTypes={report_feature_types}\n roomId={id}\n />\n
    \n );\n};\n\nconst infoBem = generateBem('roomInfoCard');\nconst InfoCard = ({\n room,\n isEditing,\n isShowingOnSide,\n documents,\n room_access_code,\n setAddFeatureMeta,\n setAddResourceMeta,\n}) => {\n const dispatch = useDispatch();\n let {\n room: {\n account_id,\n data_access_code: accessCode,\n infoCardFeatures,\n id: roomId,\n isChecklistsAvailable,\n links = [],\n } = {},\n } = room || {};\n\n const [addLinkMeta, setAddLinkMeta] = useState({});\n const [isAddDocumentOpen, setIsAddDocumentOpen] = useState(false);\n\n const filteredInfoCardResources = infoCardFeatures.filter(\n ([resourceTypeKey, resourceType]) =>\n (isChecklistsAvailable && resourceType.resource_type_id === 25) ||\n (!isChecklistsAvailable && resourceType.resource_type_id === 2),\n );\n\n return (\n <>\n
    \n {(documents.length > 0 || isEditing) && (\n
    \n
    \n

    Documents ({documents.length})

    \n
    \n {isEditing && (\n setIsAddDocumentOpen(true)}\n >\n Add Document \n \n )}\n
    \n \n {documents.map((doc, index) => (\n \n ))}\n
    \n
    \n )}\n {(links.length > 0 || isEditing) && (\n
    \n
    \n

    Links ({links.length})

    \n
    \n {isEditing && (\n setAddLinkMeta({ index: links.length, isOpen: true })}\n >\n \n Add link\n \n )}\n
    \n {links.map(({ id, label, link }, index) => (\n {\n if (isEditing) {\n return false;\n }\n }}\n >\n
    \n

    \n {label}\n {isEditing && (\n (\n \n )}\n >\n \n setAddLinkMeta({\n id,\n index,\n isOpen: true,\n label,\n url: link,\n })\n }\n >\n Edit Link\n \n \n dispatch(\n swapRoomLinks(\n id,\n links[index - 1].id,\n roomId,\n account_id,\n accessCode,\n ),\n )\n }\n >\n Move up\n \n \n dispatch(\n swapRoomLinks(\n id,\n links[index + 1].id,\n roomId,\n account_id,\n accessCode,\n ),\n )\n }\n >\n Move down\n \n dispatch(deleteRoomLink(id, roomId, account_id))}\n >\n Remove Link\n \n \n )}\n

    \n

    \n \n {link}\n

    \n
    \n \n ))}\n
    \n )}\n {isShowingOnSide &&\n filteredInfoCardResources.map(([resourceTypeKey, resourceType], index) => (\n \n ))}\n
    \n {isEditing && (\n setAddLinkMeta({})}\n roomId={roomId}\n />\n )}\n {isEditing && (\n setIsAddDocumentOpen(false)}\n roomId={roomId}\n />\n )}\n {/* setIsStandingFormsModalOpen(false)}\n standingForms={standingForms}\n />\n setIsInfoModalOpen(false)}\n sharedForms={sharedForms}\n params={params}\n projectCounsel={projectCounsel}\n reviewInfo={reviewInfo}\n /> */}\n \n );\n};\n\nconst ResourceTypeTable = ({\n accessCode,\n account_id,\n index,\n isChecklist,\n isEditing,\n resourceTypeKey,\n resourceType,\n setAddFeatureMeta,\n setAddResourceMeta,\n roomId,\n}) => {\n const dispatch = useDispatch();\n const [resourceTypeInput, setResourceTypeInput] = useState(resourceTypeKey);\n const [isEditingResourceType, setIsEditingResourceType] = useState(false);\n const isCompany = resourceType.resource_type_id === 2;\n // const [isOpen, setIsOpen] = useState(false);\n\n const handleEditResourceType = () => {\n if (!resourceTypeInput) {\n dispatch(setNotice({ type: 'error', message: 'Cannot update to empty string.' }));\n setIsEditingResourceType(false);\n setResourceTypeInput(resourceTypeKey);\n } else if (resourceTypeInput === resourceTypeKey) {\n setIsEditingResourceType(false);\n } else {\n dispatch(\n updateRoomFeatures(\n resourceType.resources,\n {\n resource_custom_label: resourceTypeInput,\n },\n roomId,\n account_id,\n ),\n ).then(\n e => {\n dispatch(setNotice('Name Updated'));\n dispatch(fetchRoomById(roomId, account_id, accessCode));\n setIsEditingResourceType(false);\n },\n error => setIsEditingResourceType(false),\n );\n }\n };\n return (\n
    \n
    \n
    \n

    \n {!isEditingResourceType && `${resourceTypeKey} Info`}\n {isEditingResourceType && (\n setResourceTypeInput(e.target.value)}\n name=\"room-resource-type-input\"\n onBlur={handleEditResourceType}\n />\n )}\n

    \n {isEditing && (\n <>\n setIsEditingResourceType(true)}\n tooltip=\"Edit Label\"\n >\n \n \n {!isCompany && (\n \n setAddResourceMeta({\n isOpen: true,\n resource_type_id: resourceType.resource_type_id,\n rootBody: {\n resource_variable_name: resourceType.resource_variable_name,\n resource_custom_label: resourceTypeKey,\n },\n })\n }\n tooltip=\"Add Info\"\n >\n \n \n )}\n \n dispatch(\n deleteRoomFeatures(resourceType.resources, roomId, account_id),\n ).then(e => {\n dispatch(setNotice('Table Removed'));\n dispatch(fetchRoomById(roomId, account_id, accessCode));\n })\n }\n >\n \n \n \n )}\n
    \n
    \n {Object.entries(resourceType.resources).map(\n ([resourceKey, resource], resourceIndex) => (\n \n ),\n )}\n
    \n
    \n );\n};\n\nconst ResourceCard = ({\n accessCode,\n account_id,\n setAddFeatureMeta,\n isChecklist,\n index,\n isEditing,\n resourceMeta,\n resourceIndex,\n resourceLength,\n roomId,\n}) => {\n const {\n features,\n resource,\n resource_custom_label,\n resource_id,\n resource_variable_name,\n } = resourceMeta;\n const dispatch = useDispatch();\n const filteredFeatures = features.filter(e => e.feature_type.name !== 'name');\n\n return (\n \n

    \n {resource}\n {isEditing && (\n (\n \n )}\n >\n \n setAddFeatureMeta({\n features,\n isOpen: true,\n rootBody: {\n resource_id: resource_id,\n resource_variable_name: resource_variable_name,\n resource_custom_label: resource_custom_label,\n resource,\n },\n })\n }\n >\n Add Fields\n \n \n dispatch(deleteRoomFeatures(features, roomId, account_id)).then(e => {\n dispatch(setNotice('Resource Removed'));\n dispatch(fetchRoomById(roomId, account_id));\n })\n }\n >\n Remove Resource\n \n \n )}\n

    \n {/*
    */}\n {filteredFeatures.map((feature, featureIndex) => {\n let value = feature.value || '--';\n if (!Array.isArray(value)) {\n let newVal = [];\n let splitValue = value.split('\\n');\n splitValue.forEach(e => {\n if (e.trim()) {\n newVal.push(e);\n }\n });\n value = newVal.join('\\n') || '--';\n }\n let isCheckmark =\n isChecklist &&\n feature.feature_type.feature_type === 'radio' &&\n (feature.value.includes('Yes') || feature.value.includes('No'));\n return (\n \n {isCheckmark && (\n
    \n \n

    {feature.feature_type.question_label}

    \n
    \n )}\n {!isCheckmark && (\n

    \n {feature.feature_type.question_label}\n {isEditing && (\n \n dispatch(\n deleteRoomFeature(\n feature.room_feature_id,\n roomId,\n account_id,\n accessCode,\n ),\n )\n }\n tooltip=\"Remove Field\"\n size=\"xs\"\n >\n \n \n )}\n

    \n )}\n {!isCheckmark && (\n \n {Array.isArray(value) &&\n value.map((link, linkIndex) => (\n

    \n Link #{linkIndex + 1}:{' '}\n \n {link.label}\n \n

    \n ))}\n {!Array.isArray(value) && value}\n \n )}\n
    \n );\n })}\n
    \n //
    \n );\n};\n\nconst AddResourceModal = ({\n accessCode,\n account_id,\n isOpen,\n onClose,\n resourceTypeId,\n rootBody = {},\n roomId,\n}) => {\n const dispatch = useDispatch();\n\n const { resource_custom_label } = rootBody;\n\n const [selectedResource, setSelectedResource] = useState({});\n const [selectedFeatures, setSelectedFeatures] = useState([]);\n const [isInit, setIsInit] = useState(true);\n const { value: resourceId } = selectedResource || {};\n const updatedResourceValue = isEmpty(selectedResource)\n ? { label: '', value: '' }\n : selectedResource;\n\n // const roomFeatures = useSelector(state => getRoomFeatures(state, resourceTypeId));\n const resourceList = useSelector(state =>\n getRoomResourceOptions(state, resourceTypeId),\n );\n const resourceFeatures = useSelector(state =>\n getRoomFeaturesAsOptions(state, resourceId),\n );\n\n useEffect(() => {\n if (isOpen && isInit) {\n dispatch(\n fetchFeaturesForRoom(1, `?resource_type_id=${resourceTypeId}`, account_id),\n );\n setIsInit(false);\n }\n }, [dispatch, account_id, isOpen, isInit, resourceTypeId]);\n\n useEffect(() => {\n if (resourceId) {\n dispatch(\n fetchFeaturesForRoom(resourceId, `?resource_id=${resourceId}`, account_id),\n );\n }\n }, [dispatch, account_id, resourceId]);\n\n const handleClose = () => {\n onClose();\n };\n\n const handleAddFeatures = () => {\n onClose();\n dispatch(\n createRoomFeatures(\n selectedFeatures,\n { ...rootBody, resource_id: selectedResource.value },\n roomId,\n account_id,\n ),\n ).then(e => {\n dispatch(setNotice('Resource Added'));\n dispatch(fetchRoomById(roomId, account_id, accessCode));\n });\n };\n\n return (\n \n \n

    Add Resource to {resource_custom_label}

    \n setSelectedResource(e)}\n label=\"Select a resource\"\n name=\"select-resource-list\"\n value={updatedResourceValue}\n />\n setSelectedFeatures(e)}\n value={selectedFeatures}\n />\n
    \n \n \n
    \n \n );\n};\n\nconst AddFeatureModal = ({\n accessCode,\n account_id,\n roomId,\n features,\n isOpen,\n onClose,\n rootBody = {},\n}) => {\n const dispatch = useDispatch();\n\n const { resource, resource_id } = rootBody;\n\n const resourceFeatures = useSelector(state =>\n getRoomFeaturesAsOptions(state, resource_id, features),\n );\n\n const [selectedFeatures, setSelectedFeatures] = useState([]);\n const [isInit, setIsInit] = useState(true);\n\n useEffect(() => {\n if (isOpen && isInit) {\n dispatch(\n fetchFeaturesForRoom(resource_id, `?resource_id=${resource_id}`, account_id),\n );\n setIsInit(false);\n }\n }, [dispatch, account_id, isOpen, isInit, resource_id]);\n\n const handleClose = () => {\n setSelectedFeatures([]);\n onClose();\n setIsInit(true);\n };\n\n const handleAddFeatures = () => {\n handleClose();\n let updatedBody = { ...rootBody };\n delete updatedBody.resource;\n dispatch(createRoomFeatures(selectedFeatures, updatedBody, roomId, account_id)).then(\n e => {\n dispatch(setNotice('Fields Added'));\n dispatch(fetchRoomById(roomId, account_id, accessCode));\n },\n );\n };\n\n return (\n \n \n

    Add Fields to {resource}

    \n setSelectedFeatures(e)}\n value={selectedFeatures}\n />\n
    \n \n \n
    \n \n );\n};\n\nconst Option = props => (\n \n \n

    {props.data.stateText}

    \n
    \n);\n\nconst AddDocumentModal = ({ accessCode, account_id, isOpen, onClose, roomId }) => {\n const dispatch = useDispatch();\n\n const documents = useSelector(getAllDocumentsForSelect);\n const boxToken = useSelector(BoxToken);\n\n const uploaderRef = useRef(null);\n\n const [initialized, setInitialized] = useState(false);\n const [isUploading, setIsUploading] = useState(false);\n const [selectedDoc, setSelectedDoc] = useState('');\n const [folderId, setFolderId] = useState('');\n const [error, setError] = useState(false);\n\n useEffect(() => {\n if (isOpen && !initialized) {\n dispatch(getAllDocuments(account_id));\n dispatch(\n getBoxTokenFolderId('/Miscellaneous/Data Room', false, accessCode, account_id),\n )\n .then(payload => setFolderId(payload.upload_folder_id))\n .catch(error => {\n console.error(error);\n setFolderId('0');\n });\n setInitialized(true);\n }\n }, [accessCode, dispatch, account_id, isOpen, initialized]);\n\n const handleClose = () => {\n setSelectedDoc('');\n onClose();\n };\n\n return (\n \n \n

    Add Document from File Cabinet

    \n {\n setSelectedDoc(e);\n setIsUploading(false);\n setError(false);\n }}\n value={selectedDoc}\n />\n {isUploading && folderId && (\n {\n setTimeout(() =>\n uploaderRef.current.lastElementChild.lastElementChild.lastElementChild.click(),\n );\n }}\n onUpload={e =>\n dispatch(\n uploadBoxFile(\n e.id,\n { path: '/Miscellaneous/Data Room' },\n false,\n account_id,\n ),\n ).then(payload => {\n setSelectedDoc({\n ...payload.document_history,\n label: payload.document_history.filename,\n value: payload.document_history.box_file_id,\n stateText: 'Uploaded',\n });\n dispatch(getAllDocuments(account_id));\n dispatch(setNotice('File uploaded.'));\n setIsUploading(false);\n })\n }\n token={boxToken}\n measureRef={uploaderRef}\n />\n )}\n \n {!isEmpty(selectedDoc) && !isUploading && (\n <>\n

    Selected Document

    \n

    {selectedDoc.label || selectedDoc.filename}

    \n

    Status

    \n

    {selectedDoc.stateText || 'Uploaded'}

    \n {error && (\n

    \n \n {error.message}\n

    \n )}\n {selectedDoc.box_file_id && !error && (\n
    \n {\n if (e.type === 'error' || e instanceof Error) {\n setError(e.message || 'Unable to preview file at this time.');\n }\n return e;\n }}\n />\n
    \n )}\n \n )}\n
    \n \n {\n if (!isEmpty(selectedDoc)) {\n dispatch(\n createRoomDocument(\n { document_history_id: selectedDoc.id },\n roomId,\n account_id,\n accessCode,\n ),\n ).then(handleClose);\n }\n }}\n >\n Add Document\n \n
    \n \n );\n};\n\nconst AddReportModal = ({\n accessCode,\n account_id,\n isOpen,\n onClose,\n reportFeatureTypes,\n roomId,\n}) => {\n const dispatch = useDispatch();\n\n const companyDataTables = useSelector(getCompanyDataTables);\n\n const filteredTables = companyDataTables.filter(\n table => reportFeatureTypes.findIndex(report => report.id === table.id) === -1,\n );\n\n const [initialized, setInitialized] = useState(false);\n const [selectedReport, setSelectedReport] = useState(null);\n const [error, setError] = useState(false);\n\n useEffect(() => {\n if (isOpen && !initialized) {\n dispatch(fetchCompanyDataTables(account_id));\n setInitialized(true);\n }\n }, [dispatch, account_id, isOpen, initialized]);\n\n const handleClose = () => {\n setSelectedReport(null);\n onClose();\n };\n\n return (\n \n \n

    Add Report to Data Room

    \n {\n setSelectedReport(e);\n setError(false);\n }}\n value={selectedReport}\n />\n {!isEmpty(selectedReport) && (\n <>\n

    Selected Report Preview

    \n
    \n \n
    \n {error && (\n

    \n \n {error.message}\n

    \n )}\n \n )}\n
    \n \n {\n if (!isEmpty(selectedReport)) {\n dispatch(\n addRoomReport(\n { feature_type_id: selectedReport.id },\n roomId,\n account_id,\n accessCode,\n ),\n ).then(handleClose);\n }\n }}\n >\n Add Report\n \n
    \n \n );\n};\n\nexport default Room;\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { isEmpty } from 'lodash';\nimport React, { useEffect, useState } from 'react';\nimport Modal from 'react-modal';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory, useLocation } from 'react-router';\nimport { getAccountProject } from '../../redux/modules/Project/operations';\nimport { AccountProject } from '../../redux/modules/Project/selectors';\nimport {\n createTransaction,\n getTransaction,\n getTransactionQuestionnaire,\n} from '../../redux/modules/Transaction/operations';\nimport { getFormikValues } from '../../redux/modules/Transaction/selectors';\nimport handlePath from '../../utils/handlePath';\nimport WorkbenchForm from '../../views/WorkbenchForm';\nimport SavviLoading from '../SavviLoading';\n\nimport './PortalActionFormModal.scss';\n\nconst PortalActionForm = ({ params }) => {\n const { companyId, moduleId, projectId, transactionId } = params;\n const dispatch = useDispatch();\n const history = useHistory();\n const { replace, push } = history;\n const location = useLocation();\n const { pathname } = location;\n const project = useSelector(State => AccountProject(State, projectId));\n const {\n template: { actions = [], id: projectTemplateId },\n transactions,\n } = project;\n const { label, id: templateId } = actions[0] || {};\n\n const startedActionIndex = transactions.findIndex(\n e => !!e.open && e.template.id === templateId,\n );\n\n const { id } = transactions[startedActionIndex] || {};\n const isIncorrectTransactionId = Number(id) !== Number(transactionId);\n const isCorrectTransactionId = Number(id) === Number(transactionId);\n\n const formikValues = useSelector(State =>\n getFormikValues(State.Transaction, transactionId),\n );\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n if (pathname.includes('/add') && !isMounted) {\n setIsMounted(true);\n if (!id) {\n dispatch(createTransaction(projectId, templateId)).then(\n payload => {\n dispatch(getTransactionQuestionnaire(payload.id));\n // dispatch(getTransaction(payload.id));\n dispatch(getAccountProject(projectId));\n replace(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${payload.id}/add`,\n companyId,\n ),\n );\n },\n error =>\n replace(\n handlePath(`/workbench/${moduleId}/${projectId}/0/initialize`, companyId),\n ),\n );\n } else {\n dispatch(getTransaction(id));\n dispatch(getTransactionQuestionnaire(id));\n if (isIncorrectTransactionId) {\n replace(handlePath(`/workbench/${moduleId}/${projectId}/${id}/add`, companyId));\n }\n }\n }\n }, [\n dispatch,\n pathname,\n id,\n isIncorrectTransactionId,\n isMounted,\n projectId,\n replace,\n templateId,\n moduleId,\n companyId,\n ]);\n\n const onClose = () => {\n push(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${transactions[0].id}/portal`,\n companyId,\n ),\n );\n };\n\n return (\n {\n document.body.classList.remove('ReactModal__Body--open');\n }}\n contentLabel={'Savvi Terms of Service'}\n className=\"PortalActionFormModal\"\n overlayClassName=\"PortalActionFormModal__overlay\"\n >\n
    \n

    {label}

    \n \n
    \n {isEmpty(formikValues) && isIncorrectTransactionId && }\n {!isEmpty(formikValues) && isCorrectTransactionId && (\n \n )}\n \n );\n};\n\nexport default PortalActionForm;\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\nimport { get, isEmpty } from 'lodash';\nimport React, { useEffect, useState } from 'react';\nimport Modal from 'react-modal';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory, useLocation } from 'react-router';\nimport { AccountInfo } from '../../redux/modules/Formation/selectors';\nimport { getAccountProject } from '../../redux/modules/Project/operations';\nimport { AccountProject } from '../../redux/modules/Project/selectors';\nimport {\n createTransaction,\n getTransactionQuestionnaire,\n} from '../../redux/modules/Transaction/operations';\nimport {\n getFormikValues,\n getTransactionById,\n} from '../../redux/modules/Transaction/selectors';\nimport handlePath from '../../utils/handlePath';\nimport WorkbenchTaskOverview from '../../views/WorkbenchTaskOverview';\nimport { Button } from '../common';\nimport SavviLoading from '../SavviLoading';\n\nimport './PortalTaskModal.scss';\n\nconst PortalTaskModal = ({ params }) => {\n const { companyId, moduleId, projectId, transactionId } = params;\n const dispatch = useDispatch();\n const history = useHistory();\n const { push, replace } = history;\n const location = useLocation();\n const { pathname } = location;\n const accountInfo = useSelector(AccountInfo);\n const { credits_info, subscriptions = [] } = accountInfo;\n const project = useSelector(State => AccountProject(State, projectId));\n const transaction = useSelector(State =>\n getTransactionById(State.Transaction, transactionId),\n );\n const {\n template: { actions = [] },\n transactions,\n } = project;\n const { id: templateId } = actions[0] || {};\n\n // const startedActionIndex = transactions.findIndex(e => e.id === transactionId);\n\n // const { id } = transactions[startedActionIndex] || {};\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false);\n const formikValues = useSelector(State =>\n getFormikValues(State.Transaction, transactionId),\n );\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n if (pathname.includes('/add') && !isMounted) {\n setIsMounted(true);\n if (!transactionId) {\n dispatch(createTransaction(projectId, templateId)).then(\n payload => {\n dispatch(getTransactionQuestionnaire(payload.id));\n dispatch(getAccountProject(projectId));\n replace(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${payload.id}/add`,\n companyId,\n ),\n );\n },\n error =>\n replace(\n handlePath(`/workbench/${moduleId}/${projectId}/0/initialize`, companyId),\n ),\n );\n } else {\n // dispatch(getTransaction(transactionId));\n // dispatch(getTransactionQuestionnaire(transactionId));\n }\n } else if (!isMounted) {\n setIsMounted(true);\n // dispatch(getTransaction(transactionId));\n // dispatch(getTransactionQuestionnaire(transactionId));\n }\n }, [\n dispatch,\n pathname,\n isMounted,\n projectId,\n replace,\n templateId,\n transactionId,\n moduleId,\n companyId,\n ]);\n\n const onClose = () => {\n push(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${transactions[0].id}/portal`,\n companyId,\n ),\n );\n // if (action !== 'POP') {\n // goBack();\n // } else if (background) {\n // replace(background);\n // } else {\n // replace(handlePath(`/workbench/${moduleId}/${projectId}/0/initialize`, companyId));\n // }\n };\n\n let isSubscription = false;\n let mySubscriptions = [];\n let isSubscribed = false;\n let documentCredits = 0;\n\n !isEmpty(transaction) &&\n transaction.tasks.forEach((e, index) => {\n if (!e.bypassed) {\n documentCredits += e.document_counter || 0;\n }\n const innerSubs = get(e, 'template.prerequisites.subscriptions', []);\n\n if (innerSubs.length > 0) {\n isSubscription = true;\n mySubscriptions = innerSubs;\n isSubscribed = mySubscriptions.find(\n sub =>\n subscriptions.findIndex(accountSub => {\n // advanced subscription covers starter subscription\n if (accountSub === 'advanced' && sub === 'starter') {\n return true;\n }\n return accountSub === sub;\n }) !== -1,\n );\n }\n });\n\n const availableCredits = credits_info && credits_info.limit - credits_info.used;\n\n const isDocumentCreditsNeeded =\n availableCredits < 1 &&\n documentCredits > 0 &&\n !!transaction.open &&\n params.step !== 'overview' &&\n !get(transaction, 'template.is_assessment', false);\n\n return (\n {\n document.body.classList.remove('ReactModal__Body--open');\n }}\n className=\"portalTaskModal__container\"\n overlayClassName=\"portalTaskModal__overlay\"\n >\n \n \n {!isMounted && }\n {isMounted && (\n \n )}\n setIsSidebarCollapsed(!isSidebarCollapsed)}\n >\n \n \n
    \n \n );\n};\n\nexport default PortalTaskModal;\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n// import { isEmpty } from 'lodash';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport Modal from 'react-modal';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory, useLocation } from 'react-router';\n// import { getAccountProject } from '../../redux/modules/Project/operations';\nimport { AccountProject, getAccountProject } from '../../redux/modules/Project/selectors';\n// import {\n// createTransaction,\n// getTransaction,\n// getTransactionQuestionnaire,\n// } from '../../redux/modules/Transaction/operations';\n// import { getFormikValues } from '../../redux/modules/Transaction/selectors';\nimport handlePath from '../../utils/handlePath';\n// import WorkbenchForm from '../../views/WorkbenchForm';\n// import SavviLoading from '../SavviLoading';\n\nimport './BatchUploadModal.scss';\nimport { Button } from '../common';\nimport { requestHeaders } from '../../redux/utils/api';\nimport { BoxToken } from '../../redux/modules/Cabinet/selectors';\nimport FileUploader from '../FileUploader/FileUploader';\nimport {\n createTransaction,\n generateBatchTransactions,\n getTransaction,\n getTransactionQuestionnaire,\n} from '../../redux/modules/Transaction/operations';\nimport {\n getOrderedQuestions,\n isFetchingWithHooks,\n} from '../../redux/modules/Transaction/selectors';\nimport { setNotice } from '../../redux/modules/UI/actions';\n\nconst BatchUploadModal = ({ params }) => {\n const { companyId, moduleId, projectId, transactionId } = params;\n const dispatch = useDispatch();\n const history = useHistory();\n const { replace, push } = history;\n const location = useLocation();\n const { pathname } = location;\n const project = useSelector(State => AccountProject(State, projectId));\n const isFetching = useSelector(isFetchingWithHooks);\n const companyBoxToken = useSelector(BoxToken);\n const questions = useSelector(State =>\n getOrderedQuestions(State.Transaction, transactionId),\n );\n let specificKeyInfo = useMemo(() => {\n let arr = [];\n let isSocialSecurityKeyShowing = false;\n let isCurrencyKeyShowing = false;\n let isAddressKeyShowing = false;\n questions.forEach(q => {\n if (\n q.innerQuestions.findIndex(\n innerQ => innerQ.feature_type.feature_type === 'social_security',\n ) !== -1\n ) {\n isSocialSecurityKeyShowing = true;\n }\n if (\n q.innerQuestions.findIndex(innerQ =>\n innerQ.feature_type.feature_type.includes('currency'),\n ) !== -1\n ) {\n isCurrencyKeyShowing = true;\n }\n if (\n q.innerQuestions.findIndex(innerQ =>\n innerQ.feature_type.feature_type.includes('address'),\n ) !== -1\n ) {\n isAddressKeyShowing = true;\n }\n if (q.resource_type_id !== 1) {\n arr.push({\n label: `For every item on the \"${q.name}.${q.innerQuestions[0].name}*\" column please input \"${q.resourceArr[0].resource_name}\"`,\n value: q.resourceArr[0].resource_name,\n slug: q.name,\n resource: q.resource_custom_label,\n isCopyable: true,\n });\n }\n });\n arr.push({\n label: 'Any header marked with \"*\" is a required input.',\n slug: 'required_inputs',\n resource: 'Investor',\n });\n if (isSocialSecurityKeyShowing) {\n arr.push({\n label:\n \"Social Security Key is not marked as required, but make sure to provide if they're a US citizen.\",\n slug: 'social_security',\n resource: 'Investor',\n });\n }\n if (isCurrencyKeyShowing) {\n arr.push({\n label: 'Please add \"$\" to the start of any currency input\"',\n slug: 'currency',\n resource: 'Investor',\n });\n }\n if (isAddressKeyShowing) {\n arr.push({\n label: 'address:',\n slug: 'address',\n resource: 'Investor',\n isAddressKey: true,\n });\n }\n return arr;\n }, [questions]);\n\n const {\n template: { actions = [] },\n transactions,\n } = project;\n\n const { label, id: templateId } = actions[0] || {};\n const startedActionIndex = transactions.findIndex(\n e => !!e.open && e.template.id === templateId,\n );\n const { id } = transactions[startedActionIndex] || {};\n const isIncorrectTransactionId = Number(id) !== Number(transactionId);\n\n const [selectedBoxFileId, setSelectedBoxFileId] = useState(null);\n const [failedLines, setFailedLines] = useState([]);\n const [isKeyShowing, setKeyShowing] = useState(true);\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n if (pathname.includes('/batch-upload') && !isMounted) {\n setIsMounted(true);\n if (!id) {\n dispatch(createTransaction(projectId, templateId)).then(\n payload => {\n dispatch(getTransactionQuestionnaire(payload.id));\n // dispatch(getTransaction(payload.id));\n dispatch(getAccountProject(projectId));\n replace(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${payload.id}/batch-upload`,\n companyId,\n ),\n );\n },\n error =>\n replace(\n handlePath(`/workbench/${moduleId}/${projectId}/0/initialize`, companyId),\n ),\n );\n } else {\n dispatch(getTransaction(id));\n dispatch(getTransactionQuestionnaire(id));\n if (isIncorrectTransactionId) {\n replace(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${id}/batch-upload`,\n companyId,\n ),\n );\n }\n }\n }\n }, [\n dispatch,\n pathname,\n id,\n isIncorrectTransactionId,\n isMounted,\n projectId,\n replace,\n templateId,\n moduleId,\n companyId,\n ]);\n\n const onClose = () => {\n setFailedLines([]);\n push(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${transactionId}/portal`,\n companyId,\n ),\n );\n };\n\n const handleCopyValue = value => {\n navigator.clipboard.writeText(value);\n dispatch(setNotice('Input value copied'));\n };\n\n const handleDownloadTemplate = ev => {\n const url = `${process.env.REACT_APP_BASEURL}/api/account/transaction/${templateId}/batch`;\n var client = new XMLHttpRequest();\n client.open('GET', url);\n client.withCredentials = true;\n client.responseType = 'blob';\n Object.entries(requestHeaders(true)).forEach(([key, value]) => {\n client.setRequestHeader(key, value);\n });\n client.onreadystatechange = () => {\n switch (client.readyState) {\n case 4:\n const windowUrl = window.URL.createObjectURL(client.response);\n const link = document.createElement('a');\n link.href = windowUrl;\n link.target = '_blank';\n link.download = `${label} Batch Upload Template.csv`;\n document.body.appendChild(link);\n link.click();\n setTimeout(() => {\n window.URL.revokeObjectURL(windowUrl);\n document.body.removeChild(link);\n }, 0);\n break;\n default:\n }\n };\n client.send();\n };\n\n const handleGenerateBatchTransactions = () => {\n setFailedLines([]);\n dispatch(generateBatchTransactions(templateId, selectedBoxFileId, projectId)).then(\n p => {\n dispatch(getAccountProject(projectId));\n const failedLineArr = p.failed_lines || [];\n if (failedLineArr.length > 0) {\n setFailedLines(failedLineArr);\n dispatch(\n setNotice('Batch Upload Submitted with some rows failing to generate tasks.'),\n );\n } else {\n dispatch(setNotice('Investor Tasks Generated!'));\n onClose();\n }\n },\n );\n };\n\n return (\n {\n document.body.classList.remove('ReactModal__Body--open');\n }}\n contentLabel={'Savvi Terms of Service'}\n className=\"BatchUploadModal\"\n overlayClassName=\"BatchUploadModal__overlay\"\n >\n
    \n

    {label} Batch Upload

    \n {/*

    */}\n \n \n
    \n
    \n {isKeyShowing && (\n <>\n

    \n \n {'Important Form-Specific Formatting: ('}\n setKeyShowing(!isKeyShowing)}\n >\n {isKeyShowing ? 'hide' : 'show'}\n \n {')'}\n

    \n
      \n {specificKeyInfo.map(key => (\n
    • \n {key.label}\n {key.isCopyable && (\n handleCopyValue(key.value)}\n >\n \n \n )}\n {key.isAddressKey && (\n
      \n
      \n

      Line One

      \n

      Line Two

      \n

      City, State/Province/Region, Zip/Postal Code

      \n

      Country

      \n
      \n
      \n
      \n

      810 S Spring St Apt 1105

      \n
      \n

      Los Angeles, California, 90014

      \n

      United States of America

      \n
      \n
      \n )}\n
    • \n ))}\n
    \n \n )}\n
    \n
    \n
    \n

    Select your batch upload file:

    \n setSelectedBoxFileId(fileId)}\n tags={['batch-upload-file']}\n account_transaction_id={transactionId}\n />\n
    \n {failedLines.length > 0 && (\n
    \n

    Failed to generate tasks for the following rows:

    \n
      \n {failedLines.map(line => (\n
    • \n {`Row ${line.row}`}\n {`: missing ${line.missing_fields}`}\n
    • \n ))}\n
    \n
    \n )}\n
    \n 0}\n onClick={onClose}\n >\n Cancel\n \n \n {failedLines.length > 0 ? 'Close' : 'Generate Tasks'}\n \n
    \n
    \n \n );\n};\n\nexport default BatchUploadModal;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link, Route, Switch } from 'react-router-dom';\nimport Loadable from 'react-loadable';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport get from 'lodash-es/get';\nimport isEmpty from 'lodash-es/isEmpty';\nimport startCase from 'lodash-es/startCase';\n\nimport Topbar from '../../components/ConsistentTopbar';\nimport SavviLoading from '../../components/SavviLoading/SavviLoading';\nimport Sidebar from '../Sidebar';\nimport handlePath from '../../utils/handlePath';\nimport Loading from '../../components/LoadingComponent';\n// import UseWindowSize from '../../utils/UseWindowSize';\n\nimport './Workbench.scss';\nimport { Button } from '../../components/common';\nimport PortalView from '../PortalView/PortalView';\nimport PortalActionFormModal from '../../components/PortalActionFormModal';\nimport PortalTaskModal from '../../components/PortalTaskModal';\nimport UseWindowSize from '../../utils/UseWindowSize';\nimport BatchUploadModal from '../../components/BatchUploadModal/BatchUploadModal';\nimport { useSelector } from 'react-redux';\nimport { CurrentCompany } from '../../redux/modules/Company/selectors';\n\nconst AsyncWorkbenchOverview = Loadable({\n loader: () => import('../WorkbenchOverview'),\n loading: Loading,\n});\nconst AsyncWorkbenchTaskOverview = Loadable({\n loader: () => import('../WorkbenchTaskOverview'),\n loading: Loading,\n});\nconst AsyncPlansModal = Loadable({\n loader: () => import('../../components/PlansModal'),\n loading: Loading,\n});\n\n// const AsyncPortalActionFormModal = Loadable({\n// loader: () => import('../../components/PortalActionFormModal'),\n// loading: Loading,\n// });\n\nconst Workbench = ({\n accountInfo: { credits_info, subscriptions = [] },\n handleExitTransaction,\n isFaqsEmpty,\n isFetchingInit,\n formikValues,\n location,\n params,\n isPortalView,\n transaction,\n}) => {\n const { companyId, moduleId, projectId, transactionId } = params;\n\n const { width } = UseWindowSize();\n\n const isWhiteLabel = window.location.href.includes('paperos');\n const currentCompany = useSelector(CurrentCompany);\n const isPaymentsHidden = isWhiteLabel && !currentCompany.partner_id;\n\n const availableCredits = credits_info && credits_info.limit - credits_info.used;\n\n let isSubscription = false;\n let mySubscriptions = [];\n let isSubscribed = false;\n let documentCredits = 0;\n\n !isEmpty(transaction) &&\n transaction.tasks.forEach((e, index) => {\n if (!e.bypassed) {\n documentCredits += e.document_counter || 0;\n }\n const innerSubs = get(e, 'template.prerequisites.subscriptions', []);\n\n if (innerSubs.length > 0) {\n isSubscription = true;\n mySubscriptions = innerSubs;\n isSubscribed = mySubscriptions.find(\n sub =>\n subscriptions.findIndex(accountSub => {\n // advanced subscription covers starter subscription\n if (accountSub === 'advanced' && sub === 'starter') {\n return true;\n }\n return accountSub === sub;\n }) !== -1,\n );\n }\n });\n\n const isDocumentCreditsNeeded =\n availableCredits < 1 &&\n documentCredits > 0 &&\n !!transaction.open &&\n params.step !== 'overview' &&\n !get(transaction, 'template.is_assessment', false);\n\n const [isInfoSidebarCollapsed, setIsInfoSidebarCollapsed] = useState(\n isPortalView || width < 1080,\n );\n\n useEffect(() => {\n if (isPortalView) {\n setIsInfoSidebarCollapsed(true);\n }\n }, [isPortalView]);\n\n const background = location.state && location.state.background;\n\n if (isFetchingInit) {\n return (\n
    \n Loading...\n \n
    \n );\n }\n return (\n \n \n \n
    \n {isDocumentCreditsNeeded && !isPaymentsHidden && (\n
    \n

    \n \n You currently do not have enough credits to submit this task. Increase your\n credit limit by{' '}\n \n Upgrading your plan\n \n

    \n
    \n )}\n {isDocumentCreditsNeeded && isPaymentsHidden && (\n
    \n

    \n \n You currently do not have enough credits to submit this task. Please{' '}\n \n Contact Support\n \n with any questions around increasing your credit limit.\n

    \n
    \n )}\n {isSubscription &&\n !isSubscribed &&\n !!transaction.open &&\n !transaction.is_assessment && (\n \n

    \n \n {startCase(mySubscriptions.join(', '))} Subscription or higher required to\n complete this task.{' '}\n {!isPaymentsHidden && (\n \n Sign up here\n \n )}\n {isPaymentsHidden && (\n <>\n {'Please '}\n \n Contact Support\n \n {' about getting access.'}\n \n )}\n

    \n
    \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {!isFaqsEmpty && params.step !== 'portal' && (\n <>\n setIsInfoSidebarCollapsed(!isInfoSidebarCollapsed)}\n >\n \n \n {!isInfoSidebarCollapsed && (\n setIsInfoSidebarCollapsed(true)}\n className=\"workbench__info-sidebar-overlay\"\n />\n )}\n \n )}\n
    \n \n );\n};\n\nWorkbench.propTypes = {\n isFetching: PropTypes.bool,\n formTitle: PropTypes.string,\n status: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n values: PropTypes.object,\n};\n\nWorkbench.defaultProps = {\n status: {},\n};\n\nexport default Workbench;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\n// import { pdfjs } from 'react-pdf';\n\nimport get from 'lodash-es/get';\nimport isEmpty from 'lodash-es/isEmpty';\n\nimport {\n deleteAccountProject,\n getAccountProject,\n postProject,\n} from '../../redux/modules/Project/operations';\nimport {\n AccountProject,\n getFaqsForProjectView,\n} from '../../redux/modules/Project/selectors';\nimport { getTransaction } from '../../redux/modules/Transaction/operations';\nimport {\n getFaqsFromTransaction,\n getFormikValues,\n getTransactionById,\n} from '../../redux/modules/Transaction/selectors';\nimport ModuleDict from '../../utils/ModuleDict';\nimport Workbench from './Workbench';\nimport handlePath from '../../utils/handlePath';\nimport { BoxToken } from '../../redux/modules/Cabinet/selectors';\nimport { getBoxToken } from '../../redux/modules/Cabinet/operations';\n\nclass WorkbenchContainer extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isFetchingInit: true,\n };\n }\n\n handleGetTransaction = (transactionId, projectId, passedTransaction, isPortal) => {\n let {\n history,\n match: { params },\n transaction,\n project,\n } = this.props;\n let { companyId, moduleId, step } = params;\n let initStep = step;\n let initTransactionId = params.initTransactionId;\n\n if (passedTransaction) {\n transaction = passedTransaction;\n }\n\n const isPortalView = (project.template?.actions || []).length > 0;\n\n if (isPortalView) {\n if (step !== 'portal') {\n const {\n template: { actions = [] },\n transactions,\n } = project;\n const { id: actionTemplateId } = actions[0] || {};\n\n const startedActionIndex = transactions.findIndex(\n (e, index) => index !== 0 && !!e.open && e.template.id === actionTemplateId,\n );\n\n const { id } = transactions[startedActionIndex] || {};\n\n const { id: assessmentId, open: isAssessmentOpen } = transactions[0];\n\n const updatedStep =\n (!!isAssessmentOpen && 'task-view') ||\n (Number(transactionId) === id && step) ||\n (assessmentId !== Number(transactionId) && 'portal-task') ||\n 'portal';\n\n if (updatedStep !== step) {\n history.replace(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${transactionId}/${updatedStep}`,\n companyId,\n ),\n );\n }\n }\n return this.setState({ isFetchingInit: false });\n }\n if (\n (!!transaction.template.is_assessment && step === 'initialize') ||\n step === 'enter-information' ||\n step === 'questionnaire' ||\n step === 'task-tracking' ||\n step === 'new'\n ) {\n step = 'task-view';\n } else if (step === 'initialize' || step === 'review' || step === 'finalize') {\n step = 'task-view';\n }\n\n if (!transaction.open) {\n if (transaction.template.is_assessment) {\n step = 'overview';\n } else if (step !== 'task-view' && step !== 'portal-task') {\n step = 'task-view';\n }\n } else if (!!transaction.open && step === 'overview') {\n step = 'task-view';\n }\n if (transactionId + '' !== initTransactionId || step !== initStep) {\n history.replace(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${transactionId}/${step || 'error'}`,\n companyId,\n ),\n );\n }\n this.setState({ isFetchingInit: false });\n };\n\n componentDidMount() {\n const {\n boxToken,\n createProject,\n getAccountProject,\n fetchBoxToken,\n getTransaction,\n history,\n match: { params = {} },\n project,\n } = this.props;\n const { companyId, moduleId, projectId, step } = params;\n if (!boxToken) {\n fetchBoxToken();\n }\n if (step === 'plans') {\n return;\n }\n if (step === 'new') {\n createProject().then(\n e => {\n getTransaction(e.transactions[0].id).then(\n transaction => {\n this.handleGetTransaction(transaction.id, e.id, transaction);\n },\n error => history.replace(handlePath(ModuleDict[-1].path, companyId)),\n );\n },\n error => history.replace(handlePath(ModuleDict[moduleId || -1].path, companyId)),\n );\n } else {\n if (isEmpty(project)) {\n getAccountProject(projectId).then(\n e => {\n if (typeof e === 'string') {\n return;\n }\n if (!e.transactions[0]?.id) {\n history.replace(handlePath(ModuleDict[-1].path, companyId));\n }\n const isTransactionIdFalse =\n !params.transactionId ||\n params.transactionId === '-1' ||\n params.transactionId === '0';\n let transactionId =\n (isTransactionIdFalse && e.transactions[0].id) || params.transactionId;\n // if (\n // (e.template.actions || []).length > 0 &&\n // !e.transaction[0].open &&\n // (step === 'overview' || step === 'new')\n // ) {\n // return history.replace(\n // handlePath(\n // `/workbench/${moduleId}/${projectId}/${transactionId}/portal`,\n // companyId,\n // ),\n // );\n // }\n getTransaction(transactionId).then(\n transaction => {\n this.handleGetTransaction(transactionId, e.id, transaction);\n },\n error => {\n if (error.code !== 'INVALID_JWT') {\n history.replace(handlePath(ModuleDict[-1].path, companyId));\n }\n },\n );\n },\n error => {\n if (error.code !== 'INVALID_JWT') {\n history.replace(handlePath(ModuleDict[-1].path, companyId));\n }\n },\n );\n } else {\n if (!project.transactions[0]?.id) {\n history.replace(handlePath(ModuleDict[-1].path, companyId));\n }\n let transactionId = params.transactionId || project.transactions[0].id;\n if (params.transactionId === '-1' || params.transactionId === '0') {\n // if (\n // (project.template.actions || []).length > 0 &&\n // !project.transactions[0].open\n // ) {\n // return history.replace(\n // handlePath(\n // `/workbench/${moduleId}/${projectId}/${transactionId}/portal`,\n // companyId,\n // ),\n // );\n // }\n transactionId = project.transactions[0].id;\n }\n getTransaction(transactionId).then(\n transaction => {\n this.handleGetTransaction(transactionId, projectId, transaction);\n },\n error => {\n if (error.code !== 'INVALID_JWT') {\n history.replace(handlePath(ModuleDict[-1].path, companyId));\n }\n },\n );\n }\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n let {\n getAccountProject,\n getTransaction,\n history,\n location,\n match: {\n params: { companyId, projectId, step, transactionId },\n },\n project,\n transaction,\n } = this.props;\n const isFinalized = get(location, 'state.isFinalized', false);\n if (\n step === 'plans' ||\n history.location.pathname === '/terms' ||\n history.location.pathname === 'privacy' ||\n step === 'add' ||\n step === 'batch-upload'\n ) {\n return;\n }\n if (\n prevProps.match.params.transactionId !== transactionId &&\n !this.state.isFetchingInit\n ) {\n this.setState({ isFetchingInit: true });\n if (transactionId === '-1') {\n transactionId = project.transactions[0].id;\n transaction = project.transactions[0];\n this.handleGetTransaction(transactionId, projectId, transaction);\n } else if (isEmpty(transaction)) {\n getTransaction(transactionId).then(\n e => this.handleGetTransaction(transactionId, projectId, e),\n error => {\n if (error.code !== 'INVALID_JWT') {\n history.replace(handlePath(ModuleDict[-1].path, companyId));\n }\n },\n );\n } else {\n this.handleGetTransaction(transactionId, projectId);\n }\n } else if (\n prevProps.match.params.step !== step &&\n prevProps.match.params.transactionId !== '-1' &&\n !isFinalized &&\n !this.state.isFetchingInit &&\n step !== 'subscriptions'\n ) {\n this.setState({ isFetchingInit: true });\n this.handleGetTransaction(transactionId, projectId);\n }\n if (prevProps.match.params.step !== step) {\n if (step === 'overview') {\n getAccountProject(projectId);\n }\n window.scrollTo({ top: 0, behavior: 'smooth' });\n }\n }\n\n handleExitTransaction = () => {\n const {\n history,\n match: {\n params: { companyId },\n },\n } = this.props;\n\n history.push(handlePath(ModuleDict['-1'].path, companyId));\n };\n\n handleDiscardTransaction = () => {\n const {\n deleteProject,\n history,\n match: {\n params: { companyId, moduleId },\n },\n } = this.props;\n\n deleteProject().then(\n e => history.push(handlePath(ModuleDict[moduleId].path, companyId)),\n error => history.push(handlePath(ModuleDict['-1'].path, companyId)),\n );\n };\n\n render() {\n const {\n accountInfo,\n error,\n formikValues,\n isFetching,\n match,\n project,\n submitForm,\n taskLabel,\n transaction,\n location,\n projectFaqs,\n transactionFaqs,\n } = this.props;\n const { isFetchingInit } = this.state;\n\n const currentTransactionIndex = get(project, 'transactions', []).findIndex(\n e => e.id + '' === match.params.transactionId,\n );\n\n const isDeletable =\n !!transaction.template &&\n (!!transaction.template.is_assessment || currentTransactionIndex === 0) &&\n !!transaction.open;\n const isPortalView = (project.template?.actions || []).length > 0;\n\n return (\n \n );\n }\n}\n\nWorkbenchContainer.propTypes = {\n isFetching: PropTypes.bool.isRequired,\n match: PropTypes.object,\n task: PropTypes.object,\n submitForm: PropTypes.func.isRequired,\n};\nWorkbenchContainer.defaultProps = {\n isFetching: false,\n task: {},\n getFormInfo: () => {},\n submitForm: () => {},\n};\n\nconst mapStateToProps = (state, ownProps) => {\n const { Formation, Project, Transaction } = state;\n const { isFetching } = Transaction;\n const {\n match: {\n params: { projectId, transactionId },\n },\n } = ownProps;\n return {\n accountInfo: Formation.accountInfo,\n boxToken: BoxToken(state),\n isFetching,\n formikValues: getFormikValues(Transaction, transactionId),\n project: AccountProject(state, projectId),\n transaction: getTransactionById(Transaction, transactionId),\n projectFaqs: getFaqsForProjectView(Project, projectId),\n transactionFaqs: getFaqsFromTransaction(Transaction, transactionId),\n };\n};\n\nconst mapDispatchToProps = (dispatch, ownProps) => {\n const {\n match: {\n params: { projectId },\n },\n } = ownProps;\n\n return {\n createProject: () => dispatch(postProject(projectId)),\n deleteProject: () => dispatch(deleteAccountProject(projectId)),\n getAccountProject: id => dispatch(getAccountProject(id)),\n fetchBoxToken: () => dispatch(getBoxToken()),\n // getCalendlyMeta: () => dispatch(getCalendlyMeta()),\n getTransaction: id => dispatch(getTransaction(id)),\n };\n};\n\nconst enhance = connect(mapStateToProps, mapDispatchToProps);\n\nexport default enhance(WorkbenchContainer);\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React, { useMemo, useState } from 'react';\n\nimport { ReactComponent as SavviLoadingSVG } from '../../../assets/images/savvi_loading.svg';\nimport ConsistentTopbar from '../../ConsistentTopbar';\nimport InputFeedback from '../InputFeedback';\n// import { ReactComponent as SavviLoadingSVG } from '../../assets/images/savvi_loading.svg';\n\nimport './InputVerification.scss';\n\nconst KEY_CODE = {\n backspace: 8,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n};\n\nconst InputVerification = ({\n autoFocus,\n className,\n clearable,\n disabled,\n fieldHeight,\n fields,\n fieldWidth,\n error,\n onChange,\n passedId,\n loading,\n onBlur,\n placeholder,\n required,\n label,\n name,\n type,\n value,\n}) => {\n const autoFocusIndex = useMemo(\n () => (value.length >= fields ? 0 : value.length),\n [value, fields],\n );\n const iRefs = useMemo(() => {\n let iRefs = [];\n for (let i = 0; i < fields; i++) {\n iRefs.push(React.createRef());\n }\n return iRefs;\n }, [fields]);\n\n const [vals, setVals] = useState(() => {\n let vals = [];\n if (value.length > 0) {\n for (let i = 0; i < fields; i++) {\n vals.push(value[i] || '');\n }\n } else {\n vals = Array(fields).fill('');\n }\n return vals;\n });\n\n const INPUT_STYLE = {\n width: fieldWidth,\n height: fieldHeight,\n };\n const ROOT_STYLE = {\n width: fields * fieldWidth + 20,\n };\n const LOADING_STYLE = {\n height: fieldHeight,\n };\n\n const clearvalues = () => {\n setVals(Array(fields).fill(''));\n iRefs[0].current.focus();\n };\n\n const triggerChange = passedVals => {\n let val = passedVals;\n if (!val) {\n val = vals.join('');\n }\n onChange && onChange(val);\n if (onBlur && val.length >= fields) {\n onBlur(val);\n }\n };\n\n const handleChange = e => {\n const index = parseInt(e.target.dataset.id);\n if (type === 'number') {\n e.target.value = e.target.value.replace(/[^\\d]/gi, '');\n }\n if (e.target.value === '' || (type === 'number' && !e.target.validity.valid)) {\n return;\n }\n let next;\n const updatedValue = e.target.value;\n let updatedVals = [...vals];\n if (updatedValue.length > 1) {\n let nextIndex = updatedValue.length + index - 1;\n if (nextIndex >= fields) {\n nextIndex = fields - 1;\n }\n next = iRefs[nextIndex];\n const split = updatedValue.split('');\n split.forEach((item, i) => {\n const cursor = index + i;\n if (cursor < fields) {\n updatedVals[cursor] = item;\n }\n });\n setVals([...updatedVals]);\n } else {\n next = iRefs[index + 1];\n updatedVals[index] = updatedValue;\n setVals([...updatedVals]);\n }\n\n if (next) {\n next.current.focus();\n next.current.select();\n }\n\n triggerChange(updatedVals.join(''));\n };\n\n const onKeyDown = e => {\n const index = parseInt(e.target.dataset.id);\n const prevIndex = index - 1;\n const nextIndex = index + 1;\n const prev = iRefs[prevIndex];\n const next = iRefs[nextIndex];\n switch (e.keyCode) {\n case KEY_CODE.backspace:\n e.preventDefault();\n let updatedVals = [...vals];\n if (vals[index]) {\n updatedVals[index] = '';\n setVals(updatedVals);\n triggerChange(updatedVals.join(''));\n } else if (prev) {\n updatedVals[prevIndex] = '';\n prev.current.focus();\n setVals(updatedVals);\n triggerChange(updatedVals.join(''));\n }\n break;\n case KEY_CODE.left:\n e.preventDefault();\n if (prev) {\n prev.current.focus();\n }\n break;\n case KEY_CODE.right:\n e.preventDefault();\n if (next) {\n next.current.focus();\n }\n break;\n case KEY_CODE.up:\n case KEY_CODE.down:\n e.preventDefault();\n break;\n default:\n // this.handleKeys[index] = true;\n break;\n }\n };\n\n // onKeyUp = e => {\n // const index = parseInt(e.target.dataset.id);\n // if (this.handleKeys[index]) {\n // this.handleKeys[index] = false;\n // const next = this.iRefs[index + 1];\n // if (next) {\n // next.current.focus();\n // }\n // }\n // };\n\n const onFocus = e => {\n e.target.select(e);\n };\n\n return (\n
    \n \n {label &&

    {label}

    }\n
    \n {vals.map((val, index) => (\n \n ))}\n {clearable && }\n
    \n \n {loading && (\n
    \n
    \n \n
    \n )}\n
    \n );\n};\n\nInputVerification.defaultProps = {\n autoFocus: true,\n className: '',\n clearable: true,\n disabled: false,\n fieldHeight: 54,\n fields: 8,\n fieldWidth: 58,\n onChange: () => {},\n passedId: '',\n loading: false,\n onBlur: () => {},\n placeholder: [],\n required: false,\n label: '',\n type: 'text',\n value: '',\n};\n\nexport default InputVerification;\n","import React, { useEffect, useState, useRef } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { isEmpty } from 'lodash-es';\n\nimport logo from '../../assets/images/wordmark-white.svg';\nimport oneTapLogo from '../../assets/images/one_tap_wordmark.png';\nimport Button from '../../components/common/Button';\nimport ConsistentTopbar from '../../components/ConsistentTopbar';\nimport {\n requestVerificationEmail,\n checkVerificationStatus,\n exchangeChallenge,\n} from '../../redux/modules/User/operations';\nimport { ApiErrors, getAuthUser } from '../../redux/modules/User/selectors';\n\nimport './VerifyCode.scss';\nimport { useHistory, useLocation, useParams } from 'react-router';\nimport { clearErrors } from '../../redux/modules/User/actions';\nimport InputVerification from '../../components/inputs/InputVerification';\nimport handlePath from '../../utils/handlePath';\nimport dayjs from 'dayjs';\nimport { getEmailVerification } from '../../redux/modules/User/utils';\n\n// `A verification code to ${templateDescription[template_key]} has been sent to ${email}`\nconst templateDescriptions = {\n 'verification-email': 'verify your account',\n 'email-change-code': \"replace your account's primary email\",\n 'reset-password': 'reset your password',\n 'magic-link': 'login to Savvi without a password',\n 'account-invite': 'invite you to a Savvi account',\n 'partner-invite': 'invite you to a Savvi partner group',\n};\n\nfunction useInterval(callback, delay) {\n const savedCallback = useRef(callback);\n\n // Remember the latest callback if it changes.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n // Don't schedule if no delay is specified.\n if (delay === null) {\n return;\n }\n\n const id = setInterval(() => savedCallback.current(), delay);\n\n return () => clearInterval(id);\n }, [delay]);\n}\n\nconst VerifyCode = ({ hideVerify }) => {\n const dispatch = useDispatch();\n const { push } = useHistory();\n const params = useParams();\n const { template_key = 'verification-email' } = params;\n const location = useLocation();\n const { state: { email, redirectLocation } = {} } = location;\n\n const authErrors = useSelector(ApiErrors);\n const user = useSelector(getAuthUser);\n\n const [codeInput, setCodeInput] = useState('');\n const [codeInputError, setCodeInputError] = useState('');\n const [loading, setLoading] = useState(false);\n const [verificationMeta, setVerificationMeta] = useState(() =>\n getEmailVerification(template_key),\n );\n\n const isWhiteLabel = window.location.href.includes('paperos');\n\n const isExpired =\n isEmpty(verificationMeta) || dayjs().diff(verificationMeta.sent_at, 'h') >= 24;\n\n useEffect(() => {\n dispatch(clearErrors());\n }, [dispatch]);\n\n useInterval(\n () => {\n const storedVerification = getEmailVerification(template_key);\n if (isEmpty(storedVerification)) {\n return;\n }\n setVerificationMeta(storedVerification);\n dispatch(\n checkVerificationStatus(\n storedVerification.id,\n storedVerification.receipt,\n template_key,\n ),\n ).then(e => {\n if (e.status === 'valid') {\n setLoading(true);\n dispatch(exchangeChallenge(e.id, { receipt: verificationMeta.receipt })).then(\n decodedToken => {\n setLoading(false);\n hideVerify();\n push(redirectLocation || handlePath('/company-select', 0));\n },\n error => setLoading(false),\n );\n }\n });\n },\n !isExpired && verificationMeta.id && isEmpty(authErrors) && !loading ? 30000 : null,\n );\n\n const handleSubmit = val => {\n dispatch(clearErrors());\n if (validateCodeInput(val)) {\n setLoading(true);\n dispatch(exchangeChallenge(verificationMeta.id, { code: val }, template_key)).then(\n e => {\n setLoading(false);\n hideVerify();\n push(redirectLocation || handlePath('/company-select', 0));\n },\n error => {\n setLoading(false);\n },\n );\n }\n };\n\n const validateCodeInput = val => {\n if (val.length !== 8) {\n setCodeInputError('must be 8 characters');\n return false;\n } else {\n setCodeInputError('');\n return true;\n }\n };\n\n return (\n
    \n \n push(handlePath('/company-select', 0))}\n >\n \"savvi-logo\"\n {isWhiteLabel &&

    powered by PaperOS

    }\n
    \n \n

    \n \n {isExpired &&\n \"No verification info found. Use the verification link sent to your email, or if that doesn't work your code may have expired and needs to be resent to\"}\n {!isExpired &&\n `A code to ${templateDescriptions[template_key]} has been sent to`}\n {!user.email && !email && ' your email.'}\n \n {(!!user.email || !!email) && (\n
    \n {user.email || email}\n
    \n )}\n \n {isExpired && (\n {\n setLoading(true);\n dispatch(clearErrors());\n dispatch(\n requestVerificationEmail({\n identifier: {\n type: 'email',\n value: user.email,\n },\n template: template_key,\n state: { redirectLocation },\n }),\n ).then(\n e => {\n setVerificationMeta(e);\n setLoading(false);\n },\n error => setLoading(false),\n );\n }}\n >\n resend verification code\n \n )}\n {!isExpired && 'Please enter your verification code below.'}\n \n

    \n {!isExpired && (\n <>\n setCodeInput(val)}\n onBlur={handleSubmit}\n />\n {!isEmpty(authErrors) && (\n
    \n {Object.values(authErrors).join(', ')}\n
    \n )}\n
    \n

    \n Your verification code will expire in 24 hours. If you can't find your\n verification email or your verification code is invalid then{' '}\n {\n setLoading(true);\n dispatch(clearErrors());\n dispatch(\n requestVerificationEmail({\n identifier: {\n type: 'email',\n value: user.email,\n },\n template: template_key,\n state: { redirectLocation },\n }),\n ).then(\n e => {\n setVerificationMeta(e);\n setLoading(false);\n },\n error => setLoading(false),\n );\n }}\n >\n resend verification code\n \n

    \n
    \n \n )}\n \n
    \n

    \n For help with any issues please contact us at{' '}\n support@savvi.legal\n

    \n
    \n \n {' '}\n Terms & Conditions\n \n
    \n );\n};\n\nexport default VerifyCode;\n","import VerifyCode from './VerifyCode';\n\nexport default VerifyCode;\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { isEmpty } from 'lodash-es';\n\nimport logo from '../../assets/images/wordmark-white.svg';\nimport oneTapLogo from '../../assets/images/one_tap_wordmark.png';\nimport {\n checkVerificationStatusByQuery,\n exchangeChallenge,\n requestVerificationEmail,\n fetchValidatePassword,\n deleteChallenge,\n} from '../../redux/modules/User/operations';\nimport { clearErrors } from '../../redux/modules/User/actions';\nimport { getAuthUser } from '../../redux/modules/User/selectors';\n\nimport './VerifyByLink.scss';\nimport { useHistory, useLocation, useParams } from 'react-router';\nimport { Button } from '../../components/common';\nimport handlePath from '../../utils/handlePath';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport dayjs from 'dayjs';\nimport PageLoader from '../../components/PageLoader';\nimport {\n getEmailVerification,\n removeEmailVerification,\n} from '../../redux/modules/User/utils';\nimport { InputPassword } from '../../components/inputs';\nimport { validatePassword } from '../../utils/FeatureTypes';\n\nconst templateDescriptions = {\n 'verification-email': 'verification link',\n 'email-change-code': 'email change request',\n 'email-change-notify': 'email change request',\n 'reset-password': 'password reset',\n 'magic-link': 'login link',\n 'account-invite': 'account invite link',\n 'partner-invite': 'partner group invite link',\n};\n\nconst VerifyByLink = ({ hideVerify }) => {\n const dispatch = useDispatch();\n const { push, replace } = useHistory();\n const params = useParams();\n const {\n template_key = 'verification-email',\n verification_id,\n verification_code,\n } = params;\n const location = useLocation();\n const { search, state: { redirectLocation } = {} } = location;\n\n const user = useSelector(getAuthUser);\n\n const [initialized, setInitialized] = useState(false);\n const [initializing, setInitializing] = useState(false);\n const [redirectLoc, setRedirectLoc] = useState(redirectLocation);\n\n const [isSuccess, setIsSuccess] = useState(false);\n const [passwordError, setPasswordError] = useState('');\n const [password, setPassword] = useState('');\n const [isPWShowing, setIsPWShowing] = useState(false);\n const [submitting, setSubmitting] = useState(false);\n const query = new URLSearchParams(search);\n let email = query.get('email');\n let isCancelling = query.get('cancel');\n const storedVerification = getEmailVerification(template_key);\n\n const isWhiteLabel = window.location.href.includes('paperos');\n\n useEffect(() => {\n const isExpired = dayjs().diff(storedVerification.sent_at, 'h') >= 24;\n\n if (isSuccess || initializing || initialized) {\n return;\n } else if (isExpired) {\n setInitialized(true);\n return setIsSuccess(false);\n } else if (isCancelling) {\n setInitializing(true);\n dispatch(\n deleteChallenge(verification_id || storedVerification.id, template_key),\n ).then(\n e => {\n setInitialized(true);\n hideVerify();\n setIsSuccess(true);\n setInitializing(false);\n },\n error => {\n if (error.code === 'E_CODE_REDEEMED') {\n setIsSuccess(true);\n }\n setInitialized(true);\n setInitializing(false);\n },\n );\n } else if (template_key === 'reset-password') {\n const queryStr = `?${\n storedVerification.receipt\n ? 'receipt=' + storedVerification.receipt\n : 'code=' + verification_code\n }`;\n dispatch(\n checkVerificationStatusByQuery(\n verification_id || storedVerification.id,\n queryStr,\n template_key,\n ),\n ).then(\n payload => {\n setInitialized(true);\n setInitializing(false);\n setRedirectLoc(payload.state?.redirectLocation || redirectLocation);\n },\n error => {\n if (error && error.code === 'E_CODE_REDEEMED') {\n setIsSuccess(true);\n }\n setInitialized(true);\n setInitializing(false);\n },\n );\n } else if (verification_id || !isEmpty(storedVerification)) {\n setInitializing(true);\n dispatch(\n exchangeChallenge(\n verification_id || storedVerification.id,\n {\n code: verification_code,\n },\n template_key,\n template_key === 'verification-email' || template_key === 'magic-link',\n ),\n ).then(\n e => {\n setInitialized(true);\n hideVerify();\n setIsSuccess(true);\n setInitializing(false);\n setRedirectLoc(e.state?.redirectLocation || redirectLocation);\n },\n error => {\n if (error.code === 'E_CODE_REDEEMED') {\n setIsSuccess(true);\n }\n setInitialized(true);\n setInitializing(false);\n },\n );\n }\n }, [\n dispatch,\n email,\n hideVerify,\n initialized,\n initializing,\n isCancelling,\n isSuccess,\n redirectLocation,\n setIsSuccess,\n storedVerification,\n template_key,\n verification_code,\n verification_id,\n ]);\n\n const handleSubmit = async e => {\n e.preventDefault();\n if (!passwordError) {\n setSubmitting(true);\n try {\n await dispatch(fetchValidatePassword(password));\n await dispatch(\n exchangeChallenge(\n verification_id || storedVerification.id,\n {\n code: verification_code,\n password,\n },\n template_key,\n template_key !== 'reset-password',\n ),\n );\n await dispatch(clearErrors());\n await setPasswordError('');\n await hideVerify();\n await setIsSuccess(true);\n await setSubmitting(false);\n } catch (error) {\n if (error.code === 'E_CODE_REDEEMED') {\n setIsSuccess(true);\n }\n setSubmitting(false);\n }\n }\n };\n\n const emailLabel = user.email || email || 'your email';\n const statusLabel =\n template_key === 'email-change-notify' ? 'has been cancelled.' : 'has succeeded.';\n\n return (\n
    \n push(handlePath('/company-select', 0))}\n >\n \"savvi-logo\"\n {isWhiteLabel &&

    powered by PaperOS

    }\n
    \n
    \n {!initialized && }\n {initialized && template_key === 'reset-password' && !isSuccess && (\n <>\n

    \n Reset your password for {emailLabel}\n

    \n setPassword(e.target.value)}\n onBlur={e => setPasswordError(validatePassword(e.target.value))}\n hasToggle\n onToggle={() => setIsPWShowing(!isPWShowing)}\n isPlainText={isPWShowing}\n />\n
    \n \n Reset Password\n \n
    \n \n )}\n {initialized && isSuccess && (\n <>\n

    \n {initialized && !isSuccess && }\n {`Your ${templateDescriptions[template_key] || 'link'} for`}\n

    \n

    \n {emailLabel}\n

    \n

    {statusLabel}

    \n removeEmailVerification(template_key)}\n >\n Continue From Here\n \n

    or

    \n \n \n )}\n {initialized && !isSuccess && template_key !== 'reset-password' && (\n <>\n

    \n {initialized && !isSuccess && }\n {`Your ${templateDescriptions[template_key]} link from`}\n

    \n

    \n {user.email || email || 'your email'}\n

    \n

    \n has failed to verify. Your verification link may have expired or you may\n have already verified.\n

    \n removeEmailVerification(template_key)}\n >\n Continue From Here\n \n

    or

    \n {\n dispatch(clearErrors());\n dispatch(\n requestVerificationEmail({\n identifier: {\n type: 'verification_code',\n value: `${verification_id}:${verification_code}`,\n },\n template: template_key,\n state: { redirectLocation: redirectLoc || redirectLocation },\n }),\n ).then(e => replace('/verify-code/verification-email'));\n }}\n >\n resend verification code\n \n \n )}\n
    \n
    \n

    \n For help with any issues please contact us at{' '}\n support@savvi.legal\n

    \n
    \n \n );\n};\n\nexport default VerifyByLink;\n","import VerifyByLink from './VerifyByLink';\n\nexport default VerifyByLink;\n","import RoomInvite from './RoomInvite';\n\nexport default RoomInvite;\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport logo from '../../assets/images/wordmark-white.svg';\nimport {\n exchangeChallenge,\n checkVerificationStatusByAccessCode,\n} from '../../redux/modules/User/operations';\n\nimport './RoomInvite.scss';\nimport { useHistory, useLocation, useParams } from 'react-router';\nimport { Button } from '../../components/common';\nimport handlePath from '../../utils/handlePath';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport PageLoader from '../../components/PageLoader';\n\nconst VerifyByLink = ({ hideVerify }) => {\n const dispatch = useDispatch();\n const { push } = useHistory();\n const { access_code } = useParams();\n const location = useLocation();\n const [initialized, setInitialized] = useState(false);\n const [initializing, setInitializing] = useState(false);\n const [error, setError] = useState('');\n const query = new URLSearchParams(location.search || {});\n let id = query.get('id');\n let code = query.get('code');\n\n useEffect(() => {\n if (!initializing && !initialized) {\n setInitializing(true);\n dispatch(checkVerificationStatusByAccessCode(access_code)).then(\n e => {\n dispatch(\n exchangeChallenge(\n id || e.access_claims?.challenge_id,\n {\n code: code || e.access_claims?.challenge_code,\n },\n 'room',\n ),\n ).then(\n e => {\n push(`/data-room/${access_code}`);\n },\n error => {\n if (error.code === 'E_CODE_REDEEMED') {\n push(`/data-room/${access_code}`);\n } else {\n setError(error);\n setInitializing(false);\n setInitialized(true);\n }\n },\n );\n },\n error => {\n setError(error);\n setInitialized(true);\n setInitializing(false);\n },\n );\n }\n }, [push, dispatch, initializing, initialized, access_code, id, code]);\n\n const statusLabel =\n error || 'Your room access code has been validated. You will be redirected shortly.';\n\n return (\n
    \n push(handlePath('/company-select', 0))}\n >\n \"savvi-logo\"\n
    \n
    \n {!initialized && }\n {initialized && (\n

    \n {!!error && }\n {statusLabel}\n {!!error && (\n \n )}\n

    \n )}\n
    \n
    \n

    \n For help with any issues please contact us at{' '}\n support@savvi.legal\n

    \n
    \n \n );\n};\n\nexport default VerifyByLink;\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport Modal from 'react-modal';\nimport { useHistory, useLocation } from 'react-router';\n\nimport './PrivacyPolicyModal.scss';\nModal.setAppElement('#root');\n\nconst PrivacyPolicyModal = () => {\n const history = useHistory();\n const { action, goBack, replace } = history;\n const location = useLocation();\n const { pathname, state } = location;\n const { background } = state || {};\n\n const onClose = () => {\n if (action !== 'POP') {\n goBack();\n } else if (background) {\n replace(background);\n } else {\n replace('/c/0/company-select');\n }\n };\n\n return (\n \n
    \n

    Savvi Technologies, Inc.

    \n \n
    \n

    Privacy Policy

    \n

    Last Updated: October 11, 2021

    \n

    \n This privacy policy (“Policy”) describes how Savvi Technologies,\n Inc. and its affiliates (“Company”) collect, use and share\n personal information of consumer users of this website,{' '}\n \n www.savvi.legal\n {' '}\n (the “Site”). This Policy also applies to any of our other\n websites that post this Policy. This Policy does not apply to websites that post\n different statements.\n

    \n
    \n

    What We Collect

    \n
    \n

    We get information about you in a range of ways

    \n
    \n

    \n Information You Give Us. We may collect your name, address,\n email, phone number, fax number, username, password, demographic information\n (such as your gender and occupation), company information and other information\n related to your use of the products and services provided by the Company,\n including those provided via the Site, as well as other information you directly\n give us on our Site.\n

    \n

    \n Information We Get From Others. We may get information about\n you from other sources. We may add this to information we get from this Site.\n

    \n

    \n Information Automatically Collected. We automatically log\n information about you and your computer. For example, when visiting our Site, we\n log your computer operating system type, browser type, browser language, the\n website you visited before browsing to our Site, pages you viewed, how long you\n spent on a page, access times and information about your use of and actions on\n our Site.\n

    \n

    \n Cookies. We may log information using “cookies.” Cookies are\n small data files stored on your hard drive by a website. We may use both session\n Cookies (which expire once you close your web browser) and persistent Cookies\n (which stay on your computer until you delete them) to provide you with a more\n personal and interactive experience on our Site. This type of information is\n collected to make the Site more useful to you and to tailor the experience with\n us to meet your special interests and needs.\n

    \n
    \n
    \n

    Use of Personal Information

    \n
    \n

    \n We may use your personal information to take some or all of the following actions:\n

    \n
      \n
    • Operate, maintain, and improve our sites, products, and services;
    • \n
    • \n Send information including products, services, confirmations, invoices,\n technical notices, updates, security alerts, and support and administrative\n messages;\n
    • \n
    • \n Communicate about promotions, upcoming events, and other news about products and\n services offered by us and our selected partners;\n
    • \n
    • Link or combine user information with other personal information;
    • \n
    • \n Protect, investigate, and deter against fraudulent, unauthorized, or illegal\n activity; and\n
    • \n
    • Provide and deliver products and services customers request.
    • \n
    \n
    \n

    Sharing of Personal Information

    \n
    \n

    We may share personal information in the following ways:

    \n
      \n
    • \n With your consent (for example, you may let us share personal information with\n others for their own marketing uses--those uses will be subject to their privacy\n policies);\n
    • \n
    • \n When we do a business deal, or negotiate a business deal, involving the sale or\n transfer of all or a part of our business or assets (these deals can include any\n merger, financing, acquisition, or bankruptcy transaction or proceeding);\n
    • \n
    • \n For legal, protection, and safety purposes, such as for the following purposes:\n
        \n
      • To comply with laws;
      • \n
      • To respond to lawful requests and legal processes;
      • \n
      • \n To protect the rights and property of ProFormaly, LLC, our agents,\n affiliates, customers, and others--this includes enforcing our agreements,\n policies, and terms of use; and\n
      • \n
      • \n In an emergency--this includes protecting the safety of our employees and\n agents, our customers, or any person;\n
      • \n
      \n
    • \n
    • With those who need it to do work for us.
    • \n
    \n

    \n We may also share aggregated and/or anonymized data with others for their own\n uses.\n

    \n
    \n

    INFORMATION CHOICES AND CHANGES

    \n
    \n

    \n Our marketing emails tell you how to “opt-out.” If you opt out, we may still send\n you non-marketing emails. Non-marketing emails include emails about your accounts\n and our business dealings with you.\n

    \n

    \n You may send requests about personal information to our Contact Information below.\n You can request to change contact choices, opt-out of our sharing with others, and\n update your personal information.\n

    \n

    \n You can typically remove and reject cookies from our Site with your browser\n settings. Many browsers are set to accept cookies until you change your settings.\n If you remove or reject our cookies, it could affect how our Site works for you.\n

    \n

    \n Contact Information.{' '}\n We welcome your comments or questions about this privacy policy. You may also\n contact us at our address:\n

    \n

    \n Savvi Technologies, Inc.\n
    \n 560 S. 100 W. Suite 16\n
    \n Orem, UT 84057\n

    \n

    \n \n Changes To This Privacy Policy.\n {' '}\n We may change this privacy policy. If we make any changes, we will change the Last\n Updated date above.\n

    \n \n );\n};\n\nexport default PrivacyPolicyModal;\n","import NewCompany from './NewCompany';\n\nexport default NewCompany;\n","import React, { Component } from 'react';\nimport Modal from 'react-modal';\nimport { connect } from 'react-redux';\nimport { Route, Switch } from 'react-router-dom';\nimport { pdfjs } from 'react-pdf';\n\nimport * as Sentry from '@sentry/browser';\n\nimport { Button, NoticeToast } from '../components/common';\nimport Footer from '../components/Footer';\nimport Loading from '../components/LoadingComponent';\nimport { getDocuments } from '../redux/modules/Document/operations';\nimport {\n getTransaction,\n getTransactionDocuments,\n} from '../redux/modules/Transaction/operations';\nimport { operations as userOps } from '../redux/modules/User';\nimport { fetchAccountRooms } from '../redux/modules/Data/operations';\nimport Basic from '../routes/Basic';\nimport Dashboard from '../routes/Dashboard';\nimport { userIsAuthenticated } from '../utils/Auth';\nimport OutsideForm from '../views/OutsideForm/OutsideFormContainer';\nimport Room from '../views/Room';\nimport Workbench from '../views/Workbench';\nimport { getStoredCompanyId } from '../redux/modules/User/utils';\nimport {\n getAccessToken,\n getAuthAccount,\n getAuthUser,\n IsAccountAuthenticated,\n} from '../redux/modules/User/selectors';\nimport handlePath from '../utils/handlePath';\nimport VerifyCode from '../views/VerifyCode';\nimport VerifyByLink from '../views/VerifyByLink';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { setNotice } from '../redux/modules/UI/actions';\nimport RoomInvite from '../views/RoomInvite';\nimport TermsOfServiceModal from '../components/TermsOfServiceModal';\nimport PrivacyPolicyModal from '../components/PrivacyPolicyModal';\n// import PlansModal from '../components/PlansModal';\nimport NewCompany from '../views/NewCompany';\nimport Loadable from 'react-loadable';\nimport { fetchBrandMeta } from '../redux/modules/UI/operations';\n\nconst AuthWorkbench = userIsAuthenticated(Workbench);\n\nconst AsyncSubscriptionsModal = Loadable({\n loader: () => import('../components/PlansModal'),\n loading: Loading,\n});\n\nconst unauthedRoutes = [\n 'forgot-password',\n 'login',\n 'register',\n 'reset-password',\n 'plans',\n 'remote-login',\n];\nconst joinedUnauthedRoutes = unauthedRoutes.join('|');\n\nclass App extends Component {\n constructor(props) {\n super(props);\n this.state = {\n signoutTime: 1000 * 60 * 180,\n isVerifyHiding: localStorage.getItem('hide_verify'),\n };\n this.ws = null;\n pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.min.js`;\n }\n componentDidMount() {\n const {\n history: { replace },\n location,\n validateSession,\n fetchBrandMeta,\n } = this.props;\n const { pathname, search = '', hash } = location;\n const { REACT_APP_SENTRY_LABEL: sentryEnvLabel } = process.env;\n\n // const query = new URLSearchParams(search);\n Sentry.init({\n dsn: 'https://a758a3c1d9f24a828108d5187553a1c1@sentry.io/1801413',\n environment: sentryEnvLabel,\n });\n const storedCompanyId = getStoredCompanyId();\n const redirectLoc = localStorage.getItem('redirectLoc');\n const redirectHash = localStorage.getItem('redirectHash');\n\n fetchBrandMeta();\n\n if (!pathname || pathname === '/' || pathname === '/home') {\n if (storedCompanyId && storedCompanyId !== '0') {\n replace(handlePath('/home', storedCompanyId));\n } else if (redirectLoc) {\n localStorage.removeItem('redirectLoc');\n localStorage.removeItem('redirectHash');\n if (redirectLoc.includes('data-room')) {\n replace(redirectLoc + (redirectHash || ''));\n } else {\n replace({\n pathname: '/login',\n search: redirectLoc + (redirectHash || ''),\n });\n }\n } else {\n replace({ pathname: '/login', search, hash });\n }\n } else if (pathname.includes('/c/') && pathname.split('/')[2] === 'undefined') {\n let updatedPathname = pathname.split('/');\n updatedPathname[2] = '0';\n updatedPathname = updatedPathname.join('/');\n replace({\n pathname: '/c/0/company-select',\n search: `?redirect=${updatedPathname}${search}`,\n hash,\n });\n } else if (\n !pathname.includes('/c/') &&\n !joinedUnauthedRoutes.includes(pathname.split('/')[1]) &&\n !pathname.includes('/outside-form') &&\n !pathname.includes('/invites') &&\n !pathname.includes('/data-room') &&\n !pathname.includes('/verify') &&\n !pathname.includes('/terms') &&\n !pathname.includes('/privacy')\n ) {\n if (!storedCompanyId || storedCompanyId !== '0') {\n replace({\n pathname: '/c/0/company-select',\n search: `?redirect=/c/0${pathname}${search}`,\n hash,\n });\n } else {\n replace({\n pathname: '/login',\n search: `?redirect=/c/0${pathname}${search}`,\n hash,\n });\n }\n }\n validateSession();\n\n Modal.setAppElement('#root');\n /** ** Auth Refresh ** */\n this.events = ['load', 'mousemove', 'mousedown', 'click', 'scroll', 'keypress'];\n this.logoutTimeout = null;\n this.warnTimeout = null;\n }\n\n componentDidUpdate(prevProps) {\n const {\n accountInfo,\n getAccountRooms,\n idToken,\n isAccountAuthenticated,\n location: { pathname },\n } = this.props;\n // Will scroll to the top of the page after every route change.\n if (pathname !== prevProps.location.pathname) {\n window.scrollTo(0, 0);\n }\n if (\n prevProps.isAccountAuthenticated !== isAccountAuthenticated &&\n isAccountAuthenticated\n ) {\n const { REACT_APP_PROXY_URL: proxyUrl } = process.env;\n this.ws = new WebSocket(\n proxyUrl.replace(/^http/, 'ws') + '/api/ws?access_token=' + idToken,\n );\n this.ws.addEventListener('message', ev => {\n const data = JSON.parse(ev.data);\n console.info('Websocket response', data);\n if (data.event === 'console') {\n console.info(data.message);\n }\n if (data.event === 'alert') {\n window.alert(data.message);\n }\n if (data.event === 'toast') {\n setNotice({ type: data.type, message: data.message });\n }\n if (data.event === 'refresh_documents') {\n this.handleRefreshDocument(data.message);\n }\n if (data.event === 'refresh_timeline') {\n this.handleRefreshTimeline(data.message);\n }\n });\n this.ws.addEventListener('error', error => {\n console.info('Websocket error response', error);\n });\n /** ** Auth Refresh ** */\n for (var i in this.events) {\n window.addEventListener(this.events[i], this.resetTimeout);\n }\n this.setTimeout();\n }\n if (\n prevProps.location.pathname.includes('data-room') &&\n !pathname.includes('data-room') &&\n isAccountAuthenticated &&\n accountInfo.accountId\n ) {\n getAccountRooms(accountInfo.accountId);\n }\n }\n\n handleRefreshDocument = data => {\n const {\n getDocuments,\n getTransactionDocuments,\n location: { pathname },\n } = this.props;\n if (\n ((pathname.includes('task-view') || pathname.includes('overview')) &&\n pathname.includes(data.transaction_id)) ||\n pathname.includes('home')\n ) {\n setTimeout(() => {\n getTransactionDocuments(data.transaction_id);\n getTransaction(data.transaction_id);\n }, 3500);\n } else if (pathname.includes('home')) {\n setTimeout(() => getDocuments(), 3500);\n }\n };\n\n handleRefreshTimeline = data => {\n const {\n getTransaction,\n location: { pathname },\n } = this.props;\n if (\n (pathname.includes('task-view') || pathname.includes('overview')) &&\n pathname.includes(data.transaction_id)\n ) {\n getTransaction(data.transaction_id);\n }\n };\n\n /** ** Auth Refresh ** */\n clearTimeoutFunc = () => {\n if (this.logoutTimeout) clearTimeout(this.logoutTimeout);\n };\n\n /** ** Auth Refresh ** */\n setTimeout = () => {\n this.warnTimeout = setTimeout(this.warn, this.state.warningTime);\n this.logoutTimeout = setTimeout(this.logout, this.state.signoutTime);\n };\n\n /** ** Auth Refresh ** */\n resetTimeout = () => {\n this.clearTimeoutFunc();\n this.setTimeout();\n };\n\n logout = () => {\n // Send a logout request to the API\n window.alert(\n 'You have been logged out due to inactivity. Please login again. Any progress will have been saved and accessed through Task Progress.',\n );\n console.info('Sending a logout request to the API...');\n this.props.logout();\n };\n\n render() {\n const {\n location,\n user: { isAuthenticated, email_verified },\n } = this.props;\n const { search, pathname, state } = location;\n const { redirectPathname } = state || {};\n const { isVerifyHiding } = this.state;\n\n const isTeamView =\n ['/company-select', '/teams', '/dashboard'].findIndex(e => pathname.includes(e)) !==\n -1;\n\n const background = location.state && location.state.background;\n\n return (\n
    \n {/* */}\n {isAuthenticated &&\n !isVerifyHiding &&\n !email_verified &&\n ![\n ...unauthedRoutes,\n 'verify-code',\n 'verify',\n 'data-room',\n 'outside-form',\n ].includes(pathname.split('/')[1]) && (\n
    \n \n

    \n For safety and security purposes, please\n \n verify your account\n \n

    \n {\n localStorage.setItem('hide_verify', true);\n this.setState({ isVerifyHiding: true });\n }}\n >\n \n \n
    \n )}\n {search.includes('redirect') && (\n
    \n \n

    \n {isTeamView\n ? 'Before continuing, please select a company.'\n : 'Before continuing, please login or register below.'}\n

    \n
    \n )}\n {!!redirectPathname && (\n
    \n \n

    \n {redirectPathname.includes('remote-login')\n ? 'To remotely login please first log in as a Savvi Admin user.'\n : 'You will be directed back to the Deal Room once you login or register.'}\n

    \n
    \n )}\n \n \n \n \n \n \n \n \n {\n localStorage.setItem('hide_verify', true);\n this.setState({ isVerifyHiding: true });\n }}\n />\n \n \n {\n localStorage.setItem('hide_verify', true);\n this.setState({ isVerifyHiding: true });\n }}\n />\n \n \n \n \n {/* */}\n \n \n \n \n \n \n \n
    \n );\n }\n}\n\nconst mapStateToProps = state => {\n return {\n isAccountAuthenticated: IsAccountAuthenticated(state),\n accountInfo: getAuthAccount(state),\n idToken: getAccessToken(state),\n user: getAuthUser(state),\n };\n};\n\nconst mapDispatchToProps = (\n dispatch,\n {\n history: { push },\n match: {\n params: { companyId },\n },\n },\n) => ({\n fetchBrandMeta: id => dispatch(fetchBrandMeta(id)),\n getDocuments: id => dispatch(getDocuments(id)),\n getAccountRooms: accountId => dispatch(fetchAccountRooms(accountId)),\n getTransaction: id => dispatch(getTransaction(id)),\n getTransactionDocuments: id => dispatch(getTransactionDocuments(id)),\n validateSession: passedCompanyId =>\n dispatch(userOps.validateSession(passedCompanyId || companyId)),\n logout: () => dispatch(userOps.onLogout(push)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(App);\n","import React from 'react';\nimport { IntlProvider } from 'react-intl';\nimport { Provider } from 'react-redux';\nimport { Route } from 'react-router-dom';\nimport { Elements } from '@stripe/react-stripe-js';\n// import { loadStripe } from '@stripe/stripe-js/pure';\nimport { loadStripe } from '@stripe/stripe-js';\nimport { ConnectedRouter } from 'connected-react-router';\n\nimport PropTypes from 'prop-types';\n\nimport messages from 'box-ui-elements/i18n/en-US';\n\nimport App from './App';\n\nconst stripePromise = loadStripe(process.env.REACT_APP_STRIPE_KEY);\n\nconst Root = ({ store, history }) => {\n // const stripePromise = useMemo(() => loadStripe(process.env.REACT_APP_STRIPE_KEY), []);\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n\nRoot.propTypes = {\n store: PropTypes.object.isRequired,\n};\nexport default Root;\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,\n ),\n);\n\nexport default function register() {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl);\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.info('New content is available, please refresh.');\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.info('Content is cached for offline use.');\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl);\n }\n })\n .catch(() => {\n console.info('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","// import { loadState } from './redux/utils/localStorage';\nimport './utils/fontawesome';\n\n// import '@babel/polyfill';\nimport React from 'react';\nimport { render } from 'react-dom';\n\nimport Root from './containers/Root';\nimport configureStore, { history } from './redux/store/configureStore';\nimport { unregister } from './registerServiceWorker';\n\nimport './assets/styles/base.scss';\n/** TODO: Adjust components to not use WorkbenchForm.scss so we don't have do this */\nimport './views/WorkbenchForm/WorkbenchForm.scss';\n\nunregister();\n\n// const persistedState = loadState();\nconst store = configureStore();\n\nrender(, document.getElementById('root'));\n","import * as Types from './types';\n\nexport function clearDocumentError(error) {\n return {\n type: Types['CLEAR_DOCUMENT_ERROR'],\n error,\n };\n}\n\nexport function setDocumentError(error) {\n return {\n type: Types['SET_DOCUMENT_ERROR'],\n error,\n };\n}\n\nexport function setAllDocuments(payload) {\n return {\n type: Types['SET_ALL_DOCUMENTS'],\n payload,\n };\n}\n\nexport function setUserDocuments(payload) {\n return {\n type: Types['SET_USER_DOCUMENTS'],\n payload,\n };\n}\n\nexport function setDocumentRecipientsLinks(links, documentId) {\n return {\n type: Types['SET_DOCUMENT_RECIPIENTS_LINKS'],\n links,\n documentId,\n };\n}\n\nexport function setDocuments(payload, taskId) {\n return {\n type: Types['SET_DOCUMENTS'],\n payload,\n taskId,\n };\n}\n\nexport function setDocumentsByProject(payload, projectId) {\n return {\n type: Types['SET_DOCUMENTS_BY_PROJECT'],\n payload,\n projectId,\n };\n}\n\nexport function setDocumentsByTransaction(payload, transactionId) {\n return {\n type: Types['SET_DOCUMENTS_BY_TRANSACTION'],\n payload,\n transactionId,\n };\n}\n\n// export function addCustomDocument(payload, transactionId) {\n// return {\n// type: Types['ADD_CUSTOM_DOCUMENT'],\n// payload,\n// transactionId,\n// };\n// }\n\n// export function setCustomDocument(payload, customDocIndex, transactionId) {\n// return {\n// type: Types['SET_CUSTOM_DOCUMENT'],\n// payload,\n// customDocIndex,\n// transactionId,\n// };\n// }\n","import dayjs from 'dayjs';\nimport { get, isEmpty, reduce } from 'lodash-es';\nimport moment from 'moment';\nimport { createSelector, defaultMemoize } from 'reselect';\n\n/**\n * @return {object} a hash of modules indexed by their unique id.\n */\nexport const isFetching = defaultMemoize(state => get(state, 'isFetching', false));\n\nexport const isFetchingProfile = defaultMemoize(state =>\n get(state, 'Profile.isFetching', false),\n);\n\nexport const getCurrentUser = defaultMemoize(state => get(state, 'Profile.user', {}));\n\nexport const getEmailsToVerify = defaultMemoize(state => {\n const emails = get(state, 'Profile.emails', []);\n return reduce(\n emails,\n (dict, e) => {\n if (e.email_change && !dayjs().isAfter(dayjs(e.expires_at))) {\n dict.push(e);\n }\n return dict;\n },\n [],\n );\n});\n\nexport const IsFileCabinetShowing = defaultMemoize(state =>\n get(state, 'Profile.user.filecabinet_access', false),\n);\n\nexport const IsAccountSettingsShowing = defaultMemoize(\n state => get(state, 'Profile.user.role_id', 1) < 100,\n);\n\nexport const IsAccountAdmin = defaultMemoize(\n state => get(state, 'Profile.user.is_admin', 1) < 100,\n);\n\nexport const getManagingAttorney = defaultMemoize(state =>\n get(state, 'counsels.managing_attorney', {}),\n);\n\nexport const getAttorneys = defaultMemoize((state, moduleId) =>\n get(state, 'counsels.attorneys', []),\n);\n\nexport const getMySavviPartners = defaultMemoize((state, moduleId) =>\n get(state, 'savviPartners.myPartners', []),\n);\n\nexport const SavviPartnerGroups = defaultMemoize((state, moduleId) =>\n get(state, 'Profile.savviPartners.partnerGroups', []),\n);\n\nexport const NewFeatureChanges = defaultMemoize(state =>\n get(state, 'Profile.user.feature_changes', []),\n);\n\nexport const AllFeatureChanges = defaultMemoize(state =>\n get(state, 'Profile.featureChanges', []),\n);\n\nexport const FeatureChanges = createSelector(\n NewFeatureChanges,\n AllFeatureChanges,\n (newFeatures, allFeatures) =>\n allFeatures\n .reduce((dict, e, index) => {\n if (newFeatures.findIndex(newFeature => newFeature.id === e.id) === -1) {\n e = {\n ...e,\n isOld: true,\n };\n }\n dict.push(e);\n return dict;\n }, [])\n .sort((a, b) => moment(b.change_date).diff(moment(a.change_date))),\n);\n\nexport const PartnerTeams = defaultMemoize((state, moduleId) =>\n get(state, 'Profile.teams', []),\n);\n\nexport const getAttorneysForReviewers = createSelector(getAttorneys, attorneys =>\n attorneys.map(e => ({\n ...e,\n label: `${e.first_name} ${e.last_name}`,\n value: `${e.first_name} ${e.last_name}`,\n })),\n);\n\nexport const getLegalTeam = createSelector(\n getManagingAttorney,\n getAttorneys,\n (managingAttorney, attorneys) => {\n let updatedArr = isEmpty(managingAttorney) ? [] : [managingAttorney];\n attorneys.reduce((dict, e) => {\n if (e.id === managingAttorney.id) {\n dict[0] = {\n ...dict[0],\n specializations: [\n {\n is_primary: 1,\n title: 'Managing Attorney',\n },\n ...e.specializations,\n ],\n };\n } else {\n dict.push(e);\n }\n return dict;\n }, updatedArr);\n return updatedArr;\n },\n);\n\nexport const getUser = defaultMemoize(state => get(state, 'Profile.user', {}));\n","import { RSAA } from 'redux-api-middleware';\n\nimport get from 'lodash-es/get';\nimport isEmpty from 'lodash-es/isEmpty';\n\nimport { requestHeaders } from '../../utils/api';\nimport { setNotice } from '../UI/actions';\nimport * as actions from './actions';\nimport * as Types from './types';\n\nexport const getTodos = isTeam => {\n const REQUEST = Types[`GET_${isTeam ? 'ACCOUNT' : 'USER'}_TODOS_REQUEST`];\n const SUCCESS = Types[`GET_${isTeam ? 'ACCOUNT' : 'USER'}_TODOS_SUCCESS`];\n const FAILED = Types[`GET_${isTeam ? 'ACCOUNT' : 'USER'}_TODOS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/${isTeam ? 'user' : 'account'}/recommendation`,\n method: 'GET',\n headers: requestHeaders(true, isTeam ? 'user' : ''),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(\n actions[isTeam ? 'setTeamTodos' : 'setAccountTodos'](actionResponse.payload),\n );\n // await dispatch(actions.setQuestionnaire(actionResponse.payload));\n }\n throw await get(actionResponse, 'payload.message', 'An error has occurred.');\n };\n};\n\nexport const updateTodo = (todoId, body, isTeam, accountId, isFetchingTodosAfter) => {\n const REQUEST = Types[`UPDATE_${isTeam ? 'USER' : 'ACCOUNT'}_TODO_REQUEST`];\n const SUCCESS = Types[`UPDATE_${isTeam ? 'USER' : 'ACCOUNT'}_TODO_SUCCESS`];\n const FAILED = Types[`UPDATE_${isTeam ? 'USER' : 'ACCOUNT'}_TODO_FAILED`];\n const url = `/api/${\n isTeam ? `user/dashboard/_account/${accountId}` : 'account'\n }/recommendation/${todoId}`;\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: url,\n method: 'PATCH',\n headers: requestHeaders(true, isTeam ? 'user' : ''),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n await dispatch(setNotice('Assignee Updated.'));\n if (isFetchingTodosAfter) {\n return await dispatch(getTodos(isTeam));\n }\n // return await dispatch(actions.setProjects(actionResponse.payload));\n }\n await dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'An error has occurred.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'An error has occurred.');\n };\n};\n\nexport const assignTaskTodo = (accountTransactionId, body, isTeam, accountId) => {\n const REQUEST = Types[`ASSIGN_${isTeam ? 'USER' : 'ACCOUNT'}_TASK_TODO_REQUEST`];\n const SUCCESS = Types[`ASSIGN_${isTeam ? 'USER' : 'ACCOUNT'}_TASK_TODO_SUCCESS`];\n const FAILED = Types[`ASSIGN_${isTeam ? 'USER' : 'ACCOUNT'}_TASK_TODO_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/${\n isTeam ? `user/dashboard/_account/${accountId}` : 'account'\n }/transaction/${accountTransactionId}/assign`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n await dispatch(setNotice('Task To-do assigned!'));\n return await dispatch(getTodos(isTeam));\n }\n await dispatch(\n setNotice({\n type: 'warning',\n message: get(actionResponse, 'payload.message', 'An error has occurred.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'An error has occurred.');\n };\n};\n\nexport const deleteTodo = (id, isTeam, accountId, isFetchingTodosAfter) => {\n const REQUEST = Types[`DELETE_${isTeam ? 'USER' : 'ACCOUNT'}_TODO_REQUEST`];\n const SUCCESS = Types[`DELETE_${isTeam ? 'USER' : 'ACCOUNT'}_TODO_SUCCESS`];\n const FAILED = Types[`DELETE_${isTeam ? 'USER' : 'ACCOUNT'}_TODO_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/${\n isTeam ? `user/dashboard/_account/${accountId}` : 'account'\n }/recommendation/${id}`,\n method: 'DELETE',\n headers: requestHeaders(true, isTeam ? 'user' : ''),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(setNotice('To-do deleted'));\n if (isFetchingTodosAfter) {\n return await dispatch(getTodos(isTeam));\n }\n }\n throw await get(actionResponse, 'payload.message', 'An error has occurred.');\n };\n};\n\nexport const getAssigneeOptions = (accountId, projectTemplateId, isTeam) => {\n const REQUEST = Types[`GET_${isTeam ? 'USER' : 'ACCOUNT'}_ASSIGNEE_OPTIONS_REQUEST`];\n const SUCCESS = Types[`GET_${isTeam ? 'USER' : 'ACCOUNT'}_ASSIGNEE_OPTIONS_SUCCESS`];\n const FAILED = Types[`GET_${isTeam ? 'USER' : 'ACCOUNT'}_ASSIGNEE_OPTIONS_FAILED`];\n let endpoint = `/api/${\n isTeam ? `user/dashboard/_account/${accountId}` : 'account'\n }/recommendation/project_template/${projectTemplateId}`;\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint,\n method: 'GET',\n headers: requestHeaders(true, isTeam ? 'user' : ''),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error && !isEmpty(actionResponse.payload)) {\n await dispatch(\n actions.setAssigneeOptions(actionResponse.payload, accountId, projectTemplateId),\n );\n return await actionResponse.payload;\n }\n throw await get(actionResponse, 'payload.message', 'An error has occurred.');\n };\n};\n","import { useEffect, useState } from 'react';\n\nexport default () => {\n // Initialize state with undefined width/height so server and client renders match\n // Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/\n const [windowSize, setWindowSize] = useState({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n\n useEffect(() => {\n // Handler to call on window resize\n function handleResize() {\n // Set window width/height to state\n setWindowSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n }\n\n // Add event listener\n window.addEventListener('resize', handleResize);\n\n // Call handler right away so state gets updated with initial window size\n handleResize();\n\n // Remove event listener on cleanup\n return () => window.removeEventListener('resize', handleResize);\n }, []); // Empty array ensures that effect is only run on mount\n\n return windowSize;\n};\n","import { decodeToken, getStoredToken } from '../modules/User/utils';\n\nexport const requestHeaders = (auth = false, passedToken = '', shouldCheckExp) => {\n const token = getStoredToken(passedToken === 'user' ? '0' : passedToken);\n let Authorization = `Bearer ${token}`;\n let hasAuth = !!auth && !!token;\n let brandMeta = JSON.parse(localStorage.getItem('brandMeta')) || {};\n if (\n !brandMeta.web_base_url ||\n brandMeta.web_base_url === 'https://app.example.com' ||\n window.location.href.includes('localhost')\n ) {\n brandMeta.web_base_url = process.env.REACT_APP_BASEURL;\n }\n\n if (shouldCheckExp && hasAuth) {\n const decodedToken = decodeToken(token);\n const secondsSinceEpoch = Math.ceil(Date.now() / 1000);\n hasAuth = decodedToken.exp > secondsSinceEpoch; // Check if exp is fresh\n }\n const headers = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'Access-Control-Request-Headers': '*',\n 'Access-Control-Allow-Methods': 'GET',\n 'Access-Control-Allow-Origin': brandMeta.web_base_url,\n };\n\n return hasAuth ? { ...headers, Authorization } : headers;\n};\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\nimport React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from '..';\n\nimport './Dropdown.scss';\n\nconst Dropdown = ({\n children,\n className = '',\n onClose,\n left,\n upward,\n isDefaultPrevented,\n}) => {\n useEffect(() => {\n window.addEventListener('click', onClose);\n return () => window.removeEventListener('click', onClose);\n }, [onClose]);\n return (\n <>\n {\n if (isDefaultPrevented) {\n onClose(e);\n }\n }}\n >\n {children}\n \n \n );\n};\n\nDropdown.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n onClose: PropTypes.func,\n isDefaultPrevented: PropTypes.bool,\n};\n\nexport const DropdownAction = ({ children, className, left, upward, Toggle, size }) => {\n const [isShowing, setIsShowing] = useState(false);\n\n useEffect(() => {\n const handleClose = () => {\n setIsShowing(false);\n };\n if (isShowing) {\n window.addEventListener('click', handleClose);\n }\n return () => window.removeEventListener('click', handleClose);\n }, [isShowing, setIsShowing]);\n\n return (\n
    \n {\n e.preventDefault();\n setIsShowing(!isShowing);\n }}\n />\n {isShowing && (\n {\n e.preventDefault();\n setIsShowing(false);\n }}\n >\n {children}\n
    \n )}\n \n );\n};\n\nDropdownAction.defaultProps = {\n Toggle: toggleProps => (\n \n ),\n};\n\nexport default Dropdown;\n","export function generateBem(bemPrefix) {\n const bem = elementName => {\n const apply = e =>\n `${bemPrefix}${(!!e && e[0] === '-' && e) || (!!e && '__' + e) || ''}`;\n let className = [];\n if (Array.isArray(elementName)) {\n for (let i of elementName) {\n if (typeof i === 'string') {\n className.push(apply(i));\n }\n }\n return className.join(' ');\n }\n return apply(elementName);\n };\n return bem;\n}\n","import get from 'lodash-es/get';\n\nexport default (status, isDataRoom) =>\n get(isDataRoom ? dataRoomStatusDict : statusDict, `${status}`, 'N/A');\n\nexport const statusDict = {\n 'document.upload': 'Uploaded',\n 'document.draft': 'Under Savvi Review',\n 'document.sent': 'Sent',\n 'document.viewed': 'Viewed',\n 'document.waiting_approval': 'Waiting Approval',\n 'document.rejected': 'Rejected',\n 'document.approved': 'Approved',\n 'document.waiting_pay': 'Waiting Payment',\n 'document.paid': 'Paid',\n 'document.completed': 'Completed',\n 'document.voided': 'Voided',\n 'document.declined': 'Declined',\n 'document.deleted': 'Deleted',\n};\n\nexport const dataRoomStatusDict = {\n 'document.upload': 'Uploaded',\n 'document.draft': 'Under Savvi Review',\n 'document.sent': 'Awaiting Signature',\n 'document.viewed': 'Awaiting Signature',\n 'document.waiting_approval': 'Waiting Approval',\n 'document.rejected': 'Rejected',\n 'document.approved': 'Approved',\n 'document.waiting_pay': 'Waiting Payment',\n 'document.paid': 'Paid',\n 'document.completed': 'Completed',\n 'document.voided': 'Voided',\n 'document.declined': 'Declined',\n 'document.deleted': 'Deleted',\n};\n","import { RSAA } from 'redux-api-middleware';\n\n// import filter from 'lodash-es/filter';\nimport get from 'lodash-es/get';\n\nimport { requestHeaders } from '../../utils/api';\nimport * as actions from './actions';\nimport { setNotice } from '../UI/actions';\nimport * as Types from './types';\nimport { getOutsideForm, getTransactionQuestionnaire } from '../Transaction/operations';\nimport { generateErrorNotice } from '../../../utils/generateErrorNotice';\n\nexport const getAllDocuments = accountId => {\n const REQUEST = Types[`GET_ALL_DOCUMENTS_REQUEST`];\n const SUCCESS = Types[`GET_ALL_DOCUMENTS_SUCCESS`];\n const FAILED = Types[`GET_ALL_DOCUMENTS_FAILED`];\n return async (dispatch, getState) => {\n dispatch(actions.clearDocumentError());\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/document_history',\n method: 'GET',\n headers: requestHeaders(true, accountId),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(actions.setAllDocuments(actionResponse.payload));\n return await actionResponse.payload;\n } else {\n if (actionResponse.payload.status !== 401) {\n await dispatch(\n setNotice(\n generateErrorNotice(\n actionResponse.payload,\n 'An error has occurred loading your documents. If the documents are still not loading correctly after refreshing the page, please contact us.',\n ),\n ),\n );\n }\n throw await get(actionResponse, 'payload.message', 'An error has occurred.');\n }\n };\n};\n\nexport const getUserDocuments = () => {\n const REQUEST = Types[`GET_USER_DOCUMENTS_REQUEST`];\n const SUCCESS = Types[`GET_USER_DOCUMENTS_SUCCESS`];\n const FAILED = Types[`GET_USER_DOCUMENTS_FAILED`];\n return async (dispatch, getState) => {\n dispatch(actions.clearDocumentError());\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/user/document',\n method: 'GET',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(actions.setUserDocuments(actionResponse.payload));\n return await actionResponse.payload;\n } else {\n if (actionResponse.payload.status !== 401) {\n await dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'An error has occurred loading your documents. Go ahead and refresh your page. If the documents are still not loading correctly, please contact us.',\n ),\n }),\n );\n }\n throw await get(actionResponse, 'payload.message', 'An error has occured.');\n }\n };\n};\n\nexport const getDocuments = taskId => {\n let url = '/api/account/pandadoc/documents';\n if (taskId) {\n url = url + `?task_id=${taskId}`;\n }\n const REQUEST = Types[`GET_DOCUMENTS_REQUEST`];\n const SUCCESS = Types[`GET_DOCUMENTS_SUCCESS`];\n const FAILED = Types[`GET_DOCUMENTS_FAILED`];\n return async (dispatch, getState) => {\n dispatch(actions.clearDocumentError());\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: url,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(actions.setDocuments(actionResponse.payload, taskId));\n return await actionResponse.payload;\n } else {\n console.warn('Get documents error response', actionResponse.payload.message);\n await dispatch(\n actions.setDocumentError(\n get(\n actionResponse,\n 'payload.message',\n 'An error has occurred loading your documents. Go ahead and refresh your page. If the documents are still not loading correctly, please contact us.',\n ),\n ),\n );\n throw await get(actionResponse, 'payload.message', 'An error has occurred');\n }\n };\n};\n\nexport const deleteDocumentUpload = (boxFileId, transactionId, accessCode) => {\n const REQUEST = Types[`DELETE_DOCUMENT_UPLOAD_REQUEST`];\n const SUCCESS = Types[`DELETE_DOCUMENT_UPLOAD_SUCCESS`];\n const FAILED = Types[`DELETE_DOCUMENT_UPLOAD_FAILED`];\n return async (dispatch, getState) => {\n dispatch(actions.clearDocumentError());\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/box/file/${boxFileId}`,\n method: 'DELETE',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice({ type: 'warning', message: 'Upload removed.' }));\n if (transactionId) {\n return await dispatch(getTransactionQuestionnaire(transactionId));\n } else if (accessCode) {\n return await dispatch(getOutsideForm(accessCode));\n }\n } else {\n await dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Error removing upload.'),\n }),\n );\n await dispatch(\n actions.setDocumentError(\n get(\n actionResponse,\n 'error',\n 'An error has occurred loading your documents. Go ahead and refresh your page. If the documents are still not loading correctly, please contact us.',\n ),\n ),\n );\n throw await get(actionResponse, 'payload.message', 'An error has occurred');\n }\n };\n};\n\nexport const resendLinkEmail = (docId, email) => {\n const REQUEST = Types[`RESEND_LINK_EMAIL_REQUEST`];\n const SUCCESS = Types[`RESEND_LINK_EMAIL_SUCCESS`];\n const FAILED = Types[`RESEND_LINK_EMAIL_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/pandadoc/documents/${docId}/resend`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify({ email }),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Link Sent'));\n } else {\n dispatch(setNotice({ type: 'error', message: 'Error resending email link.' }));\n }\n };\n};\n\nexport const getProjectDocuments = projectId => {\n const REQUEST = Types[`GET_PROJECT_DOCUMENTS_REQUEST`];\n const SUCCESS = Types[`GET_PROJECT_DOCUMENTS_SUCCESS`];\n const FAILED = Types[`GET_PROJECT_DOCUMENTS_FAILED`];\n return async (dispatch, getState) => {\n await dispatch(actions.clearDocumentError());\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/project/${projectId}/documents`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(\n actions.setDocumentsByProject(actionResponse.payload, projectId),\n );\n // return actionResponse.payload;\n } else {\n await dispatch(\n actions.setDocumentError(\n get(\n actionResponse,\n 'error',\n 'An error has occurred loading your documents. Go ahead and refresh your page. If the documents are still not loading correctly, please contact us.',\n ),\n ),\n );\n throw await get(actionResponse, 'payload.message', 'An error has occurred');\n }\n };\n};\n\nexport const getTransactionDocuments = transactionId => {\n const REQUEST = Types[`GET_TRANSACTION_DOCUMENTS_REQUEST`];\n const SUCCESS = Types[`GET_TRANSACTION_DOCUMENTS_SUCCESS`];\n const FAILED = Types[`GET_TRANSACTION_DOCUMENTS_FAILED`];\n return async (dispatch, getState) => {\n await dispatch(actions.clearDocumentError());\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction/${transactionId}/documents`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(\n actions.setDocumentsByTransaction(actionResponse.payload, transactionId),\n );\n // return actionResponse.payload;\n } else {\n await dispatch(\n actions.setDocumentError(\n get(\n actionResponse,\n 'error',\n 'An error has occurred loading your documents. Go ahead and refresh your page. If the documents are still not loading correctly, please contact us.',\n ),\n ),\n );\n throw await get(actionResponse, 'payload.message', 'An error has occurred');\n }\n };\n};\n\nexport const uploadDocument = (id, body, transactionId) => {\n const REQUEST = Types[`UPLOAD_DOCUMENT_REQUEST`];\n const SUCCESS = Types[`UPLOAD_DOCUMENT_SUCCESS`];\n const FAILED = Types[`UPLOAD_DOCUMENT_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/box/file/${id}`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice(get(actionResponse, 'payload.message', 'Document Uploaded')));\n return await actionResponse.payload;\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const setDocumentReviewer = (pandaDocId, body, transactionId) => {\n const REQUEST = Types[`SET_DOCUMENT_REVIEWER_REQUEST`];\n const SUCCESS = Types[`SET_DOCUMENT_REVIEWER_SUCCESS`];\n const FAILED = Types[`SET_DOCUMENT_REVIEWER_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/pandadoc/documents/${pandaDocId}/reviewer`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(\n setNotice(get(actionResponse, 'payload.message', 'Document Reviewer Set')),\n );\n return await dispatch(getTransactionDocuments(transactionId));\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const setDocumentRedliningVersion = (\n document_id,\n revision_uuid,\n transactionId,\n) => {\n const REQUEST = Types[`POST_REDLINING_VERSION_REQUEST`];\n const SUCCESS = Types[`POST_REDLINING_VERSION_SUCCESS`];\n const FAILED = Types[`POST_REDLINING_VERSION_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/pandadoc/documents/${document_id}/finalize/${revision_uuid}`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(getTransactionDocuments(transactionId));\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n throw actionResponse.payload.message;\n }\n };\n};\n","import { get } from 'lodash-es';\nimport { createSelector, defaultMemoize } from 'reselect';\n\nimport WorkflowLearnMoreLinks from '../../../utils/WorkflowLearnMoreLinks';\n\nexport const IsFetching = defaultMemoize(state => get(state, 'Todos.isFetching', false));\n\nexport const AssigneeOptions = defaultMemoize((state, accountId, projectTemplateId) =>\n get(state, `Todos.assigneeOptions[${accountId}|${projectTemplateId}`, []),\n);\n\nexport const FormattedAssigneeOptions = createSelector(AssigneeOptions, options =>\n options.map(e => ({\n ...e,\n label: e.name,\n value:\n (e.partner_id && e.user_id && `${e.user_id} | ${e.partner_id}`) ||\n e.partner_id ||\n e.user_id,\n })),\n);\n\nexport const Todos = defaultMemoize((state, isTeam) =>\n isTeam ? get(state, 'Todos.teamTodos', []) : get(state, 'Todos.accountTodos', []),\n);\n\nexport const RecommendedTodos = defaultMemoize((state, isTeam) =>\n isTeam\n ? get(state, 'Todos.teamReminders', [])\n : get(state, 'Todos.accountReminders', []),\n);\n\nexport const TodosForHome = createSelector(Todos, todos =>\n todos.reduce((dict, e) => {\n let isLearnMoreShowing = false;\n let learnMoreUrl = '';\n if (e.type_id === 1) {\n e.type = 'Recommended Workflow';\n }\n for (const values of Object.entries(WorkflowLearnMoreLinks)) {\n if (values[0] + '' === e.project_template_id + '') {\n isLearnMoreShowing = true;\n learnMoreUrl = values[1];\n }\n }\n e = {\n ...e,\n isLearnMoreShowing,\n learnMoreUrl,\n };\n dict.push(e);\n return dict;\n }, []),\n);\n\nexport const RecommendedTodosForHome = createSelector(RecommendedTodos, todos =>\n todos.reduce((dict, e) => {\n if (e.type_id === 1) {\n let isLearnMoreShowing = false;\n let learnMoreUrl = '';\n for (const values of Object.entries(WorkflowLearnMoreLinks)) {\n if (values[0] + '' === e.id + '') {\n isLearnMoreShowing = true;\n learnMoreUrl = values[1];\n }\n }\n e = {\n ...e,\n project: {\n ...e.project,\n isLearnMoreShowing,\n learnMoreUrl,\n },\n };\n dict.push(e);\n }\n return dict;\n }, []),\n);\n","import * as Types from './types';\n\nexport function setCompaniesById(payload) {\n return {\n type: Types['SET_COMPANIES'],\n payload,\n };\n}\n\nexport function setCompanyTokenRefreshing(isRefreshing) {\n return {\n type: Types['SET_COMPANY_TOKEN_REFRESHING'],\n isRefreshing,\n };\n}\n\nexport function setCompanyDataTables(payload) {\n return {\n type: Types['SET_COMPANY_DATA_TABLES'],\n payload,\n };\n}\n","import { get } from 'lodash-es';\nimport { combineReducers } from 'redux';\n\nimport {\n apiErrorsReducer,\n createReducer,\n fetchingReducer,\n getValidationErrors,\n} from '../../utils';\nimport {\n CLEAR_ERRORS,\n EMAIL_CONFIRM_FAILED,\n EMAIL_CONFIRM_REQUEST,\n LOGIN_FAILED,\n LOGIN_REQUEST,\n LOGOUT,\n REGISTER_FAILED,\n REGISTER_REQUEST,\n SEND_PW_RESET_FAILED,\n SET_CHECKPOINTS,\n SET_INIT_LOADING,\n SET_NOTIFICATIONS,\n SET_PARTNER_BY_CODE,\n SET_PARTNER_CODE,\n SET_USER,\n SET_ACCOUNT,\n TOKEN_FAILED,\n} from './types';\n\nimport { InitUser } from './utils';\n\nconst isFetching = fetchingReducer('user');\n\nconst UserReducer = createReducer(InitUser)({\n [SET_USER]: (state, { payload }) => ({\n ...state,\n ...payload,\n }),\n [LOGOUT]: () => ({\n ...InitUser,\n }),\n});\n\nconst AccountReducer = createReducer(InitUser)({\n [SET_ACCOUNT]: (state, { payload }) => ({\n ...state,\n ...payload,\n }),\n [LOGOUT]: () => ({\n ...InitUser,\n }),\n [SET_PARTNER_BY_CODE]: (state, { payload, code }) => ({\n ...state,\n byCode: {\n ...state.byCodes,\n [code]: { ...payload },\n },\n }),\n [SET_PARTNER_CODE]: (state, { code }) => ({\n ...state,\n code,\n }),\n});\n\nconst partnersReducer = createReducer({})({\n [SET_PARTNER_BY_CODE]: (state, { payload, code }) => ({\n ...state,\n byCode: {\n ...state.byCodes,\n [code]: { ...payload },\n },\n }),\n [SET_PARTNER_CODE]: (state, { code }) => ({\n ...state,\n code,\n }),\n});\n\nconst errorsReducer = createReducer({})({\n [CLEAR_ERRORS]: () => ({}),\n [EMAIL_CONFIRM_REQUEST]: () => ({}),\n [REGISTER_REQUEST]: () => ({}),\n [LOGIN_REQUEST]: () => ({}),\n [LOGIN_FAILED]: (state, { payload }) => {\n const { code, message, errors } = payload;\n if (code === 'INVALID_CREDENTIALS') {\n return {\n form: 'Password is incorrect',\n };\n } else if (!!errors) {\n return errors;\n } else if (!!message) {\n return {\n form: message,\n };\n } else {\n return { form: 'There was an error while logging you in.' };\n }\n },\n [EMAIL_CONFIRM_FAILED]: (state, { payload }) => {\n const { message, errors } = payload;\n if (!!errors) {\n return errors;\n } else if (message) {\n return {\n token: message,\n };\n } else {\n return { token: 'There was an error while verifying your code.' };\n }\n },\n [REGISTER_FAILED]: (state, { payload }) => {\n const { code, message, errors } = payload;\n if (code === 'EMAIL_ALREADY_EXISTS') {\n return { form: message };\n } else if (errors) {\n return getValidationErrors(errors);\n } else if (message) {\n return { form: message };\n } else {\n return { form: 'There was an error while creating your account.' };\n }\n },\n [TOKEN_FAILED]: (state, { payload }) => ({\n form: get(\n payload,\n 'message',\n 'Your Session has expired or failed to validate, please login again.',\n ),\n }),\n [SEND_PW_RESET_FAILED]: (state, { payload }) => ({ form: payload.message }),\n});\n\nconst checkpointsReducer = createReducer([])({\n [SET_CHECKPOINTS]: (state, { payload }) => payload,\n});\n\nconst isInitLoadingReducer = createReducer(true)({\n [SET_INIT_LOADING]: (state, { isLoading }) => isLoading,\n});\n\nconst socketsReducer = createReducer([])({\n [SET_NOTIFICATIONS]: (state, { payload: notifications }) => ({\n ...state,\n notifications,\n }),\n});\n\nexport default combineReducers({\n checkpoints: checkpointsReducer,\n sockets: socketsReducer,\n isInitLoading: isInitLoadingReducer,\n isFetching,\n user: UserReducer,\n account: AccountReducer,\n partners: partnersReducer,\n errors: errorsReducer,\n apiErrors: apiErrorsReducer('user'),\n});\n","import { isObject } from 'lodash-es';\n\nconst handlePathWithUrl = (path, url) =>\n isObject(path)\n ? {\n ...path,\n pathname: `${url}` + path.pathname,\n }\n : `${url}` + path;\n\nconst handlePathWithCompanyId = (path, companyId) =>\n isObject(path)\n ? {\n ...path,\n pathname: `/c/${companyId || '0'}` + path.pathname,\n }\n : `/c/${companyId || '0'}` + path;\n\nexport default (path, companyId, url) =>\n url ? handlePathWithUrl(path, url) : handlePathWithCompanyId(path, companyId);\n\nexport const handleExternalUrlWithCompanyId = (path, companyId) => {\n let updatedPath = path;\n if (updatedPath.includes('/c/0')) {\n updatedPath = updatedPath.replace('/c/0', `/c/${companyId}`);\n } else if (!path.includes('/c/') && !path.includes('http')) {\n updatedPath = `/c/${companyId}${path}`;\n }\n if (!path.includes('http')) {\n let brandMeta = JSON.parse(localStorage.getItem('brandMeta')) || {};\n if (\n !brandMeta.web_base_url ||\n brandMeta.web_base_url === 'https://app.example.com' ||\n window.location.href.includes('localhost')\n ) {\n brandMeta.web_base_url = process.env.REACT_APP_BASEURL;\n }\n updatedPath = brandMeta.web_base_url + updatedPath;\n }\n return updatedPath;\n};\n\nexport const handleRoute = (path, routePath) => routePath + path;\n","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React from 'react';\n\nimport SavviLoading from '../SavviLoading';\nimport './PageLoader.scss';\n\nconst PageLoader = ({ showLongLoadingText, customText }) => {\n return (\n
    \n {/* */}\n \n {showLongLoadingText && (\n

    \n \n This page may take 10-15 seconds to load.\n

    \n )}\n {customText &&

    {customText}

    }\n
    \n );\n};\n\nexport default PageLoader;\n","import { get } from 'lodash-es';\nimport { createSelector, defaultMemoize } from 'reselect';\nimport PandaDocStatusDict from '../../../utils/PandaDocStatusDict';\n\nexport const isFetchingWithHooks = defaultMemoize(state =>\n get(state, 'Document.isFetching', false),\n);\n\nexport const DocumentError = defaultMemoize(state =>\n get(state, 'Document.documentError', ''),\n);\n\nexport const UserDocuments = defaultMemoize(state => {\n const documents = get(state, `Document.userDocuments.byArr`, []);\n let filteredDocuments = [];\n\n documents.forEach(doc => {\n const viewableStates = [\n 'document.sent',\n 'document.viewed',\n 'document.completed',\n 'document.waiting_approval',\n 'document.waiting_pay',\n 'document.upload',\n 'document.draft',\n ];\n const isDocNotDeletedOrDeclined =\n doc.status !== 'document.deleted' && doc.status !== 'document.declined';\n const isDocStateViewableOrUploaded =\n viewableStates.includes(doc.status) || doc.box_file_id;\n if (isDocNotDeletedOrDeclined && isDocStateViewableOrUploaded) {\n filteredDocuments.push(doc);\n }\n });\n return filteredDocuments;\n});\n\nexport const getDocumentsArrWithHooks = defaultMemoize(state =>\n get(state, `Document.documents.byArr`, []),\n);\n\nexport const getAllDocumentsArrWithHooks = defaultMemoize(state =>\n get(state, `Document.allDocuments.byArr`, []),\n);\n\nexport const getAllDocumentsForSelect = defaultMemoize(state => {\n const documents = get(state, `Document.allDocuments.byArr`, []);\n return documents\n .filter(\n e =>\n e.status !== 'document.deleted' &&\n ((e.box_file_id && !e.status) ||\n !['N/A', 'Voided', 'Deleted'].includes(PandaDocStatusDict(e.status))),\n )\n .map(e => ({\n ...e,\n label: e.filename,\n value: e.id,\n stateText:\n (e.revision_count > 0 && 'Awaiting Approval') ||\n (e.box_file_id && !e.status && 'Uploaded') ||\n PandaDocStatusDict(e.status),\n }));\n});\n\nexport const DocumentsByProject = defaultMemoize((state, projectId) =>\n get(state, `Document.documents.byProject[${projectId}]`, []),\n);\n\nexport const useAllDocuments = createSelector(getAllDocumentsArrWithHooks, documents =>\n documents.reduce((dict, e, ind) => {\n let viewableStates = [\n 'document.sent',\n 'document.viewed',\n 'document.completed',\n 'document.waiting_approval',\n 'document.waiting_pay',\n 'document.upload',\n 'document.draft',\n ];\n\n const isDocNotDeleted = e.status !== 'document.deleted';\n const isDocStateViewableOrUploaded =\n viewableStates.includes(e.status) || e.box_file_id;\n if (isDocNotDeleted && isDocStateViewableOrUploaded) {\n dict.push(e);\n }\n return dict;\n }, []),\n);\n\nexport const useDocumentsNeedSigning = createSelector(useAllDocuments, documents =>\n documents.reduce((dict, e, ind) => {\n let included_states = [\n 'document.completed',\n 'document.waiting_approval',\n 'document.waiting_pay',\n 'document.upload',\n 'document.draft',\n ];\n\n if (\n e.recipients.length > 0 &&\n !e.box_file_id &&\n !included_states.includes(e.status)\n ) {\n dict.push(e);\n }\n return dict;\n }, []),\n);\n\nexport const useDocumentsNeedRevision = createSelector(useAllDocuments, documents =>\n documents.reduce((dict, e, ind) => {\n if (e.revision_count > 0 && !e.box_file_id) {\n dict.push(e);\n }\n return dict;\n }, []),\n);\n\nexport const useDocumentsCompleted = createSelector(useAllDocuments, documents =>\n documents.reduce((dict, e, ind) => {\n if (e.box_file_id) {\n dict.push(e);\n }\n return dict;\n }, []),\n);\n\nexport const getActionableDocuments = createSelector(\n getAllDocumentsArrWithHooks,\n // getDocumentsArrWithHooks,\n documents =>\n documents.reduce((dict, e, ind) => {\n let included_states = [\n 'document.sent',\n 'document.viewed',\n 'document.waiting_approval',\n 'document.waiting_pay',\n ];\n\n if (!included_states.includes(e.status) || !e.account_task_id) {\n return dict;\n }\n dict.push(e);\n return dict;\n }, []),\n);\n","const cleanHash = hash => hash.replace(/(%20| |#)/g, '');\n\nconst explode = cleanedHash => {\n return cleanedHash\n .split(',')\n .filter(String)\n .map(v => cleanHash(v));\n};\n\nexport const noHash = hash => cleanHash(hash).length === 0;\n\nexport const hashContains = (hash, check) => {\n if (!hash || !check) {\n return false;\n }\n const parts = explode(cleanHash(hash));\n\n return parts.indexOf(cleanHash(check)) !== -1;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classnames from 'classnames';\n\nimport { Button } from '../common';\n\n// import Button from '../common/Button';\nimport './AlertModal.scss';\n\n// import { Link } from 'react-router-dom';\n\nModal.setAppElement('#root');\n\nconst AlertModal = ({\n body,\n children,\n customContentStyles,\n customOverStyles,\n header,\n isOpen,\n isFetching,\n isSecondary,\n isWarning,\n isExclamationShowing,\n onClose,\n onPrimaryClick,\n primaryActionText,\n secondaryActionText,\n}) => {\n const customStyles = {\n overlay: {\n zIndex: 9,\n backgroundColor: 'rgba(0,0,0,.66)',\n position: 'fixed',\n height: '100vh',\n width: '100vw',\n display: 'flex',\n overflowY: 'auto',\n paddingTop: 20,\n WebkitOverflowScrolling: 'touch',\n ...customOverStyles,\n },\n content: {\n position: 'static',\n maxWidth: '450px',\n minHeight: '175px',\n margin: 'auto',\n padding: 0,\n border: 'none',\n borderRadius: 16,\n boxShadow: '3px 3px 3px 3px #33373859',\n display: 'flex',\n flexDirection: 'column',\n ...customContentStyles,\n },\n };\n\n return (\n {\n document.body.classList.remove('ReactModal__Body--open');\n }}\n style={customStyles}\n >\n
    \n \n

    \n {isExclamationShowing && (\n \n )}\n {header}\n

    \n {children}\n {body &&

    {body}

    }\n
    \n {/* \n {primaryActionText}\n */}\n \n {primaryActionText}\n \n
    \n
    \n \n );\n};\n\nAlertModal.propTypes = {\n body: PropTypes.string,\n children: PropTypes.node,\n customContentStyles: PropTypes.string,\n customOverStyles: PropTypes.string,\n header: PropTypes.string,\n isOpen: PropTypes.bool.isRequired,\n isFetching: PropTypes.bool,\n isSecondary: PropTypes.bool,\n isWarning: PropTypes.bool,\n isExclamationShowing: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n onPrimaryClick: PropTypes.func,\n primaryActionText: PropTypes.string,\n secondaryActionText: PropTypes.string,\n};\n\nAlertModal.defaultProps = {\n primaryActionText: 'Close',\n secondaryActionText: 'Close',\n isOpen: false,\n onClose: () => {},\n};\n\nexport default AlertModal;\n","import React, { useEffect, useState } from 'react';\n\nimport get from 'lodash-es/get';\nimport ContentExplorer from 'box-ui-elements/es/elements/content-explorer';\n\nimport { InputHelp, InputStyledTextField } from '../../inputs';\nimport savviLogo from '../../../assets/images/savvi_logo.svg';\n\nimport { Button, Dropdown } from '../../common';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport Modal from 'react-modal';\nimport './ShareLinks.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { BoxToken } from '../../../redux/modules/Cabinet/selectors';\nimport { fetchBoxLinkById } from '../../../redux/modules/Data/operations';\nimport { IsFetching } from '../../../redux/modules/Data/selectors';\nimport { CurrentCompany } from '../../../redux/modules/Company/selectors';\n\nexport const parseShareLink = function (str) {\n if (typeof str != 'string') {\n return str;\n }\n let ary = str.split('|');\n return ary.map(str => {\n let label = /\\[([^\\]]*)\\]/.exec(str);\n label = label ? label[1] : '';\n let url = /\\(([^)]*)\\)/.exec(str);\n url = url ? url[1] : '';\n return { label, url };\n });\n};\n\nconst stringifyShareLinks = function (ary) {\n if (!Array.isArray(ary)) {\n return ary;\n }\n return ary.map(obj => `[${obj.label}](${obj.url})`).join('|');\n};\n\nconst ShareLinks = ({\n field: { name, onBlur, value },\n form: { errors, setFieldValue, setFieldTouched, status, touched },\n handleFormBlur,\n isDisabled,\n isFixed,\n isRequired,\n label,\n questionHelp,\n ...props // everything that we should pass goes through here classnames etc\n}) => {\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n const error = apiError || (isTouched && get(errors, name, null));\n\n const [links, setLinks] = useState(parseShareLink(value));\n\n useEffect(() => {\n if (links.length === 0) {\n setLinks([{ label: '', url: '' }]);\n }\n }, [links]);\n\n const handleSetLink = (updatedLink, index) => {\n let updatedLinks = links;\n if (!updatedLink) {\n updatedLinks.splice(index, 1);\n } else {\n updatedLinks[index] = {\n ...updatedLink,\n };\n }\n const stringifiedLinks = stringifyShareLinks(updatedLinks);\n setLinks(updatedLinks);\n handleFormBlur({ target: { value: stringifiedLinks } });\n setFieldValue(name, updatedLinks, false);\n setFieldTouched(name, true);\n };\n\n return (\n
    \n {label && (\n \n )}\n {links.map((e, index) => (\n \n ))}\n {\n setLinks([...links, { label: '', url: '' }]);\n }}\n >\n + Add Share Link\n \n
    \n );\n};\n\nexport const ShareLink = ({\n accountId,\n error,\n index,\n isDisabled,\n isRequired,\n link,\n name,\n handleSetLink,\n questionLabel,\n}) => {\n const dispatch = useDispatch();\n const { label, url } = link;\n\n const boxToken = useSelector(BoxToken);\n const isFetching = useSelector(IsFetching);\n const currentCompany = useSelector(CurrentCompany);\n\n const boxRootFolderId = get(currentCompany, 'account.box_root_folder_id', '0');\n\n const [input, setInput] = useState(link);\n const [isActionsShowing, setIsActionsShowing] = useState(false);\n const [isExplorerShowing, setIsExplorerShowing] = useState(false);\n const [selectedFolder, setSelectedFolder] = useState({});\n\n return (\n
    \n
    \n handleSetLink(input, index)}\n onChange={e => setInput({ ...input, label: e.target.value })}\n sublabel=\"e.g. Go to Site\"\n value={input.label}\n />\n handleSetLink(input, index)}\n onChange={e => setInput({ ...input, url: e.target.value })}\n sublabel=\"e.g. https://www.somesite.com\"\n value={input.url}\n />\n
    \n setIsActionsShowing(!isActionsShowing)}\n >\n \n \n {isActionsShowing && (\n {\n e.stopPropagation();\n setIsActionsShowing(false);\n }}\n >\n {\n setIsExplorerShowing(!isExplorerShowing);\n }}\n >\n Share Document Folder\n \n {\n handleSetLink(null, index);\n }}\n >\n Remove Link\n \n \n )}\n
    \n {\n setIsExplorerShowing(false);\n }}\n overlayClassName=\"share-links__modalOverlay\"\n >\n {\n setIsExplorerShowing(false);\n }}\n icon={['fal', 'times']}\n />\n

    {questionLabel}

    \n

    Select a folder that you want to get a link for.

    \n {boxToken && (\n setIsExplorerShowing(false)}\n onNavigate={e => setSelectedFolder(e)}\n onSelect={(e, f, g) => {\n if (e[0].type === 'file') {\n return false;\n }\n setSelectedFolder(e[0]);\n }}\n token={boxToken}\n />\n )}\n

    \n Selected Folder: {selectedFolder.name || 'None Selected'}\n

    \n
    \n \n {\n dispatch(fetchBoxLinkById(selectedFolder.id, accountId)).then(e => {\n handleSetLink(\n {\n label: selectedFolder.name,\n url: get(e, 'url', ''),\n },\n index,\n );\n setSelectedFolder({});\n setInput({ label: selectedFolder.name, url: e.url });\n setIsExplorerShowing(false);\n });\n }}\n >\n Add Folder Link\n \n
    \n \n
    \n
    \n );\n};\n\nexport default ShareLinks;\n","export const FETCH_FEATURES_FOR_ROOM_REQUEST =\n 'savvi/data/FETCH_FEATURES_FOR_ROOM_REQUEST';\nexport const FETCH_FEATURES_FOR_ROOM_SUCCESS =\n 'savvi/data/FETCH_FEATURES_FOR_ROOM_SUCCESS';\nexport const FETCH_FEATURES_FOR_ROOM_FAILED = 'savvi/data/FETCH_FEATURES_FOR_ROOM_FAILED';\nexport const SET_FEATURES_FOR_ROOM = 'savvi/data/SET_FEATURES_FOR_ROOM';\n\nexport const FETCH_ACCOUNT_ROOMS_REQUEST = 'savvi/data/FETCH_ACCOUNT_ROOMS_REQUEST';\nexport const FETCH_ACCOUNT_ROOMS_SUCCESS = 'savvi/data/FETCH_ACCOUNT_ROOMS_SUCCESS';\nexport const FETCH_ACCOUNT_ROOMS_FAILED = 'savvi/data/FETCH_ACCOUNT_ROOMS_FAILED';\n\nexport const FETCH_USER_ROOMS_REQUEST = 'savvi/data/FETCH_USER_ROOMS_REQUEST';\nexport const FETCH_USER_ROOMS_SUCCESS = 'savvi/data/FETCH_USER_ROOMS_SUCCESS';\nexport const FETCH_USER_ROOMS_FAILED = 'savvi/data/FETCH_USER_ROOMS_FAILED';\nexport const SET_USER_ROOMS = 'savvi/data/SET_USER_ROOMS';\n\nexport const FETCH_INSPECT_ACCESS_CODE_REQUEST =\n 'savvi/data/FETCH_INSPECT_ACCESS_CODE_REQUEST';\nexport const FETCH_INSPECT_ACCESS_CODE_SUCCESS =\n 'savvi/data/FETCH_INSPECT_ACCESS_CODE_SUCCESS';\nexport const FETCH_INSPECT_ACCESS_CODE_FAILED =\n 'savvi/data/FETCH_INSPECT_ACCESS_CODE_FAILED';\n\nexport const FETCH_ROOM_REQUEST = 'savvi/data/FETCH_ROOM_REQUEST';\nexport const FETCH_ROOM_SUCCESS = 'savvi/data/FETCH_ROOM_SUCCESS';\nexport const FETCH_ROOM_FAILED = 'savvi/data/FETCH_ROOM_FAILED';\n\nexport const FETCH_ROOM_BY_ID_REQUEST = 'savvi/data/FETCH_ROOM_BY_ID_REQUEST';\nexport const FETCH_ROOM_BY_ID_SUCCESS = 'savvi/data/FETCH_ROOM_BY_ID_SUCCESS';\nexport const FETCH_ROOM_BY_ID_FAILED = 'savvi/data/FETCH_ROOM_BY_ID_FAILED';\nexport const FETCH_ROOM_BY_USER_REQUEST = 'savvi/data/FETCH_ROOM_BY_USER_REQUEST';\nexport const FETCH_ROOM_BY_USER_SUCCESS = 'savvi/data/FETCH_ROOM_BY_USER_SUCCESS';\nexport const FETCH_ROOM_BY_USER_FAILED = 'savvi/data/FETCH_ROOM_BY_USER_FAILED';\nexport const SET_ROOM = 'savvi/data/SET_ROOM';\n\nexport const PUT_ROOM_REQUEST = 'savvi/data/PUT_ROOM_REQUEST';\nexport const PUT_ROOM_SUCCESS = 'savvi/data/PUT_ROOM_SUCCESS';\nexport const PUT_ROOM_FAILED = 'savvi/data/PUT_ROOM_FAILED';\n\nexport const FETCH_ROOM_LINKS_REQUEST = 'savvi/data/FETCH_ROOM_LINKS_REQUEST';\nexport const FETCH_ROOM_LINKS_SUCCESS = 'savvi/data/FETCH_ROOM_LINKS_SUCCESS';\nexport const FETCH_ROOM_LINKS_FAILED = 'savvi/data/FETCH_ROOM_LINKS_FAILED';\nexport const SET_ROOM_LINKS = 'savvi/data/SET_ROOM_LINKS';\n\nexport const POST_ROOM_LINK_REQUEST = 'savvi/data/POST_ROOM_LINK_REQUEST';\nexport const POST_ROOM_LINK_SUCCESS = 'savvi/data/POST_ROOM_LINK_SUCCESS';\nexport const POST_ROOM_LINK_FAILED = 'savvi/data/POST_ROOM_LINK_FAILED';\n\nexport const PUT_ROOM_LINK_REQUEST = 'savvi/data/PUT_ROOM_LINK_REQUEST';\nexport const PUT_ROOM_LINK_SUCCESS = 'savvi/data/PUT_ROOM_LINK_SUCCESS';\nexport const PUT_ROOM_LINK_FAILED = 'savvi/data/PUT_ROOM_LINK_FAILED';\n\nexport const DELETE_ROOM_LINK_REQUEST = 'savvi/data/DELETE_ROOM_LINK_REQUEST';\nexport const DELETE_ROOM_LINK_SUCCESS = 'savvi/data/DELETE_ROOM_LINK_SUCCESS';\nexport const DELETE_ROOM_LINK_FAILED = 'savvi/data/DELETE_ROOM_LINK_FAILED';\n\nexport const FETCH_ROOM_DOCUMENTS_REQUEST = 'savvi/data/FETCH_ROOM_DOCUMENTS_REQUEST';\nexport const FETCH_ROOM_DOCUMENTS_SUCCESS = 'savvi/data/FETCH_ROOM_DOCUMENTS_SUCCESS';\nexport const FETCH_ROOM_DOCUMENTS_FAILED = 'savvi/data/FETCH_ROOM_DOCUMENTS_FAILED';\nexport const SET_ROOM_DOCUMENTS = 'savvi/data/SET_ROOM_DOCUMENTS';\n\nexport const POST_ROOM_DOCUMENT_REQUEST = 'savvi/data/POST_ROOM_DOCUMENT_REQUEST';\nexport const POST_ROOM_DOCUMENT_SUCCESS = 'savvi/data/POST_ROOM_DOCUMENT_SUCCESS';\nexport const POST_ROOM_DOCUMENT_FAILED = 'savvi/data/POST_ROOM_DOCUMENT_FAILED';\n\nexport const PUT_ROOM_DOCUMENT_REQUEST = 'savvi/data/PUT_ROOM_DOCUMENT_REQUEST';\nexport const PUT_ROOM_DOCUMENT_SUCCESS = 'savvi/data/PUT_ROOM_DOCUMENT_SUCCESS';\nexport const PUT_ROOM_DOCUMENT_FAILED = 'savvi/data/PUT_ROOM_DOCUMENT_FAILED';\n\nexport const DELETE_ROOM_DOCUMENT_REQUEST = 'savvi/data/DELETE_ROOM_DOCUMENT_REQUEST';\nexport const DELETE_ROOM_DOCUMENT_SUCCESS = 'savvi/data/DELETE_ROOM_DOCUMENT_SUCCESS';\nexport const DELETE_ROOM_DOCUMENT_FAILED = 'savvi/data/DELETE_ROOM_DOCUMENT_FAILED';\n\nexport const POST_ROOM_REPORT_REQUEST = 'savvi/data/POST_ROOM_REPORT_REQUEST';\nexport const POST_ROOM_REPORT_SUCCESS = 'savvi/data/POST_ROOM_REPORT_SUCCESS';\nexport const POST_ROOM_REPORT_FAILED = 'savvi/data/POST_ROOM_REPORT_FAILED';\n\nexport const DELETE_ROOM_REPORT_REQUEST = 'savvi/data/DELETE_ROOM_REPORT_REQUEST';\nexport const DELETE_ROOM_REPORT_SUCCESS = 'savvi/data/DELETE_ROOM_REPORT_SUCCESS';\nexport const DELETE_ROOM_REPORT_FAILED = 'savvi/data/DELETE_ROOM_REPORT_FAILED';\n\nexport const POST_ROOM_FEATURE_REQUEST = 'savvi/data/POST_ROOM_FEATURE_REQUEST';\nexport const POST_ROOM_FEATURE_SUCCESS = 'savvi/data/POST_ROOM_FEATURE_SUCCESS';\nexport const POST_ROOM_FEATURE_FAILED = 'savvi/data/POST_ROOM_FEATURE_FAILED';\n\nexport const PUT_ROOM_FEATURE_REQUEST = 'savvi/data/PUT_ROOM_FEATURE_REQUEST';\nexport const PUT_ROOM_FEATURE_SUCCESS = 'savvi/data/PUT_ROOM_FEATURE_SUCCESS';\nexport const PUT_ROOM_FEATURE_FAILED = 'savvi/data/PUT_ROOM_FEATURE_FAILED';\n\nexport const DELETE_ROOM_FEATURE_REQUEST = 'savvi/data/DELETE_ROOM_FEATURE_REQUEST';\nexport const DELETE_ROOM_FEATURE_SUCCESS = 'savvi/data/DELETE_ROOM_FEATURE_SUCCESS';\nexport const DELETE_ROOM_FEATURE_FAILED = 'savvi/data/DELETE_ROOM_FEATURE_FAILED';\n\nexport const POST_ROOM_USER_REQUEST = 'savvi/data/POST_ROOM_USER_REQUEST';\nexport const POST_ROOM_USER_SUCCESS = 'savvi/data/POST_ROOM_USER_SUCCESS';\nexport const POST_ROOM_USER_FAILED = 'savvi/data/POST_ROOM_USER_FAILED';\n\nexport const PUT_ROOM_USER_REQUEST = 'savvi/data/PUT_ROOM_USER_REQUEST';\nexport const PUT_ROOM_USER_SUCCESS = 'savvi/data/PUT_ROOM_USER_SUCCESS';\nexport const PUT_ROOM_USER_FAILED = 'savvi/data/PUT_ROOM_USER_FAILED';\n\nexport const DELETE_ROOM_USER_REQUEST = 'savvi/data/DELETE_ROOM_USER_REQUEST';\nexport const DELETE_ROOM_USER_SUCCESS = 'savvi/data/DELETE_ROOM_USER_SUCCESS';\nexport const DELETE_ROOM_USER_FAILED = 'savvi/data/DELETE_ROOM_USER_FAILED';\n\nexport const SWAP_ROOM_LINKS_REQUEST = 'savvi/data/SWAP_ROOM_LINKS_REQUEST';\nexport const SWAP_ROOM_LINKS_SUCCESS = 'savvi/data/SWAP_ROOM_LINKS_SUCCESS';\nexport const SWAP_ROOM_LINKS_FAILED = 'savvi/data/SWAP_ROOM_LINKS_FAILED';\n\nexport const SWAP_ROOM_DOCUMENTS_REQUEST = 'savvi/data/SWAP_ROOM_DOCUMENTS_REQUEST';\nexport const SWAP_ROOM_DOCUMENTS_SUCCESS = 'savvi/data/SWAP_ROOM_DOCUMENTS_SUCCESS';\nexport const SWAP_ROOM_DOCUMENTS_FAILED = 'savvi/data/SWAP_ROOM_DOCUMENTS_FAILED';\n\nexport const SWAP_ROOM_REPORTS_REQUEST = 'savvi/data/SWAP_ROOM_REPORTS_REQUEST';\nexport const SWAP_ROOM_REPORTS_SUCCESS = 'savvi/data/SWAP_ROOM_REPORTS_SUCCESS';\nexport const SWAP_ROOM_REPORTS_FAILED = 'savvi/data/SWAP_ROOM_REPORTS_FAILED';\n\nexport const FETCH_ROOM_TOKEN_REQUEST = 'savvi/data/FETCH_ROOM_TOKEN_REQUEST';\nexport const FETCH_ROOM_TOKEN_SUCCESS = 'savvi/data/FETCH_ROOM_TOKEN_SUCCESS';\nexport const FETCH_ROOM_TOKEN_FAILED = 'savvi/data/FETCH_ROOM_TOKEN_FAILED';\nexport const SET_ROOM_TOKEN = 'savvi/data/SET_ROOM_TOKEN';\n\nexport const UPDATE_LINK_REQUEST = 'savvi/data/UPDATE_LINK_REQUEST';\nexport const UPDATE_LINK_SUCCESS = 'savvi/data/UPDATE_LINK_SUCCESS';\nexport const UPDATE_LINK_FAILED = 'savvi/data/UPDATE_LINK_FAILED';\n\nexport const FETCH_LINK_BY_ID_REQUEST = 'savvi/data/FETCH_LINK_BY_ID_REQUEST';\nexport const FETCH_LINK_BY_ID_SUCCESS = 'savvi/data/FETCH_LINK_BY_ID_SUCCESS';\nexport const FETCH_LINK_BY_ID_FAILED = 'savvi/data/FETCH_LINK_BY_ID_FAILED';\n\nexport const GET_LINK_REQUEST = 'savvi/data/GET_LINK_REQUEST';\nexport const GET_LINK_SUCCESS = 'savvi/data/GET_LINK_SUCCESS';\nexport const GET_LINK_FAILED = 'savvi/data/GET_LINK_FAILED';\n\nexport const POST_LINK_REQUEST = 'savvi/data/POST_LINK_REQUEST';\nexport const POST_LINK_SUCCESS = 'savvi/data/POST_LINK_SUCCESS';\nexport const POST_LINK_FAILED = 'savvi/data/POST_LINK_FAILED';\n\nexport const SET_LINK = 'savvi/data/SET_LINK';\n\nexport const FETCH_ROOM_CODES_REQUEST = 'savvi/data/FETCH_ROOM_CODES_REQUEST';\nexport const FETCH_ROOM_CODES_SUCCESS = 'savvi/data/FETCH_ROOM_CODES_SUCCESS';\nexport const FETCH_ROOM_CODES_FAILED = 'savvi/data/FETCH_ROOM_CODES_FAILED';\n\nexport const POST_ROOM_CODE_REQUEST = 'savvi/data/POST_ROOM_CODE_REQUEST';\nexport const POST_ROOM_CODE_SUCCESS = 'savvi/data/POST_ROOM_CODE_SUCCESS';\nexport const POST_ROOM_CODE_FAILED = 'savvi/data/POST_ROOM_CODE_FAILED';\n\nexport const DELETE_ROOM_CODE_REQUEST = 'savvi/data/DELETE_ROOM_CODE_REQUEST';\nexport const DELETE_ROOM_CODE_SUCCESS = 'savvi/data/DELETE_ROOM_CODE_SUCCESS';\nexport const DELETE_ROOM_CODE_FAILED = 'savvi/data/DELETE_ROOM_CODE_FAILED';\nexport const SET_ROOM_CODES = 'savvi/data/SET_ROOM_CODES';\n\nexport const FETCH_ROOM_ACCESS_LOG_REQUEST = 'savvi/data/FETCH_ROOM_ACCESS_LOG_REQUEST';\nexport const FETCH_ROOM_ACCESS_LOG_SUCCESS = 'savvi/data/FETCH_ROOM_ACCESS_LOG_SUCCESS';\nexport const FETCH_ROOM_ACCESS_LOG_FAILED = 'savvi/data/FETCH_ROOM_ACCESS_LOG_FAILED';\nexport const SET_ROOM_ACCESS_LOG = 'savvi/data/SET_ROOM_ACCESS_LOG';\n\nexport const FETCH_ROOM_HISTORY_REQUEST = 'savvi/data/FETCH_ROOM_HISTORY_REQUEST';\nexport const FETCH_ROOM_HISTORY_SUCCESS = 'savvi/data/FETCH_ROOM_HISTORY_SUCCESS';\nexport const FETCH_ROOM_HISTORY_FAILED = 'savvi/data/FETCH_ROOM_HISTORY_FAILED';\nexport const SET_ROOM_HISTORY = 'savvi/data/SET_ROOM_HISTORY';\nexport const POST_ROOM_HISTORY_REQUEST = 'savvi/data/POST_ROOM_HISTORY_REQUEST';\nexport const POST_ROOM_HISTORY_SUCCESS = 'savvi/data/POST_ROOM_HISTORY_SUCCESS';\nexport const POST_ROOM_HISTORY_FAILED = 'savvi/data/POST_ROOM_HISTORY_FAILED';\n\nexport const FETCH_ROOM_PARTICIPANTS_REQUEST =\n 'savvi/data/FETCH_ROOM_PARTICIPANTS_REQUEST';\nexport const FETCH_ROOM_PARTICIPANTS_SUCCESS =\n 'savvi/data/FETCH_ROOM_PARTICIPANTS_SUCCESS';\nexport const FETCH_ROOM_PARTICIPANTS_FAILED = 'savvi/data/FETCH_ROOM_PARTICIPANTS_FAILED';\nexport const SET_ROOM_PARTICIPANTS = 'savvi/data/SET_ROOM_PARTICIPANTS';\n","import { get } from 'lodash-es';\nimport { defaultMemoize } from 'reselect';\n\n// import { SubscriptionsFeaturesDict } from '../../../utils/SubscriptionsDict';\n\nexport const getSubscriptionsData = defaultMemoize(state =>\n get(state, 'subscription.subscriptions.data', []),\n);\n\nexport const IsFetching = defaultMemoize(state =>\n get(state, 'Billing.isFetching', false),\n);\n\nexport const PlaidToken = defaultMemoize(state => get(state, 'Billing.plaidToken', ''));\n\nexport const ApiErrors = defaultMemoize(state => get(state, 'Billing.ApiErrors', false));\n\nexport const PlanPreviewTotal = defaultMemoize(state => {\n let total = get(state, 'Billing.subscriptionPreview.amount_due', null);\n if (total) {\n return total / 100;\n }\n});\n\nexport const Invoices = defaultMemoize(state => get(state, 'Billing.invoices', []));\n\nexport const getFetchError = defaultMemoize(state => get(state, 'fetchError', null));\n\nexport const PaymentMethods = defaultMemoize(state =>\n get(state, 'Billing.methods', []).map(method => ({ ...method })),\n);\n\nexport const IsPaymentMethodAvailable = defaultMemoize(\n state => get(state, 'Billing.methods', []).length > 0,\n);\n\nexport const PaymentMethodsWithDefault = defaultMemoize(state =>\n get(state, 'Billing.methods', []).map(method => ({\n ...method,\n is_default: method.id === state.Billing.defaultMethod,\n })),\n);\n\nexport const FilteredPaymentMethodsWithDefault = defaultMemoize(state =>\n get(state, 'Billing.methods', [])\n .filter(e => e.status !== 'new' && e.status !== 'verification_failed')\n .map(method => ({\n ...method,\n is_default: method.id === state.Billing.defaultMethod,\n })),\n);\n","export default __webpack_public_path__ + \"static/media/pdf_thumbnail.b42a1232.png\";","import React, { useEffect, useMemo, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { BoxToken } from '../../redux/modules/Cabinet/selectors';\nimport Modal from 'react-modal';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\n\nimport { Button, Tooltip } from '../common';\n\nimport './FilePreviewer.scss';\nimport {\n getBoxFileForDataRoom,\n getUserDocumentBoxToken,\n} from '../../redux/modules/Cabinet/operations';\nimport pdfThumbnail from '../../assets/images/pdf_thumbnail.png';\nimport { ReactComponent as DocPreviewSVG } from '../../assets/images/doc_preview.svg';\nimport ContentPreview from 'box-ui-elements/es/elements/content-preview';\nimport { requestHeaders } from '../../redux/utils/api';\nimport { generateBem } from '../../utils/generateBem';\nimport { Document, Page } from 'react-pdf';\nimport { createRoomHistory } from '../../redux/modules/Data/operations';\nimport { BrandMeta } from '../../redux/modules/UI/selectors';\n\nconst bem = generateBem('FilePreviewer');\n\nexport const FilePreviewer = ({\n accessCode,\n boxToken,\n boxFileId,\n customClass,\n customLabel,\n documentId,\n fileLabel,\n height = 80,\n isDataRoom,\n isLinkOnHover,\n labelActionType = 'link',\n labelPosition = 'below',\n labelText,\n isThumbnailShowing,\n isPlaceholderShowing,\n isUserTable,\n reportsFeatureTypeId,\n resourceId,\n roomId,\n width = 80,\n isDocumentTemplate,\n previewLink,\n}) => {\n const dispatch = useDispatch();\n const companyBoxToken = useSelector(BoxToken);\n const [error, setError] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n const [boxAccessToken, setBoxAccessToken] = useState(null);\n const [isTokenFetched, setIsTokenFetched] = useState(false);\n\n useEffect(() => {\n const passCheck = isOpen || (isThumbnailShowing && !isPlaceholderShowing);\n if (!isTokenFetched && passCheck) {\n setIsTokenFetched(true);\n if (isDataRoom && resourceId) {\n dispatch(\n getBoxFileForDataRoom(\n boxFileId,\n accessCode,\n `?reports_feature_type_id=${reportsFeatureTypeId}&resource_id=${resourceId}`,\n ),\n ).then(\n payload => setBoxAccessToken(payload.token.accessToken),\n error => setError(error.message),\n );\n } else if (isUserTable && documentId) {\n dispatch(getUserDocumentBoxToken(documentId)).then(\n token => setBoxAccessToken(token.accessToken),\n error => setError(error.message),\n );\n }\n }\n }, [\n dispatch,\n accessCode,\n boxToken,\n boxFileId,\n documentId,\n isDataRoom,\n isOpen,\n isThumbnailShowing,\n isPlaceholderShowing,\n isUserTable,\n isTokenFetched,\n reportsFeatureTypeId,\n resourceId,\n ]);\n\n const handleModalClose = e => {\n e.preventDefault();\n setIsOpen(false);\n };\n const handleBoxResponseInterceptor = e => {\n if (e.type === 'error' || e instanceof Error) {\n setError('Unable to preview file at this time.');\n } else if (!!accessCode && isOpen && e.data?.type === 'file') {\n dispatch(\n createRoomHistory(\n accessCode,\n {\n box_file_id: boxFileId,\n action: !e.data.download_url ? 'view' : 'download',\n customer_label: !!fileLabel ? customLabel : '',\n file_label: fileLabel || customLabel,\n },\n roomId,\n ),\n );\n }\n return e;\n };\n\n const LabelAction = () =>\n isLinkOnHover && !error ? (\n {\n e.preventDefault();\n setIsOpen(!isOpen);\n }}\n >\n {labelText || pdfLabel}\n \n ) : (\n

    {pdfLabel}

    \n );\n\n const defaultBoxToken = boxAccessToken || boxToken || companyBoxToken;\n const shouldBoxPreviewShow = !!boxFileId && !!defaultBoxToken;\n const pdfLabel = customLabel || 'File Preview';\n const isLinkDisabled =\n !isLinkOnHover || !boxFileId || (isDataRoom && isDocumentTemplate);\n const shouldShowReactPdfThumbnail =\n isDocumentTemplate && !isPlaceholderShowing && !isDataRoom && !!boxFileId;\n let thumbnailType = 'pdfPlaceholder';\n if (shouldShowReactPdfThumbnail) {\n thumbnailType = 'reactPdf';\n } else if (isPlaceholderShowing && !isDocumentTemplate) {\n thumbnailType = 'filesSvg';\n } else if (!isPlaceholderShowing && !isDocumentTemplate) {\n thumbnailType = shouldBoxPreviewShow ? 'boxPreview' : 'filesSvg';\n }\n\n // Modal hide/show logic.\n // const isDataRoomBoxPreviewVisible =\n // !!isDataRoom && boxAccessToken && !error && !isDocumentTemplate;\n const isBoxPreviewVisible = !!defaultBoxToken && !error && !isDocumentTemplate;\n const isReactPdfPreviewVisible = !error && isDocumentTemplate;\n\n return (\n <>\n {\n if (!isLinkDisabled) {\n e.preventDefault();\n setIsOpen(!isOpen);\n setError(false);\n }\n }}\n >\n {labelPosition === 'above' && }\n {isThumbnailShowing && (\n
    \n {!error && (\n <>\n {thumbnailType === 'boxPreview' && (\n \n )}\n {thumbnailType === 'reactPdf' && (\n \n )}\n {thumbnailType === 'pdfPlaceholder' && (\n \n )}\n {thumbnailType === 'filesSvg' && (\n \n )}\n \n )}\n {!!error && }\n
    \n )}\n {labelPosition === 'below' && }\n \n {isLinkOnHover && (\n (\n {\n e.preventDefault();\n }}\n >\n {children}\n \n )}\n isOpen={isOpen}\n onRequestClose={handleModalClose}\n overlayClassName={bem('modalOverlay')}\n >\n \n

    ({pdfLabel})

    \n {/* {isDataRoomBoxPreviewVisible && (\n \n )} */}\n {isBoxPreviewVisible && (\n \n )}\n {isReactPdfPreviewVisible && (\n \n )}\n {!!error && (\n

    \n \n {error}\n

    \n )}\n \n )}\n \n );\n};\n\nconst ReactPDFBem = generateBem('ReactPDF');\n\nexport const ReactPDFViewer = ({\n boxFileId,\n height = 740,\n isThumbnail,\n previewLink,\n // setError,\n showControls,\n}) => {\n const [numPages, setNumPages] = useState('loading');\n const [pageNumber, setPageNumber] = useState(1);\n const [error, setError] = useState(false);\n const brandMeta = useSelector(BrandMeta);\n\n const onDocumentLoadSuccess = ({ numPages, ...rest }) => {\n setNumPages(numPages);\n setError('');\n };\n const handleLoadError = error => {\n console.error(error.message);\n setError(\n isThumbnail\n ? 'Unable to preview at this time.'\n : 'Unable to preview template at this time. If error persists on refresh, please contact your account admin or support.',\n );\n };\n\n const filePath = useMemo(\n () => ({\n url: `${brandMeta.web_base_url}/api/account/box/file/${boxFileId}`,\n httpHeaders: requestHeaders(true),\n }),\n [boxFileId, brandMeta.web_base_url],\n );\n return (\n
    \n \n \n

    Loading PDF....

    \n
    \n }\n onLoadSuccess={onDocumentLoadSuccess}\n onLoadError={handleLoadError}\n onSourceError={handleLoadError}\n >\n \n \n

    Loading Page....

    \n \n }\n onLoadError={handleLoadError}\n onRenderError={handleLoadError}\n pageNumber={pageNumber}\n height={height}\n />\n {showControls && (\n
    \n {numPages > 1 && (\n setPageNumber(pageNumber - 1)}\n aria-label=\"Previous page\"\n >\n \n \n )}\n \n {pageNumber} of {numPages}\n \n {\n const win = window.open(previewLink, '_blank');\n win.focus();\n }}\n >\n \n \n \n {numPages > 1 && (\n = numPages}\n onClick={e => setPageNumber(pageNumber + 1)}\n aria-label=\"Next page\"\n >\n \n \n )}\n
    \n )}\n {!!error &&

    {error}

    }\n \n \n );\n};\n","import toUpper from 'lodash-es/toUpper';\n\nimport * as Types from './types';\n\n/**\n * General action that handles updating a specific data model.\n * Can be used to get Module, Task, Subtask, or Deliverable\n *\n * @param {('module'|'task'|'subtask'|'deliverable')} modelName\n * :: used to match a Type to the action. (single)\n * @return {object} Action object with 'type' property.\n */\nexport function setModelByKey(payload, key) {\n return {\n type: Types[`SET_${toUpper(key)}`],\n payload,\n };\n}\n\n/**\n * General action that handles setting multiple of a specific data model.\n * Can be used to set Module, Task, Subtask, or Deliverable\n *\n * @param {('module'|'task'|'subtask'|'deliverable')} modelName\n * :: used to match a Type to the action. (single)\n * @return {object} Action object with 'type' property.\n */\nexport function setModelsByKey(payload, key) {\n return {\n type: Types[`SET_${toUpper(key)}S`],\n payload,\n };\n}\n\nexport function setModelsBySlug(payload, key) {\n return {\n type: Types[`SET_${toUpper(key)}S`],\n payload,\n };\n}\n\n/**\n * General action that handles updating a specific data model.\n * Can be used to get Module, Task, Subtask, or Deliverable\n *\n * @param {('module'|'task'|'subtask'|'deliverable')} modelName\n * :: used to match a Type to the action. (single)\n * @return {object} Action object with 'type' property.\n */\nexport function updateModelByKey(payload, key) {\n return {\n type: Types[`UPDATE_${toUpper(key)}`],\n payload,\n };\n}\n\nexport function setResourcesByTypeId(payload, resourceTypeId) {\n return {\n type: Types[`SET_RESOURCES_BY_TYPE_ID`],\n payload,\n resourceTypeId,\n };\n}\n\nexport function setResourceById(payload, resourceTypeId) {\n return {\n type: Types[`SET_RESOURCE_BY_ID`],\n payload,\n resourceTypeId,\n };\n}\n\nexport function clearErrors(payload, key) {\n return {\n type: Types['CLEAR_ERRORS'],\n };\n}\n\nexport function setFeatures(payload, slug) {\n return {\n type: Types['SET_FEATURES'],\n payload,\n slug,\n };\n}\n\nexport function patchFeature(payload, individualName, featureName) {\n return {\n type: Types['PATCH_FEATURE'],\n payload,\n featureName,\n individualName,\n };\n}\n\nexport function setFeature(payload, individualName, featureName) {\n return {\n type: Types['SET_FEATURE'],\n payload,\n individualName,\n featureName,\n };\n}\n\nexport function setAccountInfo(payload) {\n return {\n type: Types['SET_ACCOUNT_INFO'],\n payload,\n };\n}\n\nexport function removeIndividual(resourceId) {\n return {\n type: Types['REMOVE_INDIVIDUAL'],\n resourceId,\n };\n}\n","import {\n ADD_SAVVI_PARTNER_GROUP_MEMBER,\n REMOVE_SAVVI_PARTNER_GROUP_MEMBER,\n SET_COUNSELS,\n SET_EMAILS,\n SET_FEATURE_CHANGES,\n SET_SAVVI_PARTNERS,\n SET_SAVVI_PARTNER_GROUP,\n SET_TEAMS,\n UPDATE,\n UPDATE_SAVVI_PARTNER_GROUP_MEMBER,\n} from './types';\n\nexport const updateSettings = settings => ({\n type: UPDATE,\n payload: settings,\n});\nexport const setCounsels = payload => ({\n type: SET_COUNSELS,\n payload,\n});\nexport const setSavviPartners = payload => ({\n type: SET_SAVVI_PARTNERS,\n payload,\n});\nexport const setSavviPartnerGroup = payload => ({\n type: SET_SAVVI_PARTNER_GROUP,\n payload,\n});\nexport const setTeams = payload => ({\n type: SET_TEAMS,\n payload,\n});\nexport const addPartnerGroupMember = (payload, groupId) => ({\n type: ADD_SAVVI_PARTNER_GROUP_MEMBER,\n payload,\n groupId,\n});\nexport const updatePartnerGroupMember = (payload, groupId) => ({\n type: UPDATE_SAVVI_PARTNER_GROUP_MEMBER,\n payload,\n groupId,\n});\nexport const removePartnerGroupMember = (groupId, individualId) => ({\n type: REMOVE_SAVVI_PARTNER_GROUP_MEMBER,\n groupId,\n individualId,\n});\n\nexport const setEmails = emails => {\n return {\n type: SET_EMAILS,\n payload: emails,\n };\n};\n\nexport const setFeatureChanges = featureChanges => {\n return {\n type: SET_FEATURE_CHANGES,\n payload: featureChanges,\n };\n};\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Field, Form, Formik } from 'formik';\n\nimport {\n FormattedAssigneeOptions,\n IsFetching,\n} from '../../redux/modules/Todos/selectors';\nimport { validateDate } from '../../utils/FeatureTypes';\nimport { Button } from '../common';\nimport { Select, Textarea, TextField } from '../formik';\nimport {\n assignTaskTodo,\n getAssigneeOptions,\n updateTodo,\n} from '../../redux/modules/Todos/operations';\n\nimport './AssignTodo.scss';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/esm/plugin/customParseFormat';\n\ndayjs.extend(customParseFormat);\n\nconst customStyles = {\n overlay: {\n zIndex: 9,\n backgroundColor: 'rgba(0,0,0,.66)',\n position: 'fixed',\n height: '100vh',\n width: '100vw',\n display: 'flex',\n overflowY: 'auto',\n paddingTop: 20,\n WebkitOverflowScrolling: 'touch',\n },\n content: {\n position: 'static',\n maxWidth: '450px',\n minHeight: '250px',\n margin: 'auto',\n padding: 0,\n border: 'none',\n boxShadow: '3px 3px 3px 3px #33373859',\n display: 'flex',\n flexDirection: 'column',\n minWidth: 420,\n },\n};\n\nexport const priorityOptions = [\n { label: '--', value: 0, color: '#0d2238' },\n { label: 'Low', value: 1, color: '#86dbc1' },\n { label: 'Medium', value: 2, color: '#c2b946' },\n { label: 'High', value: 3, color: '#db6949' },\n];\n\nconst selectStyles = {\n option: (styles, { data, isSelected }) => ({\n ...styles,\n backgroundColor: (isSelected && data.color) || null,\n color: (isSelected && 'white') || data.color,\n cursor: 'pointer',\n ':hover': {\n ...styles['hover'],\n backgroundColor: data.color,\n color: 'white',\n },\n }),\n input: (styles, { data }) => ({\n ...styles,\n color: data.color,\n }),\n singleValue: (styles, { data }) => ({\n ...styles,\n color: data.color,\n }),\n};\n\nexport const AssignTodo = ({\n handleDeleteTodo,\n isActionDisabled,\n isInline,\n isModalOpen,\n isMyDashboard,\n isNew,\n todoMeta,\n toggleModal,\n}) => {\n const { account_id, id, initTodoVals, project_template_id } = todoMeta;\n const dispatch = useDispatch();\n\n const isFetching = useSelector(IsFetching);\n const assigneeOptions = useSelector(state =>\n FormattedAssigneeOptions(state, account_id, project_template_id),\n );\n\n const [initialized, setInitialized] = useState(false);\n\n useEffect(() => {\n if (!isFetching && isModalOpen && assigneeOptions.length === 0 && !initialized) {\n setInitialized(true);\n dispatch(getAssigneeOptions(account_id, project_template_id, isMyDashboard));\n }\n if (!isModalOpen && initialized) {\n setInitialized(false);\n }\n }, [\n assigneeOptions,\n account_id,\n dispatch,\n id,\n initialized,\n isFetching,\n isMyDashboard,\n project_template_id,\n isModalOpen,\n ]);\n\n return (\n <>\n {isInline && (\n \n \n \n )}\n {isModalOpen && (\n \n
    e.stopPropagation()}>\n \n

    \n {`${isNew ? 'Assign' : 'Update'} To-do`}\n {!isNew && project_template_id !== 88 && (\n \n handleDeleteTodo(id, false, account_id).then(e => toggleModal(e))\n }\n >\n \n \n )}\n

    \n {\n const submitFunc = isNew ? assignTaskTodo : updateTodo;\n if (deadline) {\n deadline = dayjs(deadline + 'T21:00:00.000Z', 'MM/DD/YYYY').format();\n } else {\n deadline = null;\n }\n dispatch(\n submitFunc(\n id,\n {\n deadline,\n user_id: selectedAssignee && selectedAssignee.user_id,\n partner_id: selectedAssignee && selectedAssignee.partner_id,\n label: label,\n base_level: selectedPriority.value,\n },\n isMyDashboard,\n account_id,\n true,\n ),\n ).then(toggleModal, toggleModal);\n }}\n validateOnChange={false}\n >\n {formikProps => (\n
    \n \n \n \n validateDate(val, true)}\n />\n
    \n \n Cancel\n \n \n
    \n \n )}\n \n
    \n
    \n )}\n \n );\n};\n\nexport const MultiAssignTodos = ({\n account_id,\n handleDeleteTodos,\n isActionDisabled,\n isModalOpen,\n isMyDashboard,\n handleUpdateTodos,\n toggleModal,\n}) => {\n const dispatch = useDispatch();\n\n const isFetching = useSelector(IsFetching);\n const [initialized, setInitialized] = useState(false);\n const assigneeOptions = useSelector(state =>\n FormattedAssigneeOptions(state, account_id, 'all'),\n );\n\n useEffect(() => {\n if (isModalOpen && assigneeOptions.length === 0 && initialized) {\n setInitialized(true);\n dispatch(getAssigneeOptions(account_id, 'all', isMyDashboard));\n }\n if (!isModalOpen && !initialized) {\n setInitialized(false);\n }\n }, [assigneeOptions, account_id, dispatch, initialized, isModalOpen, isMyDashboard]);\n\n return (\n <>\n \n \n \n {isModalOpen && (\n \n
    \n \n

    \n Update Todos\n handleDeleteTodos()}\n >\n \n \n

    \n \n {formikProps => (\n
    \n \n {!isMyDashboard && (\n \n )}\n validateDate(val, true)}\n />\n
    \n \n Cancel\n \n \n
    \n \n )}\n \n
    \n
    \n )}\n \n );\n};\n\nAssignTodo.propTypes = {\n account_id: PropTypes.number,\n handleDeleteTodo: PropTypes.func,\n id: PropTypes.number,\n initTodoVals: PropTypes.shape({\n deadline: PropTypes.string,\n label: PropTypes.string,\n selectedAssignee: PropTypes.object,\n selectedPriority: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.number,\n color: PropTypes.string,\n }),\n }),\n isModalOpen: PropTypes.bool,\n isMyDashboard: PropTypes.bool,\n isNew: PropTypes.bool,\n project_template_id: PropTypes.number,\n toggleModal: PropTypes.func,\n};\n","import { RSAA } from 'redux-api-middleware';\n\nimport { requestHeaders } from '../../utils/api';\nimport { setNotice } from '../UI/actions';\nimport { setEmailVerification } from '../User/utils';\nimport {\n setCounsels,\n setEmails,\n setFeatureChanges,\n setSavviPartners,\n setTeams,\n updateSettings,\n} from './actions';\nimport * as types from './types';\n\nconst getSettings = () => {\n const { GET_REQUEST, GET_SUCCESS, GET_FAILED } = types;\n return async (dispatch, getState) => {\n const actionResponse = await Promise.resolve(\n dispatch({\n [RSAA]: {\n endpoint: '/api/user/settings/profile',\n method: 'GET',\n headers: requestHeaders(true, 'user'),\n types: [GET_REQUEST, GET_SUCCESS, GET_FAILED],\n },\n }),\n );\n if (!actionResponse.error) {\n return dispatch(updateSettings(actionResponse.payload));\n } else {\n throw await new Error(actionResponse.payload?.message);\n }\n };\n};\n\nconst saveSettings = data => {\n const { SAVE_REQUEST, SAVE_FAILED, SAVE_SUCCESS } = types;\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/user/settings/profile',\n method: 'PUT',\n headers: requestHeaders(true, 'user'),\n types: [SAVE_REQUEST, SAVE_SUCCESS, SAVE_FAILED],\n body: JSON.stringify(data),\n },\n });\n if (!actionResponse.error) {\n dispatch(updateSettings(actionResponse.payload));\n dispatch(setNotice('profile updated'));\n }\n dispatch(setNotice({ type: 'warning', message: actionResponse.payload?.message }));\n throw await new Error(actionResponse.payload?.message);\n };\n};\n\nconst changePassword = passwords => {\n const { PASSWORD_REQUEST, PASSWORD_FAILED, PASSWORD_SUCCESS } = types;\n return async (dispatch, getState) => {\n const body = JSON.stringify(passwords);\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/user/settings/password',\n method: 'PUT',\n headers: requestHeaders(true, 'user'),\n types: [PASSWORD_REQUEST, PASSWORD_SUCCESS, PASSWORD_FAILED],\n body,\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Your password has been successfully changed.'));\n return await actionResponse.payload;\n } else {\n throw await actionResponse.payload;\n }\n };\n};\n\nconst getFeatureChanges = () => {\n const {\n GET_FEATURE_CHANGES_REQUEST: REQUEST,\n GET_FEATURE_CHANGES_FAILED: FAILED,\n GET_FEATURE_CHANGES_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/user/settings/profile/feature_change',\n method: 'GET',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setFeatureChanges(actionResponse.payload.feature_changes));\n }\n };\n};\n\nconst setFeatureChangesDate = () => {\n const {\n SET_FEATURE_CHANGES_DATE_REQUEST: REQUEST,\n SET_FEATURE_CHANGES_DATE_FAILED: FAILED,\n SET_FEATURE_CHANGES_DATE_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/user/settings/profile/feature_change',\n method: 'POST',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(getSettings());\n dispatch(getFeatureChanges());\n return await actionResponse;\n }\n };\n};\n\n//Update Email Ops\n\nconst fetchEmailsToVerify = () => {\n const {\n GET_EMAILS_REQUEST: REQUEST,\n GET_EMAILS_FAILED: FAILED,\n GET_EMAILS_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/user/settings/profile/email',\n method: 'GET',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setEmails(actionResponse.payload));\n }\n };\n};\n\nconst sendUpdatedEmailCode = email => {\n const {\n SEND_EMAIL_CODE_REQUEST: REQUEST,\n SEND_EMAIL_CODE_FAILED: FAILED,\n SEND_EMAIL_CODE_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/user/settings/profile/email',\n method: 'PATCH',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify({ email }),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Updated Email Verification Code Sent'));\n return await setEmailVerification('email-change-code', actionResponse.payload)[\n 'email-change-code'\n ];\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n throw new Error(actionResponse.payload.message);\n }\n };\n};\n\nconst deleteVerificationRequest = email => {\n const {\n DELETE_EMAIL_VERIFICATION_REQUEST: REQUEST,\n DELETE_EMAIL_VERIFICATION_FAILED: FAILED,\n DELETE_EMAIL_VERIFICATION_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/user/settings/profile/email',\n method: 'DELETE',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify({ email }),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Email Verification Deleted'));\n dispatch(fetchEmailsToVerify());\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n }\n };\n};\n\nconst verifyUpdatedEmail = (email, code) => {\n const {\n VERIFY_UPDATED_EMAIL_REQUEST: REQUEST,\n VERIFY_UPDATED_EMAIL_FAILED: FAILED,\n VERIFY_UPDATED_EMAIL_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/settings/profile/email/${code}`,\n method: 'PATCH',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify({ email }),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Email Updated'));\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n }\n };\n};\n\nconst getCounsels = () => {\n const {\n GET_COUNSELS_REQUEST: REQUEST,\n GET_COUNSELS_FAILED: FAILED,\n GET_COUNSELS_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/counsel',\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(setCounsels(actionResponse.payload));\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n }\n };\n};\n\nconst getSavviPartners = () => {\n const {\n GET_SAVVI_PARTNERS_REQUEST: REQUEST,\n GET_SAVVI_PARTNERS_FAILED: FAILED,\n GET_SAVVI_PARTNERS_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/partner',\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(setSavviPartners(actionResponse.payload));\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n }\n };\n};\n\nconst addSavviPartnerGroupMember = (id, body) => {\n const {\n ADD_SAVVI_PARTNER_GROUP_MEMBER_REQUEST: REQUEST,\n ADD_SAVVI_PARTNER_GROUP_MEMBER_FAILED: FAILED,\n ADD_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/partner/add_member/${id}`,\n method: 'POST',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice({ message: actionResponse.payload.message }));\n return await dispatch(getTeams());\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n return await actionResponse;\n }\n };\n};\n\nconst editSavviPartnerGroupMember = (partner_id, user_id, role_id) => {\n const {\n EDIT_SAVVI_PARTNER_GROUP_MEMBER_REQUEST: REQUEST,\n EDIT_SAVVI_PARTNER_GROUP_MEMBER_FAILED: FAILED,\n EDIT_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/partner/${partner_id}/${user_id}`,\n method: 'PUT',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify({ role_id }),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice({ message: actionResponse.payload.message }));\n return await dispatch(getTeams());\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n }\n };\n};\n\nconst removeSavviPartnerGroupMember = (groupId, user_id) => {\n const {\n REMOVE_SAVVI_PARTNER_GROUP_MEMBER_REQUEST: REQUEST,\n REMOVE_SAVVI_PARTNER_GROUP_MEMBER_FAILED: FAILED,\n REMOVE_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/partner/${groupId}/${user_id}`,\n method: 'DELETE',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(\n setNotice({ type: 'warning', message: 'Member removed from partner group.' }),\n );\n return await dispatch(getTeams());\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n }\n };\n};\n\nexport const getTeams = (queryStr = '?members=1&packages=1&accounts=1') => {\n const {\n GET_TEAMS_REQUEST: REQUEST,\n GET_TEAMS_FAILED: FAILED,\n GET_TEAMS_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/team${queryStr}`,\n method: 'GET',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(setTeams(actionResponse.payload));\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n }\n };\n};\n\nexport const removeTeamAccount = (partnerId, groupId) => {\n const {\n REMOVE_TEAM_ACCOUNT_REQUEST: REQUEST,\n REMOVE_TEAM_ACCOUNT_FAILED: FAILED,\n REMOVE_TEAM_ACCOUNT_SUCCESS: SUCCESS,\n } = types;\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/partner/remove_account/${partnerId}/${groupId}`,\n method: 'DELETE',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice({ type: 'warning', message: actionResponse.payload.message }));\n return await dispatch(getTeams());\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n }\n };\n};\n\nconst getCalendlyMeta = () => {\n const {\n GET_CALENDLY_REQUEST: REQUEST,\n GET_CALENDLY_FAILED: FAILED,\n GET_CALENDLY_SUCCESS: SUCCESS,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/calendly',\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return actionResponse.payload;\n }\n };\n};\n\nexport {\n getCalendlyMeta,\n getCounsels,\n getFeatureChanges,\n addSavviPartnerGroupMember,\n editSavviPartnerGroupMember,\n removeSavviPartnerGroupMember,\n getSavviPartners,\n getSettings,\n saveSettings,\n setFeatureChangesDate,\n changePassword,\n //Update Email Ops\n fetchEmailsToVerify,\n sendUpdatedEmailCode,\n deleteVerificationRequest,\n verifyUpdatedEmail,\n};\n","import React, { isValidElement, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { InputFeedback, InputHelp, InputSublabel } from '../../inputs';\nimport { FA, Tooltip } from '..';\n\nimport './InputStyledCheckbox.scss';\n\nconst InputStyledCheckbox = ({\n error,\n defaultPlaceholder,\n indeterminate,\n isDisabled,\n isInputHelpUpward,\n inputClassName,\n inputHelpAlign,\n isFetching,\n isFixed,\n isRequired,\n label,\n labelStyle,\n name,\n parentStyle,\n sublabel,\n tooltip,\n type,\n questionHelp,\n ...inputProps\n}) => {\n const checkboxClassname = `\n styled-checkbox\n ${!!error && 'styled-checkbox--has-error'}\n ${parentStyle}\n ${(isDisabled || isFixed) && 'disabled'}\n `;\n\n const inputClassnames = `\n styled-checkbox__input\n styled-checkbox--${type}\n ${!!error && 'styled-checkbox--has-error__input'}\n ${inputClassName}\n `;\n\n const labelClassname = `\n ${labelStyle}\n styled-checkbox__label\n ${isDisabled && 'disabled'}\n `;\n // ${type === 'switch' && 'styled-checkbox--switch__label'}\n\n const checkboxRef = useRef(null);\n\n useEffect(() => {\n if (indeterminate && type === 'checkbox') {\n checkboxRef.current.indeterminate = true;\n } else if (!indeterminate && type === 'checkbox') {\n checkboxRef.current.indeterminate = false;\n }\n }, [indeterminate, type]);\n\n return (\n
    \n
    \n (this.selector = el)}\n id={name}\n name={name}\n disabled={isFixed || isDisabled || isFetching}\n {...inputProps}\n />\n {isValidElement(label) && label}\n {!isValidElement(label) && label && (\n \n )}\n {questionHelp && (\n \n )}\n {isFetching && }\n
    \n {sublabel}\n \n {tooltip && }\n
    \n );\n};\n\nInputStyledCheckbox.propTypes = {\n checked: PropTypes.bool,\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n isFetching: PropTypes.bool,\n isDisabled: PropTypes.bool,\n inputHelpAlign: PropTypes.oneOf(['center', 'right', 'left']),\n isInputHelpUpward: PropTypes.bool,\n isRequired: PropTypes.bool,\n questionHelp: PropTypes.string,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n onChange: PropTypes.func,\n sublabel: PropTypes.string,\n type: PropTypes.oneOf(['checkbox', 'radio', 'switch']),\n};\n\nInputStyledCheckbox.defaultProps = {\n checked: false,\n error: false,\n onChange: () => {},\n type: 'checkbox',\n};\n\nexport default InputStyledCheckbox;\n\n/** *********** Examples of usage ********** */\n// ReactDOM.render(\n//
    \n//

    ReactJS checkbox component

    \n// \n// \n// \n// \n// \n// \n//
    ,\n// document.getElementById('container')\n// );\n","import * as Types from './types';\n\nexport function resetErrors() {\n return {\n type: Types.RESET_ERRORS,\n };\n}\n\nexport function setErrors(errors) {\n return {\n type: Types.SET_ERRORS,\n payload: { errors },\n };\n}\n\n// export function mergeTaskValuesToQuestionnaire(key, values = {}) {\n// return {\n// type: Types[`MERGE_TASK_VALUES`],\n// payload: { key, values },\n// };\n// }\n// export function setValue(key, payload) {\n// const upperCaseKey = key.replace(/ /g, '_').toUpperCase();\n// return {\n// type: Types[`SET_${upperCaseKey}`],\n// payload,\n// };\n// }\n\n// export function removeValue(key, payload) {\n// const upperCaseKey = key.replace(/ /g, '_').toUpperCase();\n// return {\n// type: Types[`REMOVE_${upperCaseKey}`],\n// payload,\n// };\n// }\n\n// export function setValue(key, value) {\n// return {\n// type: Types[`SET_VALUE`],\n// payload: { key, value },\n// };\n// }\n\n// export function removeValue(key, value) {\n// return {\n// type: Types[`REMOVE_VALUE`],\n// payload: { key, value },\n// };\n// }\n\n/**\n * General action that handles updating a specific data model.\n * Can be used to get Module, Task, Subtask, or Deliverable\n *\n * @param {('module'|'task'|'subtask'|'deliverable')} modelName\n * :: used to match a Type to the action. (single)\n * @return {object} Action object with 'type' property.\n */\nexport function setAccountProject(payload) {\n return {\n type: Types['SET_ACCOUNT_PROJECT'],\n payload,\n };\n}\n\nexport function setAccountProjects(payload) {\n return {\n type: Types['SET_ACCOUNT_PROJECTS'],\n payload,\n };\n}\n\nexport function setProjects(payload) {\n return {\n type: Types['SET_PROJECTS'],\n payload,\n };\n}\n","export default [\n { label: 'United States of America', value: 'United States of America' },\n { label: 'Afghanistan', value: 'Afghanistan' },\n { label: 'Albania', value: 'Albania' },\n { label: 'Algeria', value: 'Algeria' },\n { label: 'American Samoa', value: 'American Samoa' },\n { label: 'Andorra', value: 'Andorra' },\n { label: 'Angola', value: 'Angola' },\n { label: 'Anguilla', value: 'Anguilla' },\n { label: 'Antarctica', value: 'Antarctica' },\n { label: 'Antigua and Barbuda', value: 'Antigua and Barbuda' },\n { label: 'Argentina', value: 'Argentina' },\n { label: 'Armenia', value: 'Armenia' },\n { label: 'Aruba', value: 'Aruba' },\n { label: 'Australia', value: 'Australia' },\n { label: 'Austria', value: 'Austria' },\n { label: 'Azerbaijan', value: 'Azerbaijan' },\n { label: 'Bahamas (the)', value: 'Bahamas (the)' },\n { label: 'Bahrain', value: 'Bahrain' },\n { label: 'Bangladesh', value: 'Bangladesh' },\n { label: 'Barbados', value: 'Barbados' },\n { label: 'Belarus', value: 'Belarus' },\n { label: 'Belgium', value: 'Belgium' },\n { label: 'Belize', value: 'Belize' },\n { label: 'Benin', value: 'Benin' },\n { label: 'Bermuda', value: 'Bermuda' },\n { label: 'Bhutan', value: 'Bhutan' },\n {\n label: 'Bolivia (Plurinational State of)',\n value: 'Bolivia (Plurinational State of)',\n },\n {\n label: 'Bonaire, Sint Eustatius and Saba',\n value: 'Bonaire, Sint Eustatius and Saba',\n },\n { label: 'Bosnia and Herzegovina', value: 'Bosnia and Herzegovina' },\n { label: 'Botswana', value: 'Botswana' },\n { label: 'Bouvet Island', value: 'Bouvet Island' },\n { label: 'Brazil', value: 'Brazil' },\n {\n label: 'British Indian Ocean Territory (the)',\n value: 'British Indian Ocean Territory (the)',\n },\n { label: 'Brunei Darussalam', value: 'Brunei Darussalam' },\n { label: 'Bulgaria', value: 'Bulgaria' },\n { label: 'Burkina Faso', value: 'Burkina Faso' },\n { label: 'Burundi', value: 'Burundi' },\n { label: 'Cabo Verde', value: 'Cabo Verde' },\n { label: 'Cambodia', value: 'Cambodia' },\n { label: 'Cameroon', value: 'Cameroon' },\n { label: 'Canada', value: 'Canada' },\n { label: 'Cayman Islands (the)', value: 'Cayman Islands (the)' },\n { label: 'Central African Republic (the)', value: 'Central African Republic (the)' },\n { label: 'Chad', value: 'Chad' },\n { label: 'Chile', value: 'Chile' },\n { label: 'China', value: 'China' },\n { label: 'Christmas Island', value: 'Christmas Island' },\n { label: 'Cocos (Keeling) Islands (the)', value: 'Cocos (Keeling) Islands (the)' },\n { label: 'Colombia', value: 'Colombia' },\n { label: 'Comoros (the)', value: 'Comoros (the)' },\n {\n label: 'Congo (the Democratic Republic of the)',\n value: 'Congo (the Democratic Republic of the)',\n },\n { label: 'Congo (the)', value: 'Congo (the)' },\n { label: 'Cook Islands (the)', value: 'Cook Islands (the)' },\n { label: 'Costa Rica', value: 'Costa Rica' },\n { label: 'Croatia', value: 'Croatia' },\n { label: 'Cuba', value: 'Cuba' },\n { label: 'Curaçao', value: 'Curaçao' },\n { label: 'Cyprus', value: 'Cyprus' },\n { label: 'Czechia', value: 'Czechia' },\n { label: \"Côte d'Ivoire\", value: \"Côte d'Ivoire\" },\n { label: 'Denmark', value: 'Denmark' },\n { label: 'Djibouti', value: 'Djibouti' },\n { label: 'Dominica', value: 'Dominica' },\n { label: 'Dominican Republic (the)', value: 'Dominican Republic (the)' },\n { label: 'Ecuador', value: 'Ecuador' },\n { label: 'Egypt', value: 'Egypt' },\n { label: 'El Salvador', value: 'El Salvador' },\n { label: 'Equatorial Guinea', value: 'Equatorial Guinea' },\n { label: 'Eritrea', value: 'Eritrea' },\n { label: 'Estonia', value: 'Estonia' },\n { label: 'Eswatini', value: 'Eswatini' },\n { label: 'Ethiopia', value: 'Ethiopia' },\n {\n label: 'Falkland Islands (the) [Malvinas]',\n value: 'Falkland Islands (the) [Malvinas]',\n },\n { label: 'Faroe Islands (the)', value: 'Faroe Islands (the)' },\n { label: 'Fiji', value: 'Fiji' },\n { label: 'Finland', value: 'Finland' },\n { label: 'France', value: 'France' },\n { label: 'French Guiana', value: 'French Guiana' },\n { label: 'French Polynesia', value: 'French Polynesia' },\n {\n label: 'French Southern Territories (the)',\n value: 'French Southern Territories (the)',\n },\n { label: 'Gabon', value: 'Gabon' },\n { label: 'Gambia (the)', value: 'Gambia (the)' },\n { label: 'Georgia', value: 'Georgia' },\n { label: 'Germany', value: 'Germany' },\n { label: 'Ghana', value: 'Ghana' },\n { label: 'Gibraltar', value: 'Gibraltar' },\n { label: 'Greece', value: 'Greece' },\n { label: 'Greenland', value: 'Greenland' },\n { label: 'Grenada', value: 'Grenada' },\n { label: 'Guadeloupe', value: 'Guadeloupe' },\n { label: 'Guam', value: 'Guam' },\n { label: 'Guatemala', value: 'Guatemala' },\n { label: 'Guernsey', value: 'Guernsey' },\n { label: 'Guinea', value: 'Guinea' },\n { label: 'Guinea-Bissau', value: 'Guinea-Bissau' },\n { label: 'Guyana', value: 'Guyana' },\n { label: 'Haiti', value: 'Haiti' },\n {\n label: 'Heard Island and McDonald Islands',\n value: 'Heard Island and McDonald Islands',\n },\n { label: 'Holy See (the)', value: 'Holy See (the)' },\n { label: 'Honduras', value: 'Honduras' },\n { label: 'Hong Kong', value: 'Hong Kong' },\n { label: 'Hungary', value: 'Hungary' },\n { label: 'Iceland', value: 'Iceland' },\n { label: 'India', value: 'India' },\n { label: 'Indonesia', value: 'Indonesia' },\n { label: 'Iran (Islamic Republic of)', value: 'Iran (Islamic Republic of)' },\n { label: 'Iraq', value: 'Iraq' },\n { label: 'Ireland', value: 'Ireland' },\n { label: 'Isle of Man', value: 'Isle of Man' },\n { label: 'Israel', value: 'Israel' },\n { label: 'Italy', value: 'Italy' },\n { label: 'Jamaica', value: 'Jamaica' },\n { label: 'Japan', value: 'Japan' },\n { label: 'Jersey', value: 'Jersey' },\n { label: 'Jordan', value: 'Jordan' },\n { label: 'Kazakhstan', value: 'Kazakhstan' },\n { label: 'Kenya', value: 'Kenya' },\n { label: 'Kiribati', value: 'Kiribati' },\n {\n label: \"Korea (the Democratic People's Republic of)\",\n value: \"Korea (the Democratic People's Republic of)\",\n },\n { label: 'Korea (the Republic of)', value: 'Korea (the Republic of)' },\n { label: 'Kuwait', value: 'Kuwait' },\n { label: 'Kyrgyzstan', value: 'Kyrgyzstan' },\n {\n label: \"Lao People's Democratic Republic (the)\",\n value: \"Lao People's Democratic Republic (the)\",\n },\n { label: 'Latvia', value: 'Latvia' },\n { label: 'Lebanon', value: 'Lebanon' },\n { label: 'Lesotho', value: 'Lesotho' },\n { label: 'Liberia', value: 'Liberia' },\n { label: 'Libya', value: 'Libya' },\n { label: 'Liechtenstein', value: 'Liechtenstein' },\n { label: 'Lithuania', value: 'Lithuania' },\n { label: 'Luxembourg', value: 'Luxembourg' },\n { label: 'Macao', value: 'Macao' },\n { label: 'Madagascar', value: 'Madagascar' },\n { label: 'Malawi', value: 'Malawi' },\n { label: 'Malaysia', value: 'Malaysia' },\n { label: 'Maldives', value: 'Maldives' },\n { label: 'Mali', value: 'Mali' },\n { label: 'Malta', value: 'Malta' },\n { label: 'Marshall Islands (the)', value: 'Marshall Islands (the)' },\n { label: 'Martinique', value: 'Martinique' },\n { label: 'Mauritania', value: 'Mauritania' },\n { label: 'Mauritius', value: 'Mauritius' },\n { label: 'Mayotte', value: 'Mayotte' },\n { label: 'Mexico', value: 'Mexico' },\n {\n label: 'Micronesia (Federated States of)',\n value: 'Micronesia (Federated States of)',\n },\n { label: 'Moldova (the Republic of)', value: 'Moldova (the Republic of)' },\n { label: 'Monaco', value: 'Monaco' },\n { label: 'Mongolia', value: 'Mongolia' },\n { label: 'Montenegro', value: 'Montenegro' },\n { label: 'Montserrat', value: 'Montserrat' },\n { label: 'Morocco', value: 'Morocco' },\n { label: 'Mozambique', value: 'Mozambique' },\n { label: 'Myanmar', value: 'Myanmar' },\n { label: 'Namibia', value: 'Namibia' },\n { label: 'Nauru', value: 'Nauru' },\n { label: 'Nepal', value: 'Nepal' },\n { label: 'Netherlands (the)', value: 'Netherlands (the)' },\n { label: 'New Caledonia', value: 'New Caledonia' },\n { label: 'New Zealand', value: 'New Zealand' },\n { label: 'Nicaragua', value: 'Nicaragua' },\n { label: 'Niger (the)', value: 'Niger (the)' },\n { label: 'Nigeria', value: 'Nigeria' },\n { label: 'Niue', value: 'Niue' },\n { label: 'Norfolk Island', value: 'Norfolk Island' },\n { label: 'Northern Mariana Islands (the)', value: 'Northern Mariana Islands (the)' },\n { label: 'Norway', value: 'Norway' },\n { label: 'Oman', value: 'Oman' },\n { label: 'Pakistan', value: 'Pakistan' },\n { label: 'Palau', value: 'Palau' },\n { label: 'Palestine, State of', value: 'Palestine, State of' },\n { label: 'Panama', value: 'Panama' },\n { label: 'Papua New Guinea', value: 'Papua New Guinea' },\n { label: 'Paraguay', value: 'Paraguay' },\n { label: 'Peru', value: 'Peru' },\n { label: 'Philippines (the)', value: 'Philippines (the)' },\n { label: 'Pitcairn', value: 'Pitcairn' },\n { label: 'Poland', value: 'Poland' },\n { label: 'Portugal', value: 'Portugal' },\n { label: 'Puerto Rico', value: 'Puerto Rico' },\n { label: 'Qatar', value: 'Qatar' },\n { label: 'Republic of North Macedonia', value: 'Republic of North Macedonia' },\n { label: 'Romania', value: 'Romania' },\n { label: 'Russian Federation (the)', value: 'Russian Federation (the)' },\n { label: 'Rwanda', value: 'Rwanda' },\n { label: 'Réunion', value: 'Réunion' },\n { label: 'Saint Barthélemy', value: 'Saint Barthélemy' },\n {\n label: 'Saint Helena, Ascension and Tristan da Cunha',\n value: 'Saint Helena, Ascension and Tristan da Cunha',\n },\n { label: 'Saint Kitts and Nevis', value: 'Saint Kitts and Nevis' },\n { label: 'Saint Lucia', value: 'Saint Lucia' },\n { label: 'Saint Martin (French part)', value: 'Saint Martin (French part)' },\n { label: 'Saint Pierre and Miquelon', value: 'Saint Pierre and Miquelon' },\n {\n label: 'Saint Vincent and the Grenadines',\n value: 'Saint Vincent and the Grenadines',\n },\n { label: 'Samoa', value: 'Samoa' },\n { label: 'San Marino', value: 'San Marino' },\n { label: 'Sao Tome and Principe', value: 'Sao Tome and Principe' },\n { label: 'Saudi Arabia', value: 'Saudi Arabia' },\n { label: 'Senegal', value: 'Senegal' },\n { label: 'Serbia', value: 'Serbia' },\n { label: 'Seychelles', value: 'Seychelles' },\n { label: 'Sierra Leone', value: 'Sierra Leone' },\n { label: 'Singapore', value: 'Singapore' },\n { label: 'Sint Maarten (Dutch part)', value: 'Sint Maarten (Dutch part)' },\n { label: 'Slovakia', value: 'Slovakia' },\n { label: 'Slovenia', value: 'Slovenia' },\n { label: 'Solomon Islands', value: 'Solomon Islands' },\n { label: 'Somalia', value: 'Somalia' },\n { label: 'South Africa', value: 'South Africa' },\n {\n label: 'South Georgia and the South Sandwich Islands',\n value: 'South Georgia and the South Sandwich Islands',\n },\n { label: 'South Sudan', value: 'South Sudan' },\n { label: 'Spain', value: 'Spain' },\n { label: 'Sri Lanka', value: 'Sri Lanka' },\n { label: 'Sudan (the)', value: 'Sudan (the)' },\n { label: 'Suriname', value: 'Suriname' },\n { label: 'Svalbard and Jan Mayen', value: 'Svalbard and Jan Mayen' },\n { label: 'Sweden', value: 'Sweden' },\n { label: 'Switzerland', value: 'Switzerland' },\n { label: 'Syrian Arab Republic', value: 'Syrian Arab Republic' },\n { label: 'Taiwan', value: 'Taiwan' },\n { label: 'Tajikistan', value: 'Tajikistan' },\n { label: 'Tanzania, United Republic of', value: 'Tanzania, United Republic of' },\n { label: 'Thailand', value: 'Thailand' },\n { label: 'Timor-Leste', value: 'Timor-Leste' },\n { label: 'Togo', value: 'Togo' },\n { label: 'Tokelau', value: 'Tokelau' },\n { label: 'Tonga', value: 'Tonga' },\n { label: 'Trinidad and Tobago', value: 'Trinidad and Tobago' },\n { label: 'Tunisia', value: 'Tunisia' },\n { label: 'Turkey', value: 'Turkey' },\n { label: 'Turkmenistan', value: 'Turkmenistan' },\n { label: 'Turks and Caicos Islands (the)', value: 'Turks and Caicos Islands (the)' },\n { label: 'Tuvalu', value: 'Tuvalu' },\n { label: 'Uganda', value: 'Uganda' },\n { label: 'Ukraine', value: 'Ukraine' },\n { label: 'United Arab Emirates (the)', value: 'United Arab Emirates (the)' },\n {\n label: 'United Kingdom of Great Britain and Northern Ireland (the)',\n value: 'United Kingdom of Great Britain and Northern Ireland (the)',\n },\n {\n label: 'United States Minor Outlying Islands (the)',\n value: 'United States Minor Outlying Islands (the)',\n },\n { label: 'Uruguay', value: 'Uruguay' },\n { label: 'Uzbekistan', value: 'Uzbekistan' },\n { label: 'Vanuatu', value: 'Vanuatu' },\n {\n label: 'Venezuela (Bolivarian Republic of)',\n value: 'Venezuela (Bolivarian Republic of)',\n },\n { label: 'Viet Nam', value: 'Viet Nam' },\n { label: 'Virgin Islands (British)', value: 'Virgin Islands (British)' },\n { label: 'Virgin Islands (U.S.)', value: 'Virgin Islands (U.S.)' },\n { label: 'Wallis and Futuna', value: 'Wallis and Futuna' },\n { label: 'Western Sahara', value: 'Western Sahara' },\n { label: 'Yemen', value: 'Yemen' },\n { label: 'Zambia', value: 'Zambia' },\n { label: 'Zimbabwe', value: 'Zimbabwe' },\n { label: 'Åland Islands', value: 'Åland Islands' },\n];\n\nexport const TwoCharCountryData = [\n { value: 'US', label: 'United States of America (the)' },\n { value: 'AF', label: 'Afghanistan' },\n { value: 'AL', label: 'Albania' },\n { value: 'DZ', label: 'Algeria' },\n { value: 'AS', label: 'American Samoa' },\n { value: 'AD', label: 'Andorra' },\n { value: 'AO', label: 'Angola' },\n { value: 'AI', label: 'Anguilla' },\n { value: 'AQ', label: 'Antarctica' },\n { value: 'AG', label: 'Antigua and Barbuda' },\n { value: 'AR', label: 'Argentina' },\n { value: 'AM', label: 'Armenia' },\n { value: 'AW', label: 'Aruba' },\n { value: 'AU', label: 'Australia' },\n { value: 'AT', label: 'Austria' },\n { value: 'AZ', label: 'Azerbaijan' },\n { value: 'BS', label: 'Bahamas (the)' },\n { value: 'BH', label: 'Bahrain' },\n { value: 'BD', label: 'Bangladesh' },\n { value: 'BB', label: 'Barbados' },\n { value: 'BY', label: 'Belarus' },\n { value: 'BE', label: 'Belgium' },\n { value: 'BZ', label: 'Belize' },\n { value: 'BJ', label: 'Benin' },\n { value: 'BM', label: 'Bermuda' },\n { value: 'BT', label: 'Bhutan' },\n { value: 'BO', label: 'Bolivia (Plurinational State of)' },\n { value: 'BQ', label: 'Bonaire, Sint Eustatius and Saba' },\n { value: 'BA', label: 'Bosnia and Herzegovina' },\n { value: 'BW', label: 'Botswana' },\n { value: 'BV', label: 'Bouvet Island' },\n { value: 'BR', label: 'Brazil' },\n { value: 'IO', label: 'British Indian Ocean Territory (the)' },\n { value: 'BN', label: 'Brunei Darussalam' },\n { value: 'BG', label: 'Bulgaria' },\n { value: 'BF', label: 'Burkina Faso' },\n { value: 'BI', label: 'Burundi' },\n { value: 'CV', label: 'Cabo Verde' },\n { value: 'KH', label: 'Cambodia' },\n { value: 'CM', label: 'Cameroon' },\n { value: 'CA', label: 'Canada' },\n { value: 'KY', label: 'Cayman Islands (the)' },\n { value: 'CF', label: 'Central African Republic (the)' },\n { value: 'TD', label: 'Chad' },\n { value: 'CL', label: 'Chile' },\n { value: 'CN', label: 'China' },\n { value: 'CX', label: 'Christmas Island' },\n { value: 'CC', label: 'Cocos (Keeling) Islands (the)' },\n { value: 'CO', label: 'Colombia' },\n { value: 'KM', label: 'Comoros (the)' },\n { value: 'CD', label: 'Congo (the Democratic Republic of the)' },\n { value: 'CG', label: 'Congo (the)' },\n { value: 'CK', label: 'Cook Islands (the)' },\n { value: 'CR', label: 'Costa Rica' },\n { value: 'HR', label: 'Croatia' },\n { value: 'CU', label: 'Cuba' },\n { value: 'CW', label: 'Curaçao' },\n { value: 'CY', label: 'Cyprus' },\n { value: 'CZ', label: 'Czechia' },\n { value: 'CI', label: \"Côte d'Ivoire\" },\n { value: 'DK', label: 'Denmark' },\n { value: 'DJ', label: 'Djibouti' },\n { value: 'DM', label: 'Dominica' },\n { value: 'DO', label: 'Dominican Republic (the)' },\n { value: 'EC', label: 'Ecuador' },\n { value: 'EG', label: 'Egypt' },\n { value: 'SV', label: 'El Salvador' },\n { value: 'GQ', label: 'Equatorial Guinea' },\n { value: 'ER', label: 'Eritrea' },\n { value: 'EE', label: 'Estonia' },\n { value: 'SZ', label: 'Eswatini' },\n { value: 'ET', label: 'Ethiopia' },\n { value: 'FK', label: 'Falkland Islands (the) [Malvinas]' },\n { value: 'FO', label: 'Faroe Islands (the)' },\n { value: 'FJ', label: 'Fiji' },\n { value: 'FI', label: 'Finland' },\n { value: 'FR', label: 'France' },\n { value: 'GF', label: 'French Guiana' },\n { value: 'PF', label: 'French Polynesia' },\n { value: 'TF', label: 'French Southern Territories (the)' },\n { value: 'GA', label: 'Gabon' },\n { value: 'GM', label: 'Gambia (the)' },\n { value: 'GE', label: 'Georgia' },\n { value: 'DE', label: 'Germany' },\n { value: 'GH', label: 'Ghana' },\n { value: 'GI', label: 'Gibraltar' },\n { value: 'GR', label: 'Greece' },\n { value: 'GL', label: 'Greenland' },\n { value: 'GD', label: 'Grenada' },\n { value: 'GP', label: 'Guadeloupe' },\n { value: 'GU', label: 'Guam' },\n { value: 'GT', label: 'Guatemala' },\n { value: 'GG', label: 'Guernsey' },\n { value: 'GN', label: 'Guinea' },\n { value: 'GW', label: 'Guinea-Bissau' },\n { value: 'GY', label: 'Guyana' },\n { value: 'HT', label: 'Haiti' },\n { value: 'HM', label: 'Heard Island and McDonald Islands' },\n { value: 'VA', label: 'Holy See (the)' },\n { value: 'HN', label: 'Honduras' },\n { value: 'HK', label: 'Hong Kong' },\n { value: 'HU', label: 'Hungary' },\n { value: 'IS', label: 'Iceland' },\n { value: 'IN', label: 'India' },\n { value: 'ID', label: 'Indonesia' },\n { value: 'IR', label: 'Iran (Islamic Republic of)' },\n { value: 'IQ', label: 'Iraq' },\n { value: 'IE', label: 'Ireland' },\n { value: 'IM', label: 'Isle of Man' },\n { value: 'IL', label: 'Israel' },\n { value: 'IT', label: 'Italy' },\n { value: 'JM', label: 'Jamaica' },\n { value: 'JP', label: 'Japan' },\n { value: 'JE', label: 'Jersey' },\n { value: 'JO', label: 'Jordan' },\n { value: 'KZ', label: 'Kazakhstan' },\n { value: 'KE', label: 'Kenya' },\n { value: 'KI', label: 'Kiribati' },\n { value: 'KP', label: \"Korea (the Democratic People's Republic of)\" },\n { value: 'KR', label: 'Korea (the Republic of)' },\n { value: 'KW', label: 'Kuwait' },\n { value: 'KG', label: 'Kyrgyzstan' },\n { value: 'LA', label: \"Lao People's Democratic Republic (the)\" },\n { value: 'LV', label: 'Latvia' },\n { value: 'LB', label: 'Lebanon' },\n { value: 'LS', label: 'Lesotho' },\n { value: 'LR', label: 'Liberia' },\n { value: 'LY', label: 'Libya' },\n { value: 'LI', label: 'Liechtenstein' },\n { value: 'LT', label: 'Lithuania' },\n { value: 'LU', label: 'Luxembourg' },\n { value: 'MO', label: 'Macao' },\n { value: 'MG', label: 'Madagascar' },\n { value: 'MW', label: 'Malawi' },\n { value: 'MY', label: 'Malaysia' },\n { value: 'MV', label: 'Maldives' },\n { value: 'ML', label: 'Mali' },\n { value: 'MT', label: 'Malta' },\n { value: 'MH', label: 'Marshall Islands (the)' },\n { value: 'MQ', label: 'Martinique' },\n { value: 'MR', label: 'Mauritania' },\n { value: 'MU', label: 'Mauritius' },\n { value: 'YT', label: 'Mayotte' },\n { value: 'MX', label: 'Mexico' },\n { value: 'FM', label: 'Micronesia (Federated States of)' },\n { value: 'MD', label: 'Moldova (the Republic of)' },\n { value: 'MC', label: 'Monaco' },\n { value: 'MN', label: 'Mongolia' },\n { value: 'ME', label: 'Montenegro' },\n { value: 'MS', label: 'Montserrat' },\n { value: 'MA', label: 'Morocco' },\n { value: 'MZ', label: 'Mozambique' },\n { value: 'MM', label: 'Myanmar' },\n { value: 'NA', label: 'Namibia' },\n { value: 'NR', label: 'Nauru' },\n { value: 'NP', label: 'Nepal' },\n { value: 'NL', label: 'Netherlands (the)' },\n { value: 'NC', label: 'New Caledonia' },\n { value: 'NZ', label: 'New Zealand' },\n { value: 'NI', label: 'Nicaragua' },\n { value: 'NE', label: 'Niger (the)' },\n { value: 'NG', label: 'Nigeria' },\n { value: 'NU', label: 'Niue' },\n { value: 'NF', label: 'Norfolk Island' },\n { value: 'MP', label: 'Northern Mariana Islands (the)' },\n { value: 'NO', label: 'Norway' },\n { value: 'OM', label: 'Oman' },\n { value: 'PK', label: 'Pakistan' },\n { value: 'PW', label: 'Palau' },\n { value: 'PS', label: 'Palestine, State of' },\n { value: 'PA', label: 'Panama' },\n { value: 'PG', label: 'Papua New Guinea' },\n { value: 'PY', label: 'Paraguay' },\n { value: 'PE', label: 'Peru' },\n { value: 'PH', label: 'Philippines (the)' },\n { value: 'PN', label: 'Pitcairn' },\n { value: 'PL', label: 'Poland' },\n { value: 'PT', label: 'Portugal' },\n { value: 'PR', label: 'Puerto Rico' },\n { value: 'QA', label: 'Qatar' },\n { value: 'MK', label: 'Republic of North Macedonia' },\n { value: 'RO', label: 'Romania' },\n { value: 'RU', label: 'Russian Federation (the)' },\n { value: 'RW', label: 'Rwanda' },\n { value: 'RE', label: 'Réunion' },\n { value: 'BL', label: 'Saint Barthélemy' },\n { value: 'SH', label: 'Saint Helena, Ascension and Tristan da Cunha' },\n { value: 'KN', label: 'Saint Kitts and Nevis' },\n { value: 'LC', label: 'Saint Lucia' },\n { value: 'MF', label: 'Saint Martin (French part)' },\n { value: 'PM', label: 'Saint Pierre and Miquelon' },\n { value: 'VC', label: 'Saint Vincent and the Grenadines' },\n { value: 'WS', label: 'Samoa' },\n { value: 'SM', label: 'San Marino' },\n { value: 'ST', label: 'Sao Tome and Principe' },\n { value: 'SA', label: 'Saudi Arabia' },\n { value: 'SN', label: 'Senegal' },\n { value: 'RS', label: 'Serbia' },\n { value: 'SC', label: 'Seychelles' },\n { value: 'SL', label: 'Sierra Leone' },\n { value: 'SG', label: 'Singapore' },\n { value: 'SX', label: 'Sint Maarten (Dutch part)' },\n { value: 'SK', label: 'Slovakia' },\n { value: 'SI', label: 'Slovenia' },\n { value: 'SB', label: 'Solomon Islands' },\n { value: 'SO', label: 'Somalia' },\n { value: 'ZA', label: 'South Africa' },\n { value: 'GS', label: 'South Georgia and the South Sandwich Islands' },\n { value: 'SS', label: 'South Sudan' },\n { value: 'ES', label: 'Spain' },\n { value: 'LK', label: 'Sri Lanka' },\n { value: 'SD', label: 'Sudan (the)' },\n { value: 'SR', label: 'Suriname' },\n { value: 'SJ', label: 'Svalbard and Jan Mayen' },\n { value: 'SE', label: 'Sweden' },\n { value: 'CH', label: 'Switzerland' },\n { value: 'SY', label: 'Syrian Arab Republic' },\n { value: 'TW', label: 'Taiwan' },\n { value: 'TJ', label: 'Tajikistan' },\n { value: 'TZ', label: 'Tanzania, United Republic of' },\n { value: 'TH', label: 'Thailand' },\n { value: 'TL', label: 'Timor-Leste' },\n { value: 'TG', label: 'Togo' },\n { value: 'TK', label: 'Tokelau' },\n { value: 'TO', label: 'Tonga' },\n { value: 'TT', label: 'Trinidad and Tobago' },\n { value: 'TN', label: 'Tunisia' },\n { value: 'TR', label: 'Turkey' },\n { value: 'TM', label: 'Turkmenistan' },\n { value: 'TC', label: 'Turks and Caicos Islands (the)' },\n { value: 'TV', label: 'Tuvalu' },\n { value: 'UG', label: 'Uganda' },\n { value: 'UA', label: 'Ukraine' },\n { value: 'AE', label: 'United Arab Emirates (the)' },\n { value: 'GB', label: 'United Kingdom of Great Britain and Northern Ireland (the)' },\n { value: 'UM', label: 'United States Minor Outlying Islands (the)' },\n { value: 'UY', label: 'Uruguay' },\n { value: 'UZ', label: 'Uzbekistan' },\n { value: 'VU', label: 'Vanuatu' },\n { value: 'VE', label: 'Venezuela (Bolivarian Republic of)' },\n { value: 'VN', label: 'Viet Nam' },\n { value: 'VG', label: 'Virgin Islands (British)' },\n { value: 'VI', label: 'Virgin Islands (U.S.)' },\n { value: 'WF', label: 'Wallis and Futuna' },\n { value: 'EH', label: 'Western Sahara' },\n { value: 'YE', label: 'Yemen' },\n { value: 'ZM', label: 'Zambia' },\n { value: 'ZW', label: 'Zimbabwe' },\n { value: 'AX', label: 'Åland Islands' },\n];\n","// Like Array.some() for the haystack, and like Array.every() for the needles.\n// Recursively traverses an object to find matching any matching objects with\n// all strings matched.\nexport function someValuesEveryString(haystack, needles) {\n if (!needles) {\n return haystack;\n }\n // we want a copy on purpose\n needles = needles\n .slice(0)\n .map(function (str) {\n return String(str || '')\n .trim()\n .toLowerCase();\n })\n .filter(str => {\n if (Boolean(str)) {\n return true;\n }\n // console.warn(\"ignoring bad search input '%s'\", str);\n return false;\n });\n if (!needles.length) {\n return true;\n }\n return someStringsHelper(haystack, needles);\n}\n\nexport function someStringsHelper(haystack, needles) {\n // Primitive types are\n // - Boolean (always false)\n // - Number (always false)\n // - RegExp (don't handle)\n // - Function (don't handle)\n // - ES6+ special types Map, Symbol, etc (don't handle)\n // - Array (traverse values)[]\n // - Object as Object (traverse values)\n // - Object as Map (traverse values, assume map key is a value)\n // - String (partial match)\n if (!haystack) {\n return false;\n }\n if (true === haystack) {\n return false;\n }\n if (Array.isArray(haystack)) {\n return haystack.some(function (straw) {\n return someStringsHelper(straw, needles);\n });\n }\n if ('object' === typeof haystack) {\n return Object.values(haystack).some(function (straw) {\n return someStringsHelper(straw, needles);\n });\n }\n if ('string' !== typeof haystack) {\n // console.debug(\"ignoring %s '%s'\", typeof haystack, haystack);\n return false;\n }\n\n // iterate backwards on a new array as values must be removed from back to\n // front for indexes to stay constant. Also reverse() modifies original\n needles\n .slice()\n .reverse()\n .forEach(function (needle, i, arr) {\n // \"Haystack of Needles\".toLowerCase().match(\"needle\")\n //console.info(haystack, needle, haystack.toLowerCase().match(needle));\n if (haystack.toLowerCase().match(needle)) {\n // remove self from the original (in reverse order)\n needles.splice(arr.length - (i + 1), 1);\n }\n });\n\n // if all search terms have matched, we're done!\n if (!needles.length) {\n return true;\n }\n return false;\n}\n\n// if (require.main === module) {\n// require('./matcher-test.js')(someValuesEveryString);\n// module.export = function test(someValuesEveryString) {\n// [\n// {\n// inputs: [null, []],\n// expected: true,\n// },\n// {\n// inputs: [false, ['foo']],\n// expected: false,\n// },\n// {\n// inputs: ['foobar', ['foo']],\n// expected: true,\n// },\n// {\n// inputs: ['barfoo', ['foo']],\n// expected: true,\n// },\n// {\n// inputs: ['barfoobar', ['foo']],\n// expected: true,\n// },\n// {\n// inputs: ['bar', ['foo']],\n// expected: false,\n// },\n// {\n// inputs: ['foobar', ['foo', 'bar']],\n// expected: true,\n// },\n// {\n// inputs: ['foo', ['foo', 'bar']],\n// expected: false,\n// },\n// {\n// // TODO would we prefer to only match prefixes?\n// inputs: [\n// ['xfoox', 'xbarx'],\n// ['foo', 'bar'],\n// ],\n// expected: true,\n// },\n// {\n// // swap order of matches from order of search\n// inputs: [\n// ['xfoox', 'xbarx'],\n// ['bar', 'foo'],\n// ],\n// expected: true,\n// },\n// {\n// inputs: [\n// {\n// foo: 'baz',\n// bar: 'gralt',\n// },\n// ['foo', 'bar'],\n// ],\n// expected: false,\n// },\n// {\n// inputs: [\n// {\n// '1': 'foo',\n// '2': 'bar',\n// },\n// ['foo', 'bar'],\n// ],\n// expected: true,\n// },\n// {\n// // just trying something with really complex nesting\n// inputs: [\n// [\n// {\n// '1': [{ x: 'foo' }],\n// '2': { x: ['bar'] },\n// },\n// ],\n// ['foo', 'bar'],\n// ],\n// expected: true,\n// },\n// {\n// inputs: [\n// [\n// {\n// '1': [{ x: 'foo' }],\n// '2': { x: ['foo'] },\n// '3': { x: ['foo', 'foo foo', 'foo'] },\n// },\n// ],\n// ['foo', 'bar'],\n// ],\n// expected: false,\n// },\n// {\n// inputs: [\n// [\n// {\n// '1': [{ x: 'foo' }],\n// '2': { x: ['foo'] },\n// '3': { x: ['foo', 'foo foo', 'foo'] },\n// },\n// ],\n// ['bar', 'foo'],\n// ],\n// expected: false,\n// },\n// {\n// inputs: [\n// {\n// '1': 'baz',\n// '2': 'gralt',\n// },\n// [],\n// ],\n// expected: true,\n// },\n// ].forEach(function (conf, i) {\n// if (conf.expected !== someValuesEveryString.apply(null, conf.inputs)) {\n// console.error(i, conf);\n// throw new Error('Expected ' + conf.expected + ' result');\n// }\n// });\n// };\n// }\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport { Button, DropdownAction } from '../common';\n\nimport './SortDropdown.scss';\n\nconst SortDropdown = ({\n isDisabled,\n onSelect,\n sortOption,\n isSortReversed,\n sortOptions,\n}) => {\n const { slug, label, iconType = 'wide-short' } = sortOption;\n const iconRoot = isSortReversed ? 'arrow-up' : 'arrow-down';\n const sortIcon = (slug === 'none' && 'sort') || `${iconRoot}-${iconType}`;\n return (\n
    \n (\n \n )}\n >\n {Object.values(sortOptions)\n .sort((a, b) => (a.slug === slug ? 1 : 0))\n .map(option => {\n const optionIconRoot =\n slug === option.slug && !isSortReversed ? 'arrow-up' : 'arrow-down';\n const optionSortIcon =\n (option.slug === 'none' && 'sort') ||\n `${optionIconRoot}-${option.iconType}`;\n const optionClass = `sort-dropdown__option ${\n option.slug === slug ? 'sort-dropdown__option--active' : ''\n }`;\n\n return (\n onSelect(option)}\n >\n \n {option.label}\n \n );\n })}\n \n
    \n );\n};\n\nSortDropdown.propTypes = {\n onSelect: PropTypes.func,\n sortSlug: PropTypes.string,\n sortIsDesc: PropTypes.bool,\n sortOptions: PropTypes.object,\n};\n\nexport default SortDropdown;\n","import SortDropdown from './SortDropdown';\n\nexport default SortDropdown;\n","export default __webpack_public_path__ + \"static/media/savvi_logo.35b46257.svg\";","// Submit Form Actions\nexport const SUBMIT_FORM_REQUEST = 'savvi/transaction/SUBMIT_FORM_REQUEST';\nexport const SUBMIT_FORM_SUCCESS = 'savvi/transaction/SUBMIT_FORM_SUCCESS';\nexport const SUBMIT_FORM_FAILED = 'savvi/transaction/SUBMIT_FORM_FAILED';\nexport const CLEAR_ERRORS = 'savvi/transaction/CLEAR_ERRORS';\nexport const SET_ERRORS = 'savvi/transaction/SET_ERRORS';\nexport const SET_FORM_VALUES = 'savvi/transaction/SET_FORM_VALUES';\nexport const SET_TRANSACTION_PREVIEW = 'savvi/transaction/SET_TRANSACTION_PREVIEW';\n\n// export const SET_VALUE = 'savvi/transaction/SET_VALUE';\n// export const REMOVE_VALUE = 'savvi/transaction/REMOVE_VALUE';\n\nexport const SET_QUESTIONNAIRE = 'savvi/transaction/SET_QUESTIONNAIRE';\n\nexport const GET_TRANSACTION_QUESTIONNAIRE_REQUEST =\n 'savvi/transaction/GET_TRANSACTION_QUESTIONNAIRE_REQUEST';\nexport const GET_TRANSACTION_QUESTIONNAIRE_SUCCESS =\n 'savvi/transaction/GET_TRANSACTION_QUESTIONNAIRE_SUCCESS';\nexport const GET_TRANSACTION_QUESTIONNAIRE_FAILED =\n 'savvi/transaction/GET_TRANSACTION_QUESTIONNAIRE_FAILED';\nexport const SET_TRANSACTION_QUESTIONNAIRE =\n 'savvi/transaction/SET_TRANSACTION_QUESTIONNAIRE';\n\nexport const GET_OUTSIDE_FORM_REQUEST = 'savvi/transaction/GET_OUTSIDE_FORM_REQUEST';\nexport const GET_OUTSIDE_FORM_SUCCESS = 'savvi/transaction/GET_OUTSIDE_FORM_SUCCESS';\nexport const GET_OUTSIDE_FORM_FAILED = 'savvi/transaction/GET_OUTSIDE_FORM_FAILED';\n\nexport const CREATE_OUTSIDE_FORM_REQUEST =\n 'savvi/transaction/CREATE_OUTSIDE_FORM_REQUEST';\nexport const CREATE_OUTSIDE_FORM_SUCCESS =\n 'savvi/transaction/CREATE_OUTSIDE_FORM_SUCCESS';\nexport const CREATE_OUTSIDE_FORM_FAILED = 'savvi/transaction/CREATE_OUTSIDE_FORM_FAILED';\nexport const SET_OUTSIDE_FORM = 'savvi/transaction/SET_OUTSIDE_FORM';\n\nexport const GET_TRANSACTION_REQUEST = 'savvi/transaction/GET_TRANSACTION_REQUEST';\nexport const GET_TRANSACTION_SUCCESS = 'savvi/transaction/GET_TRANSACTION_SUCCESS';\nexport const GET_TRANSACTION_FAILED = 'savvi/transaction/GET_TRANSACTION_FAILED';\n\nexport const POST_TRANSACTION_REQUEST = 'savvi/transaction/POST_TRANSACTION_REQUEST';\nexport const POST_TRANSACTION_SUCCESS = 'savvi/transaction/POST_TRANSACTION_SUCCESS';\nexport const POST_TRANSACTION_FAILED = 'savvi/transaction/POST_TRANSACTION_FAILED';\n\nexport const GET_TRANSACTION_PREVIEW_REQUEST =\n 'savvi/transaction/GET_TRANSACTION_PREVIEW_REQUEST';\nexport const GET_TRANSACTION_PREVIEW_SUCCESS =\n 'savvi/transaction/GET_TRANSACTION_PREVIEW_SUCCESS';\nexport const GET_TRANSACTION_PREVIEW_FAILED =\n 'savvi/transaction/GET_TRANSACTION_PREVIEW_FAILED';\n\nexport const GET_TRANSACTION_BY_TEMPLATE_ID_REQUEST =\n 'savvi/transaction/GET_TRANSACTION_BY_TEMPLATE_ID_REQUEST';\nexport const GET_TRANSACTION_BY_TEMPLATE_ID_SUCCESS =\n 'savvi/transaction/GET_TRANSACTION_BY_TEMPLATE_ID_SUCCESS';\nexport const GET_TRANSACTION_BY_TEMPLATE_ID_FAILED =\n 'savvi/transaction/GET_TRANSACTION_BY_TEMPLATE_ID_FAILED';\n\nexport const UPDATE_TRANSACTION_REQUEST = 'savvi/transaction/UPDATE_TRANSACTION_REQUEST';\nexport const UPDATE_TRANSACTION_SUCCESS = 'savvi/transaction/UPDATE_TRANSACTION_SUCCESS';\nexport const UPDATE_TRANSACTION_FAILED = 'savvi/transaction/UPDATE_TRANSACTION_FAILED';\nexport const SET_TRANSACTION = 'savvi/transaction/SET_TRANSACTION';\n\nexport const GET_MY_TEMPLATES_REQUEST = 'savvi/transaction/GET_MY_TEMPLATES_REQUEST';\nexport const GET_MY_TEMPLATES_SUCCESS = 'savvi/transaction/GET_MY_TEMPLATES_SUCCESS';\nexport const GET_MY_TEMPLATES_FAILED = 'savvi/transaction/GET_MY_TEMPLATES_FAILED';\nexport const SET_MY_TEMPLATES = 'savvi/transaction/SET_MY_TEMPLATES';\n\nexport const GET_CUSTOM_DOCUMENT_REQUEST =\n 'savvi/transaction/GET_CUSTOM_DOCUMENT_REQUEST';\nexport const GET_CUSTOM_DOCUMENT_SUCCESS =\n 'savvi/transaction/GET_CUSTOM_DOCUMENT_SUCCESS';\nexport const GET_CUSTOM_DOCUMENT_FAILED = 'savvi/transaction/GET_CUSTOM_DOCUMENT_FAILED';\nexport const UPDATE_CUSTOM_DOCUMENT_REQUEST =\n 'savvi/transaction/UPDATE_CUSTOM_DOCUMENT_REQUEST';\nexport const UPDATE_CUSTOM_DOCUMENT_SUCCESS =\n 'savvi/transaction/UPDATE_CUSTOM_DOCUMENT_SUCCESS';\nexport const UPDATE_CUSTOM_DOCUMENT_FAILED =\n 'savvi/transaction/UPDATE_CUSTOM_DOCUMENT_FAILED';\nexport const CREATE_CUSTOM_DOCUMENT_REQUEST =\n 'savvi/transaction/CREATE_CUSTOM_DOCUMENT_REQUEST';\nexport const CREATE_CUSTOM_DOCUMENT_SUCCESS =\n 'savvi/transaction/CREATE_CUSTOM_DOCUMENT_SUCCESS';\nexport const CREATE_CUSTOM_DOCUMENT_FAILED =\n 'savvi/transaction/CREATE_CUSTOM_DOCUMENT_FAILED';\nexport const ADD_CUSTOM_DOCUMENT = 'savvi/transaction/ADD_CUSTOM_DOCUMENT';\nexport const SET_CUSTOM_DOCUMENT = 'savvi/transaction/SET_CUSTOM_DOCUMENT';\n\nexport const GET_ALL_TRANSACTIONS_REQUEST =\n 'savvi/transaction/GET_ALL_TRANSACTIONS_REQUEST';\nexport const GET_ALL_TRANSACTIONS_SUCCESS =\n 'savvi/transaction/GET_ALL_TRANSACTIONS_SUCCESS';\nexport const GET_ALL_TRANSACTIONS_FAILED =\n 'savvi/transaction/GET_ALL_TRANSACTIONS_FAILED';\nexport const SET_MY_TRANSACTIONS = 'savvi/transaction/SET_MY_TRANSACTIONS';\n\nexport const SET_DOCUMENT_REVIEWER_REQUEST =\n 'savvi/transaction/SET_DOCUMENT_REVIEWER_REQUEST';\nexport const SET_DOCUMENT_REVIEWER_SUCCESS =\n 'savvi/transaction/SET_DOCUMENT_REVIEWER_SUCCESS';\nexport const SET_DOCUMENT_REVIEWER_FAILED =\n 'savvi/transaction/SET_DOCUMENT_REVIEWER_FAILED';\n\nexport const GET_TRANSACTIONS_BY_MODULE_REQUEST =\n 'savvi/transaction/GET_TRANSACTIONS_BY_MODULE_REQUEST';\nexport const GET_TRANSACTIONS_BY_MODULE_SUCCESS =\n 'savvi/transaction/GET_TRANSACTIONS_BY_MODULE_SUCCESS';\nexport const GET_TRANSACTIONS_BY_MODULE_FAILED =\n 'savvi/transaction/GET_TRANSACTIONS_BY_MODULE_FAILED';\nexport const SET_TRANSACTIONS_BY_MODULE = 'savvi/transaction/SET_TRANSACTIONS_BY_MODULE';\n\nexport const POST_REDLINING_VERSION_REQUEST =\n 'savvi/transaction/POST_REDLINING_VERSION_REQUEST';\nexport const POST_REDLINING_VERSION_SUCCESS =\n 'savvi/transaction/POST_REDLINING_VERSION_SUCCESS';\nexport const POST_REDLINING_VERSION_FAILED =\n 'savvi/transaction/POST_REDLINING_VERSION_FAILED';\n\nexport const APPROVE_DOCUMENT_SUGGESTIONS_REQUEST =\n 'savvi/transaction/APPROVE_DOCUMENT_SUGGESTIONS_REQUEST';\nexport const APPROVE_DOCUMENT_SUGGESTIONS_SUCCESS =\n 'savvi/transaction/APPROVE_DOCUMENT_SUGGESTIONS_SUCCESS';\nexport const APPROVE_DOCUMENT_SUGGESTIONS_FAILED =\n 'savvi/transaction/APPROVE_DOCUMENT_SUGGESTIONS_FAILED';\n\nexport const UPDATE_DOCUMENT_SUGGESTIONS_REQUEST =\n 'savvi/transaction/UPDATE_DOCUMENT_SUGGESTIONS_REQUEST';\nexport const UPDATE_DOCUMENT_SUGGESTIONS_SUCCESS =\n 'savvi/transaction/UPDATE_DOCUMENT_SUGGESTIONS_SUCCESS';\nexport const UPDATE_DOCUMENT_SUGGESTIONS_FAILED =\n 'savvi/transaction/UPDATE_DOCUMENT_SUGGESTIONS_FAILED';\n\nexport const GET_DOCUMENTS_REQUEST = 'savvi/transaction/GET_DOCUMENTS_REQUEST';\nexport const GET_DOCUMENTS_SUCCESS = 'savvi/transaction/GET_DOCUMENTS_SUCCESS';\nexport const GET_DOCUMENTS_FAILED = 'savvi/transaction/GET_DOCUMENTS_FAILED';\nexport const SET_DOCUMENTS = 'savvi/transaction/SET_DOCUMENTS';\nexport const SET_DOCUMENT_ERROR = 'savvi/transaction/SET_DOCUMENT_ERROR';\nexport const CLEAR_DOCUMENT_ERROR = 'savvi/transaction/CLEAR_DOCUMENT_ERROR';\n\nexport const DELETE_DOCUMENT_UPLOAD_REQUEST =\n 'savvi/transaction/DELETE_DOCUMENT_UPLOAD_REQUEST';\nexport const DELETE_DOCUMENT_UPLOAD_SUCCESS =\n 'savvi/transaction/DELETE_DOCUMENT_UPLOAD_SUCCESS';\nexport const DELETE_DOCUMENT_UPLOAD_FAILED =\n 'savvi/transaction/DELETE_DOCUMENT_UPLOAD_FAILED';\n\nexport const GET_TRANSACTION_DOCUMENTS_REQUEST =\n 'savvi/transaction/GET_TRANSACTION_DOCUMENTS_REQUEST';\nexport const GET_TRANSACTION_DOCUMENTS_SUCCESS =\n 'savvi/transaction/GET_TRANSACTION_DOCUMENTS_SUCCESS';\nexport const GET_TRANSACTION_DOCUMENTS_FAILED =\n 'savvi/transaction/GET_TRANSACTION_DOCUMENTS_FAILED';\nexport const SET_DOCUMENTS_BY_TRANSACTION =\n 'savvi/transaction/SET_DOCUMENTS_BY_TRANSACTION';\n\nexport const GET_DOCUMENT_RECIPIENT_LINK_REQUEST =\n 'savvi/transaction/GET_DOCUMENT_RECIPIENT_LINK_REQUEST';\nexport const GET_DOCUMENT_RECIPIENT_LINK_SUCCESS =\n 'savvi/transaction/GET_DOCUMENT_RECIPIENT_LINK_SUCCESS';\nexport const GET_DOCUMENT_RECIPIENT_LINK_FAILED =\n 'savvi/transaction/GET_DOCUMENT_RECIPIENT_LINK_FAILED';\nexport const SET_DOCUMENT_RECIPIENTS_LINKS =\n 'savvi/transaction/SET_DOCUMENT_RECIPIENTS_LINKS';\n\nexport const RESEND_LINK_EMAIL_REQUEST = 'savvi/formation/RESEND_LINK_EMAIL_REQUEST';\nexport const RESEND_LINK_EMAIL_FAILED = 'savvi/formation/RESEND_LINK_EMAIL_FAILED';\nexport const RESEND_LINK_EMAIL_SUCCESS = 'savvi/formation/RESEND_LINK_EMAIL_SUCCESS';\n\nexport const GET_RESOURCE_REQUEST = 'savvi/transaction/GET_RESOURCE_REQUEST';\nexport const GET_RESOURCE_SUCCESS = 'savvi/transaction/GET_RESOURCE_SUCCESS';\nexport const GET_RESOURCE_FAILED = 'savvi/transaction/GET_RESOURCE_FAILED';\n\nexport const CREATE_FEATURE_REQUEST = 'savvi/transaction/CREATE_FEATURE_REQUEST';\nexport const CREATE_FEATURE_SUCCESS = 'savvi/transaction/CREATE_FEATURE_SUCCESS';\nexport const CREATE_FEATURE_FAILED = 'savvi/transaction/CREATE_FEATURE_FAILED';\n\nexport const PATCH_FEATURE_REQUEST = 'savvi/transaction/PATCH_FEATURE_REQUEST';\nexport const PATCH_FEATURE_SUCCESS = 'savvi/transaction/PATCH_FEATURE_SUCCESS';\nexport const PATCH_FEATURE_FAILED = 'savvi/transaction/PATCH_FEATURE_FAILED';\n\nexport const SET_RESOURCE_IDS_REQUEST = 'savvi/transaction/SET_RESOURCE_IDS_REQUEST';\nexport const SET_RESOURCE_IDS_SUCCESS = 'savvi/transaction/SET_RESOURCE_IDS_SUCCESS';\nexport const SET_RESOURCE_IDS_FAILED = 'savvi/transaction/SET_RESOURCE_IDS_FAILED';\n\nexport const CREATE_RESOURCE_NAME_REQUEST =\n 'savvi/transaction/CREATE_RESOURCE_NAME_REQUEST';\nexport const CREATE_RESOURCE_NAME_SUCCESS =\n 'savvi/transaction/CREATE_RESOURCE_NAME_SUCCESS';\nexport const CREATE_RESOURCE_NAME_FAILED =\n 'savvi/transaction/CREATE_RESOURCE_NAME_FAILED';\n\nexport const UPDATE_RESOURCE_NAME_REQUEST =\n 'savvi/transaction/UPDATE_RESOURCE_NAME_REQUEST';\nexport const UPDATE_RESOURCE_NAME_SUCCESS =\n 'savvi/transaction/UPDATE_RESOURCE_NAME_SUCCESS';\nexport const UPDATE_RESOURCE_NAME_FAILED =\n 'savvi/transaction/UPDATE_RESOURCE_NAME_FAILED';\n\nexport const FINALIZE_TRANSACTION_REQUEST =\n 'savvi/transaction/FINALIZE_TRANSACTION_REQUEST';\nexport const FINALIZE_TRANSACTION_SUCCESS =\n 'savvi/transaction/FINALIZE_TRANSACTION_SUCCESS';\nexport const FINALIZE_TRANSACTION_FAILED =\n 'savvi/transaction/FINALIZE_TRANSACTION_FAILED';\n\nexport const CREATE_RESOURCE_FEATURE = 'savvi/transaction/CREATE_RESOURCE_FEATURE';\n\nexport const UPDATE_RESOURCE = 'savvi/transaction/UPDATE_RESOURCE';\n\nexport const POST_BATCH_TRANSACTIONS_REQUEST =\n 'savvi/transaction/POST_BATCH_TRANSACTIONS_REQUEST';\nexport const POST_BATCH_TRANSACTIONS_SUCCESS =\n 'savvi/transaction/POST_BATCH_TRANSACTIONS_SUCCESS';\nexport const POST_BATCH_TRANSACTIONS_FAILED =\n 'savvi/transaction/POST_BATCH_TRANSACTIONS_FAILED';\n","export const optionsAbbr = [\n { value: 'AL', label: 'Alabama', disabled: true },\n { value: 'AK', label: 'Alaska' },\n { value: 'AZ', label: 'Arizona' },\n { value: 'AR', label: 'Arkansas' },\n { value: 'CA', label: 'California' },\n { value: 'CO', label: 'Colorado' },\n { value: 'CT', label: 'Connecticut' },\n { value: 'DE', label: 'Delaware' },\n { value: 'DC', label: 'District Of Columbia' },\n { value: 'FL', label: 'Florida' },\n { value: 'GA', label: 'Georgia' },\n // { value: 'GU', label: 'Guam' },\n { value: 'HI', label: 'Hawaii' },\n { value: 'ID', label: 'Idaho' },\n { value: 'IL', label: 'Illinois' },\n { value: 'IN', label: 'Indiana' },\n { value: 'IA', label: 'Iowa' },\n { value: 'KS', label: 'Kansas' },\n { value: 'KY', label: 'Kentucky' },\n { value: 'LA', label: 'Louisiana' },\n { value: 'ME', label: 'Maine' },\n { value: 'MD', label: 'Maryland' },\n { value: 'MA', label: 'Massachusetts' },\n { value: 'MI', label: 'Michigan' },\n { value: 'MN', label: 'Minnesota' },\n { value: 'MS', label: 'Mississippi' },\n { value: 'MO', label: 'Missouri' },\n { value: 'MT', label: 'Montana' },\n { value: 'NE', label: 'Nebraska' },\n { value: 'NV', label: 'Nevada' },\n { value: 'NH', label: 'New Hampshire' },\n { value: 'NJ', label: 'New Jersey' },\n { value: 'NM', label: 'New Mexico' },\n { value: 'NY', label: 'New York' },\n { value: 'NC', label: 'North Carolina' },\n { value: 'ND', label: 'North Dakota' },\n { value: 'OH', label: 'Ohio' },\n { value: 'OK', label: 'Oklahoma' },\n { value: 'OR', label: 'Oregon' },\n // { value: 'PW', label: 'Palau' },\n { value: 'PA', label: 'Pennsylvania' },\n // { value: 'PR', label: 'Puerto Rico' },\n { value: 'RI', label: 'Rhode Island' },\n { value: 'SC', label: 'South Carolina' },\n { value: 'SD', label: 'South Dakota' },\n { value: 'TN', label: 'Tennessee' },\n { value: 'TX', label: 'Texas' },\n { value: 'UT', label: 'Utah' },\n { value: 'VT', label: 'Vermont' },\n { value: 'VI', label: 'Virgin Islands' },\n { value: 'VA', label: 'Virginia' },\n { value: 'WA', label: 'Washington' },\n { value: 'WV', label: 'West Virginia' },\n { value: 'WI', label: 'Wisconsin' },\n { value: 'WY', label: 'Wyoming' },\n];\n\nexport const options = [\n // { value: '', label: 'Please Select a State', disabled: true},\n { value: 'Utah', label: 'Utah', is_state: true },\n { value: 'Alabama', label: 'Alabama', is_state: true },\n { value: 'Alaska', label: 'Alaska', is_state: true },\n { value: 'Arizona', label: 'Arizona', is_state: true },\n { value: 'Arkansas', label: 'Arkansas', is_state: true },\n { value: 'California', label: 'California', is_state: true },\n { value: 'Colorado', label: 'Colorado', is_state: true },\n { value: 'Connecticut', label: 'Connecticut', is_state: true },\n { value: 'Delaware', label: 'Delaware', is_state: true },\n {\n value: 'District Of Columbia',\n label: 'District Of Columbia',\n is_state: true,\n },\n // { value: 'Federated States Of Micronesia', label: 'Federated States Of Micronesia', is_state: true },\n { value: 'Florida', label: 'Florida', is_state: true },\n { value: 'Georgia', label: 'Georgia', is_state: true },\n // { value: 'Guam', label: 'Guam', is_state: true },\n { value: 'Hawaii', label: 'Hawaii', is_state: true },\n { value: 'Idaho', label: 'Idaho', is_state: true },\n { value: 'Illinois', label: 'Illinois', is_state: true },\n { value: 'Indiana', label: 'Indiana', is_state: true },\n { value: 'Iowa', label: 'Iowa', is_state: true },\n { value: 'Kansas', label: 'Kansas', is_state: true },\n { value: 'Kentucky', label: 'Kentucky', is_state: true },\n { value: 'Louisiana', label: 'Louisiana', is_state: true },\n { value: 'Maine', label: 'Maine', is_state: true },\n // { value: 'Marshall Islands', label: 'Marshall Islands', is_state: true },\n { value: 'Maryland', label: 'Maryland', is_state: true },\n { value: 'Massachusetts', label: 'Massachusetts', is_state: true },\n { value: 'Michigan', label: 'Michigan', is_state: true },\n { value: 'Minnesota', label: 'Minnesota', is_state: true },\n { value: 'Mississippi', label: 'Mississippi', is_state: true },\n { value: 'Missouri', label: 'Missouri', is_state: true },\n { value: 'Montana', label: 'Montana', is_state: true },\n { value: 'Nebraska', label: 'Nebraska', is_state: true },\n { value: 'Nevada', label: 'Nevada', is_state: true },\n { value: 'New Hampshire', label: 'New Hampshire', is_state: true },\n { value: 'New Jersey', label: 'New Jersey', is_state: true },\n { value: 'New Mexico', label: 'New Mexico', is_state: true },\n { value: 'New York', label: 'New York', is_state: true },\n { value: 'North Carolina', label: 'North Carolina', is_state: true },\n { value: 'North Dakota', label: 'North Dakota', is_state: true },\n // { value: 'Northern Mariana Islands', label: 'Northern Mariana Islands', is_state: true },\n { value: 'Ohio', label: 'Ohio', is_state: true },\n { value: 'Oklahoma', label: 'Oklahoma', is_state: true },\n { value: 'Oregon', label: 'Oregon', is_state: true },\n // { value: 'Palau', label: 'Palau', is_state: true },\n { value: 'Pennsylvania', label: 'Pennsylvania', is_state: true },\n // { value: 'Puerto Rico', label: 'Puerto Rico', is_state: true },\n { value: 'Rhode Island', label: 'Rhode Island', is_state: true },\n { value: 'South Carolina', label: 'South Carolina', is_state: true },\n { value: 'South Dakota', label: 'South Dakota', is_state: true },\n { value: 'Tennessee', label: 'Tennessee', is_state: true },\n { value: 'Texas', label: 'Texas', is_state: true },\n { value: 'Vermont', label: 'Vermont', is_state: true },\n { value: 'Virgin Islands', label: 'Virgin Islands', is_state: true },\n { value: 'Virginia', label: 'Virginia', is_state: true },\n { value: 'Washington', label: 'Washington', is_state: true },\n { value: 'West Virginia', label: 'West Virginia', is_state: true },\n { value: 'Wisconsin', label: 'Wisconsin', is_state: true },\n { value: 'Wyoming', label: 'Wyoming', is_state: true },\n];\n\nexport const feesByState = {\n Alabama: { fee: 375, abbr: 'AL' },\n Alaska: { fee: 375, abbr: 'AK' },\n Arizona: { fee: 625, abbr: 'AZ' },\n Arkansas: { fee: 375, abbr: 'AR' },\n California: { fee: 256, abbr: 'CA' },\n Colorado: { fee: 260, abbr: 'CO' },\n Connecticut: { fee: 375, abbr: 'CT' },\n Delaware: { fee: 204, abbr: 'DE' },\n 'District of Columbia': { fee: 355, abbr: 'DC' },\n Florida: { fee: 205, abbr: 'FL' },\n Georgia: { fee: 375, abbr: 'GA' },\n // Guam: { fee: 375, abbr: 'GU' },\n Hawaii: { fee: 375, abbr: 'HI' },\n Idaho: { fee: 375, abbr: 'ID' },\n Illinois: { fee: 310, abbr: 'IL' },\n Indiana: { fee: 375, abbr: 'IN' },\n Iowa: { fee: 375, abbr: 'IA' },\n Kansas: { fee: 375, abbr: 'KS' },\n Kentucky: { fee: 375, abbr: 'KY' },\n Louisiana: { fee: 375, abbr: 'LA' },\n Maine: { fee: 375, abbr: 'ME' },\n Maryland: { fee: 375, abbr: 'MD' },\n Massachusetts: { fee: 537, abbr: 'MA' },\n Michigan: { fee: 375, abbr: 'MI' },\n Minnesota: { fee: 375, abbr: 'MN' },\n Mississippi: { fee: 375, abbr: 'MS' },\n Missouri: { fee: 375, abbr: 'MO' },\n Montana: { fee: 375, abbr: 'MT' },\n Nebraska: { fee: 375, abbr: 'NE' },\n Nevada: { fee: 335, abbr: 'NV' },\n 'New Hampshire': { fee: 375, abbr: 'NH' },\n 'New Jersey': { fee: 265, abbr: 'NJ' },\n 'New Mexico': { fee: 375, abbr: 'NM' },\n 'New York': { fee: 370, abbr: 'NY' },\n 'North Carolina': { fee: 385, abbr: 'NC' },\n 'North Dakota': { fee: 375, abbr: 'ND' },\n Ohio: { fee: 375, abbr: 'OH' },\n Oklahoma: { fee: 375, abbr: 'OK' },\n Oregon: { fee: 410, abbr: 'OR' },\n Other: { fee: 375, abbr: 'OTR' },\n // Palau: { fee: 375, abbr: 'PW' },\n Pennsylvania: { fee: 685, abbr: 'PA' },\n // 'Puerto Rico': { fee: 375, abbr: 'PR' },\n 'Rhode Island': { fee: 285, abbr: 'RI' },\n 'South Carolina': { fee: 375, abbr: 'SC' },\n 'South Dakota': { fee: 375, abbr: 'SD' },\n Tennessee: { fee: 375, abbr: 'TN' },\n Texas: { fee: 885, abbr: 'TX' },\n Utah: { fee: 205, abbr: 'UT' },\n Vermont: { fee: 375, abbr: 'VT' },\n Virginia: { fee: 235, abbr: 'VA' },\n Washington: { fee: 315, abbr: 'WA' },\n 'West Virginia': { fee: 375, abbr: 'WV' },\n Wisconsin: { fee: 375, abbr: 'WI' },\n Wyoming: { fee: 375, abbr: 'WY' },\n};\n","var _path, _path2, _path3, _path4;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgDocPreview(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 42,\n height: 38,\n viewBox: \"0 0 42 38\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14 6.40556C14 3.71738 16.5987 1.79443 19.1694 2.58032L32.5027 6.65641C34.1846 7.17056 35.3333 8.72295 35.3333 10.4817V27C35.3333 29.2091 33.5425 31 31.3333 31H18C15.7909 31 14 29.2091 14 27V6.40556Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36.4014 7.95927C36.576 8.09467 36.6808 8.29776 36.6808 8.50085C36.6808 8.56855 36.6808 8.6024 36.6459 8.67009C36.6808 8.73779 36.6808 8.77164 36.6808 8.83934V31.8564C36.6808 32.2287 36.3665 32.5334 35.9824 32.5334H12.9347C12.5506 32.5334 12.2363 32.2287 12.2363 31.8564V2.06961C12.2363 1.69728 12.5506 1.39264 12.9347 1.39264H29.1379C29.3824 1.32494 29.6617 1.39264 29.8363 1.56188L36.4014 7.95927ZM34.3063 7.82387L30.046 3.69433V7.82387H34.3063ZM13.6335 31.1794V2.74658H28.6493V8.50084C28.6493 8.87318 28.9636 9.17781 29.3477 9.17781H35.2843V31.1794H13.6335ZM18.8711 12.5627H25.1568C25.5409 12.5627 25.8552 12.258 25.8552 11.8857C25.8552 11.5134 25.5409 11.2087 25.1568 11.2087H18.8711C18.487 11.2087 18.1727 11.5134 18.1727 11.8857C18.1727 12.258 18.487 12.5627 18.8711 12.5627ZM30.0457 16.6245H18.8711C18.487 16.6245 18.1727 16.3199 18.1727 15.9475C18.1727 15.5752 18.487 15.2706 18.8711 15.2706H30.0457C30.4298 15.2706 30.7441 15.5752 30.7441 15.9475C30.7441 16.3199 30.4298 16.6245 30.0457 16.6245ZM30.0457 20.3479H18.8711C18.487 20.3479 18.1727 20.0432 18.1727 19.6709C18.1727 19.2986 18.487 18.9939 18.8711 18.9939H30.0457C30.4298 18.9939 30.7441 19.2986 30.7441 19.6709C30.7441 20.0432 30.4298 20.3479 30.0457 20.3479ZM30.0457 22.7173C30.4314 22.7173 30.7441 23.0204 30.7441 23.3942C30.7441 23.7511 30.4592 24.0435 30.0978 24.0694L30.0457 24.0712H18.8711C18.4854 24.0712 18.1727 23.7681 18.1727 23.3942C18.1727 23.0374 18.4576 22.745 18.819 22.7191L18.8711 22.7173H30.0457Z\",\n fill: \"#AFBDC5\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 10.4056C6 7.71738 8.59866 5.79443 11.1694 6.58032L24.5027 10.6564C26.1846 11.1706 27.3333 12.7229 27.3333 14.4817V31C27.3333 33.2091 25.5425 35 23.3333 35H10C7.79087 35 6 33.2091 6 31V10.4056Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.4014 11.9593C28.576 12.0947 28.6808 12.2978 28.6808 12.5008C28.6808 12.5685 28.6808 12.6024 28.6459 12.6701C28.6808 12.7378 28.6808 12.7716 28.6808 12.8393V35.8564C28.6808 36.2287 28.3665 36.5334 27.9824 36.5334H4.93474C4.55061 36.5334 4.23633 36.2287 4.23633 35.8564V6.06961C4.23633 5.69728 4.55061 5.39264 4.93474 5.39264H21.1379C21.3824 5.32494 21.6617 5.39264 21.8363 5.56188L28.4014 11.9593ZM26.3063 11.8239L22.046 7.69433V11.8239H26.3063ZM5.63346 35.1794V6.74658H20.6493V12.5008C20.6493 12.8732 20.9636 13.1778 21.3477 13.1778H27.2843V35.1794H5.63346ZM10.8711 16.5627H17.1568C17.5409 16.5627 17.8552 16.258 17.8552 15.8857C17.8552 15.5134 17.5409 15.2087 17.1568 15.2087H10.8711C10.487 15.2087 10.1727 15.5134 10.1727 15.8857C10.1727 16.258 10.487 16.5627 10.8711 16.5627ZM22.0457 20.6245H10.8711C10.487 20.6245 10.1727 20.3199 10.1727 19.9475C10.1727 19.5752 10.487 19.2706 10.8711 19.2706H22.0457C22.4298 19.2706 22.7441 19.5752 22.7441 19.9475C22.7441 20.3199 22.4298 20.6245 22.0457 20.6245ZM22.0457 24.3479H10.8711C10.487 24.3479 10.1727 24.0432 10.1727 23.6709C10.1727 23.2986 10.487 22.9939 10.8711 22.9939H22.0457C22.4298 22.9939 22.7441 23.2986 22.7441 23.6709C22.7441 24.0432 22.4298 24.3479 22.0457 24.3479ZM22.0457 26.7173C22.4314 26.7173 22.7441 27.0204 22.7441 27.3942C22.7441 27.7511 22.4592 28.0435 22.0978 28.0694L22.0457 28.0712H10.8711C10.4854 28.0712 10.1727 27.7681 10.1727 27.3942C10.1727 27.0374 10.4576 26.745 10.819 26.7191L10.8711 26.7173H22.0457Z\",\n fill: \"#AFBDC5\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDocPreview);\nexport default __webpack_public_path__ + \"static/media/doc_preview.bf9e1116.svg\";\nexport { ForwardRef as ReactComponent };","export default {\n 1: 'https://learn.savvi.legal/knowledge/entity-formation-1',\n 2: 'https://learn.savvi.legal/knowledge/onboard-employees',\n 3: 'https://learn.savvi.legal/knowledge/issue-equity',\n 4: 'https://learn.savvi.legal/knowledge/stock-option-plan-1',\n 5: 'https://learn.savvi.legal/knowledge/llc-to-delaware-c-corp-conversion',\n 8: 'https://learn.savvi.legal/knowledge/document-review-by-attorney',\n 10: 'https://learn.savvi.legal/knowledge/safe-fundraising',\n 11: 'https://learn.savvi.legal/send-an-nda',\n 12: 'https://learn.savvi.legal/knowledge/trademark-filing',\n 13: 'https://learn.savvi.legal/knowledge/request-a-patent',\n 14: 'https://learn.savvi.legal/knowledge/send-an-nda',\n 15: 'https://learn.savvi.legal/knowledge/service-agreement-template',\n 16: 'https://learn.savvi.legal/knowledge/privacy-policy-template',\n 17: 'https://learn.savvi.legal/knowledge/employee-offboarding',\n 18: 'https://learn.savvi.legal/knowledge/issue-equity-llc',\n 19: 'https://learn.savvi.legal/knowledge/annual-report-1',\n 20: 'https://learn.savvi.legal/request-legal-counsel',\n 21: 'https://learn.savvi.legal/knowledge/request-template-access',\n 23: 'https://learn.savvi.legal/knowledge/operating-state-registration',\n 24: 'https://learn.savvi.legal/knowledge/distressed-company-consultation',\n 25: 'https://learn.savvi.legal/knowledge/ppp-sba-loan-assistance',\n 27: 'https://learn.savvi.legal/knowledge/onboard-an-independent-contractor',\n 28: 'https://learn.savvi.legal/knowledge/onboard-an-advisor',\n 32: 'https://learn.savvi.legal/knowledge/equity-repurchase-agreement',\n 33: 'https://learn.savvi.legal/execute-safes',\n 37: 'https://learn.savvi.legal/knowledge/switch-to-a-savvi-partnered-registered-agent',\n 38: 'https://learn.savvi.legal/knowledge/issue-stock-options',\n 40: 'https://learn.savvi.legal/knowledge/new-document-drafting-request',\n 42: 'https://learn.savvi.legal/knowledge/tax-and-accounting-assistance',\n 44: 'https://learn.savvi.legal/knowledge/company-name-change',\n 46: 'https://learn.savvi.legal/knowledge/legal-audit',\n 47: 'https://learn.savvi.legal/carta-account-setup-request',\n 50: 'https://learn.savvi.legal/create',\n 51: 'https://learn.savvi.legal/knowledge/custom-request',\n 63: 'https://learn.savvi.legal/due-diligence-checklist',\n 64: 'https://learn.savvi.legal/upload-registered',\n 68: 'https://learn.savvi.legal/director-appointment',\n 69: 'https://learn.savvi.legal/submit-a-contract-for-ai-review',\n 70: 'https://learn.savvi.legal/annual-subscription',\n 71: 'https://learn.savvi.legal/file-cabinet-and-reports-onboarding',\n 77: 'https://learn.savvi.legal/prepare-preferred-stock-financing',\n 80: 'https://learn.savvi.legal/officer-appointment',\n 81: 'https://learn.savvi.legal/director-or-officer-resignation',\n 84: 'https://learn.savvi.legal/equity-incentive-plan-amendment',\n 86: 'https://learn.savvi.legal/statement-of-work',\n 87: 'https://learn.savvi.legal/director/officer-indemnification',\n 88: 'https://learn.savvi.legal/exercise-options-workflow',\n 94: 'https://learn.savvi.legal/founder-onboarding',\n 95: 'https://learn.savvi.legal/ip-assignment',\n 99: 'https://learn.savvi.legal/due-diligence-checklist',\n 96: 'https://learn.savvi.legal/prepare-preferred-stock-financing',\n 97: 'https://learn.savvi.legal/letter-of-intent',\n 102: 'https://learn.savvi.legal/simple-promissory-note',\n};\n","import {\n SET_BOX_TOKEN,\n SET_TEMP_TOKEN_FETCH_INITIALIZED,\n SET_USER_DOCUMENT_BOX_TOKEN,\n} from './types';\n\nexport const setBoxToken = token => {\n return {\n type: SET_BOX_TOKEN,\n payload: { token },\n };\n};\n\nexport const setUserDocumentBoxToken = (payload, documentId) => {\n return {\n type: SET_USER_DOCUMENT_BOX_TOKEN,\n payload,\n documentId,\n };\n};\n\nexport const setTempTokenFetchInitialized = () => {\n return {\n type: SET_TEMP_TOKEN_FETCH_INITIALIZED,\n isInitialized: true,\n };\n};\n","import * as Types from './types';\n\nexport function setAccountTodos(payload) {\n return {\n type: Types['SET_ACCOUNT_TODOS'],\n payload,\n };\n}\n\nexport function setAssigneeOptions(payload, accountId, projectTemplateId) {\n return {\n type: Types['SET_ASSIGNEE_OPTIONS'],\n payload,\n accountId,\n projectTemplateId,\n };\n}\n\nexport function setTeamTodos(payload) {\n return {\n type: Types['SET_TEAM_TODOS'],\n payload,\n };\n}\n","export const generateErrorNotice = (payload, defaultError) => ({\n type: 'error',\n message:\n payload?.message ||\n defaultError ||\n \"We're experiencing issues related to your session, please refresh this window.\",\n errorObject: payload,\n});\n","export const CLEAR_ERRORS = 'savvi/user/CLEAR_ERRORS';\n\nexport const SET_INIT_LOADING = 'savvi/user/SET_INIT_LOADING';\n\n// There are three possible states for our login\n// process and we need actions for each of them\nexport const LOGIN_REQUEST = 'savvi/user/LOGIN_REQUEST';\nexport const LOGIN_SUCCESS = 'savvi/user/LOGIN_SUCCESS';\nexport const LOGIN_FAILED = 'savvi/user/LOGIN_FAILED';\n\nexport const TOKEN_REQUEST = 'savvi/user/TOKEN_REQUEST';\nexport const TOKEN_SUCCESS = 'savvi/user/TOKEN_SUCCESS';\nexport const TOKEN_FAILED = 'savvi/user/TOKEN_FAILED';\n\nexport const SEND_PW_RESET_REQUEST = 'savvi/user/SEND_PW_RESET_REQUEST';\nexport const SEND_PW_RESET_SUCCESS = 'savvi/user/SEND_PW_RESET_SUCCESS';\nexport const SEND_PW_RESET_FAILED = 'savvi/user/SEND_PW_RESET_FAILED';\n\nexport const VALIDATE_PASSWORD_REQUEST = 'savvi/user/VALIDATE_PASSWORD_REQUEST';\nexport const VALIDATE_PASSWORD_SUCCESS = 'savvi/user/VALIDATE_PASSWORD_SUCCESS';\nexport const VALIDATE_PASSWORD_FAILED = 'savvi/user/VALIDATE_PASSWORD_FAILED';\n\nexport const RESET_PASSWORD_REQUEST = 'savvi/user/RESET_PASSWORD_REQUEST';\nexport const RESET_PASSWORD_SUCCESS = 'savvi/user/RESET_PASSWORD_SUCCESS';\nexport const RESET_PASSWORD_FAILED = 'savvi/user/RESET_PASSWORD_FAILED';\n\n// Three possible states for our logout process as well.\nexport const LOGOUT = 'savvi/user/LOGOUT';\nexport const LOGOUT_REQUEST = 'savvi/user/LOGOUT_REQUEST';\nexport const LOGOUT_SUCCESS = 'savvi/user/LOGOUT_SUCCESS';\nexport const LOGOUT_FAILED = 'savvi/user/LOGOUT_FAILED';\n\n// Set User\nexport const SET_ACCOUNT = 'savvi/user/SET_ACCOUNT';\nexport const SET_USER = 'savvi/user/SET_USER';\nexport const SET_BOX_TOKEN = 'savvi/user/SET_BOX_TOKEN';\nexport const REMOVE_EMAIL_VERIFICATION = 'savvi/user/REMOVE_EMAIL_VERIFICATION';\n\n// Registration Actions\nexport const REGISTER_REQUEST = 'savvi/user/REGISTER_REQUEST';\nexport const REGISTER_FAILED = 'savvi/user/REGISTER_FAILED';\nexport const REGISTER_SUCCESS = 'savvi/user/REGISTER_SUCCESS';\n\nexport const CREATE_USER_REQUEST = 'savvi/user/CREATE_USER_REQUEST';\nexport const CREATE_USER_FAILED = 'savvi/user/CREATE_USER_FAILED';\nexport const CREATE_USER_SUCCESS = 'savvi/user/CREATE_USER_SUCCESS';\n\nexport const CREATE_COMPANY_REQUEST = 'savvi/user/CREATE_COMPANY_REQUEST';\nexport const CREATE_COMPANY_FAILED = 'savvi/user/CREATE_COMPANY_FAILED';\nexport const CREATE_COMPANY_SUCCESS = 'savvi/user/CREATE_COMPANY_SUCCESS';\n\n// Checkpoint Actions\n\nexport const GET_CHECKPOINTS_REQUEST = 'savvi/user/GET_CHECKPOINTS_REQUEST';\nexport const GET_CHECKPOINTS_FAILED = 'savvi/user/GET_CHECKPOINTS_FAILED';\nexport const GET_CHECKPOINTS_SUCCESS = 'savvi/user/GET_CHECKPOINTS_SUCCESS';\n\nexport const SET_CHECKPOINT_REQUEST = 'savvi/user/SET_CHECKPOINT_REQUEST';\nexport const SET_CHECKPOINT_FAILED = 'savvi/user/SET_CHECKPOINT_FAILED';\nexport const SET_CHECKPOINT_SUCCESS = 'savvi/user/SET_CHECKPOINT_SUCCESS';\n\nexport const SET_CHECKPOINTS = 'savvi/user/SET_CHECKPOINTS';\n\n// Registration Actions\nexport const EMAIL_CONFIRM_REQUEST = 'savvi/user/EMAIL_CONFIRM_REQUEST';\nexport const EMAIL_CONFIRM_FAILED = 'savvi/user/EMAIL_CONFIRM_FAILED';\nexport const EMAIL_CONFIRM_SUCCESS = 'savvi/user/EMAIL_CONFIRM_SUCCESS';\n\nexport const RESEND_EMAIL_CONFIRM_REQUEST = 'savvi/user/RESEND_EMAIL_CONFIRM_REQUEST';\nexport const RESEND_EMAIL_CONFIRM_FAILED = 'savvi/user/RESEND_EMAIL_CONFIRM_FAILED';\nexport const RESEND_EMAIL_CONFIRM_SUCCESS = 'savvi/user/RESEND_EMAIL_CONFIRM_SUCCESS';\n\nexport const COMPLETE_ONBOARD_REQUEST = 'savvi/formation/COMPLETE_ONBOARD_REQUEST';\nexport const COMPLETE_ONBOARD_FAILED = 'savvi/formation/COMPLETE_ONBOARD_FAILED';\nexport const COMPLETE_ONBOARD_SUCCESS = 'savvi/formation/COMPLETE_ONBOARD_SUCCESS';\n\n// Box Token Actions\nexport const BOX_TOKEN_REQUEST = 'savvi/user/BOX_TOKEN_REQUEST';\nexport const BOX_TOKEN_SUCCESS = 'savvi/user/BOX_TOKEN_SUCCESS';\nexport const BOX_TOKEN_FAILED = 'savvi/user/BOX_TOKEN_FAILED';\n\n// Post Hubspot Actions\nexport const SET_HUBSPOT_REQUEST = 'savvi/user/SET_HUBSPOT_REQUEST';\nexport const SET_HUBSPOT_SUCCESS = 'savvi/user/SET_HUBSPOT_SUCCESS';\nexport const SET_HUBSPOT_FAILED = 'savvi/user/SET_HUBSPOT_FAILED';\n\n// Socket.io Actions\nexport const SET_NOTIFICATIONS = 'savvi/user/SET_NOTIFICATIONS';\n\n// User Actions\nexport const CREATE_NEW_USER_REQUEST = 'savvi/user/CREATE_NEW_USER_REQUEST';\nexport const CREATE_NEW_USER_SUCCESS = 'savvi/user/CREATE_NEW_USER_SUCCESS';\nexport const CREATE_NEW_USER_FAILED = 'savvi/user/CREATE_NEW_USER_FAILED';\n\nexport const CHANGE_OWNER_REQUEST = 'savvi/user/CHANGE_OWNER_REQUEST';\nexport const CHANGE_OWNER_SUCCESS = 'savvi/user/CHANGE_OWNER_SUCCESS';\nexport const CHANGE_OWNER_FAILED = 'savvi/user/CHANGE_OWNER_FAILED';\n\nexport const DELETE_USER_REQUEST = 'savvi/user/DELETE_USER_REQUEST';\nexport const DELETE_USER_SUCCESS = 'savvi/user/DELETE_USER_SUCCESS';\nexport const DELETE_USER_FAILED = 'savvi/user/DELETE_USER_FAILED';\n// Partner Types\nexport const CONNECT_PARTNER_REQUEST = 'savvi/user/CONNECT_PARTNER_REQUEST';\nexport const CONNECT_PARTNER_SUCCESS = 'savvi/user/CONNECT_PARTNER_SUCCESS';\nexport const CONNECT_PARTNER_FAILED = 'savvi/user/CONNECT_PARTNER_FAILED';\n\nexport const REMOVE_PARTNER_REQUEST = 'savvi/user/REMOVE_PARTNER_REQUEST';\nexport const REMOVE_PARTNER_SUCCESS = 'savvi/user/REMOVE_PARTNER_SUCCESS';\nexport const REMOVE_PARTNER_FAILED = 'savvi/user/REMOVE_PARTNER_FAILED';\n\nexport const GET_PARTNER_BY_CODE_REQUEST = 'savvi/user/GET_PARTNER_BY_CODE_REQUEST';\nexport const GET_PARTNER_BY_CODE_SUCCESS = 'savvi/user/GET_PARTNER_BY_CODE_SUCCESS';\nexport const GET_PARTNER_BY_CODE_FAILED = 'savvi/user/GET_PARTNER_BY_CODE_FAILED';\nexport const SET_PARTNER_BY_CODE = 'savvi/user/SET_PARTNER_BY_CODE';\nexport const SET_PARTNER_CODE = 'savvi/user/SET_PARTNER_CODE';\n\n// Validate Email\nexport const VALIDATE_EMAIL_REQUEST = 'savvi/user/VALIDATE_EMAIL_REQUEST';\nexport const VALIDATE_EMAIL_SUCCESS = 'savvi/user/VALIDATE_EMAIL_SUCCESS';\nexport const VALIDATE_EMAIL_FAILED = 'savvi/user/VALIDATE_EMAIL_FAILED';\n\nexport const REQUEST_VERIFICATION_EMAIL_REQUEST =\n 'savvi/user/REQUEST_VERIFICATION_EMAIL_REQUEST';\nexport const REQUEST_VERIFICATION_EMAIL_SUCCESS =\n 'savvi/user/REQUEST_VERIFICATION_EMAIL_SUCCESS';\nexport const REQUEST_VERIFICATION_EMAIL_FAILED =\n 'savvi/user/REQUEST_VERIFICATION_EMAIL_FAILED';\n\nexport const CHECK_VERIFICATION_STATUS_REQUEST =\n 'savvi/user/CHECK_VERIFICATION_STATUS_REQUEST';\nexport const CHECK_VERIFICATION_STATUS_SUCCESS =\n 'savvi/user/CHECK_VERIFICATION_STATUS_SUCCESS';\nexport const CHECK_VERIFICATION_STATUS_FAILED =\n 'savvi/user/CHECK_VERIFICATION_STATUS_FAILED';\n\nexport const DELETE_CHALLENGE_REQUEST = 'savvi/user/DELETE_CHALLENGE_REQUEST';\nexport const DELETE_CHALLENGE_SUCCESS = 'savvi/user/DELETE_CHALLENGE_SUCCESS';\nexport const DELETE_CHALLENGE_FAILED = 'savvi/user/DELETE_CHALLENGE_FAILED';\n\nexport const FINALIZE_EMAIL_VERIFICATION_REQUEST =\n 'savvi/user/FINALIZE_EMAIL_VERIFICATION_REQUEST';\nexport const FINALIZE_EMAIL_VERIFICATION_SUCCESS =\n 'savvi/user/FINALIZE_EMAIL_VERIFICATION_SUCCESS';\nexport const FINALIZE_EMAIL_VERIFICATION_FAILED =\n 'savvi/user/FINALIZE_EMAIL_VERIFICATION_FAILED';\n\nexport const EXCHANGE_CHALLENGE_REQUEST = 'savvi/user/EXCHANGE_CHALLENGE_REQUEST';\nexport const EXCHANGE_CHALLENGE_SUCCESS = 'savvi/user/EXCHANGE_CHALLENGE_SUCCESS';\nexport const EXCHANGE_CHALLENGE_FAILED = 'savvi/user/EXCHANGE_CHALLENGE_FAILED';\n","import React, { useMemo, useState } from 'react';\nimport Modal from 'react-modal';\n\nimport './RoomSettings.scss';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { updateRoom, addRoomCode } from '../../redux/modules/Data/operations';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Button, TooltipAction } from '../../components/common';\nimport { InputStyledTextField } from '../../components/inputs';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport { DropdownAction } from '../../components/common/Dropdown/Dropdown';\nimport { getAuthAccount, getAuthUser } from '../../redux/modules/User/selectors';\nimport { getRoomSharingMeta } from '../../redux/modules/Data/selectors';\nimport dayjs from 'dayjs/esm';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport RoomUserHistoryModal from '../../components/RoomUserHistoryModal';\nimport SortDropdown from '../../components/SortDropdown';\n\ndayjs.extend(localizedFormat);\n\nconst defaultSort = (a, b) => {\n let aDate = new Date(a.lastVisited);\n let bDate = new Date(b.lastVisited);\n if (a.name === 'Anonymous') {\n return -1;\n } else if (b.name === 'Anonymous') {\n return 1;\n }\n return bDate - aDate;\n};\n\nexport const sortStrings = (a, b) => a.localeCompare(b);\n\nconst usersSortOptions = {\n name: {\n label: 'Name',\n slug: 'name',\n iconType: 'a-z',\n sortFunc: (a, b) => sortStrings(a.name, b.name),\n },\n date_added: {\n label: 'Date Added',\n slug: 'date_added',\n iconType: 'wide-short',\n sortFunc: (a, b) => {\n let aDate = new Date(a.created_at);\n let bDate = new Date(b.created_at);\n return bDate - aDate;\n },\n },\n none: {\n label: 'Default (last visited)',\n slug: 'none',\n sortFunc: (a, b) => defaultSort(a, b),\n },\n};\n\nexport const RoomSettings = ({\n access_code,\n account_id,\n is_admin_user,\n open,\n require_auth,\n roomId,\n strict,\n}) => {\n const dispatch = useDispatch();\n const [isAddAccessCodeShowing, setIsAddAccessCodeShowing] = useState(false);\n const [isStandingFormsModalOpen, setIsStandingFormsModalOpen] = useState(false);\n const [isOtherFormsModalOpen, setIsOtherFormsModalOpen] = useState(false);\n const [isUserHistoryModalOpen, setIsUserHistoryModalOpen] = useState(false);\n const [selectedUserHistory, setSelectedUserHistory] = useState({});\n const [isRoomUsersCollapsed, setIsRoomUsersCollapsed] = useState(true);\n const currentUser = useSelector(getAuthUser);\n const currentAccount = useSelector(getAuthAccount);\n const roomSharingMeta = useSelector(State => getRoomSharingMeta(State, roomId));\n const {\n standingForms,\n standingFormLink,\n standingFormLinkLabel,\n standingFormsCompleted,\n otherForms,\n otherFormsCompleted,\n totalDocInteractions,\n totalTimesVisited,\n usersByEmail,\n } = roomSharingMeta;\n\n const [isSortReversed, setSortIsDesc] = useState(false);\n const [sortOption, setSortOption] = useState(usersSortOptions.none);\n const { slug, sortFunc } = sortOption;\n\n const sortedUsersByEmail = useMemo(() => {\n let updatedUsers = usersByEmail.sort(sortFunc);\n if (!isSortReversed) {\n updatedUsers = updatedUsers.reverse();\n }\n return updatedUsers;\n }, [usersByEmail, isSortReversed, sortFunc]);\n\n const handleSortUsers = selectedOption => {\n let updatedSortIsDesc = false;\n if (selectedOption.slug === slug) {\n updatedSortIsDesc = !isSortReversed;\n }\n setSortIsDesc(updatedSortIsDesc);\n setSortOption(selectedOption);\n };\n\n const handleUpdateRoom = slug => {\n let body = {};\n let currentSlugValue =\n (slug === 'open' && open) ||\n (slug === 'require_auth' && require_auth) ||\n (slug === 'strict' && strict);\n body[slug] = !currentSlugValue;\n if (slug === 'open' && currentSlugValue) {\n body.init_room = true;\n }\n dispatch(updateRoom(body, roomId, account_id));\n };\n\n const isRoomUsersCollapsible =\n !standingFormLink && otherForms.length === 0 && usersByEmail.length > 4;\n const toggleLabel = !isRoomUsersCollapsed\n ? 'Show fewer users'\n : `Show ${usersByEmail.length - 4} more users`;\n\n const canEdit = account_id === currentAccount.accountId && is_admin_user;\n const canInvite =\n canEdit ||\n usersByEmail.findIndex(\n user =>\n user.user_id === currentUser.userId && (user.admin_user || user.invite_rights),\n ) !== -1;\n const roomAccessLabel =\n (!open && 'Private') ||\n (!!strict && 'Invite Only') ||\n (!!require_auth && 'Sign-in Required') ||\n 'Open';\n\n let accessHelpLabel = 'This room can be viewed by anyone.';\n if (!open) {\n accessHelpLabel = 'This room is closed and only the room admin can view it.';\n } else if (strict) {\n accessHelpLabel =\n 'This room can be viewed by people whitelisted or emailed an access link.';\n } else if (require_auth) {\n accessHelpLabel = 'This room can be viewed by anyone logged in';\n }\n\n return (\n
    \n
    \n
    \n
    \n

    Room Sharing & Access

    \n
    \n
    \n

    Room Access

    \n (\n \n \n

    {roomAccessLabel}

    \n \n \n )}\n >\n
    \n

    Access Options

    \n
    \n
    \n handleUpdateRoom('open')}\n >\n {open ? 'Close Room' : 'Open Room'}\n \n handleUpdateRoom('require_auth')}\n >\n {require_auth ? 'Sign-in Optional' : 'Sign-in Required'}\n \n handleUpdateRoom('require_auth')}\n >\n {strict ? 'Invite Optional' : 'Invite Only'}\n \n \n

    {accessHelpLabel}

    \n
    \n
    \n

    Total Visits

    \n

    {totalTimesVisited}

    \n
    \n
    \n

    \n Total Interactions\n \n

    \n

    {totalDocInteractions}

    \n
    \n
    \n
    \n {canEdit && (\n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(`${REACT_APP_BASEURL}/data-room/${access_code}`)\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n \n \n )}\n {canInvite && (\n setIsAddAccessCodeShowing(true)}\n >\n Share Room Link\n \n )}\n
    \n
    \n
    \n

    \n Users and Personal Links\n \n

    \n
    \n {/* {}}\n sortOption={'default'}\n sortOptions={{ default: { label: 'date' } }}\n /> */}\n \n
    \n {sortedUsersByEmail.map(\n (user, index) =>\n (!isRoomUsersCollapsible ||\n !isRoomUsersCollapsed ||\n (isRoomUsersCollapsed && index < 4)) && (\n {\n if (!ev.defaultPrevented) {\n setSelectedUserHistory(user);\n setIsUserHistoryModalOpen(true);\n }\n }}\n >\n
    \n

    \n {user.name || user.email}\n {!!user.name && !!user.email && (\n <>\n {' - '}\n {user.email}\n \n )}\n

    \n

    \n Last Visited:{' '}\n {user.lastVisited\n ? dayjs(user.lastVisited).format('LLL')\n : 'not visited yet'}\n

    \n
    \n {user.key !== 'anonymous' && (\n
    \n

    \n Personal Link\n \n

    \n

    {user.codes.length > 0 ? 'Yes' : 'No'}

    \n
    \n )}\n
    \n

    Visits

    \n

    {user.timesVisited}

    \n
    \n
    \n

    Interactions

    \n

    {user.docInteractions}

    \n
    \n
    \n \n
    \n
    \n ),\n )}\n {isRoomUsersCollapsible && (\n setIsRoomUsersCollapsed(!isRoomUsersCollapsed)}\n >\n
    \n

    {toggleLabel}

    \n
    \n
    \n )}\n
    \n {!!standingFormLink && (\n
    \n
    \n

    \n Connected Forms\n \n

    \n
    \n
    \n

    \n standing form template\n \n

    \n

    {standingFormLinkLabel}

    \n
    \n {standingForms.length > 0 && (\n
    \n

    Forms Generated

    \n

    {standingForms.length}

    \n
    \n )}\n {standingForms.length > 0 && (\n
    \n

    Forms Completed

    \n

    {standingFormsCompleted}

    \n
    \n )}\n {otherForms.length > 0 && (\n
    \n

    Other Forms

    \n

    {otherForms.length}

    \n
    \n )}\n
    \n
    \n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(`${REACT_APP_BASEURL}/api/redirect/form/${access_code}`)\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n Copy New Standing Form Link\n \n
    \n
    \n
    \n
    \n
    \n setIsStandingFormsModalOpen(true)}\n >\n View Standing Forms\n \n
    \n
    \n
    \n )}\n {otherForms.length > 0 && (\n
    \n
    \n

    \n Connected Forms\n \n

    \n
    \n
    \n

    Forms Connected

    \n

    {otherForms.length}

    \n
    \n
    \n

    Forms Completed

    \n

    {otherFormsCompleted}

    \n
    \n
    \n
    \n setIsOtherFormsModalOpen(true)}\n >\n View Connected Forms\n \n
    \n
    \n
    \n )}\n
    \n {/* setIsAddUserShowing(false)}\n roomId={roomId}\n /> */}\n setIsUserHistoryModalOpen(false)}\n isOpen={isUserHistoryModalOpen}\n roomId={roomId}\n roomUserHistory={selectedUserHistory || {}}\n />\n setIsAddAccessCodeShowing(false)}\n roomId={roomId}\n />\n setIsStandingFormsModalOpen(false)}\n otherForms={otherForms}\n roomId={roomId}\n standingForms={standingForms}\n />\n setIsOtherFormsModalOpen(false)}\n otherForms={otherForms}\n roomId={roomId}\n standingForms={standingForms}\n />\n
    \n );\n};\n\nexport const ShareRoomLinkModal = ({\n access_code,\n account_id,\n isOpen,\n onClose,\n roomId,\n}) => {\n const dispatch = useDispatch();\n const [email, setEmail] = useState('');\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const handleClose = () => {\n setEmail('');\n onClose();\n };\n return (\n \n \n

    Share Personal Room Link

    \n setEmail(e.target.value)}\n defaultPlaceholder=\"ex. myname@gmail.com\"\n value={email}\n label=\"email to share code with\"\n name=\"user_email\"\n />\n

    \n This shares a link that will automatically log in and direct them to this Room. If\n that email does not already have an account we will automatically create a guest\n account for them.\n

    \n
    \n {\n setIsSubmitting(true);\n dispatch(\n addRoomCode(\n { identifier: { type: 'email', value: email } },\n roomId,\n account_id,\n ),\n ).then(\n e => {\n setIsSubmitting(false);\n handleClose();\n },\n error => setIsSubmitting(false),\n );\n }}\n >\n Send Email\n \n
    \n \n );\n};\n\nexport const RoomStandingFormsModal = ({\n // canEdit,\n // account_id,\n // currentUser,\n isOpen,\n isRoomOpen,\n // is_admin_user,\n onClose,\n // roomId,\n standingForms,\n}) => {\n const dispatch = useDispatch();\n\n const sortedForms = standingForms.sort((a, b) => {\n if (a.outside_form.state === 'new' && b.outside_form.state !== 'new') {\n return 1;\n } else if (a.outside_form.state !== 'new' && b.outside_form.state === 'new') {\n return -1;\n }\n return 0;\n });\n\n return (\n {\n document.body.classList.remove('ReactModal__Body--open');\n }}\n className=\"roomSettings__modal roomSettings__modal--sm\"\n overlayClassName=\"roomSettings__modal-overlay\"\n >\n \n

    View Standing Forms

    \n

    View and Manage Standing Forms Connected to this Room.

    \n
    \n {sortedForms.map(\n (\n {\n // code,\n id,\n // room_id,\n created_at,\n identifier,\n // identifier_type,\n // isWhitelisted,\n user: { email, name = '', invite_rights, id: userId, room_user_id } = {},\n outside_form: {\n access_code: outside_form_access_code,\n state,\n id: outside_form_id,\n name: outsideFormLabel,\n metadata: { type } = {},\n } = {},\n },\n ind,\n ) => {\n let label =\n name.trim() || email || identifier || outsideFormLabel || 'Unique Link';\n let formUrl = `/data-room/${outside_form_access_code}/outside-form/${outside_form_access_code}`;\n if (!isRoomOpen) {\n formUrl = `/outside-form/${outside_form_access_code}`;\n }\n return (\n \n
    \n

    {label}

    \n
    \n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(`${REACT_APP_BASEURL}${formUrl}`)\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n \n \n \n \n \n
    \n
    \n
    \n
    \n

    Date Created

    \n

    {dayjs(created_at).format('LLL')}

    \n
    \n
    \n

    status

    \n

    {state === 'new' ? 'Open' : 'Completed'}

    \n
    \n
    \n
    \n );\n },\n )}\n
    \n \n );\n};\n\nexport const RoomOtherFormsModal = ({\n // canEdit,\n // account_id,\n // currentUser,\n isOpen,\n isRoomOpen,\n // is_admin_user,\n onClose,\n // roomId,\n otherForms,\n}) => {\n const dispatch = useDispatch();\n\n const sortedForms = otherForms.sort((a, b) => {\n if (a.outside_form.state === 'new' && b.outside_form.state !== 'new') {\n return 1;\n } else if (a.outside_form.state !== 'new' && b.outside_form.state === 'new') {\n return -1;\n }\n return 0;\n });\n\n return (\n \n \n

    View Shared Forms

    \n

    View and Manage Shared Forms connected to this Room.

    \n
    \n {sortedForms.map(\n (\n {\n // code,\n id,\n // room_id,\n created_at,\n identifier,\n // identifier_type,\n // isWhitelisted,\n user: { email, name = '', invite_rights, id: userId, room_user_id } = {},\n outside_form: {\n access_code: outside_form_access_code,\n state,\n name: outsideFormLabel,\n metadata: { finalize } = {},\n } = {},\n },\n ind,\n ) => {\n let label =\n name.trim() || email || identifier || outsideFormLabel || 'Unique Link';\n let formUrl = `/data-room/${outside_form_access_code}/outside-form/${outside_form_access_code}`;\n if (!isRoomOpen) {\n formUrl = `/outside-form/${outside_form_access_code}`;\n }\n return (\n \n
    \n

    {label}

    \n
    \n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(`${REACT_APP_BASEURL}${formUrl}`)\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n \n \n \n \n \n
    \n
    \n
    \n
    \n

    Date Created

    \n

    {dayjs(created_at).format('LLL')}

    \n
    \n
    \n

    status

    \n
    \n

    \n {state === 'new' ? 'Open' : 'Completed'}\n

    \n {finalize &&

    Finalizes task on submission

    }\n
    \n
    \n
    \n
    \n );\n },\n )}\n
    \n \n );\n};\n\n// const AddUserModal = ({ accessCode, account_id, isOpen, onClose, roomId }) => {\n// const dispatch = useDispatch();\n// const [email, setEmail] = useState('');\n// const [isSubmitting, setIsSubmitting] = useState(false);\n\n// const handleClose = () => {\n// setEmail('');\n// onClose();\n// };\n// return (\n// \n// \n//

    Add User to Room

    \n// setEmail(e.target.value)}\n// defaultPlaceholder=\"ex. myname@gmail.com\"\n// value={email}\n// label=\"user email:\"\n// name=\"user_email\"\n// />\n//
    \n// {\n// setIsSubmitting(true);\n// dispatch(addRoomUser({ email, room_id: roomId }, roomId, account_id, accessCode)).then(\n// e => {\n// setIsSubmitting(false);\n// handleClose();\n// },\n// error => setIsSubmitting(false),\n// );\n// }}\n// >\n// Add User\n// \n//
    \n// \n// );\n// };\n","// import { refreshCompanyToken } from '../modules/Company/operations';\nimport { get } from 'lodash-es';\nimport { setNotice } from '../modules/UI/actions';\nimport { setCompanyTokenRefreshing } from '../modules/Company/actions';\nlet Errors = {\n getMessage: err => {\n let localization = Errors.codes[err.code];\n if (localization) {\n return localization;\n }\n\n console.error(err);\n if (err.message) {\n return err.message;\n }\n return false;\n },\n codes: {\n E_SESSION_INVALID: 'Missing or expired cookie session. Please login again.',\n INVALID_JWT:\n 'Your auth token is expired. Please refresh your page to be assigned a new token.',\n DEVELOPER_ERROR:\n \"We're experiencing issues related to your session, please refresh this window.\",\n },\n};\n\nconst PayloadHandler =\n ({ dispatch, getState }) =>\n next =>\n async action => {\n const {\n Company: { isCompanyTokenRefreshing },\n } = getState();\n if ((action.type || '').endsWith('FAILED')) {\n // this path mainly occurs on 404\n if (action.payload?.response?.error) {\n action.payload = action.payload.response.error;\n } else if (action.payload.response) {\n action.payload = action.payload.response;\n } else {\n action.payload = { ...action, message: 'There was a network error.' };\n }\n let msg = Errors.getMessage(action.payload);\n if (\n action.payload.code === 'INVALID_JWT' &&\n (action.payload.details || []).join().includes('jwt.claims.exp') &&\n !isCompanyTokenRefreshing\n ) {\n console.info('company access token has expired, will refresh.');\n\n dispatch(setNotice('company access token has expired, will refresh.'));\n window.location.reload();\n }\n if (msg) {\n action.payload.replaced_msg = action.payload.msg;\n action.payload.message = msg;\n }\n console.error(msg + '*');\n if (action.payload.status !== 400) {\n if (action.payload._id) {\n console.info(\n '*To help us better understand and help you with this error, please share this error id to our support chat:',\n action.payload._id,\n );\n } else {\n console.info(\n '*If this error looks to be causing you issues, please reach out to our chat support for help.',\n );\n }\n }\n } else if (action.type.endsWith('SUCCESS')) {\n if (action.payload.payload && action.payload.success) {\n action.payload = action.payload.payload;\n }\n } else if (action.error) {\n action.type = action.type.replace(/(?:REQUEST|SUCCESS)$/, 'FAILED');\n }\n\n return await next(action);\n };\n\nexport const myInterceptor =\n ({ dispatch, getState }) =>\n next =>\n async action => {\n let {\n Auth: {\n account: { accountId, exp },\n isInitLoading,\n user: { exp: userTokenExp },\n },\n Company: { isCompanyTokenRefreshing },\n } = getState();\n const endpoint = get(action, '[@@redux-api-middleware/RSAA].endpoint', '');\n const isCompanyEndpoint =\n endpoint &&\n !endpoint.includes('/authn/') &&\n !endpoint.includes('/public/') &&\n !endpoint.includes('/unlisted/') &&\n !endpoint.includes('/guest/') &&\n !endpoint.includes('/remote-login/') &&\n !endpoint.includes('/user/');\n\n const currentDate = Date.now() / 1000 - 600;\n\n if (\n endpoint &&\n (endpoint.includes('authn') || endpoint.includes('user')) &&\n !isInitLoading &&\n currentDate > userTokenExp\n ) {\n console.info('user access token is expired, you will now be logged out.');\n dispatch(setNotice('Your Auth Token is expired, please log back in to continue.'));\n localStorage.removeItem('id_tokens');\n localStorage.removeItem('id_token');\n localStorage.removeItem('storedLocation');\n localStorage.removeItem('hide_verify');\n window.location.reload();\n } else if (\n isCompanyEndpoint &&\n !isInitLoading &&\n !isCompanyTokenRefreshing &&\n accountId &&\n currentDate > exp\n ) {\n console.info('company access token is expired, will refresh.');\n await dispatch(setCompanyTokenRefreshing(true));\n await dispatch(setNotice('company access token is expired, will refresh.'));\n window.location.reload();\n // await dispatch(refreshCompanyToken(accountId, null, true)).then(e => {\n // window.location.reload();\n // });\n // const tokenResponse = await dispatch(refreshCompanyToken(accountId, null, true));\n // if (!!tokenResponse?.access_token) {\n // action[\n // '@@redux-api-middleware/RSAA'\n // ].headers.Authorization = `Bearer ${tokenResponse.access_token}`;\n // }\n }\n return await next(action);\n };\n\nexport default PayloadHandler;\n","import React, { useState } from 'react';\nimport Modal from 'react-modal';\n\nimport './DocumentPreview.scss';\n\nconst bem = elementName => `DocumentPreview${elementName ? '__' + elementName : ''}`;\n\nconst customStyles = {\n overlay: {\n zIndex: 9,\n backgroundColor: 'rgba(0,0,0,.66)',\n position: 'fixed',\n height: '100vh',\n width: '100vw',\n display: 'flex',\n overflowY: 'auto',\n paddingTop: 20,\n WebkitOverflowScrolling: 'touch',\n },\n content: {\n position: 'static',\n maxWidth: '600px',\n minHeight: '580px',\n margin: 'auto',\n padding: '0 8px 4px',\n border: 'none',\n boxShadow: '3px 3px 3px 3px #33373859',\n display: 'flex',\n flexDirection: 'column',\n },\n};\n\nconst DocumentPreview = ({\n customClass,\n isThumbnailShowing,\n isLabelShowing,\n label,\n pages,\n}) => {\n const [isOpen, setOpen] = useState(false);\n\n return (\n \n {isLabelShowing &&

    setOpen(!isOpen)}>{label}

    }\n {isThumbnailShowing && (\n
    \n {pages.map((page, index) => (\n \n ))}\n
    \n )}\n setOpen(false)} isOpen={isOpen} style={customStyles}>\n {pages.map((page, index) => (\n \"\"\n ))}\n \n
    \n );\n};\n\nDocumentPreview.defaultProps = {\n customClass: '',\n label: 'View Document Preview',\n isLabelShowing: true,\n pages: [],\n};\n\nexport default DocumentPreview;\n","export default initialState =>\n reducerMap =>\n (state = initialState, action) => {\n const reducer = reducerMap[action.type];\n return reducer ? reducer(state, action) : state;\n };\n","export default (myModule = '') =>\n (state = false, { type }) => {\n if (!isModule(myModule, type)) {\n return state;\n }\n\n if (isRequest(type)) {\n return true;\n } else if (isSuccess(type) || isFailed(type)) {\n return false;\n } else {\n return state;\n }\n };\n\nconst isModule = (myModule, type) => !!myModule && type.indexOf(myModule) !== -1;\nconst isRequest = type => type.endsWith('REQUEST');\nconst isSuccess = type => type.endsWith('SUCCESS');\nconst isFailed = type => type.endsWith('FAILED');\n","import get from 'lodash-es/get';\nimport isEmpty from 'lodash-es/isEmpty';\n\nexport default (myModule = '') =>\n (state = {}, { type, payload }) => {\n // if (!isModule(myModule, type)) {\n // return state;\n // }\n if (isCleared(type)) {\n return {};\n }\n\n if (isFailed(type)) {\n const message = get(payload, 'message', payload);\n return {\n ...state,\n message: isEmpty(message) ? 'An error has occurred' : message,\n };\n } else {\n return state;\n }\n };\n\n// const isModule = (myModule, type) => !!myModule && type.indexOf(myModule) !== -1;\nconst isFailed = type => type.endsWith('FAILED') || type.endsWith('SET_ERROR');\nconst isCleared = type => type.endsWith('CLEAR_ERRORS');\n","const getValidationErrors = errors => {\n return errors.reduce(\n (memo, error, index) => ({\n ...memo,\n [error.path.pop()]: error.message,\n }),\n {},\n );\n};\n\nexport { getValidationErrors };\n","import * as yup from 'yup';\n\nconst requestSchema = yup.object().shape({\n category: yup.string().required().label('Category'),\n description: yup.string().required().label('Request Details'),\n});\n\nconst trademarkSchema = yup.object().shape({\n phrase: yup.string().required().label('Name or Phrase'),\n industry: yup.string().required().label('Industry'),\n clients: yup.string().required().label('Clients'),\n services: yup.string().required().label('Products or Services'),\n type: yup.string().required().label('Trademark Type'),\n description: yup.string().required().label('Description'),\n});\n\nconst loginSchema = yup.object().shape({\n email: yup.string().email().required().label('E-mail'),\n password: yup.string().min(6).required().label('Password'),\n});\n\nconst forgotSchema = yup.object().shape({\n email: yup.string().email().required().label('E-mail'),\n});\n\nconst resetSchema = yup.object().shape({\n password: yup.string().min(6).required().label('Password'),\n});\n\nconst settingsSchema = yup.object().shape({\n first_name: yup.string().required().label('First Name'),\n last_name: yup.string().required().label('Last Name'),\n phone: yup\n .string()\n .test(\n 'Phone',\n 'Phone number is not valid, should be a valid US Phone, (i.e. (555) 555-5555',\n value =>\n !value ||\n value.match(/^[+]?[(]?[0-9]{3}[)]?[-\\s\\\\.]?[0-9]{3}[-\\s\\\\.]?[0-9]{4,6}$/),\n )\n .label('Phone')\n .nullable(),\n});\n\nconst passwordSchema = yup.object().shape({\n oldPassword: yup.string().min(6).required().label('Password'),\n newPassword: yup.string().min(12).required().label('Password'),\n phone: yup\n .string()\n .test(\n 'Phone',\n 'Phone number is not valid, should be a valid US Phone, (i.e. (555) 555-5555',\n value =>\n !value ||\n value.match(/^[+]?[(]?[0-9]{3}[)]?[-\\s\\\\.]?[0-9]{3}[-\\s\\\\.]?[0-9]{4,6}$/),\n )\n .label('Phone'),\n});\n\nconst addressSchema = yup.object().shape({\n lineOne: yup.string().required().label('Line One'),\n lineTwo: yup.string().label('Line Two'),\n city: yup.string().required().label('City'),\n state: yup.string().required().label('State'),\n zip: yup.string().required().label('ZIPCode'),\n});\n\nconst phoneSchema = yup\n .string()\n .test(\n 'Phone',\n 'Phone number is not valid, should be a valid US Phone, (i.e. (555) 555-5555',\n value =>\n !value || value.match(/^[+]?[(]?[0-9]{3}[)]?[-\\s\\\\.]?[0-9]{3}[-\\s\\\\.]?[0-9]{4,6}$/),\n )\n .label('Phone');\n\nconst validateField = (input, formSchema, errors) => {\n if (!errors[input.name]) return;\n\n const { name, value } = input;\n const schema = yup.reach(formSchema, name);\n\n try {\n return !schema.validateSync(value);\n } catch (err) {\n if (err.name === 'ValidationError') {\n return { [name]: err.message };\n }\n }\n};\n\nconst validateForm = (schema, inputs) => {\n try {\n return !schema.validateSync(inputs, { abortEarly: false });\n } catch (err) {\n if (err.name === 'ValidationError') {\n const errors = err.inner.reduce((memo, { path, message }) => {\n return {\n ...memo,\n [path]: message,\n };\n }, {});\n return errors;\n }\n }\n};\n\nconst registerSchema = yup.object().shape({\n first_name: yup.string().required().label('First Name'),\n last_name: yup.string().required().label('Last Name'),\n email: yup.string().email().required().label('E-mail'),\n company_name: yup.string().required().label('Company Name'),\n password: yup.string().min(12).required().label('Password'),\n tos: yup\n .boolean()\n .oneOf([true], \"You must agree to Savvi's Terms of Service\")\n .required(),\n});\n\nconst addPaymentMethodFormSchema = yup.object().shape({\n name: yup.string().required().label('Card holder name'),\n is_default: yup.string().label('Is default'),\n});\n\nconst addACHFormSchema = yup.object().shape({\n account_holder_name: yup.string().required().label('Account holder name'),\n routing_number: yup.string().required().label('Routing number'),\n account_number: yup.string().required().label('Bank account number'),\n bank_label: yup.string().required().label('Bank account name'),\n});\n\nconst verifyACHFormSchema = yup.object().shape({\n account_holder_name: yup.string().label('Account holder name'),\n routing_number: yup.string().label('Routing number'),\n account_number: yup.string().label('Bank account number'),\n amount_one: yup.number().positive().required().label('Amount One'),\n amount_two: yup.number().positive().required().label('Amount Two'),\n is_default: yup.string().label('Is default'),\n});\n\nconst onboardingFormSchema = yup.object().shape({\n employees_estimate: yup.string().required().nullable().label('Employees Number'),\n buisness_type: yup.string().required().nullable().label('Company Business Type'),\n referral_type: yup.string().required().nullable().label('Referral Type'),\n interests: yup.array().required().label('Company Services'),\n other_legal_needs: yup.string().label('Other Company Services'),\n});\n\n// const createValidation = (initValues) => {\n// let schema = lazy(initValues, (res, val, index) => {\n\n// })\n\n// }\n\n// import mapValues from 'lodash-es/mapValues';\n\n// Yup.lazy(obj =>\n// Yup.object(\n// mapValues(obj, (value, key) => {\n// if (key === 'owner') {\n// return Yup.string().required();\n// }\n// if (key === 'age') {\n// return Yup. number();\n// }\n// if (key.includes('propertyName')) {\n// return Yup.string().required();\n// }\n// if (key.includes('propertyValue')) {\n// return Yup.number().required();\n// }\n// })\n// )\n// )\n\nconst forms = {\n addACHForm: addACHFormSchema,\n addPaymentMethodForm: addPaymentMethodFormSchema,\n onboardingForm: onboardingFormSchema,\n registerForm: registerSchema,\n verifyACHForm: verifyACHFormSchema,\n};\n\nexport {\n addressSchema,\n forgotSchema,\n forms,\n loginSchema,\n passwordSchema,\n phoneSchema,\n registerSchema,\n requestSchema,\n resetSchema,\n settingsSchema,\n trademarkSchema,\n // createValidation,\n validateField,\n validateForm,\n};\n","import React, { useMemo, useState } from 'react';\nimport { useHistory, useParams } from 'react-router-dom';\nimport { Document, Page } from 'react-pdf';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Modal from 'react-modal';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classnames from 'classnames';\nimport { Form, Formik } from 'formik';\nimport { ReactComponent as DocPreviewSVG } from '../../assets/images/doc_preview.svg';\n\nimport { Button, Dropdown, Tooltip } from '../common';\nimport { updateTaskVariant } from '../../redux/modules/Project/operations';\nimport InputStyledCheckbox from '../common/InputStyledCheckbox';\nimport { requestHeaders } from '../../redux/utils/api';\nimport { updateTransaction } from '../../redux/modules/Transaction/operations';\n\nimport './OverviewCard.scss';\nimport { getBoxFileInfo } from '../../redux/modules/Cabinet/operations';\nimport handlePath from '../../utils/handlePath';\nimport { get, startCase } from 'lodash-es';\nimport { BoxToken } from '../../redux/modules/Cabinet/selectors';\nimport ContentPreview from 'box-ui-elements/es/elements/content-preview';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport { BrandMeta } from '../../redux/modules/UI/selectors';\n\nconst bem = elementName => `OverviewCard${elementName ? '__' + elementName : ''}`;\n\nconst OverviewCard = ({\n handleTransactionAction,\n isInitCollapsed,\n isPdfHiding,\n params: { companyId, moduleId, projectId },\n transaction,\n}) => {\n const {\n allow_reopen,\n disabled,\n id: transactionId,\n is_started,\n label,\n open,\n state,\n tasks,\n template: { delete_level, is_assessment } = {},\n validated_questionnaire,\n } = transaction;\n const history = useHistory();\n\n const [isActionsShowing, setIsActionsShowing] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(isInitCollapsed);\n const [isFocused, setIsFocused] = useState(false);\n\n const isReopenAllowed =\n !open &&\n (tasks.findIndex(e => e.mode !== 'Upload' && e.state === 'completed') === -1 ||\n allow_reopen);\n\n let isDeletable = false;\n if (delete_level === 'completed') {\n isDeletable = true;\n } else if (delete_level === 'unsubmitted' && !!open) {\n isDeletable = true;\n } else if (\n delete_level === 'submitted' &&\n tasks.findIndex(e => e.state === 'completed') === -1\n ) {\n isDeletable = true;\n }\n\n let statusLabel = 'Pending';\n let statusLevel = 'med';\n if (!!open) {\n if (!is_started) {\n statusLabel = 'Not Started';\n statusLevel = 'low';\n } else if (!validated_questionnaire) {\n statusLabel = 'Form Incomplete';\n statusLevel = 'med';\n } else {\n statusLabel = 'In Progress';\n statusLevel = 'med';\n }\n } else if (tasks.findIndex(e => e.state !== 'completed') === -1) {\n statusLabel = 'Completed';\n statusLevel = '';\n } else if (tasks.findIndex(e => get(e, 'document.revision_count', 1) > 1) !== -1) {\n statusLabel = 'Awaiting Approval';\n statusLevel = 'high';\n } else if (tasks.findIndex(e => e.status_label === 'Awaiting Signature') !== -1) {\n statusLabel = 'Awaiting Signature';\n statusLevel = 'high';\n } else if (state) {\n statusLabel = state;\n statusLevel = 'high';\n }\n\n return (\n
    \n
    \n \n !is_assessment &&\n history.push(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${transactionId}/task-view`,\n companyId,\n ),\n )\n }\n >\n
    \n {\n setIsFocused(false);\n }}\n onClick={e => {\n e.stopPropagation();\n setIsCollapsed(!isCollapsed);\n setIsFocused(true);\n }}\n >\n \n \n

    33 ? ' long' : ''}`}>\n {label}\n

    \n
    \n
    {statusLabel}
    \n
    \n {\n e.stopPropagation();\n setIsActionsShowing(!isActionsShowing);\n }}\n >\n \n \n {isActionsShowing && (\n {\n e.stopPropagation();\n setIsActionsShowing(false);\n }}\n >\n {\n e.stopPropagation();\n handleTransactionAction('reopen', transactionId, label);\n setIsActionsShowing(false);\n }}\n >\n Reopen Task\n \n {isDeletable && (\n {\n e.stopPropagation();\n handleTransactionAction('delete', transactionId, label);\n setIsActionsShowing(false);\n }}\n >\n Delete Task\n \n )}\n {!open && (\n {\n e.stopPropagation();\n handleTransactionAction('review_inputs', transactionId, label);\n setIsActionsShowing(false);\n }}\n >\n Review Inputs\n \n )}\n {!!open && !!validated_questionnaire && (\n \n Edit Form\n \n )}\n \n )}\n
    \n
    \n {!!disabled && (\n
    \n \n

    Prior Task submissions required before submitting this task.

    \n
    \n )}\n {!isCollapsed && (\n <>\n
    \n
    \n {tasks.map((task, ind) => (\n \n ))}\n
    \n \n )}\n
    \n
    \n );\n};\n\nconst TaskRow = ({\n isPdfHiding,\n open,\n projectId,\n task,\n transactionId,\n validatedQuestionnaire,\n}) => {\n let {\n id,\n document = {},\n label,\n state,\n status_label,\n mode,\n template: { description, deliverables, label: templateLabel, type, type_label },\n template_type,\n template_variant = {},\n } = task;\n const dispatch = useDispatch();\n\n const { customer_label: templateTypeLabel, variants = [] } = template_type || {};\n const { customer_label, id: variantId, preview = {} } = template_variant || {};\n\n const [isVariantsOpen, setIsVariantsOpen] = useState(false);\n\n const deliverable = get(deliverables, '[0]', {});\n const processLabel = document.filename || templateTypeLabel || label || templateLabel;\n const timeline = get(deliverable, 'timeline[0]', {});\n let processDescription = description || deliverable.label;\n let statusLabel = '';\n let statusLevel = 'low';\n let timelineLabel = '';\n let typeLabel = type_label || type || 'Status';\n let pdfFile = {\n customLabel: 'template',\n isTemplate: true,\n ...preview,\n };\n if (document.box_file_id) {\n pdfFile = {\n customLabel: 'document',\n isTemplate: false,\n ...document,\n };\n }\n if (isPdfHiding) {\n pdfFile.customLabel = 'preview ' + pdfFile.customLabel;\n }\n\n if (!type_label && ['System', 'Outside'].includes(type)) {\n typeLabel = '';\n }\n if (timeline.low_days) {\n timelineLabel = `${timeline.low_days} - ${timeline.high_days} days`;\n }\n\n /** handle status */\n if (open) {\n statusLabel = '';\n } else if (document.revision_count && document.revision_count > 0) {\n statusLabel = 'Awaiting Approval';\n statusLevel = 'high';\n } else if (status_label === 'Awaiting Signature') {\n statusLabel = 'Awaiting Signature';\n statusLevel = 'high';\n } else if (state === 'completed') {\n statusLabel = 'Completed';\n statusLevel = 'low';\n } else if (status_label !== 'Incomplete' && state !== 'incomplete') {\n statusLabel = startCase(status_label || state);\n statusLevel = 'med';\n }\n\n return (\n
    \n
    \n

    \n {typeLabel + ' '}\n {type === 'Document' && mode === 'Upload' && ' (Upload) '}\n {type !== 'Document' && !!timelineLabel && ` (${timelineLabel}) `}\n {statusLabel && {statusLabel}}\n

    \n

    \n {processLabel}\n {variants.length > 1 && !isVariantsOpen && !!open && mode !== 'Upload' && (\n <>\n {`--${customer_label} (`}\n setIsVariantsOpen(!isVariantsOpen)}>\n {isVariantsOpen ? 'Keep Template' : 'Change Template'}\n \n \n )\n \n )}\n

    \n {!!processDescription &&\n !!preview.box_file_id &&\n type === 'Document' &&\n mode !== 'Upload' && (\n <>\n

    description

    \n

    {processDescription}

    \n \n )}\n {isVariantsOpen && (\n {\n dispatch(updateTaskVariant(id, { template_variant_id }, projectId)).then(\n e => {\n if (validatedQuestionnaire && open) {\n dispatch(\n updateTransaction(transactionId, { validated_questionnaire: 0 }),\n );\n }\n setIsVariantsOpen(false);\n },\n );\n }}\n >\n {formikProps => (\n
    \n
    \n

    Choose a Template:

    \n
    \n setIsVariantsOpen(false)}\n size=\"sm\"\n >\n Cancel\n \n \n
    \n
    \n
    \n {variants.map((variant, index) => (\n \n {\n formikProps.setFieldValue('template_variant_id', variant.id);\n }}\n type=\"radio\"\n value={variant.id}\n />\n {variant.description && (\n

    \n {'Description: '}\n

    {variant.description}

    \n

    \n )}\n {variant.partners.length > 0 && (\n

    \n Partners:{' '}\n

    \n {variant.partners\n .reduce((dict, e) => [...dict, e.partner.name], [])\n .join(', ')}\n

    \n

    \n )}\n {!!variant?.preview && (\n \n )}\n
    \n ))}\n
    \n \n )}\n \n )}\n
    \n {!isVariantsOpen && (\n
    \n {type === 'Document' && mode !== 'Upload' && pdfFile.box_file_id && (\n \n )}\n {!!processDescription && (!pdfFile.box_file_id || mode === 'Upload') && (\n <>\n

    description

    \n

    {processDescription}

    \n \n )}\n
    \n )}\n \n );\n};\n\nexport const PDFViewer = ({\n box_token,\n downloadableUrl,\n isDownloadable,\n isLinkOnHover,\n isPdfHiding,\n isShowOnHover,\n linkUrl,\n accessCode,\n file,\n url,\n width = 220,\n height = 284,\n reports_feature_type_id,\n resource_id,\n}) => {\n const dispatch = useDispatch();\n const { companyId } = useParams();\n const boxToken = useSelector(BoxToken);\n const brandMeta = useSelector(BrandMeta);\n const { box_file_id, customLabel, filename = '', isTemplate, label, preview } = file;\n const [numPages, setNumPages] = useState('loading');\n const [pageNumber, setPageNumber] = useState(1);\n const [isError, setIsError] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n\n const isPdf = (preview || filename || label || '').includes('.pdf');\n const fileToken = box_token || boxToken;\n const isFileAvailable =\n !!url || (!!box_file_id && (isPdf || !!fileToken || !!resource_id));\n const pdfLabel =\n customLabel || filename || label || `File${isFileAvailable ? ' Preview' : ' Saved'}`;\n\n const filePath = useMemo(() => {\n const queryUrl = resource_id\n ? `?reports_feature_type_id=${reports_feature_type_id}&resource_id=${resource_id}`\n : '';\n const dynamicUrl = accessCode\n ? `guest/rooms/${accessCode}/file/${box_file_id}${queryUrl}`\n : `account/box/file/${box_file_id}`;\n const updatedUrl = url || `${brandMeta.web_base_url}/api/${dynamicUrl}`;\n return {\n url: updatedUrl,\n httpHeaders: requestHeaders(true),\n };\n }, [\n accessCode,\n brandMeta.web_base_url,\n box_file_id,\n resource_id,\n reports_feature_type_id,\n url,\n ]);\n\n const onDocumentLoadSuccess = ({ numPages, ...rest }) => {\n setNumPages(numPages);\n setIsError(false);\n };\n\n const handleModalClose = e => {\n e.preventDefault();\n setIsOpen(false);\n setIsError(false);\n setPageNumber(1);\n };\n\n const handleResponseInterceptor = e => {\n if (e.type === 'error' || e instanceof Error) {\n this.setState({\n error: e.message || 'Unable to preview file at this time.',\n });\n }\n return e;\n };\n\n const isActionShowing = isLinkOnHover && !isError && isFileAvailable;\n const isBoxPreviewShowing = !!box_file_id && !!fileToken && !isTemplate && !url;\n const isDocumentShowing = !!url || (isPdf && isTemplate && filePath);\n const isErrorShowing = !box_file_id && !fileToken && isError && !url;\n const PDFViewerHeight =\n ((!!url || (!!box_file_id && !!fileToken)) && 800) ||\n (!isError && 400) ||\n 'fit-content';\n\n return (\n <>\n \n {!isPdfHiding && isFileAvailable && (\n {\n if (isLinkOnHover) {\n e.preventDefault();\n setIsOpen(!isOpen);\n }\n }}\n style={{\n width: width + 16,\n height: height + 16,\n }}\n >\n {isBoxPreviewShowing && (\n \n )}\n {isDocumentShowing && (\n \n \n

    Loading PDF...

    \n \n }\n onLoadSuccess={onDocumentLoadSuccess}\n onLoadError={() => setIsError(true)}\n onSourceError={() => setIsError(true)}\n error={\n \n \n \n }\n >\n \n \n

    Loading Page....

    \n \n }\n onLoadError={() => setIsError(true)}\n onRenderError={() => setIsError(true)}\n pageNumber={pageNumber}\n width={width}\n />\n {!isShowOnHover &&
    }\n \n )}\n
    \n )}\n {isActionShowing ? (\n {\n e.preventDefault();\n setIsOpen(!isOpen);\n }}\n >\n {pdfLabel}\n \n ) : (\n

    {pdfLabel}

    \n )}\n \n {isLinkOnHover && (\n \n e.preventDefault()}\n >\n \n

    ({pdfLabel})

    \n {isBoxPreviewShowing && (\n \n )}\n {isErrorShowing && (\n

    \n \n {isError.message}\n

    \n )}\n {isDocumentShowing && (\n \n \n

    \n Unable to preview file at this time. To view/download, ask the\n account admin or get access through the connected account's File\n Cabinet and Documents View.\n

    \n \n }\n loading={\n
    \n \n

    Loading PDF....

    \n
    \n }\n onLoadSuccess={onDocumentLoadSuccess}\n onLoadError={() => setIsError(true)}\n onSourceError={() => setIsError(true)}\n >\n \n \n

    Loading Page....

    \n \n }\n onLoadError={() => setIsError(true)}\n onRenderError={() => setIsError(true)}\n pageNumber={pageNumber}\n height={780}\n />\n
    \n {numPages > 1 && (\n {\n setPageNumber(pageNumber - 1);\n }}\n aria-label=\"Previous page\"\n >\n \n \n )}\n \n {pageNumber} of {numPages}\n \n {isDownloadable && (\n {\n const newUrl = downloadableUrl || filePath.url;\n var client = new XMLHttpRequest();\n client.open('GET', newUrl);\n client.withCredentials = true;\n client.responseType = 'blob';\n Object.entries(requestHeaders(!downloadableUrl)).forEach(\n ([key, value]) => {\n client.setRequestHeader(key, value);\n },\n );\n client.onreadystatechange = () => {\n switch (client.readyState) {\n case 4:\n dispatch(setNotice('Starting Download.'));\n const windowUrl = window.URL.createObjectURL(\n client.response,\n );\n const link = document.createElement('a');\n link.href = windowUrl;\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n break;\n default:\n }\n };\n client.send();\n }}\n >\n \n \n \n )}\n {\n if (linkUrl) {\n window.open(linkUrl, '_blank');\n } else if (accessCode) {\n const newUrl = downloadableUrl || filePath.url;\n var client = new XMLHttpRequest();\n client.open('GET', newUrl);\n client.withCredentials = true;\n client.responseType = 'blob';\n Object.entries(requestHeaders(!downloadableUrl)).forEach(\n ([key, value]) => {\n client.setRequestHeader(key, value);\n },\n );\n client.onreadystatechange = () => {\n switch (client.readyState) {\n case 4:\n const windowUrl = window.URL.createObjectURL(\n client.response,\n );\n const link = document.createElement('a');\n link.href = windowUrl;\n link.target = '_blank';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n break;\n default:\n }\n };\n client.send();\n } else if (!preview) {\n dispatch(getBoxFileInfo(box_file_id)).then(payload => {\n const win = window.open(\n handlePath(\n `${brandMeta.web_base_url}/cabinet/${get(\n payload,\n 'parent.id',\n -1,\n )}/${box_file_id}`,\n companyId,\n ),\n '_blank',\n );\n win.focus();\n });\n } else {\n const win = window.open(preview, '_blank');\n win.focus();\n }\n }}\n >\n \n \n \n {numPages > 1 && (\n = numPages}\n onClick={e => {\n setPageNumber(pageNumber + 1);\n }}\n aria-label=\"Next page\"\n >\n \n \n )}\n
    \n \n )}\n \n \n )}\n \n );\n};\n\nexport default OverviewCard;\n","import React, { Component, Fragment, createRef } from 'react';\nimport { connect } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport ContentPicker from 'box-ui-elements/es/elements/content-picker';\nimport ContentPreview from 'box-ui-elements/es/elements/content-preview';\nimport ContentUploader from 'box-ui-elements/es/elements/content-uploader';\nimport classnames from 'classnames';\nimport get from 'lodash-es/get';\n\n// import { deleteDocumentUpload } from '../../redux/modules/Transaction/operations';\nimport savviLogo from '../../assets/images/savvi_logo.svg';\nimport {\n getBoxFileForDataRoom,\n getBoxFileInfo,\n getBoxTokenFolderId,\n uploadBoxFile,\n} from '../../redux/modules/Cabinet/operations';\nimport {\n BoxToken,\n IsTempBoxTokenFetchInitialized,\n} from '../../redux/modules/Cabinet/selectors';\nimport { CurrentCompany } from '../../redux/modules/Company/selectors';\n\nimport './FileUploader.scss';\nimport { createRoomHistory } from '../../redux/modules/Data/operations';\nimport { Button } from '../common';\n\nclass FileUploader extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n folder: null,\n isDeleteOpen: false,\n isInitialFetching: true,\n error: '',\n isPickerOpen: false,\n isReuploadOpen: false,\n isDocViewed: false,\n };\n this.uploaderRef = createRef();\n this.innerUploaderRef = createRef();\n this.previewRef = createRef();\n }\n\n componentDidMount() {\n const {\n access_code,\n fileId,\n getBoxTokenFolderId,\n getBoxFileForDataRoom,\n path,\n reports_feature_type_id,\n resource_id,\n } = this.props;\n\n if (path && !fileId) {\n getBoxTokenFolderId(path)\n .then(payload => {\n this.setState({\n isInitialFetching: false,\n folder: payload.upload_folder_id,\n });\n })\n .catch(error => this.setState({ error }));\n } else if (access_code && reports_feature_type_id && fileId) {\n getBoxFileForDataRoom(\n fileId,\n access_code,\n `?reports_feature_type_id=${reports_feature_type_id}&resource_id=${resource_id}`,\n ).then(\n payload =>\n this.setState({\n accessToken: payload.token.accessToken,\n isInitialFetching: false,\n }),\n error => this.setState({ error: error.message, isInitialFetching: false }),\n );\n } else {\n this.setState({ isInitialFetching: false });\n }\n }\n\n render() {\n const {\n access_code,\n account_transaction_id,\n boxToken,\n createRoomHistory,\n currentCompany,\n feature_type_id,\n filename,\n fileId,\n handleGotoCabinet,\n isDisabled,\n isLocked,\n label,\n reports_feature_type_id,\n multiEntry,\n onUpload,\n push,\n resource_id,\n resource_name,\n roomId,\n tags,\n uploadBoxFile,\n usePathAsRootFolder,\n } = this.props;\n\n const {\n accessToken,\n error,\n folder,\n isInitialFetching,\n isPickerOpen,\n isDocViewed,\n isReuploadOpen,\n } = this.state;\n let collection = [];\n if (fileId && fileId.includes('|')) {\n collection = fileId.split('|');\n }\n\n const boxRootFolderId = get(currentCompany, 'account.box_root_folder_id', '0');\n\n const handleResponseInterceptor = e => {\n if (e.type === 'error' || e instanceof Error) {\n this.setState({\n error: e.message || 'Unable to preview file at this time.',\n });\n } else if (access_code && reports_feature_type_id && !isDocViewed) {\n this.setState({ isDocViewed: true });\n createRoomHistory(\n access_code,\n {\n box_file_id: fileId,\n action: !e.data.download_url ? 'view' : 'download',\n customer_label: `${label} (${resource_name})`,\n file_label: filename,\n },\n roomId,\n );\n }\n return e;\n };\n\n if (!isInitialFetching && !boxToken && !folder && !reports_feature_type_id) {\n return (\n
    \n {error || 'Unable to load, please refresh and try again.'}\n
    \n );\n }\n return (\n <>\n {isInitialFetching ? (\n
    \n \n
    \n ) : (\n <>\n {!!fileId && !isPickerOpen && !isReuploadOpen && (\n \n {!!boxToken && !isLocked && fileId && (\n <>\n {collection.length === 0 && (\n {\n e.viewer.zoomOut(0.32);\n }}\n />\n )}\n {collection.length > 0 && (\n {\n e.viewer.zoomOut(0.32);\n }}\n />\n )}\n \n )}\n {isLocked && !fileId &&

    File not saved

    }\n {!!reports_feature_type_id && !!fileId && !!accessToken && (\n <>\n {collection.length === 0 && (\n {\n e.viewer.zoomOut(0.32);\n }}\n />\n )}\n {collection.length > 0 && (\n {\n e.viewer.zoomOut(0.32);\n }}\n />\n )}\n \n )}\n {!!fileId && !!error && (\n

    File{multiEntry ? '(s)' : ''} saved to Company File Cabinet.

    \n )}\n {!isDisabled && (\n
    \n {!isLocked && !access_code && (\n this.setState({ isPickerOpen: true })}\n type=\"button\"\n >\n \n Select different file{!!multiEntry && '(s)'}\n \n )}\n {!isLocked && !!access_code && (\n this.setState({ isReuploadOpen: true })}\n type=\"button\"\n >\n \n Upload Different File{!!multiEntry ? '(s)' : ''}\n \n )}\n {!access_code && (\n <>\n \n handleGotoCabinet(\n collection.length > 0 ? collection[0] : fileId,\n push,\n )\n }\n type=\"button\"\n >\n View in File Cabinet\n {!!multiEntry && *}\n \n \n )}\n
    \n )}\n {!isDisabled && !access_code && !!multiEntry && (\n

    \n *other files from a batch upload can be viewed in the\n File Cabinet\n

    \n )}\n \n )}\n {((!fileId && !isPickerOpen && !reports_feature_type_id) ||\n isReuploadOpen) && (\n \n {!!boxToken && (\n <>\n {\n if (!multiEntry) {\n setTimeout(() =>\n this.uploaderRef.current.lastElementChild.lastElementChild.lastElementChild.click(),\n );\n }\n }}\n token={boxToken}\n measureRef={this.uploaderRef}\n rootFolderId={folder || boxRootFolderId}\n onUpload={e => {\n uploadBoxFile(e.id, {\n tags: tags || [],\n feature_type_id,\n filename,\n resource_id,\n resource_name,\n account_transaction_id,\n });\n }}\n onComplete={e => {\n let fileIdArr = e.map(file => file.id);\n onUpload(fileIdArr.join('|'));\n this.setState({ isReuploadOpen: false });\n }}\n />\n {!access_code && !isDisabled && (\n this.setState({ isPickerOpen: true })}\n type=\"button\"\n className=\"file-uploader__primary-action align-right\"\n >\n Choose previously uploaded file{!!multiEntry ? 's' : ''}\n \n )}\n {!!access_code && !isDisabled && isReuploadOpen && (\n this.setState({ isReuploadOpen: false })}\n type=\"button\"\n className=\"align-right\"\n >\n Cancel\n \n )}\n \n )}\n \n )}\n {isPickerOpen && boxToken && !reports_feature_type_id && (\n \n {\n if (!multiEntry) {\n setTimeout(() =>\n this.innerUploaderRef.current.lastElementChild.lastElementChild.lastElementChild.click(),\n );\n }\n },\n measureRef: this.innerUploaderRef,\n onUpload: e => {\n uploadBoxFile(e.id, {\n tags: tags || [],\n feature_type_id,\n filename,\n resource_id,\n resource_name,\n account_transaction_id,\n });\n },\n onComplete: e => {\n let fileIdArr = e.map(file => file.id);\n onUpload(fileIdArr.join('|')).then(payload => {\n this.setState({ isPickerOpen: false });\n });\n },\n }}\n isSmall\n logoUrl={savviLogo}\n maxSelectable={!multiEntry ? 1 : 100}\n rootFolderId={(usePathAsRootFolder && folder) || boxRootFolderId}\n token={boxToken}\n measureRef={this.uploaderRef}\n onCancel={e => this.setState({ isPickerOpen: false })}\n onChoose={e => {\n this.setState({ isPickerOpen: false });\n let fileIdArr = e.map(file => file.id);\n onUpload(fileIdArr.join('|'));\n }}\n />\n this.setState({ isPickerOpen: false })}\n type=\"button\"\n className=\"file-uploader__primary-action\"\n >\n {fileId ? 'Cancel' : 'Back to upload file'}\n \n \n )}\n \n )}\n \n );\n }\n}\n\nconst mapStateToProps = (State, ownProps) => ({\n isTempBoxTokenFetchInitialized: IsTempBoxTokenFetchInitialized(State),\n boxToken: BoxToken(State),\n currentCompany: CurrentCompany(State),\n});\n\nconst mapDispatchToProps = (\n dispatch,\n { accountId, access_code, companyId, isOutsideForm },\n) => ({\n createRoomHistory: (accessCode, body, roomId) =>\n dispatch(createRoomHistory(accessCode, body, roomId)),\n handleGotoCabinet: (fileId, push) => dispatch(getBoxFileInfo(fileId, push, companyId)),\n getBoxFileForDataRoom: (boxFileId, accessCode, query) =>\n dispatch(getBoxFileForDataRoom(boxFileId, accessCode, query)),\n getBoxTokenFolderId: path =>\n dispatch(\n getBoxTokenFolderId(\n path,\n isOutsideForm,\n isOutsideForm ? false : access_code,\n accountId,\n ),\n ),\n uploadBoxFile: (fileId, body) => dispatch(uploadBoxFile(fileId, body, isOutsideForm)),\n});\n\nconst enhance = connect(mapStateToProps, mapDispatchToProps);\nexport default enhance(FileUploader);\n","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgFileEdit(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 80,\n height: 80,\n viewBox: \"0 0 80 80\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.06255e-05 1.4323C-0.00299488 0.644367 0.633244 0.00314713 1.42118 0L38.2738 1.14441e-05H38.2961C38.6749 0.00082016 39.0378 0.152195 39.3049 0.420776L49.0997 10.2156L56.757 17.8728C56.7852 17.9014 56.8122 17.9311 56.8378 17.962C56.8685 17.9986 56.8974 18.0368 56.9242 18.0763C56.9504 18.1159 56.9746 18.1568 56.9967 18.1989C57.0192 18.2406 57.0397 18.2833 57.058 18.3271C57.0747 18.3663 57.0896 18.4063 57.1028 18.4469L57.1082 18.4609L57.1135 18.4862C57.1245 18.5239 57.1338 18.562 57.1416 18.6005C57.1689 18.7323 57.1775 18.8674 57.1669 19.0017V24.9566L69.8905 12.2387C70.1523 11.9738 70.5074 11.8218 70.8797 11.8151C71.2637 11.8129 71.6324 11.9656 71.9024 12.2387L79.5795 19.9046C79.8487 20.1724 80 20.5364 80 20.9161C80 21.2958 79.8487 21.6598 79.5795 21.9276L57.1669 44.3317V78.5677C57.1699 79.3556 56.5337 79.9968 55.7458 80H1.42118C0.633242 79.9969 -0.00299787 79.3556 1.06255e-05 78.5677V1.4323ZM36.8722 2.85345H2.85349V77.1465H54.3135V47.1852L46.4664 55.0294C46.3025 55.1945 46.1006 55.3169 45.8785 55.3861L34.7767 58.822C34.2714 58.9795 33.7204 58.8445 33.3452 58.4711C32.9701 58.0977 32.8325 57.5473 32.9877 57.0413L36.4319 45.9284C36.4434 45.8908 36.4564 45.8536 36.4709 45.817V45.8142C36.4883 45.7705 36.5078 45.7278 36.5294 45.686C36.5944 45.5591 36.678 45.4426 36.7775 45.3405L54.3135 27.8045V20.3058H38.2961C37.9173 20.3051 37.5543 20.1536 37.2872 19.8849C37.02 19.6163 36.8707 19.2524 36.8722 18.8735V2.85345ZM39.7284 4.8793L47.0795 12.2387L52.2932 17.4524H39.7284V4.8793ZM76.5477 20.9161L70.8909 15.2593L67.2321 18.9209L72.8861 24.5777L76.5477 20.9161ZM11.4278 17.4524C10.9106 17.4409 10.4277 17.7104 10.1657 18.1565C9.90375 18.6026 9.90375 19.1556 10.1657 19.6017C10.4277 20.0479 10.9106 20.3173 11.4278 20.3058H27.2668C27.784 20.3173 28.267 20.0479 28.5289 19.6017C28.7909 19.1556 28.7909 18.6026 28.5289 18.1565C28.267 17.7104 27.784 17.4409 27.2668 17.4524H11.4278ZM70.8658 26.5979L65.209 20.9439L56.7994 29.3593L56.7887 29.371L56.7791 29.3813L56.7671 29.3939L56.7573 29.404L39.0541 47.11L36.5155 55.2914L44.6969 52.7639L54.7342 42.7268L54.7508 42.7107C54.7609 42.701 54.7712 42.6915 54.7816 42.6821L70.8658 26.5979ZM42.4955 28.738C42.4435 28.7361 42.3914 28.737 42.3395 28.7408H11.4278C11.3786 28.7383 11.3293 28.7383 11.2801 28.7408C10.5288 28.8238 9.97259 29.4782 10.0118 30.2331C10.051 30.9879 10.672 31.5812 11.4278 31.5859H42.3395C42.8586 31.6317 43.3613 31.3909 43.651 30.9577C43.9406 30.5246 43.9711 29.968 43.7305 29.5058C43.4899 29.0435 43.0165 28.7492 42.4955 28.738ZM10.1656 40.725C10.4276 40.2788 10.9106 40.0094 11.4278 40.0209H29.3846C29.9019 40.0094 30.3848 40.2788 30.6468 40.725C30.9088 41.1711 30.9088 41.7241 30.6468 42.1703C30.3848 42.6164 29.9019 42.8858 29.3846 42.8744H11.4278C10.9106 42.8858 10.4276 42.6164 10.1656 42.1703C9.90362 41.7241 9.90362 41.1711 10.1656 40.725ZM11.2801 51.3121C10.5052 51.3693 9.91803 52.0352 9.9582 52.8111C9.99836 53.5871 10.6512 54.1887 11.4278 54.1656H24.1514C24.6687 54.1771 25.1516 53.9077 25.4136 53.4615C25.6756 53.0154 25.6756 52.4624 25.4136 52.0162C25.1516 51.5701 24.6687 51.3007 24.1514 51.3121H11.4278C11.3786 51.3096 11.3293 51.3096 11.2801 51.3121ZM34.746 62.8653C35.0055 62.6041 35.356 62.4533 35.7241 62.4445C36.4196 62.4293 37.0247 62.9179 37.1564 63.601C37.1564 63.601 37.7077 66.4714 40.3276 67.1734C42.2694 67.6937 45.2152 65.3927 45.2152 65.3927C45.5889 65.0322 46.1288 64.903 46.6252 65.0553C47.1216 65.2076 47.4961 65.6173 47.6033 66.1254C47.7105 66.6334 47.5333 67.1596 47.1408 67.4994C47.1408 67.4994 43.677 71.0274 39.5891 69.9321C37.2197 69.2972 35.9816 67.7598 35.2504 66.382L32.5558 69.0905C32.1969 69.4623 31.6651 69.611 31.1654 69.4793C30.6657 69.3476 30.2763 68.956 30.1474 68.4557C30.0184 67.9553 30.1701 67.4243 30.5438 67.0675L34.746 62.8653Z\",\n fill: \"black\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFileEdit);\nexport default __webpack_public_path__ + \"static/media/file_edit.4102bd94.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgFileUpload(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 57,\n height: 80,\n viewBox: \"0 0 57 80\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.33333 80H48.3333C52.9283 80 56.6667 76.2617 56.6667 71.6667V17.6425L39.0242 0H8.33333C3.73833 0 0 3.73833 0 8.33333V71.6667C0 76.2617 3.73833 80 8.33333 80ZM3.33331 8.33334C3.33331 5.57584 5.57581 3.33334 8.33331 3.33334H37.6425L53.3333 19.0242V71.6667C53.3333 74.4242 51.0908 76.6667 48.3333 76.6667H8.33331C5.57581 76.6667 3.33331 74.4242 3.33331 71.6667V8.33334Z\",\n fill: \"black\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55 20H45C40.405 20 36.6666 16.2617 36.6666 11.6667V1.66667C36.6666 0.746667 37.4133 0 38.3333 0C39.2533 0 40 0.746667 40 1.66667V11.6667C40 14.4242 42.2425 16.6667 45 16.6667H55C55.92 16.6667 56.6666 17.4133 56.6666 18.3333C56.6666 19.2533 55.92 20 55 20Z\",\n fill: \"black\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.3333 55.8333C27.4133 55.8333 26.6666 55.0866 26.6666 54.1666V32.4999C26.6666 31.5799 27.4133 30.8333 28.3333 30.8333C29.2533 30.8333 30 31.5799 30 32.4999V54.1666C30 55.0866 29.2533 55.8333 28.3333 55.8333Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.8333 39.1667C35.4067 39.1667 34.98 39.0042 34.655 38.6784L28.3333 32.3576L22.0117 38.6784C21.3617 39.3292 20.305 39.3292 19.655 38.6784C19.0042 38.0276 19.0042 36.9726 19.655 36.3217L28.3333 27.6426L37.0117 36.3217C37.6625 36.9726 37.6625 38.0276 37.0117 38.6784C36.6867 39.0042 36.26 39.1667 35.8333 39.1667Z\",\n fill: \"black\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFileUpload);\nexport default __webpack_public_path__ + \"static/media/file_upload.9fe4519e.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useCallback, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Modal from 'react-modal';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Field, Form, Formik } from 'formik';\nimport { ReactComponent as EditFileSVG } from '../../assets/images/file_edit.svg';\nimport { ReactComponent as UploadFileSVG } from '../../assets/images/file_upload.svg';\n\nimport FeatureTypes from '../../utils/FeatureTypes';\nimport { Button } from '../common';\n\nimport './AddResourceModal.scss';\nimport {\n createResourceName,\n getTransactionQuestionnaire,\n updateResourceName,\n} from '../../redux/modules/Transaction/operations';\nimport {\n patchFeature,\n getFlatFeatures,\n updateResourceFeatures,\n fetchResourcesByTypeId,\n deleteIndividual,\n fetchResourceId,\n} from '../../redux/modules/Formation/operations';\nimport { fetchCompanyDataTables } from '../../redux/modules/Company/operations';\nimport { get } from 'lodash-es';\nimport {\n getFlatFeaturesForOptions,\n getResourcesByTypeIdForSelect,\n} from '../../redux/modules/Formation/selectors';\nimport { ResourceSelect } from '../formik';\nimport { handleExternalUrlWithCompanyId } from '../../utils/handlePath';\nimport classNames from 'classnames';\nimport { massageResource } from '../DataTable/DataTable';\nimport { fetchRoomByAccessCode } from '../../redux/modules/Data/operations';\nimport { setNotice } from '../../redux/modules/UI/actions';\n\nconst initNewResourceVals = (resource, isResourceEmpty) => {\n let formikValues = {};\n (resource.resourceItems || []).forEach(e => {\n formikValues[e.feature_type.name] = isResourceEmpty ? e.defaultValue : e.initialValue;\n });\n (resource.documentItems || []).forEach(e => {\n formikValues[e.feature_type.name] = isResourceEmpty ? e.defaultValue : e.initialValue;\n });\n return formikValues;\n};\n\nconst AddResourceModal = ({\n accountId,\n accessCode,\n documentsTotal,\n requiredDocumentsTotal,\n handleClose: passedHandleClose,\n isCompany,\n isLocked, // currently only for data room & outside form\n isNew,\n isOpen,\n json,\n params = {},\n reports_feature_type_id,\n resource,\n resourceTypeId,\n roomId,\n setSelectedResource,\n setIsNew,\n}) => {\n const {\n allow_new,\n feature_types = [],\n links = [],\n resource_label,\n resource_type,\n resource_type_id,\n } = json;\n const {\n documentItems = [],\n documentsCompleted,\n isDeletable,\n isDocsShowingInitially,\n requiredDocumentsCompleted,\n resourceId,\n resourceItems = [],\n resourceName,\n } = resource || {};\n\n const dispatch = useDispatch();\n\n const [isOpenInit, setIsOpenInit] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [formVisible, setFormVisible] = useState(false);\n const [docsVisible, setDocsVisible] = useState(false);\n const [isAddView, setIsAddView] = useState(false);\n const [isClosing, setIsClosing] = useState(false);\n const [isMaxClosingTimeout, setIsMaxClosingTimeout] = useState(false);\n\n useEffect(() => {\n if (isOpen && isDocsShowingInitially) {\n setDocsVisible(true);\n setFormVisible(false);\n } else if (isOpen && !isDocsShowingInitially) {\n setDocsVisible(false);\n setFormVisible(true);\n }\n }, [isDocsShowingInitially, isOpen]);\n\n useEffect(() => {\n if (!isOpenInit && isOpen) {\n setIsOpenInit(true);\n if (isNew && resource_type_id) {\n dispatch(fetchResourcesByTypeId(resource_type_id, accountId));\n setIsAddView(links.length > 0);\n } else if (isCompany) {\n dispatch(\n getFlatFeatures(\n {\n select: [\n 1, // individual > name\n 9, // individual > is_board_director\n ],\n where: {\n 9: '1', // individual > is_board_director\n },\n },\n 'directors',\n accountId,\n ),\n );\n }\n }\n }, [\n accountId,\n isCompany,\n isOpen,\n isOpenInit,\n isNew,\n dispatch,\n links,\n resource_type_id,\n ]);\n\n const handleClose = useCallback(() => {\n setSelectedResource({});\n setIsAddView(false);\n setIsOpenInit(false);\n setIsSubmitting(false);\n setIsNew(false);\n setDocsVisible(false);\n setFormVisible(true);\n passedHandleClose();\n setIsClosing(false);\n setIsMaxClosingTimeout(false);\n }, [setIsNew, setSelectedResource, passedHandleClose]);\n\n useEffect(() => {\n if (isClosing) {\n const maxClosingTimeout = setTimeout(() => setIsMaxClosingTimeout(true), 5000);\n return () => {\n clearTimeout(maxClosingTimeout);\n };\n }\n }, [isClosing]);\n\n useEffect(() => {\n if (isMaxClosingTimeout) {\n dispatch(setNotice('Updates made will appear shortly.'));\n handleClose();\n }\n }, [dispatch, handleClose, isMaxClosingTimeout]);\n\n const handleClosingModal = () => {\n setIsClosing(true);\n if (!!accessCode) {\n return dispatch(fetchRoomByAccessCode(accessCode, accountId)).then(\n e => handleClose(),\n error => handleClose(),\n );\n }\n const finalAction = params.transactionId\n ? getTransactionQuestionnaire\n : fetchCompanyDataTables;\n return dispatch(finalAction(params.transactionId)).then(\n e => handleClose(),\n error => handleClose(),\n );\n };\n\n const handleDeleteResource = (passedResourceId, passedResourceName) => {\n const id = passedResourceId || resourceId;\n const name = passedResourceName || resourceName;\n const message = `Are you sure you want to remove ${name} from our system?`;\n\n if (window.confirm(message)) {\n dispatch(deleteIndividual(id, name, accountId)).then(e => {\n if (!!accessCode) {\n dispatch(fetchRoomByAccessCode(accessCode, accountId));\n }\n return !!passedResourceId\n ? dispatch(fetchResourcesByTypeId(resource_type_id, accountId))\n : handleClosingModal();\n });\n }\n };\n\n const handleSubmit = formikValues => {\n if (isLocked) {\n return handleClose();\n }\n const resource_name = formikValues[feature_types[0].feature_type.name];\n const emptyPromise = () => async () => {\n return await Promise.resolve();\n };\n let sumbitFunc = updateResourceName;\n if (resource_name === resource.resourceName || !allow_new) {\n sumbitFunc = emptyPromise;\n }\n\n setIsSubmitting(true);\n dispatch(\n sumbitFunc(\n {\n name: resource_name,\n resource_type_id,\n },\n resource.resourceId,\n false,\n accountId,\n ),\n ).then(\n payload =>\n dispatch(\n updateResourceFeatures(\n formikValues,\n resource.resourceItems,\n feature_types,\n (payload && payload.id) || resource.resourceId,\n resource_name,\n isCompany,\n isNew,\n accountId,\n ),\n ).then(handleClosingModal, handleClosingModal),\n error => handleClosingModal(),\n );\n };\n\n let modalHeader =\n (isNew &&\n `Add${\n ['Director', 'Employee'].includes(resource_label) ? '/Remove' : ''\n } a(n) ${resource_label}`) ||\n resourceName ||\n resource_label;\n\n let modalSubheader =\n (isAddView && `How would you like to add your ${resource_label}`) ||\n (!resourceName && `First add or select a new ${resource_label}`) ||\n (!isAddView && !resourceName && `First add or select a new ${resource_label}`) ||\n resource_label;\n\n const requiredDocsCompletedLabel = `${requiredDocumentsCompleted} of ${requiredDocumentsTotal} required documents uploaded`;\n let documentsLabel = `Documents (${documentsTotal})`;\n const isAsterikShowing = !!isNew && !isAddView;\n const isLinksSublabelShowing = isAddView && links.length > 0 && !isLocked;\n const isFormSublabelShowing = links.length > 0 && !isLocked;\n const formSublabel = `Certain fields/documents can only be ${\n resourceName ? 'adjusted' : 'created'\n } through linked workflow(s) below.`;\n const isDocumentsAvailable =\n (!accessCode && !!documentsTotal) || (!!accessCode && documentsCompleted > 0);\n const isDeleteActionShowing =\n !!isDeletable && !isNew && !accessCode && resourceTypeId !== 2;\n\n return (\n \n
    \n

    \n {modalHeader}\n {isAsterikShowing && *}\n {isDeleteActionShowing && (\n \n )}\n

    \n

    {modalSubheader}

    \n {isAsterikShowing && (\n

    \n Inputs marked with '*' are required.\n

    \n )}\n \n {isLinksSublabelShowing && (\n

    \n \n Certain fields/documents can only be created through linked workflow(s) below.\n

    \n )}\n
    \n {isAddView && (\n
    \n {links.map((link, ind) => (\n \n \n
    \n

    \n Start Workflow\n

    \n

    {link.label}

    \n
    \n \n ))}\n {!!allow_new && (\n {\n setFormVisible(true);\n setIsAddView(false);\n }}\n >\n \n
    \n

    \n Manual Add {resource_type}\n

    \n

    Add existing {resource_type} and upload any connected documents

    \n
    \n
    \n )}\n {isCompany && (\n {\n setFormVisible(true);\n setIsAddView(false);\n }}\n >\n \n
    \n

    \n Edit {resource_type} details\n

    \n

    Add existing {resource_type} and upload any connected documents

    \n
    \n \n )}\n \n )}\n {!isAddView && (\n \n {formikProps => (\n
    \n
    \n setFormVisible(!formVisible)}\n >\n \n

    Information

    \n {isNew && (\n

    \n Inputs marked with \"*\" are required\n

    \n )}\n {isFormSublabelShowing && (\n

    \n \n {formSublabel}\n

    \n )}\n
    \n \n 0,\n })}\n >\n {resourceItems\n .filter(\n e =>\n e.edit_view &&\n !e.isDocument &&\n (!isLocked ||\n (isLocked &&\n e.feature.value &&\n e.feature_type.feature_type !== 'boolean')),\n )\n .sort((a, b) => {\n if (\n b.feature_type.feature_type === 'address' ||\n b.feature_type.feature_type === 'address_universal'\n ) {\n return -1;\n }\n return 0;\n })\n .map((item, index) => (\n \n ))}\n \n {isDocumentsAvailable && (\n
    \n {\n setDocsVisible(!docsVisible);\n }}\n >\n \n

    {documentsLabel}

    \n {!!requiredDocumentsTotal &&

    {requiredDocsCompletedLabel}

    }\n {!!isNew && (\n

    \n Documents marked with \"*\" are considered required\n documents and something you should upload/generate as soon as\n possible. You can still initially add{' '}\n {resourceName || `this ${resource_label}`} without all required\n documents.\n

    \n )}\n
    \n \n )}\n \n {documentItems\n .filter(\n e =>\n e.edit_view &&\n (!isLocked ||\n (isLocked &&\n e.feature.value &&\n e.feature_type.feature_type !== 'boolean')),\n )\n .map((item, index) => (\n \n ))}\n \n
    \n
    \n \n {isLocked ? 'Close' : 'Cancel'}\n \n {links.length > 0 && !isLocked && (\n \n )}\n
    \n {!isLocked && (\n \n {isNew ? 'Save' : 'Assign'}\n \n )}\n
    \n \n )}\n \n )}\n \n );\n};\n\nAddResourceModal.propTypes = {\n accessCode: PropTypes.string,\n documentsTotal: PropTypes.number,\n requiredDocumentsTotal: PropTypes.number,\n handleClose: PropTypes.func,\n isCompany: PropTypes.bool,\n isLocked: PropTypes.bool, // currently only for data room & outside form\n isNew: PropTypes.bool,\n isOpen: PropTypes.bool,\n json: PropTypes.object,\n params: PropTypes.object,\n reports_feature_type_id: PropTypes.number,\n resource: PropTypes.object,\n setSelectedResource: PropTypes.func,\n setIsNew: PropTypes.func,\n};\n\nconst ResourceItem = ({\n accessCode,\n accountId,\n formikProps,\n handleDeleteResource,\n index,\n isLocked,\n isNew,\n item,\n json,\n params,\n reports_feature_type_id,\n resource,\n roomId,\n setIsNew,\n setSelectedResource,\n}) => {\n const dispatch = useDispatch();\n const {\n allow_entry,\n feature_name,\n feature_type: {\n feature_type,\n filename,\n is_creatable,\n multi_entry_feature,\n name,\n options,\n path,\n question_text,\n question_comment,\n question_help,\n question_placeholder,\n tags,\n },\n feature_type_id,\n isDocument,\n new_require,\n required,\n feature,\n } = item;\n const isSignatory = name === 'company_signatory';\n const { feature_types = [], resource_type, resource_type_id } = json;\n const { resourceName, resourceId } = resource || {};\n\n const directors = useSelector(state => getFlatFeaturesForOptions(state, 'directors'));\n const resources = useSelector(state =>\n getResourcesByTypeIdForSelect(state, resource_type_id),\n );\n\n const handleResourceName = (selectedResource, formikProps, isEditingName) => {\n const body = {\n resource_type_id,\n name: selectedResource?.label || selectedResource,\n };\n const passedResourceId = selectedResource?.id;\n body.transactionId = params.transactionId;\n if (!passedResourceId && !isEditingName) {\n return dispatch(createResourceName(body, accountId)).then(payload =>\n dispatch(fetchResourceId(payload.id, payload.resource_type_id, accountId)).then(\n e => {\n const updatedResource = massageResource(\n e[payload.id],\n feature_types,\n payload.id,\n );\n setSelectedResource(updatedResource);\n formikProps.resetForm({\n values: initNewResourceVals(updatedResource),\n });\n setIsNew(true);\n },\n ),\n );\n } else if (!isEditingName && passedResourceId !== resourceId) {\n dispatch(fetchResourceId(passedResourceId, body.resource_type_id, accountId)).then(\n e => {\n const updatedResource = massageResource(\n e[passedResourceId],\n feature_types,\n passedResourceId,\n );\n setSelectedResource(updatedResource);\n formikProps.resetForm({\n values: initNewResourceVals(updatedResource),\n });\n },\n );\n }\n };\n const handleFormBlur = e => {\n if (feature_type === 'document') {\n dispatch(\n patchFeature(\n {\n value: e.target.value,\n feature_type_id,\n resource_id: resourceId,\n },\n resourceName,\n name,\n true,\n accountId,\n ),\n );\n }\n };\n const handleRemoveResource = () => {\n const emptyResource = massageResource([], feature_types);\n setSelectedResource(emptyResource);\n formikProps.resetForm({\n values: initNewResourceVals(emptyResource, true),\n });\n };\n const validateField = val => {\n if (!isDocument && index !== 0 && ((isNew && new_require) || (!isNew && required))) {\n if (isSignatory) {\n return FeatureTypes['options'].validate(val);\n }\n return FeatureTypes[feature_type].validate(val);\n } else if (feature_type === 'date') {\n return FeatureTypes[feature_type].validate(\n val,\n true,\n get(formikProps, `touched.${name}`, false),\n );\n }\n };\n\n let questionLabel = feature_type === 'boolean' ? question_text : feature_name;\n const isResourceName = index === 0 && !isDocument;\n let updatedOptions = options;\n if (isResourceName) {\n updatedOptions = resources;\n } else if (feature_type === 'detailed_options') {\n updatedOptions = JSON.parse(options);\n } else if (isSignatory) {\n updatedOptions = directors;\n }\n const FieldComponent = isResourceName\n ? ResourceSelect\n : FeatureTypes[isSignatory ? 'options' : feature_type].Formik;\n const isDisabled = !isDocument && !!isLocked && !isResourceName;\n const isFixed =\n (isNew && !resourceId && !isResourceName) || !!feature.fixed || !allow_entry;\n const isRequired = (!isNew && !!required) || (isNew && !!new_require);\n const placeholder = isResourceName\n ? 'Type to search or create new...'\n : question_placeholder;\n const reportsFeatureTypeId = !!params.access_code ? reports_feature_type_id : '';\n const isCreatable = isResourceName || !!is_creatable;\n\n return (\n \n handleResourceName(selectedResource, formikProps, isEditingName)\n }\n handleDelete={handleDeleteResource}\n handleRemoveResource={handleRemoveResource}\n icon=\"user\"\n isNewResource={isNew && !feature.value}\n name={name}\n feature_type={feature_type}\n feature_type_id={feature_type_id}\n filename={filename}\n handleFormBlur={handleFormBlur}\n isDisabled={isDisabled}\n isLocked={isLocked}\n isPairedColumn\n isCreatable={isCreatable}\n isDetailedOptions={feature_type === 'detailed_options'}\n isFixed={isFixed}\n isRequired={isRequired}\n label={questionLabel}\n multiEntry={multi_entry_feature}\n options={updatedOptions}\n setLabel={() => {}}\n params={params}\n path={path}\n placeholder={placeholder}\n questionHelp={question_help}\n resource_id={resourceId}\n resource_name={feature.resource}\n resetValue={FeatureTypes[feature_type].value}\n resourceTypeName={resource_type}\n reports_feature_type_id={reportsFeatureTypeId}\n roomId={roomId}\n sublabel={question_comment}\n tags={tags}\n taskId={params.transactionId}\n validate={validateField}\n />\n );\n};\n\nResourceItem.propTypes = {\n formikProps: PropTypes.object,\n index: PropTypes.number,\n isLocked: PropTypes.bool,\n isNew: PropTypes.bool,\n item: PropTypes.object,\n json: PropTypes.object,\n params: PropTypes.object,\n reports_feature_type_id: PropTypes.number,\n resource: PropTypes.object,\n setIsNew: PropTypes.func,\n setSelectedResource: PropTypes.func,\n};\n\nexport default AddResourceModal;\n","import React, { useMemo } from 'react';\n\nimport classNames from 'classnames';\n\nimport { Button } from '../common';\nimport './DataTable.scss';\nimport handlePath from '../../utils/handlePath';\nimport { FilePreviewer } from '../FilePreviewer/FilePreviewer';\nimport PropTypes from 'prop-types';\n\nconst SUBHEADERS_WITH_TYPE = ['authorized_shares', 'equity_shares', 'quarterly_revenue'];\nconst SUBHEADERS = ['email', 'investment_type', 'ip_type', 'state_type', 'equity_class'];\n\nexport const DataRow = ({\n accessCode,\n companyId,\n isAdmin,\n requiredDocumentsTotal,\n reports_feature_type_id,\n resource,\n resourceIndex,\n roomId,\n setIsModalOpen,\n setSelectedResource,\n}) => {\n const { documentsCompleted, documentItems, resourceItems } = resource;\n\n const filteredResourceItems = useMemo(() => {\n let filteredArr = [];\n let isSubheaderShowing = false;\n resourceItems.forEach(e => {\n const isSubheaderWithType = SUBHEADERS_WITH_TYPE.includes(e.feature_type.name);\n const isSubheader = SUBHEADERS.includes(e.feature_type.name);\n if (e.isDocument) {\n return;\n } else if (!isSubheaderShowing && isSubheaderWithType) {\n filteredArr[0] = {\n ...filteredArr[0],\n sublabel: e.feature.value ? `${e.label} ${e.feature_name}` : '',\n };\n isSubheaderShowing = true;\n } else if (!isSubheaderShowing && isSubheader) {\n filteredArr[0] = {\n ...filteredArr[0],\n sublabel: e.feature.value ? e.label : '',\n };\n isSubheaderShowing = true;\n } else if (e.table_view) {\n filteredArr.push(e);\n }\n });\n return filteredArr;\n }, [resourceItems]);\n\n const onResourceClick = (e, resource) => {\n if (resource.isDocument) {\n e.preventDefault();\n setSelectedResource({ ...resource, isDocsShowingInitially: true });\n setIsModalOpen(true);\n }\n };\n const onDocumentsClick = e => {\n e.preventDefault();\n setSelectedResource({ ...resource, isDocsShowingInitially: true });\n setIsModalOpen(true);\n };\n const onDocumentClick = (e, initialValue) => {\n if (initialValue) {\n e.preventDefault();\n }\n };\n\n const isDocumentsShowing = documentsCompleted > 0 || requiredDocumentsTotal > 0;\n\n return (\n {\n if (!e.defaultPrevented) {\n setSelectedResource(resource);\n setIsModalOpen(true);\n }\n }}\n >\n {filteredResourceItems.map((resourceFeature, index) => (\n onResourceClick(e, resourceFeature)}\n >\n {index === 0 && (\n <>\n

    {resourceFeature.label}

    \n {resourceFeature.sublabel &&

    {resourceFeature.sublabel}

    }\n \n )}\n {index !== 0 && (\n <>\n

    {resourceFeature.feature_name}

    \n

    \n {resourceFeature.label}\n {!resourceFeature.feature.value &&\n !!resourceFeature.action &&\n !accessCode && (\n <>\n \n {resourceFeature.action.link_text}\n \n \n )}\n

    \n \n )}\n \n ))}\n {(documentsCompleted > 0 || requiredDocumentsTotal > 0) && (\n \n

    \n Documents\n {(!!documentsCompleted || requiredDocumentsTotal > 0) && (\n <>\n {' ('}\n \n )\n \n )}\n

    \n {documentItems.map(\n (doc, ind) =>\n !!doc.table_view &&\n (!!doc.initialValue || (!doc.initialValue && doc.new_require)) && (\n onDocumentClick(e, doc.initialValue)}\n key={`document-item-${ind}`}\n >\n {/* {!doc.initialValue && doc.new_require && (\n \n )} */}\n {!doc.initialValue && (\n

    \n {doc.new_require && *}\n {doc.feature_name}\n

    \n )}\n {!!doc.initialValue && (\n \n )}\n \n ),\n )}\n \n )}\n \n );\n};\n\nDataRow.propTypes = {\n accessCode: PropTypes.string,\n companyId: PropTypes.string,\n isAdmin: PropTypes.bool,\n requiredDocumentsTotal: PropTypes.number,\n reports_feature_type_id: PropTypes.number,\n resource: PropTypes.object,\n resourceIndex: PropTypes.number,\n setIsModalOpen: PropTypes.func,\n setSelectedResource: PropTypes.func,\n};\n","import React, { useMemo, useState } from 'react';\nimport Modal from 'react-modal';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport './DataLedgerModal.scss';\nimport { generateBem } from '../../utils/generateBem';\nimport { Button } from '../common';\nimport { Field, Form, Formik } from 'formik';\nimport { StyledCheckbox } from '../formik';\nimport { InputStyledTextField } from '../inputs';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { CompanyNameWithHooks } from '../../redux/modules/Formation/selectors';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport InputStyledCheckbox from '../common/InputStyledCheckbox/InputStyledCheckbox';\n\nconst bem = generateBem('dataLedgerModal');\n\nconst DataLedgerModal = ({ handleClose, isOpen, json, resourcesList }) => {\n const dispatch = useDispatch();\n const { feature_types = [], resource_label } = json || {};\n const companyName = useSelector(CompanyNameWithHooks);\n\n const defaultFilename = `${companyName} ${resource_label} Ledger ${new Intl.DateTimeFormat().format(\n new Date(),\n )}`;\n const [filename, setFilename] = useState(defaultFilename);\n\n let initVals = useMemo(() => {\n let featureTypes = {};\n let resources = {};\n feature_types.forEach(item => {\n featureTypes[item.feature_name] = '1';\n });\n resourcesList.forEach(item => {\n resources[item.resourceName] = '1';\n });\n return { featureTypes, resources };\n }, [feature_types, resourcesList]);\n\n const exportToCsv = (filename, rows) => {\n var processRow = function (row) {\n var finalVal = '';\n for (var j = 0; j < row.length; j++) {\n var innerValue = row[j] === null ? '' : row[j].toString();\n if (row[j] instanceof Date) {\n innerValue = row[j].toLocaleString();\n }\n var result = innerValue.replace(/\"/g, '\"\"');\n if (result.search(/(\"|,|\\n)/g) >= 0) result = '\"' + result + '\"';\n if (j > 0) finalVal += ',';\n finalVal += result;\n }\n return finalVal + '\\n';\n };\n\n var csvFile = '';\n for (var i = 0; i < rows.length; i++) {\n csvFile += processRow(rows[i]);\n }\n\n dispatch(setNotice('Starting Download.'));\n\n var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });\n if (navigator.msSaveBlob) {\n // IE 10+\n navigator.msSaveBlob(blob, filename);\n } else {\n var link = document.createElement('a');\n if (link.download !== undefined) {\n // feature detection\n // Browsers that support HTML5 download attribute\n var url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', filename);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n };\n\n const handleSubmit = formikValues => {\n let csvFile = [[]];\n Object.entries(formikValues.featureTypes).forEach(([key, val]) => {\n if (val === '1') {\n csvFile[0].push(key);\n }\n });\n resourcesList.forEach((resource, resourceIndex) => {\n const isResourceSelected =\n Object.entries(formikValues.resources).findIndex(\n ([key, val]) => key === resource.resourceName && val === '1',\n ) !== -1;\n if (isResourceSelected) {\n let csvRow = [];\n resource.resourceItems.forEach(item => {\n const csvHeader = item.feature_name;\n const isHeaderSelected = csvFile[0].findIndex(i => i === csvHeader) !== -1;\n if (isHeaderSelected) {\n if (item.feature_type.feature_type === 'document' && item.label !== '--') {\n csvRow.push('File Uploaded');\n } else {\n csvRow.push(item.label);\n }\n }\n });\n csvFile.push(csvRow);\n }\n });\n exportToCsv((filename || defaultFilename) + '.csv', csvFile);\n };\n\n return (\n \n
    \n

    Download {resource_label} Report as CSV

    \n \n
    \n
    \n setFilename(ev.target.value)}\n label=\"CSV Filename\"\n />\n \n {formikProps => (\n \n )}\n \n
    \n \n );\n};\n\nfunction getCheckboxMeta(vals) {\n let isAllChecked = true;\n let isAllUnchecked = true;\n vals.forEach(val => {\n if (val === '1') {\n isAllUnchecked = false;\n } else {\n isAllChecked = false;\n }\n });\n if (isAllChecked) {\n return 'checked';\n } else if (isAllUnchecked) {\n return 'unchecked';\n } else {\n return 'indeterminate';\n }\n}\n\nconst LedgerForm = ({ formikProps, resourcesList, feature_types, handleClose }) => {\n const { values, setValues } = formikProps;\n // handleSubmit, handleChange, handleBlur, values, errors\n const [isResourcesShowing, setIsResourcesShowing] = useState(false);\n\n const valuesMeta = useMemo(() => {\n return {\n featureTypes: getCheckboxMeta(Object.values(values.featureTypes)),\n resources: getCheckboxMeta(Object.values(values.resources)),\n };\n }, [values]);\n let totalSelected = Object.values(formikProps.values.resources).filter(\n item => item === '1',\n ).length;\n\n let toggleLabel = 'Hide resources';\n if (!isResourcesShowing) {\n toggleLabel = `Edit resources to download (${totalSelected} of ${resourcesList.length} selected)`;\n }\n\n const handleFeatureTypesCheckboxes = () => {\n let featureTypes = {};\n if (\n valuesMeta.featureTypes === 'checked' ||\n valuesMeta.featureTypes === 'indeterminate'\n ) {\n Object.keys(values.featureTypes).forEach(key => {\n featureTypes[key] = '0';\n });\n } else {\n Object.keys(values.featureTypes).forEach(key => {\n featureTypes[key] = '1';\n });\n }\n setValues({ featureTypes, resources: values.resources });\n };\n\n const handleResourcesCheckboxes = () => {\n let resources = {};\n if (valuesMeta.resources === 'checked' || valuesMeta.resources === 'indeterminate') {\n Object.keys(values.resources).forEach(key => {\n resources[key] = '0';\n });\n } else {\n Object.keys(values.resources).forEach(key => {\n resources[key] = '1';\n });\n }\n setValues({ featureTypes: values.featureTypes, resources });\n };\n\n return (\n
    \n \n {feature_types.map((item, index) => (\n \n ))}\n setIsResourcesShowing(!isResourcesShowing)}\n >\n {toggleLabel}\n \n {isResourcesShowing && (\n <>\n \n {/*

    Select which resources to download:

    */}\n {resourcesList.map((item, index) => (\n \n ))}\n \n )}\n
    \n \n \n
    \n \n );\n};\n\nexport default DataLedgerModal;\n","import React, { useMemo, useState } from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\n\nimport { Button } from '../common';\nimport './DataTable.scss';\nimport _isEmpty from 'lodash-es/isEmpty';\nimport { deleteRoomReport, swapRoomReports } from '../../redux/modules/Data/operations';\nimport AddResourceModal from '../AddResourceModal/AddResourceModal';\nimport FeatureTypes from '../../utils/FeatureTypes';\nimport { useParams } from 'react-router';\nimport handlePath from '../../utils/handlePath';\nimport SortDropdown from '../SortDropdown';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\nimport { DataRow } from './DataRow';\nimport { FilePreviewer } from '../FilePreviewer/FilePreviewer';\nimport DataLedgerModal from '../DataLedgerModal';\ndayjs.extend(customParseFormat);\n\nexport const massageResource = (features, featureTypes, resourceId) => {\n const isResourceEmpty = features[0]?.isResourceEmpty || false;\n const isDeletable = !features[0]?.finalized || false;\n let resourceItems = [];\n let documentItems = [];\n let documentsCompleted = 0;\n let requiredDocumentsCompleted = 0;\n let resourceName = '';\n\n featureTypes.forEach(e => {\n const featureIndex = features.findIndex(v => v.feature_type_id === e.feature_type_id);\n let feature = features[featureIndex] || {};\n if (feature.resource) {\n resourceName = feature.resource;\n }\n e.initialValue = feature.value || e.default_value || '';\n e.defaultValue = e.default_value || '';\n e.resourceId = feature.resource_id;\n\n if (\n e.feature_type.feature_type === 'boolean' &&\n (feature.value === '0' || feature.value === 'false')\n ) {\n e.initialValue = false;\n } else if (e.feature_type.feature_type === 'address') {\n let matches =\n (feature.value || '').match(/(.*)\\n(.*)\\n(.*), ([a-z\\s]*)(.*)/i) || [];\n e.defaultValue = {\n line_one: '',\n line_two: '',\n city: '',\n state: '',\n zip: '',\n };\n if (!feature.value) {\n e.initialValue = e.defaultValue;\n } else if (matches.length === 0) {\n e.defaultValue.line_one = feature.value;\n e.initialValue = e.defaultValue;\n } else {\n e.initialValue = {\n line_one: matches[1] || '',\n line_two: matches[2] || '',\n city: matches[3] || '',\n state: matches[4] || '',\n zip: matches[5] || '',\n };\n }\n } else if (e.feature_type.feature_type === 'address_universal') {\n let matches =\n (feature.value || '').match(/(.*)\\n(.*)\\n(.*), ([a-z\\s]*) (.*)?(\\n(.*))?/i) || [];\n e.defaultValue = {\n line_one: '',\n line_two: '',\n city: '',\n state: '',\n zip: '',\n country: 'United States of America',\n };\n if (!feature.value) {\n e.initialValue = e.defaultValue;\n } else if (matches.length === 0) {\n e.defaultValue.line_one = feature.value;\n e.initialValue = e.defaultValue;\n } else {\n e.initialValue = {\n line_one: matches[1] || '',\n line_two: matches[2] || '',\n city: matches[3] || '',\n state: matches[4] || '',\n zip: matches[5] || '',\n country: matches[7] || 'United States of America',\n };\n }\n } else if (e.feature_type.feature_type === 'date' && feature.value) {\n e.initialValue = dayjs(feature.value, 'MMM Do, YYYY').format('MM/DD/YYYY');\n }\n let label = feature.value || '--';\n\n if (e.feature_type.feature_type === 'percent' && feature.value) {\n label = feature.value + '%';\n } else if (e.feature_type.feature_type === 'document') {\n e.isDocument = true;\n e.initialValue = feature.value;\n\n if (feature.value) {\n documentsCompleted++;\n label = 'Preview File';\n if (e.new_require) {\n requiredDocumentsCompleted++;\n }\n }\n documentItems.push({ ...e, feature });\n } else if (\n e.feature_type.feature_type &&\n e.feature_type.feature_type.includes('address') &&\n feature.value\n ) {\n let newLabel = [];\n let splitValue = label.split('\\n');\n splitValue.forEach(e => {\n if (e.trim()) {\n newLabel.push(e);\n }\n });\n label = newLabel.join('\\n') || '--';\n }\n if (label.indexOf('|') !== -1) {\n label = label.split('|').join(', ');\n }\n if (!feature.value && !_isEmpty(e.action)) {\n label = e.action.label;\n }\n e.label = label;\n resourceItems.push({ ...e, feature });\n });\n return {\n isDeletable,\n isResourceEmpty,\n resourceItems,\n documentsCompleted,\n documentItems,\n requiredDocumentsCompleted,\n resourceId,\n resourceName,\n };\n};\n\nexport const massageResourceList = (\n resourceList,\n featureTypes,\n sortSlug,\n isSortReversed,\n) => {\n let list = Object.entries(resourceList).sort(sortTable(sortSlug));\n if (isSortReversed) {\n list.reverse();\n }\n if (list.length === 0) {\n list.push(['', [{ isResourceEmpty: true }]]);\n }\n list = list.map(([key, features]) => massageResource(features, featureTypes, key));\n return list;\n};\n\nconst sortTable = slug => (a, b) => {\n const aItem = a[1][a[1].findIndex(e => e.feature === slug)];\n const bItem = b[1][b[1].findIndex(e => e.feature === slug)];\n if (!aItem && bItem) {\n return 1;\n } else if (aItem && !bItem) {\n return -1;\n } else if (!aItem && !bItem) {\n return 0;\n }\n return FeatureTypes[aItem.feature_type].compareFunc(aItem, bItem);\n};\n\nconst DataTable = ({\n accessCode,\n accountId,\n id,\n isAdmin,\n isEditing,\n isInitCollapsed,\n json = {},\n passedParams = {},\n question_label,\n resourceListData = {},\n roomId,\n room_report_id,\n reportIndex,\n reports,\n}) => {\n const {\n allow_new,\n feature_types = [],\n links = [],\n resource_label,\n resource_type_id,\n } = json;\n const dispatch = useDispatch();\n const routeParams = useParams();\n const params = _isEmpty(passedParams) ? routeParams : passedParams;\n const { companyId } = params;\n\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [isNew, setIsNew] = useState(false);\n const [selectedResource, setSelectedResource] = useState({});\n const [isSortReversed, setIsSortReversed] = useState(false);\n\n const [isCollapsed, setCollapsed] = useState(isInitCollapsed);\n const [isLedgerShowing, setIsLedgerShowing] = useState(false);\n\n let tableSortOptions = useMemo(() => {\n let sortOptions = {};\n let documentsTotal = 0;\n let requiredDocumentsTotal = 0;\n feature_types\n .filter(e => e.table_view)\n .forEach(e => {\n if (e.feature_type.feature_type === 'document') {\n documentsTotal++;\n if (e.new_require) {\n requiredDocumentsTotal++;\n }\n }\n sortOptions[e.feature_type.name] = {\n label: e.feature_name,\n slug: e.feature_type.name,\n iconType: 'a-z',\n };\n });\n return {\n documentsTotal,\n requiredDocumentsTotal,\n sortOptions: {\n ...sortOptions,\n none: {\n slug: 'none',\n label: 'None',\n },\n },\n };\n }, [feature_types]);\n\n const [sortOption, setSortOption] = useState(tableSortOptions.sortOptions.none);\n const { slug } = sortOption;\n\n const { resourcesList, tableDocumentsTotal } = useMemo(() => {\n const resourcesList = massageResourceList(\n resourceListData,\n feature_types,\n slug,\n isSortReversed,\n );\n let tableDocumentsTotal = 0;\n resourcesList.forEach(e => {\n tableDocumentsTotal += e.documentsCompleted;\n });\n return {\n resourcesList,\n tableDocumentsTotal,\n };\n }, [resourceListData, feature_types, slug, isSortReversed]);\n\n const handleCloseModal = () => {\n setIsModalOpen(false);\n setSelectedResource({});\n };\n\n const handleSortRooms = selectedOption => {\n let updatedIsSortReversed = false;\n if (selectedOption.slug === slug) {\n updatedIsSortReversed = !isSortReversed;\n }\n setIsSortReversed(updatedIsSortReversed);\n setSortOption(selectedOption);\n };\n const handleAddResourceClick = () => {\n setSelectedResource(massageResourceList([], feature_types)[0]);\n setIsNew(true);\n setIsModalOpen(true);\n };\n const handleSortUpClick = e => {\n e.preventDefault();\n dispatch(\n swapRoomReports(\n room_report_id,\n reports[reportIndex - 1].room_report_id,\n roomId,\n accountId,\n accessCode,\n ),\n );\n };\n const handleSortDownClick = e => {\n e.preventDefault();\n dispatch(\n swapRoomReports(\n room_report_id,\n reports[reportIndex + 1].room_report_id,\n roomId,\n accountId,\n accessCode,\n ),\n );\n };\n\n const isTableEmpty = resourcesList.length < 1 || resourcesList[0].isResourceEmpty;\n const isAddDataShowing =\n (!!allow_new || links.length > 0) &&\n (!accessCode || (!!accessCode && isAdmin && isEditing)) &&\n !isCollapsed;\n const isSortShowing = resourcesList.length > 1 && !isCollapsed;\n\n return (\n
    \n {\n if (e.defaultPrevented || isTableEmpty) {\n return;\n }\n setCollapsed(!isCollapsed);\n }}\n className={classNames('dataTable__title', {\n 'dataTable__title--empty': isTableEmpty,\n 'dataTable__title--collapsed': isCollapsed,\n })}\n >\n
    \n

    \n {!isTableEmpty && (\n \n )}\n {question_label}\n {!accessCode && !roomId && resourcesList.length > 0 && (\n {\n ev.preventDefault();\n setIsLedgerShowing(true);\n }}\n tooltip=\"Download Report as CSV\"\n >\n \n \n )}\n {isEditing && (\n <>\n \n \n \n \n \n \n {\n e.preventDefault();\n dispatch(\n deleteRoomReport(room_report_id, roomId, accountId, accessCode),\n );\n }}\n >\n \n \n \n )}\n

    \n
    \n {isAddDataShowing && (\n \n {`Add${\n ['Director', 'Employee'].includes(resource_label) ? '/Remove' : ''\n } ${resource_label}`}\n \n )}\n {isSortShowing && (\n \n )}\n
    \n

    Entries

    \n

    \n \n {isTableEmpty ? 0 : resourcesList.length}\n

    \n
    \n
    \n

    Records

    \n

    \n \n {tableDocumentsTotal}\n

    \n
    \n
    \n {!isTableEmpty && !isCollapsed && (\n
    \n {resourcesList.map((resource, resourceIndex) => (\n \n ))}\n
    \n )}\n \n {resourcesList.length > 0 && (\n setIsLedgerShowing(false)}\n />\n )}\n \n );\n};\n\nexport const CompanyTable = ({\n accessCode,\n isEmpty,\n json = {},\n passedParams,\n question_label,\n resourceListData,\n roomId,\n}) => {\n const { feature_types = [], links = [], resource_label } = json;\n const routeParams = useParams();\n const params = !_isEmpty(passedParams) ? passedParams : routeParams;\n const { companyId } = params;\n\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [selectedResource, setSelectedResource] = useState({});\n\n const handleCloseModal = () => {\n setIsModalOpen(false);\n };\n const onDocumentsClick = e => {\n e.preventDefault();\n setSelectedResource({ ...companyData, isDocsShowingInitially: true });\n setIsModalOpen(true);\n };\n const onDocumentClick = (e, initialValue) => {\n if (initialValue) {\n e.preventDefault();\n }\n };\n\n const companyMeta = useMemo(() => {\n let documentsTotal = 0;\n let requiredDocumentsTotal = 0;\n feature_types.forEach(e => {\n if (e.feature_type.feature_type === 'document') {\n documentsTotal++;\n if (e.new_require) {\n requiredDocumentsTotal++;\n }\n }\n });\n return {\n documentsTotal,\n requiredDocumentsTotal,\n };\n }, [feature_types]);\n const { documentsTotal, requiredDocumentsTotal } = companyMeta;\n\n const companyData = useMemo(() => {\n if (isEmpty) {\n return [];\n }\n const companyResource = Object.entries(resourceListData || {})[0] || [];\n const companyFeatures = companyResource[1] || [];\n const companyKey = companyResource[0] || 'Your Company';\n return massageResource(companyFeatures, feature_types, companyKey);\n }, [feature_types, isEmpty, resourceListData]);\n const { resourceItems, documentsCompleted, documentItems, requiredDocumentsCompleted } =\n companyData;\n\n const allRequiredDocumentsCompleted =\n requiredDocumentsCompleted > 0 &&\n requiredDocumentsTotal === requiredDocumentsCompleted;\n // let documentsLabel = `${requiredDocumentsCompleted} of ${requiredDocumentsTotal} documents`;\n\n if (isEmpty) {\n return (\n
    \n
    \n

    Company Summary

    \n
    \n
    \n

    {`No Company Data Found`}

    \n
    \n
    \n );\n }\n\n return (\n
    \n
    \n

    {question_label}

    \n {\n if (!e.defaultPrevented) {\n setSelectedResource(companyData);\n setIsModalOpen(true);\n }\n }}\n >\n \n \n
    \n
    \n {!resourceItems && (\n

    {`No ${resource_label} Data Found`}

    \n )}\n {resourceItems\n .filter(e => e.table_view && !e.isSublabel && !e.isDocument)\n .map((item, index) => (\n \n {index === 0 && (\n <>\n

    {item.label}

    \n {item.sublabel &&

    {item.sublabel}

    }\n \n )}\n {index !== 0 && (\n <>\n

    {item.feature_name}

    \n

    \n {item.label}\n {!item.value && !!item.action && !accessCode && (\n <>\n \n {item.action.link_text}\n \n \n )}\n

    \n \n )}\n
    \n ))}\n {(documentsCompleted > 0 || requiredDocumentsTotal > 0) && (\n \n

    \n Documents:\n {(!!documentsCompleted || requiredDocumentsTotal > 0) && (\n <>\n {' ('}\n \n )\n \n )}\n

    \n {documentItems.map(\n (doc, ind) =>\n !!doc.table_view &&\n (!!doc.initialValue || (!doc.initialValue && doc.new_require)) && (\n onDocumentClick(e, doc.initialValue)}\n key={`document-item-${ind}`}\n >\n {!doc.initialValue && (\n

    \n {doc.new_require && *}\n {doc.feature_name}\n

    \n )}\n {!!doc.initialValue && (\n \n )}\n
    \n ),\n )}\n {/* {requiredDocumentsTotal > 0 && (\n \n

    required document{requiredDocumentsTotal > 1 && 's'}:

    \n {documentItems.map(\n (document, ind) =>\n document.new_require && (\n \n \n {document.feature_name}\n

    \n ),\n )}\n
    \n )} */}\n \n )}\n \n {links.map(\n (link, ind) =>\n link.table_view && (\n

    \n \n {link.label}\n \n

    \n ),\n )}\n {}}\n setSelectedResource={() => {}}\n />\n \n );\n};\n\nexport default DataTable;\n","import {\n CLEAR_ERRORS,\n MERGE_SUBSCRIPTION,\n REMOVE_METHOD,\n SET_ERROR,\n SET_INVOICE,\n SET_SUBSCRIPTION_PREVIEW,\n} from './types';\n\nexport function removeMethod(methodId) {\n return {\n type: REMOVE_METHOD,\n payload: { methodId },\n };\n}\n\nexport function setInvoice(payload) {\n return {\n type: SET_INVOICE,\n payload,\n };\n}\n\nexport function mergeSubscription(payload) {\n return {\n type: MERGE_SUBSCRIPTION,\n payload,\n };\n}\n\nexport function setSubscriptionPreview(payload) {\n return {\n type: SET_SUBSCRIPTION_PREVIEW,\n payload,\n };\n}\n\nexport function setError(payload) {\n return {\n type: SET_ERROR,\n payload,\n };\n}\n\nexport function clearErrors() {\n return {\n type: CLEAR_ERRORS,\n };\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classnames from 'classnames';\n\nimport { InputFeedback, InputHelp, InputSublabel } from '../';\n\nconst InputCheckbox = props => {\n const {\n error,\n name,\n value,\n checked,\n isDisabled,\n type,\n display,\n label,\n labelStyle,\n questionHelp,\n sublabel,\n onClick,\n flipLabel = false,\n } = props;\n\n const input = (\n \n );\n\n const isStacked = display === 'stacked';\n\n const labelClasses = classnames('control__label', {\n [`${type}-inline`]: !isStacked,\n disabled: !isStacked && isDisabled,\n });\n const choiceClasses = classnames('choice', { disabled: isDisabled });\n const checkedClasses = classnames({ checked: checked });\n const wrapperClasses = classnames(type, { disabled: isDisabled });\n\n return (\n \n \n {!flipLabel && (\n \n )}\n {flipLabel && (\n \n )}\n \n {sublabel}\n \n \n );\n};\n\nconst StackWrapper = ({ children, isStacked, classes }) =>\n isStacked ? (\n
    {children}
    \n ) : (\n {children}\n );\n\nInputCheckbox.propTypes = {\n checked: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n isDisabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n type: PropTypes.oneOf(['radio', 'checkbox']),\n display: PropTypes.oneOf(['stacked', 'inline']),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label: PropTypes.node.isRequired,\n name: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n};\n\nInputCheckbox.defaultProps = {\n display: 'stacked',\n value: false,\n isDisabled: false,\n checked: false,\n name: '',\n type: 'checkbox',\n sublabel: null,\n error: null,\n onClick: () => {},\n};\n\nexport default InputCheckbox;\n","import React from 'react';\n\nimport classnames from 'classnames';\n\nimport InputStyledCheckbox from '../../common/InputStyledCheckbox/InputStyledCheckbox';\nimport { InputFeedback, InputHelp, InputSublabel } from '..';\n\nimport './InputCheckboxGroup.scss';\nimport { isArray } from 'lodash-es';\n\nconst CheckboxGroup = ({\n value,\n name,\n error,\n onChange,\n children,\n className,\n isDisabled,\n label,\n options,\n questionHelp,\n sublabel,\n type,\n ...otherProps\n}) => {\n const updatedOptions = isArray(options)\n ? options\n : options.split(',').map(e => ({ label: e, value: e }));\n let valuesArr = type === 'radio' ? [value] : (value || '').split('|');\n const handleChange = ({ target }) => {\n const optionIndex = updatedOptions.findIndex(\n e => e === target.value || e.label === target.value,\n );\n if (type === 'radio') {\n return onChange(updatedOptions[optionIndex].value);\n }\n let checked = valuesArr.indexOf(target.value) !== -1;\n if (!valuesArr[0]) {\n valuesArr.pop();\n }\n if (!checked) {\n valuesArr.push(target.value);\n } else {\n valuesArr.splice(valuesArr.indexOf(target.value), 1);\n }\n return onChange(valuesArr.join('|'));\n };\n\n const classes = classnames(\n 'input-checkbox-group__container',\n {\n 'input-checkbox-group__container--error': !!error,\n 'input-checkbox-group__container--disabled': isDisabled,\n },\n className,\n );\n\n const labelClass = 'input-checkbox-group__label';\n return (\n
    \n
    \n \n {children ||\n updatedOptions.map((option, index) => {\n let checked = option.value === value;\n if (type === 'checkbox') {\n checked = valuesArr.indexOf(option.value) !== -1;\n }\n return (\n \n );\n })}\n
    \n {sublabel}\n \n
    \n );\n};\n\nCheckboxGroup.defaultProps = {\n sublabel: null,\n error: null,\n};\n\nexport default CheckboxGroup;\n\n// Children should be an array of Formik Field Components passed down\n","import React from 'react';\n\nimport './InputHelp.scss';\nimport { TooltipAction } from '../../common';\n\nconst InputHelpButton = ({ text }) => {\n return ;\n};\n\nexport default InputHelpButton;\n","import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport classnames from 'classnames';\n\nimport { InputFeedback, InputHelp, InputSublabel } from '../';\n\nimport './InputPassword.scss';\n\nconst bem = elementName => `input-password${elementName ? '__' + elementName : ''}`;\n\nconst InputPassword = forwardRef(\n (\n {\n autoComplete,\n error,\n hasToggle,\n icon,\n inputClass,\n isDataHidden,\n isDisabled,\n isFixed,\n isPlainText,\n isRequired,\n label,\n name,\n onBlur,\n onChange,\n onFocus,\n onToggle,\n questionHelp,\n sublabel,\n type,\n value,\n },\n ref,\n ) => {\n const defaultRef = useRef(null);\n const inputRef = ref || defaultRef;\n const toggleIcon = !isPlainText ? 'eye' : 'eye-slash';\n let updatedType = type;\n\n const [isActive, setIsActive] = useState(!!value);\n\n const wrapperClasses = classnames(bem('wrapper'), {\n [bem('wrapper--error')]: !!error,\n [bem('wrapper--hidden')]: isDataHidden,\n [bem('wrapper--disabled')]: isFixed || isDisabled,\n [bem('wrapper--active')]: isActive,\n });\n if (type === 'password') {\n updatedType = isPlainText ? 'text' : 'password';\n }\n\n useEffect(() => {\n if (!isActive && !!value.trim()) {\n setIsActive(true);\n }\n }, [isActive, value]);\n\n return (\n
    \n
    \n \n {\n if (!e.target.value) {\n setIsActive(false);\n }\n onBlur(e);\n }}\n onChange={onChange}\n onFocus={e => {\n setIsActive(true);\n onFocus(e);\n }}\n ref={inputRef}\n type={updatedType}\n value={value}\n />\n {hasToggle && (\n
    \n \n
    \n )}\n
    \n {sublabel}\n \n
    \n );\n },\n);\n\nInputPassword.propTypes = {\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n hasToggle: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n isPlainText: PropTypes.bool,\n isRequired: PropTypes.bool,\n label: PropTypes.string,\n name: PropTypes.string.isRequired,\n onBlur: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onToggle: PropTypes.func,\n placeholder: PropTypes.string,\n questionHelp: PropTypes.string,\n type: PropTypes.string.isRequired,\n value: PropTypes.string,\n};\n\nInputPassword.defaultProps = {\n autoComplete: 'current-password',\n hasToggle: false,\n icon: 'lock',\n isPlainText: false,\n label: 'label',\n name: 'password-input',\n onBlur: () => null,\n onChange: () => null,\n onFocus: () => null,\n onToggle: () => null,\n placeholder: '',\n sublabel: null,\n type: 'password',\n};\n\nexport default InputPassword;\n","import React, { forwardRef, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport classnames from 'classnames';\nimport PhoneInput from 'react-phone-input-2';\n\nimport { InputFeedback, InputHelp, InputSublabel } from '..';\n\nimport 'react-phone-input-2/lib/style.css';\nimport './InputPhoneNumber.scss';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nconst bem = elementName => `input-phone-number${elementName ? '__' + elementName : ''}`;\n\nconst InputPhoneNumber = forwardRef(\n (\n {\n autoComplete,\n customClass,\n disableDropdown,\n defaultPlaceholder,\n error,\n handleIsValid,\n isDataHidden,\n isDisabled,\n isFixed,\n isRequired,\n questionHelp,\n label,\n name,\n onBlur,\n onChange,\n onFocus,\n placeholder,\n sublabel,\n value,\n },\n ref,\n ) => {\n const inputPlaceholder = placeholder || defaultPlaceholder;\n const wrapperClasses = classnames(customClass, bem('wrapper'), {\n [bem('wrapper--error')]: !!error,\n [bem('wrapper--hidden')]: isDataHidden,\n [bem('wrapper--copyable')]: isDataHidden,\n [bem('wrapper--disabled')]: isFixed || isDisabled,\n [bem('wrapper--padded-top')]: label.length > 100,\n });\n let updatedVal = value;\n if (updatedVal === null || updatedVal === undefined) {\n updatedVal = '';\n }\n\n const [numberInput, setNumberInput] = useState(updatedVal);\n const [isActive, setIsActive] = useState(!!value || (!value && inputPlaceholder));\n\n useEffect(() => {\n if (!isActive && (value || (!value && inputPlaceholder))) {\n setIsActive(true);\n }\n }, [inputPlaceholder, isActive, value]);\n\n useEffect(() => {\n setNumberInput(value);\n }, [value, setNumberInput]);\n\n return (\n
    \n
    \n {label && (\n \n {label}\n {!!isRequired && *}\n {questionHelp && }\n \n )}\n {\n if (e.key === 'Enter') {\n onBlur(e);\n }\n }}\n isValid={handleIsValid}\n onFocus={e => {\n setIsActive(true);\n if (!numberInput) {\n setNumberInput('+1');\n onChange('+1');\n } else if (numberInput && !numberInput.includes('+')) {\n setNumberInput('+1 ' + numberInput);\n onChange('+1 ' + numberInput);\n }\n onFocus(e);\n }}\n onBlur={(e, country) => {\n let updatedEvent = e;\n if (!e.target.value) {\n setIsActive(false);\n }\n if (e.target.value === '+1') {\n updatedEvent.target.value = '';\n setNumberInput('');\n setIsActive(false);\n return onChange('', true);\n }\n onBlur(updatedEvent, country);\n }}\n onChange={(inputVal, country, e, formattedValue) => {\n setNumberInput(formattedValue);\n onChange(formattedValue);\n }}\n ref={ref}\n type=\"tel\"\n value={numberInput}\n placeholder={inputPlaceholder}\n />\n {(!numberInput || numberInput[0] !== '+') && (\n
    \n \n
    \n )}\n
    \n \n {error && }\n
    \n );\n },\n);\n\nInputPhoneNumber.propTypes = {\n isDisabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n isRequired: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n label: PropTypes.string,\n name: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n sublabel: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onBlur: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n};\n\nInputPhoneNumber.defaultProps = {\n autoComplete: 'on',\n customClass: '',\n disableDropdown: true,\n isDisabled: false,\n error: null,\n name: 'input',\n type: 'text',\n icon: false,\n isRequired: false,\n label: '',\n placeholder: '',\n sublabel: null,\n value: '',\n onFocus: () => {},\n onBlur: () => {},\n onChange: val => {},\n};\n\nexport default InputPhoneNumber;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Select, { createFilter } from 'react-select';\nimport Creatable from 'react-select/creatable';\n\nimport { InputFeedback, InputHelp, InputSublabel } from '../';\nimport { isEmpty } from 'lodash-es';\nimport classnames from 'classnames';\nimport './InputSelect.scss';\n\nconst bem = elementName => `input-select${elementName ? '__' + elementName : ''}`;\n\nconst InputSelect = props => {\n const {\n className,\n defaultValue,\n defaultPlaceholder,\n error,\n isClearable,\n isCreatable,\n isDisabled,\n isFixed,\n isMulti,\n isSearchable,\n isRequired,\n label,\n menuPlacement,\n name,\n onBlur,\n onChange,\n onFocus,\n options,\n placeholder,\n questionHelp,\n selectStyles,\n sublabel,\n value,\n ignoreCase,\n ignoreAccents,\n trim,\n matchFrom,\n ...restOfProps\n } = props;\n\n const [isActive, setIsActive] = useState(!!value);\n useEffect(() => {\n if (!isActive && !!value) {\n setIsActive(true);\n }\n }, [isActive, value]);\n\n const filterOptions = createFilter({\n ignoreCase,\n ignoreAccents,\n trim,\n matchFrom,\n });\n const selectClass = classnames('', className);\n const isGrouped = options[0] && !isEmpty(options[0].options);\n let selectContainer = { maxWidth: 600 };\n if (!!error) {\n selectContainer.borderColor = '#e04f4f';\n }\n\n let customStyles = {\n menu: provided => ({ ...provided, zIndex: 10 }),\n container: provided => ({ ...provided, ...selectContainer }),\n control: provided => ({\n ...provided,\n minHeight: 52,\n borderRadius: 10,\n paddingTop: isDisabled || isFixed ? 8 : 0,\n ':hover': {\n borderColor: isDisabled || isFixed ? 'inherit' : '#0da1ff',\n cursor: isDisabled || isFixed ? 'default' : 'pointer',\n },\n backgroundColor: isDisabled || isFixed ? '#eee' : 'white',\n }),\n multiValue: provided => ({ ...provided, marginTop: isDisabled || isFixed ? 8 : 2 }),\n placeholder: provided => ({ ...provided, color: '#AFBDC5', marginLeft: 0 }),\n singleValue: provided => ({\n ...provided,\n color: '#2d363c',\n fontSize: 16,\n marginLeft: 0,\n }),\n valueContainer: provided => ({\n ...provided,\n marginTop: 0,\n marginLeft: 8,\n ':hover': {\n cursor:\n ((isDisabled || isFixed) && 'default') ||\n (!isCreatable && !isSearchable && 'pointer') ||\n 'text',\n },\n }),\n ...selectStyles,\n };\n\n const groupStyles = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n };\n const groupBadgeStyles = {\n backgroundColor: '#EBECF0',\n borderRadius: '2em',\n color: '#172B4D',\n display: 'inline-block',\n fontSize: 12,\n fontWeight: 'normal',\n lineHeight: '1',\n minWidth: 1,\n padding: '0.16666666666667em 0.5em',\n textAlign: 'center',\n };\n\n const formatGroupLabel = data => {\n return (\n
    \n Saved {data.label}(s)\n {data.options.length}\n
    \n );\n };\n\n return (\n
    \n \n {label && (\n \n {label}\n {!!isRequired && *}\n {questionHelp && }\n \n )}\n {!!isCreatable && (\n isGrouped && formatGroupLabel(e)}\n isClearable\n isDisabled={isFixed || isDisabled}\n isMulti={isMulti}\n isSearchable={isSearchable}\n id={props.id || name}\n menuPlacement=\"auto\"\n menuShouldScrollIntoView\n name={name}\n noOptionsMessage={() => 'No Options. Start typing to create new option.'}\n openMenuOnFocus\n options={options}\n onBlur={e => {\n if (!e.target.value) {\n setIsActive(false);\n }\n onBlur(e);\n }}\n onChange={onChange}\n onFocus={e => {\n setIsActive(true);\n onFocus(e);\n document\n .querySelector(`[for=\"${name}\"]`)\n .classList.add(bem('label--active'));\n }}\n placeholder={placeholder || defaultPlaceholder}\n value={value}\n styles={customStyles}\n {...restOfProps}\n />\n )}\n {!isCreatable && (\n isGrouped && formatGroupLabel(e)}\n isClearable={isClearable}\n isDisabled={isFixed || isDisabled}\n isMulti={isMulti}\n isSearchable={isSearchable}\n id={props.id || name}\n menuPlacement=\"auto\"\n menuShouldScrollIntoView\n name={name}\n options={options}\n onBlur={e => {\n if (!e.target.value) {\n setIsActive(false);\n }\n onBlur(e);\n }}\n onChange={onChange}\n onFocus={e => {\n setIsActive(true);\n onFocus(e);\n document\n .querySelector(`[for=\"${name}\"]`)\n .classList.add(bem('label--active'));\n }}\n openMenuOnFocus\n placeholder={placeholder || defaultPlaceholder}\n styles={customStyles}\n value={value}\n {...restOfProps}\n />\n )}\n
    \n {sublabel}\n \n \n );\n};\n\nInputSelect.propTypes = {\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n closeMenuOnSelect: PropTypes.bool,\n defaultValue: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.array,\n PropTypes.string,\n ]),\n defaultMenuIsOpen: PropTypes.bool,\n defaultPlaceholder: PropTypes.string,\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n isClearable: PropTypes.bool,\n isCreatable: PropTypes.bool,\n isDisabled: PropTypes.bool,\n isFixed: PropTypes.bool,\n isMulti: PropTypes.bool,\n isSearchable: PropTypes.bool,\n isRequired: PropTypes.bool,\n label: PropTypes.string,\n menuIsOpen: PropTypes.bool,\n menuPlacement: PropTypes.oneOf(['auto', 'center', 'right', 'left']),\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n options: PropTypes.array,\n placeholder: PropTypes.string,\n questionHelp: PropTypes.string,\n sublabel: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n // filter options\n ignoreCase: PropTypes.bool,\n ignoreAccents: PropTypes.bool,\n trim: PropTypes.bool,\n matchFrom: PropTypes.string,\n};\n\nInputSelect.defaultProps = {\n className: false,\n ignoreCase: true,\n ignoreAccents: true,\n isClearable: true,\n isSearchable: true,\n matchFrom: 'any',\n menuPlacement: 'auto',\n onBlur: () => {},\n onFocus: () => {},\n sublabel: null,\n trim: true,\n};\n\nexport default InputSelect;\n","import React from 'react';\nimport './InputSubLabel.scss';\n\nconst InputSublabel = ({ text, children }) => {\n if (text) {\n return {text};\n }\n if (children) {\n return typeof children === 'string' ? (\n {children}\n ) : (\n children\n );\n }\n return null;\n};\n\nexport default InputSublabel;\n","import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport classnames from 'classnames';\n\nimport { InputFeedback, InputHelp, InputSublabel } from '..';\n\nimport './InputStyledTextField.scss';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Tooltip } from '../../common';\n\nconst bem = elementName => `styled-text-field${elementName ? '__' + elementName : ''}`;\n\nconst TextField = forwardRef(\n (\n {\n autoComplete,\n autoFocus,\n customClass,\n defaultPlaceholder,\n placeholder,\n error,\n handleOnCopyClick,\n inputClassName,\n isCopyable,\n isDataHidden,\n isDisabled,\n isFetching,\n isFixed,\n isRequired,\n questionHelp,\n label,\n myType,\n name,\n onKeyDown,\n onKeyPress,\n onFocus,\n onBlur,\n onChange,\n savedValue,\n sublabel,\n type,\n value,\n },\n ref,\n ) => {\n const defaultRef = useRef(null);\n const inputRef = ref || defaultRef;\n const inputPlaceholder = placeholder || defaultPlaceholder;\n const wrapperClasses = classnames(bem('wrapper'), {\n [bem('wrapper--error')]: !!error,\n [bem('wrapper--hidden')]: isDataHidden,\n [bem('wrapper--copyable')]: isCopyable,\n [bem('wrapper--percent')]: myType === 'percent',\n [bem('wrapper--disabled')]: isFixed || isDisabled,\n [bem('wrapper--padded-top')]: label.length > 100,\n });\n let updatedVal = value;\n if (updatedVal === null || updatedVal === undefined) {\n updatedVal = '';\n }\n updatedVal = updatedVal.trimStart();\n\n const [isActive, setIsActive] = useState(\n !!updatedVal || (!updatedVal && inputPlaceholder),\n );\n\n useEffect(() => {\n const trimVal = value.trim();\n if (!isActive && (trimVal || (!trimVal && inputPlaceholder))) {\n setIsActive(true);\n }\n }, [isActive, value, inputPlaceholder]);\n\n return (\n \n
    \n {label && (\n \n {label}\n {!!isRequired && *}\n {questionHelp && }\n \n )}\n {\n if (onKeyPress) {\n onKeyPress(e);\n } else if (e.key === 'Enter') {\n onBlur(e);\n }\n }}\n onFocus={e => {\n setIsActive(true);\n if (e.target.value !== value) {\n onChange(e);\n }\n onFocus(e);\n }}\n onBlur={e => {\n if (!e.target.value) {\n setIsActive(false);\n }\n if (e.target.value.trim() === savedValue) {\n return;\n }\n onBlur(e);\n }}\n onChange={onChange}\n placeholder={placeholder || defaultPlaceholder}\n ref={inputRef}\n type={type}\n value={updatedVal}\n name={name}\n />\n {isCopyable && (\n <>\n \n \n \n )}\n {myType === 'percent' && (\n
    \n \n
    \n )}\n
    \n \n \n \n );\n },\n);\n\nTextField.propTypes = {\n isDisabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n type: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.array]),\n inputClassName: PropTypes.string,\n isRequired: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n label: PropTypes.string,\n name: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n sublabel: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onBlur: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nTextField.defaultProps = {\n autoComplete: 'on',\n customClass: '',\n isDisabled: false,\n error: null,\n handleOnCopyClick: () => {},\n name: 'input',\n type: 'text',\n icon: false,\n isRequired: false,\n label: '',\n placeholder: '',\n sublabel: null,\n value: '',\n onKeyDown: () => {},\n onFocus: () => {},\n onBlur: () => {},\n onChange: val => {},\n};\n\nexport default TextField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classnames from 'classnames';\n\nimport { InputFeedback, InputHelp, InputSublabel } from '../';\n\nimport './InputTextarea.scss';\n\nconst bem = elementName => `input-textarea${elementName ? '__' + elementName : ''}`;\n\nconst InputTextarea = ({\n autoComplete = 'on',\n customClass,\n defaultPlaceholder,\n value,\n label,\n name,\n isDisabled,\n isFixed,\n isRequired,\n sublabel,\n error,\n type,\n onChange,\n onBlur,\n placeholder,\n questionHelp,\n}) => {\n if (placeholder === true) {\n placeholder = label;\n }\n return (\n \n {label && (\n \n )}\n \n {sublabel}\n \n \n );\n};\n\nInputTextarea.propTypes = {\n isDisabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]).isRequired,\n name: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n label: PropTypes.string,\n value: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n isRequired: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n onBlur: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n};\n\nInputTextarea.defaultProps = {\n isDisabled: false,\n placeholder: '',\n sublabel: null,\n error: null,\n name: 'input',\n type: 'text',\n label: 'label',\n value: '',\n icon: false,\n isRequired: false,\n onBlur: val => null,\n onChange: val => null,\n};\n\nexport default InputTextarea;\n","import React from 'react';\n\nimport classnames from 'classnames';\n\nimport { InputFeedback, InputHelp, InputSublabel } from '..';\n\nimport './MultiToggle.scss';\n\nconst MultiToggle = props => {\n const {\n error,\n name,\n mode,\n isDisabled,\n label,\n questionHelp,\n sublabel,\n onClick,\n options = [],\n } = props;\n\n return (\n \n {!!label && (\n \n )}\n
    \n {options.map(option => (\n \n ))}\n
    \n {sublabel}\n \n \n );\n};\n\nconst ToggleOption = ({ onClick, option, mode }) => {\n const { disabled, label, mode: optionMode, value } = option;\n return (\n onClick(option, mode)}\n >\n {label}\n \n );\n};\n\nexport default MultiToggle;\n","import { useEffect, useRef } from 'react';\n\nexport default function useInterval(callback, delay) {\n const savedCallback = useRef();\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n // Set async to stop `[Violation] 'setInterval' handler took ms chrome` warning.\n const tick = async () => {\n await savedCallback.current();\n };\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n","import { combineReducers } from 'redux';\n\nimport isObject from 'lodash-es/isObject';\n\nimport { createReducer } from '../../utils';\nimport {\n CLEAR_NOTICE,\n CLEAR_NOTICES,\n CLOSE_TERMS_MODAL,\n CLOSE_USER_DROPDOWN,\n OPEN_TERMS_MODAL,\n OPEN_USER_DROPDOWN,\n SET_NOTICE,\n SET_SEARCH,\n SET_SIDEBAR_COLLAPSED,\n CLEAR_SEARCH,\n SET_BRAND_META,\n} from './types';\n\nconst isTermsModalOpen = createReducer(false)({\n [OPEN_TERMS_MODAL]: (state, action) => true,\n [CLOSE_TERMS_MODAL]: (state, action) => false,\n});\n\nconst isUserDropdownOpen = createReducer(false)({\n [OPEN_USER_DROPDOWN]: (state, action) => true,\n [CLOSE_USER_DROPDOWN]: (state, action) => false,\n});\n\nconst notices = createReducer([])({\n [SET_NOTICE]: (state, action) => {\n const updatedState = state.slice();\n if (state.length > 2) {\n updatedState.pop();\n }\n if (isObject(action.payload)) {\n updatedState.push(action.payload);\n } else {\n updatedState.push({ type: 'success', message: action.payload });\n }\n return updatedState;\n },\n [CLEAR_NOTICE]: (state, action) => {\n let updatedState = state.slice();\n const noticeIndex = updatedState.findIndex(e => e.message === action.payload.message);\n if (noticeIndex !== -1) {\n updatedState.splice(noticeIndex, 1);\n } else {\n updatedState.pop();\n }\n return updatedState;\n },\n [CLEAR_NOTICES]: (state, action) => [],\n});\n\nconst search = createReducer('')({\n [SET_SEARCH]: (state, action) => action.input,\n [CLEAR_SEARCH]: (state, action) => '',\n});\n\nconst brandMeta = createReducer({})({\n [SET_BRAND_META]: (state, action) => action.payload,\n});\n\nconst isSidebarCollapsed = createReducer(false)({\n [SET_SIDEBAR_COLLAPSED]: (state, action) => action.collapsed,\n});\n\nexport default combineReducers({\n isTermsModalOpen,\n isUserDropdownOpen,\n notices,\n search,\n isSidebarCollapsed,\n brandMeta,\n});\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ReactComponent as SavviLoadingSVG } from '../../assets/images/savvi_loading.svg';\n\nimport './SavviLoading.scss';\n\nconst SavviLoading = ({ customClass, color, size }) => (\n \n);\n\nSavviLoading.propTypes = {\n customClass: PropTypes.string,\n color: PropTypes.oneOf([\n 'black',\n 'cerulean',\n 'mint',\n 'powderblue',\n 'tiber',\n 'white',\n 'manilla',\n ]),\n size: PropTypes.oneOf(['sm', 'md', 'lg']),\n};\n\nSavviLoading.defaultProps = {\n color: 'black',\n size: 'lg',\n};\n\nexport default SavviLoading;\n","import { RSAA } from 'redux-api-middleware';\n\n// import filter from 'lodash-es/filter';\nimport get from 'lodash-es/get';\nimport isEmpty from 'lodash-es/isEmpty';\n\nimport { requestHeaders } from '../../utils/api';\nimport { getAccountInfo } from '../Formation/operations';\nimport { getAccountProject } from '../Project/operations';\nimport * as actions from '../Transaction/actions';\nimport { setNotice } from '../UI/actions';\nimport * as Types from './types';\nimport { isObject } from 'lodash-es';\nimport { generateErrorNotice } from '../../../utils/generateErrorNotice';\n\n// export const getQuestionnaire = (questionnaireId, taskId) => {\n// const REQUEST = Types[`GET_QUESTIONNAIRE_REQUEST`];\n// const SUCCESS = Types[`GET_QUESTIONNAIRE_SUCCESS`];\n// const FAILED = Types[`GET_QUESTIONNAIRE_FAILED`];\n// return async (dispatch, getState) => {\n// const actionResponse = await dispatch({\n// [RSAA]: {\n// endpoint: `/api/questionnaire/${questionnaireId}`,\n// method: 'GET',\n// headers: requestHeaders(true),\n// types: [REQUEST, SUCCESS, FAILED],\n// },\n// });\n// if (!actionResponse.error) {\n// await dispatch(actions.setQuestionnaire(actionResponse.payload));\n// }\n// };\n// };\n\nexport const getAccountTransactions = moduleId => {\n const REQUEST = Types[`GET_TRANSACTIONS_BY_MODULE_REQUEST`];\n const SUCCESS = Types[`GET_TRANSACTIONS_BY_MODULE_SUCCESS`];\n const FAILED = Types[`GET_TRANSACTIONS_BY_MODULE_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/transaction?limit=400',\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(\n actions.setTransactionsByModule(actionResponse.payload, moduleId || '-1'),\n );\n } else {\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const getTransactionsHistory = moduleId => {\n const REQUEST = Types[`GET_TRANSACTIONS_BY_MODULE_REQUEST`];\n const SUCCESS = Types[`GET_TRANSACTIONS_BY_MODULE_SUCCESS`];\n const FAILED = Types[`GET_TRANSACTIONS_BY_MODULE_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/transaction?include_history=1&limit=900',\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(\n actions.setTransactionsByModule(actionResponse.payload, moduleId),\n );\n } else {\n dispatch(setNotice(generateErrorNotice(actionResponse.payload)));\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const getTransaction = transactionId => {\n const REQUEST = Types[`GET_TRANSACTION_REQUEST`];\n const SUCCESS = Types[`GET_TRANSACTION_SUCCESS`];\n const FAILED = Types[`GET_TRANSACTION_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction/${transactionId}`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error && !isEmpty(actionResponse.payload)) {\n await dispatch(actions.setTransaction(actionResponse.payload));\n return await actionResponse.payload;\n } else {\n throw await actionResponse.payload.message;\n }\n };\n};\n\nexport const createTransaction = (projectId, templateId) => {\n const REQUEST = Types[`POST_TRANSACTION_REQUEST`];\n const SUCCESS = Types[`POST_TRANSACTION_SUCCESS`];\n const FAILED = Types[`POST_TRANSACTION_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/project/${projectId}/transaction_template/${templateId}`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error && !isEmpty(actionResponse.payload)) {\n await dispatch(actions.setTransaction(actionResponse.payload));\n return await actionResponse.payload;\n } else {\n throw await actionResponse.payload.message;\n }\n };\n};\n\nexport const getAllAccountTransactions = (queryString = '') => {\n const REQUEST = Types[`GET_ALL_TRANSACTIONS_REQUEST`];\n const SUCCESS = Types[`GET_ALL_TRANSACTIONS_SUCCESS`];\n const FAILED = Types[`GET_ALL_TRANSACTIONS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/transaction${queryString}`,\n method: 'GET',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error && Array.isArray(actionResponse.payload)) {\n await dispatch(actions.setMyTransactions(actionResponse.payload));\n return await actionResponse.payload;\n } else {\n throw await actionResponse.payload.message;\n }\n };\n};\n\nexport const getTransactionByTemplateId = templateId => {\n const REQUEST = Types[`GET_TRANSACTION_BY_TEMPLATE_ID_REQUEST`];\n const SUCCESS = Types[`GET_TRANSACTION_BY_TEMPLATE_ID_SUCCESS`];\n const FAILED = Types[`GET_TRANSACTION_BY_TEMPLATE_ID_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction_template/${templateId}`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(actions.setTransaction(actionResponse.payload));\n return await actionResponse.payload;\n } else {\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const getTransactionPreview = transactionId => {\n const REQUEST = Types[`GET_TRANSACTION_PREVIEW_REQUEST`];\n const SUCCESS = Types[`GET_TRANSACTION_PREVIEW_SUCCESS`];\n const FAILED = Types[`GET_TRANSACTION_PREVIEW_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction/${transactionId}/preview`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(\n actions.setTransactionPreview(transactionId, actionResponse.payload),\n );\n } else {\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const deleteDocumentUpload = (boxFileId, transactionId, accessCode) => {\n const REQUEST = Types[`DELETE_DOCUMENT_UPLOAD_REQUEST`];\n const SUCCESS = Types[`DELETE_DOCUMENT_UPLOAD_SUCCESS`];\n const FAILED = Types[`DELETE_DOCUMENT_UPLOAD_FAILED`];\n return async (dispatch, getState) => {\n dispatch(actions.clearDocumentError());\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/box/file/${boxFileId}`,\n method: 'DELETE',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice({ type: 'warning', message: 'Upload removed.' }));\n if (transactionId) {\n return await dispatch(getTransactionQuestionnaire(transactionId));\n } else if (accessCode) {\n return await dispatch(getOutsideForm(accessCode));\n }\n } else {\n await dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Error removing upload.'),\n }),\n );\n await dispatch(\n actions.setDocumentError(\n get(\n actionResponse,\n 'error',\n 'An error has occurred loading your documents. Go ahead and refresh your page. If the documents are still not loading correctly, please contact us.',\n ),\n ),\n );\n throw await get(actionResponse, 'payload.message', 'An error has occurred');\n }\n };\n};\n\nexport const resendLinkEmail = (docId, email, accountId) => {\n const REQUEST = Types[`RESEND_LINK_EMAIL_REQUEST`];\n const SUCCESS = Types[`RESEND_LINK_EMAIL_SUCCESS`];\n const FAILED = Types[`RESEND_LINK_EMAIL_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/pandadoc/documents/${docId}/resend`,\n method: 'post',\n headers: requestHeaders(true, accountId),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify({ email }),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Link Sent'));\n } else {\n dispatch(setNotice({ type: 'error', message: 'Error resending email link.' }));\n }\n };\n};\n\nexport const getTransactionDocuments = transactionId => {\n const REQUEST = Types[`GET_TRANSACTION_DOCUMENTS_REQUEST`];\n const SUCCESS = Types[`GET_TRANSACTION_DOCUMENTS_SUCCESS`];\n const FAILED = Types[`GET_TRANSACTION_DOCUMENTS_FAILED`];\n return async (dispatch, getState) => {\n await dispatch(actions.clearDocumentError());\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction/${transactionId}/documents`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(\n actions.setDocumentsByTransaction(actionResponse.payload, transactionId),\n );\n // return actionResponse.payload;\n } else {\n await dispatch(\n actions.setDocumentError(\n get(\n actionResponse,\n 'error',\n 'An error has occurred loading your documents. Go ahead and refresh your page. If the documents are still not loading correctly, please contact us.',\n ),\n ),\n );\n throw await get(actionResponse, 'payload.message', 'An error has occurred');\n }\n };\n};\n\nexport const setDocumentReviewer = (pandaDocId, body, transactionId) => {\n const REQUEST = Types[`SET_DOCUMENT_REVIEWER_REQUEST`];\n const SUCCESS = Types[`SET_DOCUMENT_REVIEWER_SUCCESS`];\n const FAILED = Types[`SET_DOCUMENT_REVIEWER_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/pandadoc/documents/${pandaDocId}/reviewer`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(\n setNotice(get(actionResponse, 'payload.message', 'Document Reviewer Set')),\n );\n await dispatch(getTransactionDocuments(transactionId));\n return await actionResponse.payload;\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const setDocumentRedliningVersion = (document_id, uuid, transactionId) => {\n const REQUEST = Types[`POST_REDLINING_VERSION_REQUEST`];\n const SUCCESS = Types[`POST_REDLINING_VERSION_SUCCESS`];\n const FAILED = Types[`POST_REDLINING_VERSION_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/pandadoc/documents/${document_id}/finalize/${uuid}`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(getTransactionDocuments(transactionId));\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const approveDocumentSuggestions = (document_id, transactionId) => {\n const REQUEST = Types[`APPROVE_DOCUMENT_SUGGESTIONS_REQUEST`];\n const SUCCESS = Types[`APPROVE_DOCUMENT_SUGGESTIONS_SUCCESS`];\n const FAILED = Types[`APPROVE_DOCUMENT_SUGGESTIONS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/pandadoc/documents/${document_id}/redline`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(getTransactionDocuments(transactionId));\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const updateDocumentSuggestions = (document_id, body, transactionId) => {\n const REQUEST = Types[`UPDATE_DOCUMENT_SUGGESTIONS_REQUEST`];\n const SUCCESS = Types[`UPDATE_DOCUMENT_SUGGESTIONS_SUCCESS`];\n const FAILED = Types[`UPDATE_DOCUMENT_SUGGESTIONS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/pandadoc/documents/${document_id}/redline`,\n method: 'PATCH',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n return await dispatch(getTransactionDocuments(transactionId));\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const updateTransaction = (transactionId, body) => {\n const REQUEST = Types[`UPDATE_TRANSACTION_REQUEST`];\n const SUCCESS = Types[`UPDATE_TRANSACTION_SUCCESS`];\n const FAILED = Types[`UPDATE_TRANSACTION_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction/${transactionId}`,\n method: 'PUT',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n return await dispatch(getTransaction(transactionId));\n } else {\n dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n throw actionResponse.payload.message;\n }\n };\n};\n\nexport const getOutsideForm = access_code => {\n const REQUEST = Types[`GET_OUTSIDE_FORM_REQUEST`];\n const SUCCESS = Types[`GET_OUTSIDE_FORM_SUCCESS`];\n const FAILED = Types[`GET_OUTSIDE_FORM_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/public/outside_form/${access_code}`,\n method: 'GET',\n headers: requestHeaders(),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n if (\n get(actionResponse, 'payload.message', '') ===\n 'This form has already been completed. Please contact technical support if you believe this is in error.'\n ) {\n throw await actionResponse.payload.message;\n }\n return await dispatch(\n actions.setTransactionQuestionnaire(actionResponse.payload, access_code),\n );\n }\n throw await get(\n actionResponse,\n 'payload.message',\n 'This form has already been completed. Please contact technical support if you believe this is in error.',\n );\n };\n};\n\nexport const createOutsideForm = (body, transactionId) => {\n const REQUEST = Types[`CREATE_OUTSIDE_FORM_REQUEST`];\n const SUCCESS = Types[`CREATE_OUTSIDE_FORM_SUCCESS`];\n const FAILED = Types[`CREATE_OUTSIDE_FORM_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction/${transactionId}/outside`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Shared Form generated.'));\n dispatch(getTransaction(transactionId));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'Failed to generate Shared Form.',\n ),\n }),\n );\n throw await get(\n actionResponse,\n 'payload.message',\n 'This form has already been completed. Please contact technical support if you believe this is in error.',\n );\n };\n};\n\nexport const getTransactionQuestionnaire = transactionId => {\n const REQUEST = Types[`GET_TRANSACTION_QUESTIONNAIRE_REQUEST`];\n const SUCCESS = Types[`GET_TRANSACTION_QUESTIONNAIRE_SUCCESS`];\n const FAILED = Types[`GET_TRANSACTION_QUESTIONNAIRE_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction/${transactionId}/questionnaire`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(\n actions.setTransactionQuestionnaire(actionResponse.payload, transactionId),\n );\n return await actionResponse.payload;\n }\n throw await get(\n actionResponse,\n 'payload.message',\n 'This form has already been completed. Please contact technical support if you believe this is in error.',\n );\n };\n};\n\nexport const getMyTemplates = () => {\n const REQUEST = Types['GET_MY_TEMPLATES_REQUEST'];\n const SUCCESS = Types['GET_MY_TEMPLATES_SUCCESS'];\n const FAILED = Types['GET_MY_TEMPLATES_FAILED'];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/storage/my_templates',\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(actions.setMyTemplates(actionResponse.payload));\n }\n throw await get(\n actionResponse,\n 'payload.message',\n 'This form has already been completed. Please contact technical support if you believe this is in error.',\n );\n };\n};\n\nexport const getCustomDocument = (id, transactionId) => {\n const REQUEST = Types['GET_CUSTOM_DOCUMENT_REQUEST'];\n const SUCCESS = Types['GET_CUSTOM_DOCUMENT_SUCCESS'];\n const FAILED = Types['GET_CUSTOM_DOCUMENT_FAILED'];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/custom_document/${id}`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await dispatch(\n actions.addCustomDocument(actionResponse.payload, transactionId),\n );\n }\n throw await get(\n actionResponse,\n 'payload.message',\n 'This form has already been completed. Please contact technical support if you believe this is in error.',\n );\n };\n};\n\nexport const updateCustomDocument = (body, customDocIndex, transactionId) => {\n const REQUEST = Types['UPDATE_CUSTOM_DOCUMENT_REQUEST'];\n const SUCCESS = Types['UPDATE_CUSTOM_DOCUMENT_SUCCESS'];\n const FAILED = Types['UPDATE_CUSTOM_DOCUMENT_FAILED'];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/custom_document/${body.id}`,\n method: 'PUT',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(\n actions.setCustomDocument(actionResponse.payload, customDocIndex, transactionId),\n );\n return await actionResponse.payload;\n }\n throw await get(\n actionResponse,\n 'payload.message',\n 'This form has already been completed. Please contact technical support if you believe this is in error.',\n );\n };\n};\n\nexport const createCustomDocument = (body, transactionId) => {\n const REQUEST = Types['CREATE_CUSTOM_DOCUMENT_REQUEST'];\n const SUCCESS = Types['CREATE_CUSTOM_DOCUMENT_SUCCESS'];\n const FAILED = Types['CREATE_CUSTOM_DOCUMENT_FAILED'];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/custom_document',\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n return await dispatch(getTransactionQuestionnaire(transactionId));\n }\n const message = get(\n actionResponse,\n 'payload.message',\n 'This form has already been completed. Please contact technical support if you believe this is in error.',\n );\n dispatch(setNotice({ type: 'error', message }));\n throw await message;\n };\n};\n\nexport const createFeature = (meta, isOutsideForm) => {\n let {\n access_code,\n value,\n feature_id,\n feature_type_id,\n resource_id,\n resourceTypeId,\n transactionId,\n } = meta;\n return async (dispatch, getState) => {\n const REQUEST = Types[`CREATE_FEATURE_REQUEST`];\n const SUCCESS = Types[`CREATE_FEATURE_SUCCESS`];\n const FAILED = Types[`CREATE_FEATURE_FAILED`];\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/${isOutsideForm ? 'unlisted' : 'account'}/flat_feature`,\n method: 'POST',\n headers: requestHeaders(!isOutsideForm),\n types: [REQUEST, SUCCESS, FAILED],\n body: () =>\n JSON.stringify({\n access_code,\n value,\n feature_type_id,\n resource_id,\n transaction_id: transactionId,\n }),\n },\n });\n if (!actionResponse.error) {\n if (access_code) {\n transactionId = access_code;\n }\n if (feature_id) {\n await dispatch(\n actions.updateResource({\n value,\n feature_id,\n feature_type_id,\n resource_id,\n resourceTypeId,\n transactionId,\n }),\n );\n return await actionResponse.payload;\n }\n await dispatch(\n actions.createResourceFeature({\n feature: isObject(actionResponse.payload.feature)\n ? actionResponse.payload.feature\n : actionResponse.payload,\n resourceTypeId,\n transactionId,\n }),\n );\n return await actionResponse.payload;\n }\n await dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'An error has occurred. If it continues, please contact Savvi Support.',\n ),\n }),\n );\n throw await actionResponse.payload.message;\n };\n};\n\n// export const patchFeature = meta => {\n// const {\n// value,\n// feature_id,\n// feature_type_id,\n// resource_id,\n// resourceTypeId,\n// transactionId,\n// } = meta;\n// return async (dispatch, getState) => {\n// const REQUEST = Types[`PATCH_FEATURE_REQUEST`];\n// const SUCCESS = Types[`PATCH_FEATURE_SUCCESS`];\n// const FAILED = Types[`PATCH_FEATURE_FAILED`];\n// const actionResponse = await dispatch({\n// [RSAA]: {\n// endpoint: `/api/account/flat_feature/${feature_id}`,\n// method: 'PATCH',\n// headers: requestHeaders(true),\n// types: [REQUEST, SUCCESS, FAILED],\n// body: () => JSON.stringify({ value }),\n// },\n// });\n// if (!actionResponse.error) {\n// // dispatch(getTransactionQuestionnaire(transactionId));\n// return await dispatch(\n// actions.updateResource({\n// value,\n// feature_type_id,\n// resource_id,\n// resourceTypeId,\n// transactionId,\n// }),\n// );\n// // return actionResponse;\n// }\n// await dispatch(setNotice({ type: 'error', message: actionResponse.payload.message }));\n// throw await actionResponse.payload.message;\n// };\n// };\n\nexport const setResourceIds = (transactionId, body) => {\n return async (dispatch, getState) => {\n const REQUEST = Types[`SET_RESOURCE_IDS_REQUEST`];\n const SUCCESS = Types[`SET_RESOURCE_IDS_SUCCESS`];\n const FAILED = Types[`SET_RESOURCE_IDS_FAILED`];\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction/${transactionId}/set_resource`,\n method: 'PUT',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n return await dispatch(getTransactionQuestionnaire(transactionId));\n // dispatch(actions.patchFeature(actionResponse.payload, individualName));\n // dispatch(\n // setNotice(`${individualName}'s ${lowerCase(featureName)} updated.`),\n // );\n } else {\n await dispatch(\n setNotice({ type: 'error', message: actionResponse.payload.message }),\n );\n throw await actionResponse.payload.message;\n }\n };\n};\n\nexport const createResourceName = (body, accountId) => {\n return async (dispatch, getState) => {\n const REQUEST = Types[`CREATE_RESOURCE_NAME_REQUEST`];\n const SUCCESS = Types[`CREATE_RESOURCE_NAME_SUCCESS`];\n const FAILED = Types[`CREATE_RESOURCE_NAME_FAILED`];\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/resource`,\n method: 'POST',\n headers: requestHeaders(true, accountId),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n // dispatch(actions.patchFeature(actionResponse.payload, individualName));\n // dispatch(\n // setNotice(`${individualName}'s ${lowerCase(featureName)} updated.`),\n // );\n } else {\n throw await actionResponse.payload;\n }\n };\n};\n\nexport const updateResourceName = (body, resourceId, isOutside, accountId) => {\n return async (dispatch, getState) => {\n const REQUEST = Types[`UPDATE_RESOURCE_NAME_REQUEST`];\n const SUCCESS = Types[`UPDATE_RESOURCE_NAME_SUCCESS`];\n const FAILED = Types[`UPDATE_RESOURCE_NAME_FAILED`];\n const privacy = isOutside ? 'unlisted' : 'account';\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/${privacy}/resource/${resourceId}`,\n method: 'PATCH',\n headers: requestHeaders(!isOutside, accountId),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n // dispatch(actions.patchFeature(actionResponse.payload, individualName));\n // dispatch(\n // setNotice(`${individualName}'s ${lowerCase(featureName)} updated.`),\n // );\n return await actionResponse.payload;\n } else {\n await dispatch(\n setNotice({ type: 'error', message: actionResponse.payload.message }),\n );\n throw actionResponse.payload;\n }\n };\n};\n\nexport const finalizeTransaction = (transactionId, projectId, body, dev_pandadoc) => {\n const isDevEnv = process.env.REACT_APP_LOG_ENV !== 'production';\n if (isDevEnv) {\n body = {\n ...body,\n dev_pandadoc,\n };\n }\n return async (dispatch, getState) => {\n const REQUEST = Types[`FINALIZE_TRANSACTION_REQUEST`];\n const SUCCESS = Types[`FINALIZE_TRANSACTION_SUCCESS`];\n const FAILED = Types[`FINALIZE_TRANSACTION_FAILED`];\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction/${transactionId}/finalize`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n body: () => JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n if (projectId) {\n await dispatch(getAccountProject(projectId));\n }\n await dispatch(getAccountInfo());\n await dispatch(setNotice('Task Submitted!'));\n return await dispatch(getTransaction(transactionId));\n // dispatch(actions.patchFeature(actionResponse.payload, individualName));\n } else {\n if (\n actionResponse.payload.message ===\n 'Account does not have the correct subscription'\n ) {\n await dispatch(\n setNotice({\n type: 'error',\n message:\n actionResponse.payload.message +\n '. Click Subscription link underneath pricing',\n }),\n );\n throw await `${actionResponse.payload.message}. Click Subscription link underneath pricing`;\n } else if (actionResponse.payload.code === 'STRIPE_CARD_ERROR_CARD_DECLINED') {\n const message = 'Card Declined';\n await dispatch(\n setNotice({\n type: 'error',\n message,\n }),\n );\n throw new Error(message);\n } else {\n await dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'An error Has occurred. If error persists, please contact us.',\n ),\n }),\n );\n throw await get(\n actionResponse,\n 'payload.message',\n 'An error Has occurred. If error persists, please contact us.',\n );\n }\n }\n };\n};\n\nexport const finalizeOutsideForm = (access_code, finalize_snapshot) => {\n return async (dispatch, getState) => {\n const REQUEST = Types[`FINALIZE_TRANSACTION_REQUEST`];\n const SUCCESS = Types[`FINALIZE_TRANSACTION_SUCCESS`];\n const FAILED = Types[`FINALIZE_TRANSACTION_FAILED`];\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/public/outside_form/${access_code}/finalize`,\n method: 'POST',\n headers: requestHeaders(),\n types: [REQUEST, SUCCESS, FAILED],\n body: () =>\n JSON.stringify({\n finalize_snapshot,\n }),\n },\n });\n if (!actionResponse.error) {\n await dispatch(setNotice('Outside Form Submitted'));\n return await actionResponse.payload;\n // dispatch(actions.patchFeature(actionResponse.payload, individualName));\n } else {\n if (\n actionResponse.payload.message ===\n 'Account does not have the correct subscription'\n ) {\n await dispatch(\n setNotice({\n type: 'error',\n message:\n actionResponse.payload.message +\n '. Click Subscription link underneath pricing',\n }),\n );\n throw await `${actionResponse.payload.message}. Click Subscription link underneath pricing`;\n } else {\n await dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'An error Has occurred. If error persists, please contact us.',\n ),\n }),\n );\n throw await get(\n actionResponse,\n 'payload.message',\n 'An error Has occurred. If error persists, please contact us.',\n );\n }\n }\n };\n};\n\nexport const generateBatchTransactions = (\n transactionTemplateId,\n boxFileId,\n projectId,\n) => {\n const REQUEST = Types[`POST_BATCH_TRANSACTIONS_REQUEST`];\n const SUCCESS = Types[`POST_BATCH_TRANSACTIONS_SUCCESS`];\n const FAILED = Types[`POST_BATCH_TRANSACTIONS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/transaction/${transactionTemplateId}/batch/${boxFileId}/project/${projectId}?finalize=true`,\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error && !isEmpty(actionResponse.payload)) {\n return await actionResponse.payload;\n } else {\n dispatch(generateErrorNotice(actionResponse.payload));\n throw await actionResponse.payload.message;\n }\n };\n};\n","import { useLocation, useHistory, useParams } from 'react-router-dom';\nimport handlePath from './handlePath';\n\nexport default function useMultiHash(parentPathname = null, passedState = {}, isRoom) {\n const location = useLocation();\n const hash = v => {\n let h = location.hash;\n if (v) {\n h = v;\n }\n return h.replace(/(%20| |#)/g, '');\n };\n const explode = v => {\n let string = hash(v);\n return string\n .split(',')\n .filter(String)\n .map(v => hash(v));\n };\n const createHash = list => '#' + list.filter(v => v.length).join(',');\n const { push } = useHistory();\n const { companyId } = useParams();\n let updatedHandlePath = handlePath;\n if (isRoom) {\n updatedHandlePath = pathname => pathname;\n }\n\n const generatePath = item => {\n if (hash().includes(hash(item.path.hash))) {\n return updatedHandlePath(\n {\n pathname: parentPathname,\n hash: createHash(\n explode().filter(v => {\n return hash(v) !== hash(item.path.hash);\n }),\n ),\n state: passedState,\n },\n companyId,\n );\n }\n return updatedHandlePath(\n {\n pathname: parentPathname,\n hash: createHash([...explode(), hash(item.path.hash)]),\n state: passedState,\n },\n companyId,\n );\n };\n const removeHash = item => {\n const updatedHash = createHash(\n explode().filter(name => name !== hash(item.path.hash)),\n );\n push(\n updatedHandlePath(\n {\n pathname: parentPathname,\n hash: updatedHash,\n state: passedState,\n },\n companyId,\n ),\n );\n };\n const addHash = item => {\n push(\n updatedHandlePath(\n {\n pathname: parentPathname,\n hash: createHash([...explode(), hash(item.path.hash)]),\n state: passedState,\n },\n companyId,\n ),\n );\n };\n const clearHash = () => {\n push(\n updatedHandlePath(\n {\n pathname: parentPathname,\n hash: '',\n state: passedState,\n },\n companyId,\n ),\n );\n };\n\n const hashContains = h => {\n const parts = explode();\n return parts.indexOf(hash(h)) !== -1;\n };\n\n const noHash = () => hash().length === 0;\n\n return { noHash, generatePath, hashContains, removeHash, addHash, clearHash };\n}\n","import React from 'react';\nimport { NavLink } from 'react-router-dom';\nimport useMultiHash from '../../utils/useMultiHash';\nimport PropTypes from 'prop-types';\nimport { Button } from '../common';\nimport './SavviNavLink.scss';\n\nconst SavviNavLink = ({ item, parentPathname, passedState, isRoom }) => {\n const { generatePath, hashContains, removeHash, addHash } = useMultiHash(\n parentPathname,\n passedState,\n isRoom,\n );\n return (\n {\n if (hashContains(item.path.hash)) {\n removeHash(item);\n return;\n }\n addHash(item);\n }}\n className=\"navlink__tag\"\n activeClassName=\"selected\"\n to={generatePath(item)}\n isActive={() => hashContains(item.path.hash)}\n >\n {item.label}\n {item.isItemLengthShowing && (\n <>\n {' ('}\n {item.itemLength}\n {')'}\n \n )}\n \n );\n};\n\nSavviNavLink.propTypes = {\n item: PropTypes.shape({\n path: PropTypes.object,\n label: PropTypes.string,\n isItemLengthShowing: PropTypes.bool,\n itemLength: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n }),\n parentPathname: PropTypes.string.isRequired,\n passedState: PropTypes.object,\n isRoom: PropTypes.bool,\n};\nSavviNavLink.defaultProps = {\n item: {},\n parentPathname: '/home',\n};\n\nconst SavviNavLinkBar = ({\n label,\n navLinkItems,\n parentPathname,\n passedState,\n isRoom,\n}) => {\n const { clearHash, noHash } = useMultiHash(parentPathname, passedState, isRoom);\n return (\n
    \n {navLinkItems.length > 0 &&

    {label}:

    }\n {navLinkItems.map(\n item =>\n !item.isHiding && (\n \n ),\n )}\n {navLinkItems.length > 0 && !noHash() && (\n clearHash()}\n >\n Clear\n \n )}\n
    \n );\n};\n\nSavviNavLinkBar.propTypes = {\n label: PropTypes.string.isRequired,\n navLinkItems: PropTypes.array.isRequired,\n parentPathname: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n passedState: PropTypes.object,\n};\n\nSavviNavLinkBar.defaultProps = {\n label: 'filters',\n navLinkItems: [],\n parentPathname: '/home',\n};\n\nexport { SavviNavLink, SavviNavLinkBar };\n","import * as Types from './types';\n\nexport const setLink = link => ({ type: Types['SET_LINK'], link });\n\nexport const setFeaturesForRoom = (payload, key) => ({\n type: Types['SET_FEATURES_FOR_ROOM'],\n payload,\n key,\n});\n\nexport const setRoom = (payload, accessCode) => ({\n type: Types['SET_ROOM'],\n payload,\n accessCode,\n});\n\nexport const setUserRooms = payload => ({\n type: Types['SET_USER_ROOMS'],\n payload,\n});\n\nexport const setRoomCodes = (payload, roomId) => ({\n type: Types['SET_ROOM_CODES'],\n payload,\n roomId,\n});\nexport const setRoomDocuments = (payload, roomId) => ({\n type: Types['SET_ROOM_DOCUMENTS'],\n payload,\n roomId,\n});\nexport const setRoomLinks = (payload, roomId) => ({\n type: Types['SET_ROOM_LINKS'],\n payload,\n roomId,\n});\n\nexport const setRoomAccessLog = (payload, roomId) => ({\n type: Types['SET_ROOM_ACCESS_LOG'],\n payload,\n roomId,\n});\n\nexport const setRoomHistory = (payload, roomId) => ({\n type: Types['SET_ROOM_HISTORY'],\n payload,\n roomId,\n});\n\nexport const setRoomParticipants = (payload, roomId) => ({\n type: Types['SET_ROOM_PARTICIPANTS'],\n payload,\n roomId,\n});\n\nexport const setRoomToken = (payload, accessCode) => ({\n type: Types['SET_ROOM_TOKEN'],\n payload,\n accessCode,\n});\n","import { get, isPlainObject } from 'lodash-es';\nimport { RSAA } from 'redux-api-middleware';\n\nimport { requestHeaders } from '../../utils/api';\nimport { setTransactionQuestionnaire } from '../Transaction/actions';\n// import { setTransactionQuestionnaire } from '../Transaction/actions';\nimport { setNotice } from '../UI/actions';\nimport {\n setFeaturesForRoom,\n setLink,\n setRoom,\n setRoomAccessLog,\n setRoomCodes,\n setRoomDocuments,\n setRoomHistory,\n setRoomLinks,\n setRoomParticipants,\n setRoomToken,\n setUserRooms,\n} from './actions';\nimport * as Types from './types';\n\n// import { addProductToCart, setCart, emptyCart } from './actions';\n\nexport const fetchUserRooms = () => {\n const REQUEST = Types[`FETCH_USER_ROOMS_REQUEST`];\n const SUCCESS = Types[`FETCH_USER_ROOMS_SUCCESS`];\n const FAILED = Types[`FETCH_USER_ROOMS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/user/rooms',\n method: 'GET',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setUserRooms(actionResponse.payload));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message:\n actionResponse.payload?.message ||\n 'An error has occurred. If error persists after refresh, please contact Savvi Support.',\n }),\n );\n throw await new Error(actionResponse.payload?.message);\n };\n};\n\nexport const fetchAccountRooms = accountId => {\n const REQUEST = Types[`FETCH_ACCOUNT_ROOMS_REQUEST`];\n const SUCCESS = Types[`FETCH_ACCOUNT_ROOMS_SUCCESS`];\n const FAILED = Types[`FETCH_ACCOUNT_ROOMS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/admin/room?open=true',\n method: 'GET',\n headers: requestHeaders(true, accountId),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n }\n if (actionResponse.payload.code === 'UNAUTHORIZED') {\n return await actionResponse.payload;\n }\n // dispatch(\n // setNotice({\n // type: 'error',\n // message:\n // actionResponse.payload?.message ||\n // 'An error has occurred. If error persists after refresh, please contact Savvi Support.',\n // }),\n // );\n throw await new Error(actionResponse.payload?.message);\n };\n};\n\nexport const fetchInspectAccessCode = access_code => {\n const REQUEST = Types[`FETCH_INSPECT_ACCESS_CODE_REQUEST`];\n const SUCCESS = Types[`FETCH_INSPECT_ACCESS_CODE_SUCCESS`];\n const FAILED = Types[`FETCH_INSPECT_ACCESS_CODE_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/public/access_code/inspect?access_code=${access_code}`,\n method: 'GET',\n headers: requestHeaders(),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n await dispatch(setRoom(actionResponse.payload, access_code));\n if (!actionResponse.error) {\n return await actionResponse.payload;\n }\n // await get(\n // actionResponse,\n // 'payload.message',\n // 'This form has already been completed. Please contact technical support if you believe this is in error.',\n // );\n throw await actionResponse.payload;\n };\n};\n\nexport const fetchRoomByAccessCode = (access_code, account_id) => {\n const REQUEST = Types[`FETCH_ROOM_REQUEST`];\n const SUCCESS = Types[`FETCH_ROOM_SUCCESS`];\n const FAILED = Types[`FETCH_ROOM_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/guest/rooms/${access_code}`,\n method: 'GET',\n headers: requestHeaders(true, account_id, true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(setRoom(actionResponse.payload, access_code));\n if (actionResponse.payload.outside_forms.length > 0) {\n actionResponse.payload.outside_forms.forEach(form => {\n dispatch(\n setTransactionQuestionnaire(\n form,\n form.access_code || form.questionnaire?.access_code,\n ),\n );\n });\n }\n return await actionResponse.payload;\n }\n // await get(\n // actionResponse,\n // 'payload.message',\n // 'This form has already been completed. Please contact technical support if you believe this is in error.',\n // );\n const payload = {\n ...actionResponse.payload,\n room: { id: actionResponse.payload.room_id },\n };\n await dispatch(setRoom(payload, access_code));\n throw await payload;\n };\n};\n\nexport const fetchRoomById = (roomId, account_id, accessCode) => {\n const REQUEST = Types[`FETCH_ROOM_BY_ID_REQUEST`];\n const SUCCESS = Types[`FETCH_ROOM_BY_ID_SUCCESS`];\n const FAILED = Types[`FETCH_ROOM_BY_ID_FAILED`];\n return async (dispatch, getState) => {\n let actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}`,\n method: 'GET',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n actionResponse.payload = { ...actionResponse.payload, is_admin_user: true };\n await dispatch(\n setRoom(\n actionResponse.payload,\n accessCode || actionResponse.payload.room.data_access_code,\n ),\n );\n if (actionResponse.payload.outside_forms.length > 0) {\n actionResponse.payload.outside_forms.forEach(form => {\n dispatch(setTransactionQuestionnaire(form, form.questionnaire.access_code));\n });\n }\n return await actionResponse.payload;\n }\n await get(\n actionResponse,\n 'payload.message',\n 'Unable to fetch Room. Please try logging back in or contact support if error persists',\n );\n // await dispatch(\n // setRoom(actionResponse.payload, actionResponse.payload.data_access_code),\n // );\n throw await actionResponse.payload;\n };\n};\n\nexport const fetchRoomByUser = roomId => {\n const REQUEST = Types[`FETCH_ROOM_BY_USER_REQUEST`];\n const SUCCESS = Types[`FETCH_ROOM_BY_USER_SUCCESS`];\n const FAILED = Types[`FETCH_ROOM_BY_USER_FAILED`];\n return async (dispatch, getState) => {\n let actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/rooms/${roomId}`,\n method: 'GET',\n headers: requestHeaders(true, 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n actionResponse.payload = { ...actionResponse.payload, is_admin_user: true };\n await dispatch(\n setRoom(actionResponse.payload, actionResponse.payload.room.data_access_code),\n );\n if (actionResponse.payload.outside_forms.length > 0) {\n actionResponse.payload.outside_forms.forEach(form => {\n dispatch(setTransactionQuestionnaire(form, form.questionnaire.access_code));\n });\n }\n return await actionResponse.payload;\n }\n await get(\n actionResponse,\n 'payload.message',\n 'Unable to fetch Room. Please try logging back in or contact support if error persists',\n );\n // await dispatch(\n // setRoom(actionResponse.payload, actionResponse.payload.data_access_code),\n // );\n throw await actionResponse.payload;\n };\n};\n\n/**\n * body:\n{\n \"open\": true,\n \"require_auth\":false,\n \"strict\":false,\n \"label\":\"We're The Best Data Room Eva!!!\"\n}\n */\nexport const updateRoom = (body, roomId, account_id, accessCode) => {\n const REQUEST = Types[`PUT_ROOM_REQUEST`];\n const SUCCESS = Types[`PUT_ROOM_SUCCESS`];\n const FAILED = Types[`PUT_ROOM_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}`,\n method: 'PUT',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Room Updated.'));\n if (roomId) {\n dispatch(fetchRoomById(roomId, account_id, accessCode));\n }\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to update room.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to update room.');\n };\n};\n\nexport const fetchFeaturesForRoom = (key, query, account_id) => {\n const REQUEST = Types[`FETCH_FEATURES_FOR_ROOM_REQUEST`];\n const SUCCESS = Types[`FETCH_FEATURES_FOR_ROOM_SUCCESS`];\n const FAILED = Types[`FETCH_FEATURES_FOR_ROOM_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/feature${query || ''}`,\n method: 'GET',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(setFeaturesForRoom(actionResponse.payload, key));\n return await actionResponse.payload;\n }\n throw await actionResponse.payload;\n // throw await get(\n // actionResponse,\n // 'payload.message',\n // 'This form has already been completed. Please contact technical support if you believe this is in error.',\n // );\n };\n};\n\nexport const createRoomFeatures = (features, baseBody, roomId, account_id) => {\n return async dispatch => {\n return features.reduce(async (previousPromise, feature) => {\n return await previousPromise.then(\n e =>\n dispatch(\n createRoomFeature(\n { ...baseBody, feature_type_id: feature.feature_type_id },\n roomId,\n account_id,\n ),\n ),\n error => {\n console.warn('error', error);\n return Promise.resolve();\n },\n );\n }, Promise.resolve(100));\n };\n};\n\nexport const createRoomFeature = (body, roomId, account_id) => {\n /**\n * body:\n {\n \"room_id\":1,\n \"feature_type_id\":406,\n \"resource_id\":730,\n \"resource_variable_name\": \"Bob\",\n \"resource_custom_label\": \"Blob\"\n }\n */\n const REQUEST = Types[`POST_ROOM_FEATURE_REQUEST`];\n const SUCCESS = Types[`POST_ROOM_FEATURE_SUCCESS`];\n const FAILED = Types[`POST_ROOM_FEATURE_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/feature`,\n method: 'POST',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to create room feature.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to create room feature');\n };\n};\n\nexport const updateRoomFeatures = (resources, body, roomId, account_id) => {\n return async dispatch => {\n const features = Object.entries(resources).reduce((dict, [resourceKey, resource]) => {\n dict = [...dict, ...resource.features];\n return dict;\n }, []);\n return features.reduce(async (previousPromise, feature) => {\n return await previousPromise.then(\n e =>\n dispatch(updateRoomFeature(feature.room_feature_id, body, roomId, account_id)),\n error => {\n console.warn('error', error);\n return Promise.resolve();\n },\n );\n }, Promise.resolve(100));\n };\n};\n\nexport const updateRoomFeature = (roomFeatureId, body, roomId, account_id) => {\n /**\n * body:\n {\n \"resource_variable_name\": \"bobby\",\n \"resource_custom_label\":\"Bobby\"\n }\n */\n const REQUEST = Types[`PUT_ROOM_FEATURE_REQUEST`];\n const SUCCESS = Types[`PUT_ROOM_FEATURE_SUCCESS`];\n const FAILED = Types[`PUT_ROOM_FEATURE_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/feature/${roomFeatureId}`,\n method: 'PUT',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to update room feature.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to update room feature');\n };\n};\n\nexport const deleteRoomFeatures = (collection, roomId, account_id) => {\n return async dispatch => {\n let features = collection;\n if (isPlainObject(collection)) {\n features = Object.entries(collection).reduce((dict, [resourceKey, resource]) => {\n dict = [...dict, ...resource.features];\n return dict;\n }, []);\n }\n return features.reduce(async (previousPromise, feature) => {\n return await previousPromise.then(\n e => dispatch(deleteRoomFeature(feature.room_feature_id, roomId, account_id)),\n error => {\n console.warn('error', error);\n return Promise.resolve();\n },\n );\n }, Promise.resolve(100));\n };\n};\n\nexport const deleteRoomFeature = (roomFeatureId, roomId, account_id, accessCode) => {\n /**\n * body:\n {\n \"room_id\": 1,\n }\n */\n const REQUEST = Types[`DELETE_ROOM_FEATURE_REQUEST`];\n const SUCCESS = Types[`DELETE_ROOM_FEATURE_SUCCESS`];\n const FAILED = Types[`DELETE_ROOM_FEATURE_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/feature/${roomFeatureId}`,\n method: 'DELETE',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Room field removed.'));\n if (accessCode) {\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n }\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to delete room feature.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to delete room feature');\n };\n};\n\nexport const fetchRoomLinks = (roomId, account_id) => {\n /**\n * body:\n {\n \"room_id\":1,\n \"label\": \"Let there be light\",\n \"link\": \"https://bulbs.org\"\n }\n */\n const REQUEST = Types[`FETCH_ROOM_LINKS_REQUEST`];\n const SUCCESS = Types[`FETCH_ROOM_LINKS_SUCCESS`];\n const FAILED = Types[`FETCH_ROOM_LINKS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/link`,\n method: 'GET',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setRoomLinks(actionResponse.payload, roomId));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to create room link.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to create room link');\n };\n};\n\nexport const createRoomLink = (body, roomId, account_id, accessCode) => {\n /**\n * body:\n {\n \"room_id\":1,\n \"label\": \"Let there be light\",\n \"link\": \"https://bulbs.org\"\n }\n */\n const REQUEST = Types[`POST_ROOM_LINK_REQUEST`];\n const SUCCESS = Types[`POST_ROOM_LINK_SUCCESS`];\n const FAILED = Types[`POST_ROOM_LINK_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/link`,\n method: 'POST',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n dispatch(setNotice('Room field added.'));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to create room link.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to create room link');\n };\n};\n\nexport const updateRoomLink = (body, roomLinkId, roomId, account_id, accessCode) => {\n /**\n * body:\n {\n \"room_id\":1\n }\n */\n const REQUEST = Types[`PUT_ROOM_LINK_REQUEST`];\n const SUCCESS = Types[`PUT_ROOM_LINK_SUCCESS`];\n const FAILED = Types[`PUT_ROOM_LINK_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/link/${roomLinkId}`,\n method: 'PUT',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Room Link Updated.'));\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to update room link.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to update room link');\n };\n};\n\nexport const deleteRoomLink = (roomLinkId, roomId, account_id, accessCode) => {\n const REQUEST = Types[`DELETE_ROOM_LINK_REQUEST`];\n const SUCCESS = Types[`DELETE_ROOM_LINK_SUCCESS`];\n const FAILED = Types[`DELETE_ROOM_LINK_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/link/${roomLinkId}`,\n method: 'DELETE',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n dispatch(setNotice('Room Link Deleted.'));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to delete room link.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to delete room link');\n };\n};\n\nexport const fetchRoomDocuments = (roomId, account_id) => {\n /**\n * body:\n {\n \"room_id\":1,\n \"label\": \"Let there be light\",\n \"link\": \"https://bulbs.org\"\n }\n */\n const REQUEST = Types[`FETCH_ROOM_DOCUMENTS_REQUEST`];\n const SUCCESS = Types[`FETCH_ROOM_DOCUMENTS_SUCCESS`];\n const FAILED = Types[`FETCH_ROOM_DOCUMENTS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/document`,\n method: 'GET',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setRoomDocuments(actionResponse.payload, roomId));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to get room documents.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to get room documents');\n };\n};\n\nexport const createRoomDocument = (body, roomId, account_id, accessCode) => {\n /**\n * body:\n {\n \"room_id\":1,\n \"label\": \"Let there be light\",\n \"link\": \"https://bulbs.org\"\n }\n */\n const REQUEST = Types[`POST_ROOM_DOCUMENT_REQUEST`];\n const SUCCESS = Types[`POST_ROOM_DOCUMENT_SUCCESS`];\n const FAILED = Types[`POST_ROOM_DOCUMENT_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/document`,\n method: 'POST',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n dispatch(setNotice('Room Document Added.'));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to add room document.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to add room document');\n };\n};\n\nexport const updateRoomDocument = (\n body,\n roomDocumentId,\n roomId,\n account_id,\n accessCode,\n) => {\n /**\n * body:\n {\n \"room_id\":1,\n \"label\": \"Let there be light\",\n \"link\": \"https://bulbs.org\"\n }\n */\n const REQUEST = Types[`PUT_ROOM_DOCUMENT_REQUEST`];\n const SUCCESS = Types[`PUT_ROOM_DOCUMENT_SUCCESS`];\n const FAILED = Types[`PUT_ROOM_DOCUMENT_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/document/${roomDocumentId}`,\n method: 'PUT',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n dispatch(setNotice('Room Document Updated.'));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'Failed to updated room document.',\n ),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to update room document');\n };\n};\n\nexport const deleteRoomDocument = (roomDocumentId, roomId, account_id, accessCode) => {\n const REQUEST = Types[`DELETE_ROOM_DOCUMENT_REQUEST`];\n const SUCCESS = Types[`DELETE_ROOM_DOCUMENT_SUCCESS`];\n const FAILED = Types[`DELETE_ROOM_DOCUMENT_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/document/${roomDocumentId}`,\n method: 'DELETE',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n dispatch(setNotice('Room Document Removed.'));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'Failed to remove room document.',\n ),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to remove room document');\n };\n};\n\nexport const addRoomReport = (body, roomId, account_id, accessCode) => {\n /**\n * body:\n {\n \"room_id\": 1,\n \"feature_type_id\": 752\n }\n */\n const REQUEST = Types[`POST_ROOM_REPORT_REQUEST`];\n const SUCCESS = Types[`POST_ROOM_REPORT_SUCCESS`];\n const FAILED = Types[`POST_ROOM_REPORT_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/report`,\n method: 'POST',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n dispatch(setNotice('Room Report Added.'));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to add room report.'),\n }),\n );\n let err = new Error(actionResponse.payload?.message || 'Failed to add room report');\n throw err;\n };\n};\n\nexport const deleteRoomReport = (roomReportId, roomId, account_id, accessCode) => {\n const REQUEST = Types[`DELETE_ROOM_REPORT_REQUEST`];\n const SUCCESS = Types[`DELETE_ROOM_REPORT_SUCCESS`];\n const FAILED = Types[`DELETE_ROOM_REPORT_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/report/${roomReportId}`,\n method: 'DELETE',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n dispatch(setNotice('Room Document Removed.'));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'Failed to remove room document.',\n ),\n }),\n );\n let err = new Error(\n actionResponse.payload?.message || 'Failed to remove room report',\n );\n throw err;\n };\n};\n\nexport const addRoomUser = (body, roomId, account_id, accessCode) => {\n /**\n * body:\n {\n \"room_id\":1,\n \"email\":\"brack@savvi.legal\"\n }\n */\n const REQUEST = Types[`POST_ROOM_USER_REQUEST`];\n const SUCCESS = Types[`POST_ROOM_USER_SUCCESS`];\n const FAILED = Types[`POST_ROOM_USER_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/rooms/${roomId}/participants`,\n method: 'POST',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('User added.'));\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to add user to room.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to add user to room');\n };\n};\n\nexport const updateRoomUser = (body, roomUserId, roomId, account_id) => {\n /**\n * body:\n {\n \"invite_rights\":0 // They can add people, allows them to hit post invite to invite user by email\n }\n */\n const REQUEST = Types[`PUT_ROOM_USER_REQUEST`];\n const SUCCESS = Types[`PUT_ROOM_USER_SUCCESS`];\n const FAILED = Types[`PUT_ROOM_USER_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/user/${roomUserId}`,\n method: 'PUT',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n await dispatch(fetchRoomById(roomId, account_id));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to update room user.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to update room user');\n };\n};\n\nexport const deleteRoomUser = (roomUserId, roomId, account_id, roomCodeId) => {\n const REQUEST = Types[`DELETE_ROOM_USER_REQUEST`];\n const SUCCESS = Types[`DELETE_ROOM_USER_SUCCESS`];\n const FAILED = Types[`DELETE_ROOM_USER_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/user/${roomUserId}`,\n method: 'DELETE',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n if (roomCodeId) {\n return await dispatch(deleteRoomCode(roomCodeId, roomId, account_id));\n }\n await dispatch(fetchRoomById(roomId, account_id));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'Failed to remove user from room.',\n ),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to remove user from room');\n };\n};\n\nexport const swapRoomLinks = (id1, id2, roomId, account_id, accessCode) => {\n const REQUEST = Types[`SWAP_ROOM_LINKS_REQUEST`];\n const SUCCESS = Types[`SWAP_ROOM_LINKS_SUCCESS`];\n const FAILED = Types[`SWAP_ROOM_LINKS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/link/${id1}/swap/${id2}`,\n method: 'PATCH',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(setNotice('Room links swapped.'));\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to swap room links.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to swap room links.');\n };\n};\n\nexport const swapRoomDocuments = (id1, id2, roomId, account_id, accessCode) => {\n const REQUEST = Types[`SWAP_ROOM_DOCUMENTS_REQUEST`];\n const SUCCESS = Types[`SWAP_ROOM_DOCUMENTS_SUCCESS`];\n const FAILED = Types[`SWAP_ROOM_DOCUMENTS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/document/${id1}/swap/${id2}`,\n method: 'PATCH',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(setNotice('Room documents swapped.'));\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to swap room documents.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to swap room documents.');\n };\n};\n\nexport const swapRoomReports = (id1, id2, roomId, account_id, accessCode) => {\n const REQUEST = Types[`SWAP_ROOM_REPORTS_REQUEST`];\n const SUCCESS = Types[`SWAP_ROOM_REPORTS_SUCCESS`];\n const FAILED = Types[`SWAP_ROOM_REPORTS_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/report/${id1}/swap/${id2}`,\n method: 'PATCH',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(setNotice('Room reports swapped.'));\n await dispatch(fetchRoomById(roomId, account_id, accessCode));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(actionResponse, 'payload.message', 'Failed to swap room documents.'),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to swap room documents.');\n };\n};\n\nexport const fetchRoomCodes = (roomId, accountId) => {\n const REQUEST = Types['FETCH_ROOM_CODES_REQUEST'];\n const SUCCESS = Types['FETCH_ROOM_CODES_SUCCESS'];\n const FAILED = Types['FETCH_ROOM_CODES_FAILED'];\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/code`,\n method: 'GET',\n headers: requestHeaders(true, accountId),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setRoomCodes(actionResponse.payload, roomId));\n return await actionResponse.payload;\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: actionResponse.payload?.message || 'failed to fetch Room codes',\n }),\n );\n }\n };\n};\n\nexport const addRoomCode = (body, roomId, accountId) => {\n /**\n * body:\n {\n \"room_id\":1,\n \"email\":\"brack@savvi.legal\"\n }\n */\n const REQUEST = Types[`POST_ROOM_CODE_REQUEST`];\n const SUCCESS = Types[`POST_ROOM_CODE_SUCCESS`];\n const FAILED = Types[`POST_ROOM_CODE_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/admin/room/${roomId}/code`,\n method: 'POST',\n headers: requestHeaders(true, accountId),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(setNotice('Email with room link sent.'));\n await dispatch(fetchRoomCodes(roomId, accountId));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'An issue occurred while sharing room link. If issue continues, please contact support.',\n ),\n }),\n );\n throw await get(\n actionResponse,\n 'payload.message',\n 'An issue occurred while sharing room link. If issue continues, please contact support.',\n );\n };\n};\n\nexport const deleteRoomCode = (roomCodeId, roomId, account_id) => {\n const REQUEST = Types[`DELETE_ROOM_CODE_REQUEST`];\n const SUCCESS = Types[`DELETE_ROOM_CODE_SUCCESS`];\n const FAILED = Types[`DELETE_ROOM_CODE_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/room/${roomId}/code/${roomCodeId}`,\n method: 'DELETE',\n headers: requestHeaders(true, account_id),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(fetchRoomCodes(roomId, account_id));\n return await actionResponse.payload;\n }\n dispatch(\n setNotice({\n type: 'error',\n message: get(\n actionResponse,\n 'payload.message',\n 'Failed to remove user from room.',\n ),\n }),\n );\n throw await get(actionResponse, 'payload.message', 'Failed to remove user from room');\n };\n};\n\nexport const fetchRoomAccessLog = (roomId, accId) => {\n const REQUEST = Types['FETCH_ROOM_ACCESS_LOG_REQUEST'];\n const SUCCESS = Types['FETCH_ROOM_ACCESS_LOG_SUCCESS'];\n const FAILED = Types['FETCH_ROOM_ACCESS_LOG_FAILED'];\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/rooms/${roomId}/access-log`,\n method: 'GET',\n headers: requestHeaders(true, accId || 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setRoomAccessLog(actionResponse.payload, roomId));\n return await actionResponse.payload;\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: actionResponse.payload?.message || 'failed to fetch Room access logs',\n }),\n );\n }\n };\n};\n\nexport const fetchRoomHistory = (accessCode, roomId) => {\n const REQUEST = Types['FETCH_ROOM_HISTORY_REQUEST'];\n const SUCCESS = Types['FETCH_ROOM_HISTORY_SUCCESS'];\n const FAILED = Types['FETCH_ROOM_HISTORY_FAILED'];\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/guest/rooms/${accessCode}/history`,\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setRoomHistory(actionResponse.payload, roomId));\n return await actionResponse.payload;\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: actionResponse.payload?.message || 'failed to fetch Room history',\n }),\n );\n }\n };\n};\n\nexport const createRoomHistory = (accessCode, body, roomId, accId) => {\n const REQUEST = Types['POST_ROOM_HISTORY_REQUEST'];\n const SUCCESS = Types['POST_ROOM_HISTORY_SUCCESS'];\n const FAILED = Types['POST_ROOM_HISTORY_FAILED'];\n\n return async (dispatch, getState) => {\n const {\n Auth: {\n user: { isAuthenticated },\n },\n } = getState();\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/${isAuthenticated ? 'user' : 'guest'}/rooms/${\n isAuthenticated ? roomId : accessCode\n }/history`,\n method: 'POST',\n headers: requestHeaders(true, accId || 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n body: JSON.stringify(body),\n },\n });\n if (!actionResponse.error) {\n dispatch(fetchRoomHistory(accessCode, actionResponse.payload.room_id));\n return await actionResponse.payload;\n }\n const errMessage =\n actionResponse.payload?.message || 'failed to create Room history item';\n // dispatch(\n // setNotice({\n // type: 'error',\n // message: errMessage,\n // }),\n // );\n throw new Error(errMessage);\n };\n};\n\nexport const fetchRoomParticipants = (roomId, accId) => {\n const REQUEST = Types['FETCH_ROOM_PARTICIPANTS_REQUEST'];\n const SUCCESS = Types['FETCH_ROOM_PARTICIPANTS_SUCCESS'];\n const FAILED = Types['FETCH_ROOM_PARTICIPANTS_FAILED'];\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/user/rooms/${roomId}/participants`,\n method: 'GET',\n headers: requestHeaders(true, accId || 'user'),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setRoomParticipants(actionResponse.payload, roomId));\n return await actionResponse.payload;\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: actionResponse.payload?.message || 'failed to fetch Room access logs',\n }),\n );\n }\n };\n};\n\n/** *** End of DataRoom Editing */\n\nexport const fetchRoomToken = access_code => {\n const REQUEST = Types[`FETCH_ROOM_TOKEN_REQUEST`];\n const SUCCESS = Types[`FETCH_ROOM_TOKEN_SUCCESS`];\n const FAILED = Types[`FETCH_ROOM_TOKEN_FAILED`];\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/guest/rooms/${access_code}/token`,\n method: 'GET',\n headers: requestHeaders(),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n await dispatch(setRoomToken(actionResponse.payload, access_code));\n return await actionResponse.payload;\n }\n throw await get(\n actionResponse,\n 'payload.message',\n 'This form has already been completed. Please contact technical support if you believe this is in error.',\n );\n };\n};\n\nexport const fetchBoxLinkById = (folderId, accountId) => {\n const REQUEST = Types['FETCH_LINK_BY_ID_REQUEST'];\n const SUCCESS = Types['FETCH_LINK_BY_ID_SUCCESS'];\n const FAILED = Types['FETCH_LINK_BY_ID_FAILED'];\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: `/api/account/shared_link/${folderId}`,\n method: 'GET',\n headers: requestHeaders(true, accountId),\n types: [REQUEST, SUCCESS, FAILED],\n bailout: state => state.Data.isFetching,\n },\n });\n if (!actionResponse.error) {\n if (!actionResponse.payload.url) {\n dispatch(\n setNotice({\n type: 'error',\n message:\n 'Unable to fetch folder link. If problem persists, please message our support team.',\n }),\n );\n }\n return await actionResponse.payload;\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: actionResponse.payload?.message || 'failed to fetch Box link',\n }),\n );\n throw actionResponse.payload;\n }\n };\n};\n\nconst getDataRoomLink = () => {\n const REQUEST = Types['GET_LINK_REQUEST'];\n const SUCCESS = Types['GET_LINK_SUCCESS'];\n const FAILED = Types['GET_LINK_FAILED'];\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/shared_link',\n method: 'GET',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n bailout: state => state.Data.isFetching,\n },\n });\n if (!actionResponse) {\n return;\n }\n if (!actionResponse.error) {\n dispatch(setLink(actionResponse.payload));\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: actionResponse.payload?.message || 'failed to get Data Room link',\n }),\n );\n }\n };\n};\n\nconst createDataRoomLink = () => {\n const REQUEST = Types['POST_LINK_REQUEST'];\n const SUCCESS = Types['POST_LINK_SUCCESS'];\n const FAILED = Types['POST_LINK_FAILED'];\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/shared_link',\n method: 'POST',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n bailout: state => state.Data.isFetching,\n },\n });\n if (!actionResponse.error) {\n dispatch(setLink(actionResponse.payload));\n dispatch(setNotice('Data Room link created/extended'));\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: actionResponse.payload?.message || 'failed to create Data Room link',\n }),\n );\n }\n };\n};\n\nconst updateDataRoomLink = () => {\n const REQUEST = Types['UPDATE_LINK_REQUEST'];\n const SUCCESS = Types['UPDATE_LINK_SUCCESS'];\n const FAILED = Types['UPDATE_LINK_FAILED'];\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/account/shared_link',\n method: 'PUT',\n headers: requestHeaders(true),\n types: [REQUEST, SUCCESS, FAILED],\n bailout: state => state.Data.isFetching,\n },\n });\n if (!actionResponse.error) {\n dispatch(setLink(actionResponse.payload));\n dispatch(setNotice('New Data Room link created'));\n } else {\n dispatch(\n setNotice({\n type: 'error',\n message: actionResponse.payload?.message || 'failed to update Data Room link',\n }),\n );\n }\n };\n};\n\nexport { createDataRoomLink, getDataRoomLink, updateDataRoomLink };\n","import React from 'react';\n\nimport classnames from 'classnames';\nimport { Field } from 'formik';\nimport { get, isEmpty, isObject } from 'lodash-es';\n\nimport { options } from '../../../data/StateData';\nimport {\n validateAddress,\n validateSelect,\n validateString,\n validateZip,\n} from '../../../utils/FeatureTypes';\nimport { InputFeedback, InputHelp } from '../../inputs';\nimport { Select, TextField } from '../';\nimport CountryData from '../../../data/CountryData';\nimport './AddressGroup.scss';\n\nconst bem = elementName => `address-group${elementName ? '__' + elementName : ''}`;\n\nconst AddressGroup = ({\n field,\n form,\n handleFormBlur,\n label,\n questionHelp,\n isDisabled,\n isFixed,\n isRequired,\n isUniversal,\n}) => {\n const { name: fieldName, value: fieldValue = {} } = field;\n const { errors, touched, setFieldError, setFieldValue } = form;\n const isTouched = get(touched, `${fieldName}.address`, false);\n const error = isTouched && get(errors, `${fieldName}.address`, null);\n\n const isAddressStarted = () => {\n const { line_one, line_two, city, state, zip } = fieldValue;\n return !!line_one || !!line_two || !!city || !!state || !!zip;\n };\n\n const handleAddressBlur = (name, givenVal) => {\n let updatedFieldVal = fieldValue;\n if (isEmpty(updatedFieldVal)) {\n updatedFieldVal = {\n line_one: '',\n line_two: '',\n city: '',\n state: '',\n zip: '',\n country: 'United States of America',\n };\n }\n updatedFieldVal[name] = givenVal;\n\n let {\n line_one = '',\n line_two = '',\n city = '',\n state = '',\n zip = '',\n country = 'United States of America',\n } = updatedFieldVal;\n\n let value = `${line_one} \\n${line_two} \\n${city}, ${\n isObject(state) ? state.value : state\n } ${zip}`;\n if (isUniversal) {\n value += ` \\n${isObject(country) ? country.value : country}`;\n }\n\n if (isUniversal && !fieldValue.country) {\n setFieldValue(`${fieldName}.country`, 'United States of America');\n }\n\n const myError = validateAddress(updatedFieldVal, isUniversal, true);\n if (isEmpty(myError)) {\n handleFormBlur({\n target: {\n value,\n },\n });\n } else if (isRequired || line_one || line_two || state || zip) {\n Object.entries(myError).forEach(([key, value]) => {\n if (get(touched, `${fieldName}${key}`, false)) {\n setFieldError(`${fieldName}.${key}`, value);\n }\n });\n }\n };\n const countryVal = fieldValue.country?.value || fieldValue.country;\n\n return (\n
    \n {label && (\n \n )}\n \n {isUniversal && (\n handleAddressBlur('country', e.target.value)}\n name={`${fieldName}.country`}\n options={CountryData}\n label=\"Country\"\n validate={(isAddressStarted || isRequired) && validateSelect}\n />\n )}\n handleAddressBlur('line_one', e.target.value)}\n name={`${fieldName}.line_one`}\n label=\"Street address, P.O. box\"\n validate={(isAddressStarted() || isRequired) && validateString}\n />\n handleAddressBlur('line_two', e.target.value)}\n name={`${fieldName}.line_two`}\n label=\"Apartment, suite, unit, building, floor, etc.\"\n />\n
    \n
    \n handleAddressBlur('city', e.target.value)}\n name={`${fieldName}.city`}\n label=\"City\"\n validate={(isAddressStarted() || isRequired) && validateString}\n />\n
    \n
    \n {(countryVal === 'United States of America' || !isUniversal) && (\n handleAddressBlur('state', e.target.value)}\n isCreatable={!!isUniversal}\n name={`${fieldName}.state`}\n options={options}\n label={isUniversal ? 'State/Province/Region' : 'State'}\n questionHelp=\"You can type out your Province or Region even if it's not in the list.\"\n validate={(isAddressStarted() || isRequired) && validateSelect}\n />\n )}\n {isUniversal && countryVal !== 'United States of America' && (\n handleAddressBlur('state', e.target.value)}\n name={`${fieldName}.state`}\n label={'State/Province/Region'}\n validate={(isAddressStarted() || isRequired) && validateString}\n />\n )}\n
    \n
    \n handleAddressBlur('zip', e.target.value)}\n myType=\"zip\"\n name={`${fieldName}.zip`}\n label={isUniversal ? 'Postal Code' : 'Zip'}\n validate={\n countryVal === 'United States of America' &&\n (isAddressStarted() || isRequired) &&\n validateZip\n }\n />\n
    \n
    \n
    \n );\n};\n\nAddressGroup.defaultProps = {\n handleFormBlur: () => {},\n};\n\nexport default AddressGroup;\n","import React, { Component } from 'react';\n\nimport get from 'lodash-es/get';\n\nimport { InputCheckbox } from '../../inputs';\n\nclass Checkbox extends Component {\n render() {\n const {\n field, //: { name, value, onChange, onBlur },\n form: { errors, status, touched },\n ...props // everything that we should pass goes through here classnames etc\n } = this.props;\n const { name, value } = field;\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n const error = apiError || (isTouched && get(errors, name, null));\n return (\n {\n field.onChange(e);\n }}\n error={error}\n checked={value}\n {...field}\n {...props}\n />\n );\n }\n}\n\nexport default Checkbox;\n","import React from 'react';\n\nimport classnames from 'classnames';\nimport get from 'lodash-es/get';\n\nimport InputStyledCheckbox from '../../common/InputStyledCheckbox/InputStyledCheckbox';\nimport { InputFeedback, InputHelp, InputSublabel } from '../../inputs';\n\nimport './CheckboxGroup.scss';\n\nconst CheckboxGroup = ({\n children,\n className,\n field,\n form,\n handleFormBlur,\n isDisabled,\n isRequired,\n label,\n options,\n questionHelp,\n sublabel,\n type,\n ...otherProps\n}) => {\n const updatedOptions = options.split(',');\n const { name } = field;\n const { errors, setFieldValue, touched, values } = form;\n let isTouched = get(touched, name, false);\n const handleChange = ({ target }) => {\n if (type === 'radio') {\n handleFormBlur({ target: { value: target.value } });\n return setFieldValue(name, target.value);\n }\n\n let valuesArr = get(values, name, '').split('|');\n let checked = valuesArr.indexOf(target.value) !== -1;\n if (!valuesArr[0]) {\n valuesArr.pop();\n }\n if (!checked) {\n valuesArr.push(target.value);\n } else {\n valuesArr.splice(valuesArr.indexOf(target.value), 1);\n }\n handleFormBlur({ target: { value: valuesArr.join('|') } });\n return setFieldValue(name, valuesArr.join('|'));\n };\n\n const error = isTouched && get(errors, name, null);\n\n const classes = classnames(\n 'checkbox-group__container',\n {\n 'checkbox-group__container--error': !!error,\n 'checkbox-group__container--disabled': isDisabled,\n },\n className,\n );\n\n const labelClass = 'checkbox-group__label';\n return (\n
    \n
    \n \n {children ||\n updatedOptions.map((option, index) => {\n let checked = option === field.value;\n if (type === 'checkbox') {\n checked = get(values, name, '').split('|').indexOf(option) !== -1;\n }\n return (\n \n );\n })}\n
    \n {sublabel}\n \n
    \n );\n};\n\nCheckboxGroup.defaultProps = {\n sublabel: null,\n error: null,\n};\n\nexport default CheckboxGroup;\n\n// Children should be an array of Formik Field Components passed down\n","import React from 'react';\n\nimport ReactMarkdown from 'react-markdown';\nimport './Comment.scss';\n\nconst Comment = ({ label, markdown }) => {\n return (\n
    \n {!!(label || '').trim() && }\n {markdown}\n
    \n );\n};\n\nexport default Comment;\n","import React, { Fragment, useCallback, useState } from 'react';\n// import React, { Fragment, useCallback, useEffect, useState } from 'react';\n// import enLocaleData from 'react-intl/locale-data/en';\n\n// Not needed unless working with non \"en\" locales\n// import { addLocaleData } from 'react-intl';\n// import enLocaleData from 'react-intl/locale-data/en';\n\nimport { useDispatch, useSelector } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport ContentPicker from 'box-ui-elements/es/elements/content-picker';\nimport ContentPreview from 'box-ui-elements/es/elements/content-preview';\nimport messages from 'box-ui-elements/i18n/en-US';\nimport classnames from 'classnames';\nimport { Field } from 'formik';\nimport { startCase } from 'lodash-es';\nimport get from 'lodash-es/get';\nimport isEmpty from 'lodash-es/isEmpty';\n\nimport savviLogo from '../../../assets/images/savvi_logo.svg';\nimport { BoxToken } from '../../../redux/modules/Cabinet/selectors';\nimport {\n createCustomDocument,\n updateCustomDocument,\n} from '../../../redux/modules/Transaction/operations';\nimport {\n MyTemplatesWithHooks,\n isFetchingWithHooks,\n} from '../../../redux/modules/Transaction/selectors';\nimport { setNotice } from '../../../redux/modules/UI/actions';\nimport FeatureTypes from '../../../utils/FeatureTypes';\nimport { InputHelp, InputStyledTextField } from '../../inputs';\nimport { Select, TextField } from '..';\n\nimport './FormCustomDoc.scss';\nimport { Button } from '../../common';\n\nconst allowedExts = ['pdf', 'doc', 'docx', 'txt', 'rtf', 'odt', 'wpd'];\n\nconst FormCustomDoc = ({\n customDoc,\n customDocIndex,\n field: { name, value },\n form: { errors, setFieldValue, status, touched, values },\n questionHelp,\n handleFormValidation,\n isSubmitAttempted,\n params,\n label,\n sublabel,\n}) => {\n const dispatch = useDispatch();\n\n const { account_task_id, custom_document, task_template_id } = customDoc;\n\n const boxToken = useSelector(BoxToken);\n const myTemplates = useSelector(MyTemplatesWithHooks);\n const isFetching = useSelector(isFetchingWithHooks);\n\n const [isPreviewShowing, setPreviewShowing] = useState(false);\n const [selectedDocId, setSelectedDocId] = useState('');\n\n const [isCustomDocShowing, setCustomDocShowing] = useState(!isEmpty(custom_document));\n const [selectedFolderId, setSelectedFolderId] = useState('');\n\n const [isEditingDocName, setEditingDocName] = useState(false);\n const [customDocName, setCustomDocName] = useState(\n (!isEmpty(custom_document) && custom_document.filename) || '',\n );\n const [updatedDocName, setUpdatedDocName] = useState('');\n\n const pickerRef = useCallback(node => {\n if (node !== null) {\n node.scrollIntoView();\n }\n }, []);\n\n // useEffect(() => {\n // addLocaleData(enLocaleData);\n // }, [dispatch]);\n\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n const error = apiError || (isTouched && get(errors, name, null));\n\n return (\n \n {!isCustomDocShowing && (\n <>\n \n {!selectedFolderId && (\n ({ label: e.folder_name, value: e.id }))}\n handleFormBlur={e => {\n setSelectedFolderId(e.target.value);\n }}\n isRequired\n />\n )}\n {boxToken && selectedFolderId && !isPreviewShowing && (\n <>\n
    \n {\n document.querySelector('.bcu .bcu-footer').scrollIntoView();\n if (!allowedExts.includes(e[0].name.split('.').reverse()[0])) {\n dispatch(\n setNotice({\n type: 'error',\n message: `Unable to upload file type. Please choose one of the following types: ${allowedExts.join(\n ', ',\n )}`,\n }),\n );\n setTimeout(() =>\n document.querySelector('.bcu .bcu-item-action button').click(),\n );\n }\n },\n onUpload: e => {\n setSelectedDocId(e.id);\n setPreviewShowing(true);\n },\n }}\n maxSelectable={1}\n onChoose={e => {\n setSelectedDocId(e[0].id);\n setPreviewShowing(true);\n }}\n // language=\"en-US\"\n messages={messages}\n />\n
    \n

    \n {' '}\n Custom Documents only work with certain extensions(\n {allowedExts.join(', ')})\n

    \n setSelectedFolderId('')}\n >\n Select Different Folder\n \n \n )}\n {isPreviewShowing && (\n <>\n
    \n {\n setPreviewShowing(false);\n setSelectedDocId('');\n }}\n />\n
    \n

    \n {' '}\n If you want to use a customized version of this document, go ahead and\n download, edit, & then go back to your template folder to upload your\n edited document.\n

    \n
    \n {\n setPreviewShowing(false);\n setSelectedDocId('');\n }}\n >\n Choose Different Document\n \n {\n dispatch(\n createCustomDocument(\n {\n file_id: selectedDocId,\n account_task_id,\n task_template_id,\n },\n params.transactionId,\n ),\n ).then(payload => {\n setCustomDocShowing(true);\n setSelectedDocId('');\n setPreviewShowing(false);\n setCustomDocName(\n payload.custom_documents[0].custom_document.filename,\n );\n if (isSubmitAttempted) {\n handleFormValidation();\n }\n });\n }}\n >\n Select Document\n \n
    \n \n )}\n \n )}\n {isCustomDocShowing && (\n <>\n
    \n

    \n Document Name: \n {!isEditingDocName && (\n <>\n {customDocName}\n {custom_document.tokens.length > 0 && (\n {\n setUpdatedDocName(customDocName);\n setEditingDocName(true);\n }}\n icon={['fal', 'edit']}\n />\n )}\n \n )}\n {isEditingDocName && (\n setUpdatedDocName(e.target.value)}\n onBlur={e => {\n const {\n target: { value },\n } = e;\n if (value !== custom_document.filename && value !== '') {\n dispatch(\n updateCustomDocument(\n {\n ...custom_document,\n filename: value,\n },\n customDocIndex,\n params.transactionId,\n ),\n ).then(payload => {\n setCustomDocName(updatedDocName);\n setEditingDocName(false);\n });\n }\n }}\n />\n )}\n

    \n
    \n {custom_document.tokens.length === 0 && (\n <>\n

    Document Tokens:

    \n

    \n \n We could not find any tokens for us to use in your Custom Document. Please\n View{' '}\n \n Custom Document Guidelines\n {' '}\n on how to set up a Custom Document.\n

    \n \n )}\n {custom_document.tokens.length > 0 && (\n <>\n

    \n Document Tokens:\n {isEmpty(custom_document.notes) && (\n *\n )}\n

    \n {custom_document.tokens.map((token, index) => {\n const noteIndex = get(custom_document, 'notes', []).findIndex(\n note => note.token === token,\n );\n let note = {};\n if (noteIndex !== -1) {\n note = custom_document.notes[noteIndex];\n }\n return (\n \n

    \n Token #{index + 1}: \n {token}\n {noteIndex !== -1 && *}\n

    \n {!isEmpty(note) && (\n

    \n \n *{note.level}- {note.message}\n \n

    \n )}\n
    \n );\n })}\n {isEmpty(custom_document.notes) && (\n

    \n \n * If these look\n incorrect, please view our{' '}\n \n Custom Document Guidelines\n {' '}\n about correctly setting up tokens.\n \n

    \n )}\n \n )}\n {get(custom_document, 'notes', []).findIndex(e => !e.token) !== -1 && (\n <>\n

    Other Notes:

    \n {custom_document.notes.map(\n (e, ind) =>\n !e.token && (\n

    \n - {e.message}\n

    \n ),\n )}\n \n )}\n {!custom_document.valid && custom_document.tokens.length > 0 && (\n

    \n \n This Document is not valid. Please View{' '}\n \n Custom Document Guidelines\n {' '}\n on how to set up a Custom Document.\n

    \n )}\n {!!custom_document.valid && Object.keys(custom_document.fields).length > 0 && (\n <>\n

    \n \n Need input for {Object.keys(custom_document.fields).length} Field(s)\n

    \n {Object.entries(custom_document.fields).map(\n ([fieldKey, fieldVal], index) => {\n return (\n {\n let updatedFields = {\n ...custom_document.fields,\n [fieldKey]: { role: fieldVal.role, value: e.target.value },\n };\n\n dispatch(\n updateCustomDocument(\n {\n ...custom_document,\n fields: updatedFields,\n },\n customDocIndex,\n params.transactionId,\n ),\n ).then(e => {\n if (isSubmitAttempted) {\n handleFormValidation();\n }\n });\n }}\n label={startCase(fieldKey)}\n name={`${name}.fields.${fieldKey}`}\n params={params}\n isRequired\n validate={get(\n FeatureTypes,\n `${fieldKey}.validate`,\n FeatureTypes.name.validate,\n )}\n />\n );\n },\n )}\n \n )}\n {!!custom_document.valid && custom_document.recipients.length > 0 && (\n <>\n

    \n \n Need info about {custom_document.recipients.length} Recipient(s)\n

    \n {custom_document.recipients.map((recipient, index) =>\n Object.entries(recipient).map(([recipientKey, recipientVal], ind) => {\n if (recipientKey === 'role') {\n return (\n \n

    \n Recipient #{index + 1}: {recipientVal}\n

    \n
    \n );\n }\n return (\n {\n let updatedRecipients = custom_document.recipients\n .slice()\n .map((individual, recipientIndex) => {\n let updatedIndividual = individual;\n if (recipientIndex === index) {\n updatedIndividual[recipientKey] = e.target.value;\n }\n return updatedIndividual;\n });\n\n dispatch(\n updateCustomDocument(\n {\n ...custom_document,\n recipients: [...updatedRecipients],\n },\n customDocIndex,\n params.transactionId,\n ),\n ).then(e => {\n if (isSubmitAttempted) {\n handleFormValidation();\n }\n });\n }}\n label={startCase(recipientKey)}\n name={`${name}.recipients[${index}].${recipientKey}`}\n params={params}\n isRequired\n validate={FeatureTypes[recipientKey].validate}\n />\n );\n }),\n )}\n \n )}\n setCustomDocShowing(false)}\n >\n Select Different Document\n \n \n )}\n {/* */}\n {/* */}\n \n );\n};\n\nexport default withRouter(FormCustomDoc);\n","import React from 'react';\nimport { useHistory, withRouter } from 'react-router-dom';\n\nimport classnames from 'classnames';\nimport get from 'lodash-es/get';\n\nimport FileUploader from '../../FileUploader';\nimport { InputFeedback, InputHelp, InputSublabel } from '../../inputs';\nimport './FormFileUploader.scss';\n\nconst bem = elementName => `form-file-uploader${elementName ? '__' + elementName : ''}`;\n\nconst FormFileUploader = ({\n accountId,\n feature_type_id,\n field: { name, value },\n filename,\n form: { errors, setFieldValue, status, touched, values },\n handleFormBlur = () => {},\n isDisabled,\n isFixed,\n isLocked,\n isOutsideForm,\n isRequired,\n label,\n multiEntry,\n params: { access_code, companyId, transactionId } = {},\n path,\n questionHelp,\n reports_feature_type_id,\n resource_id,\n resource_name,\n resourceTypeName,\n roomId,\n sublabel,\n tags,\n}) => {\n const history = useHistory();\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n let error = apiError || (isTouched && get(errors, name, null));\n if (\n feature_type_id === 1213 &&\n ((values['Investor (Full Legal Name)'] || [])[0]?.resource ===\n 'New Investor (Full Legal Name)' ||\n (values['Investor'] || [])[0]?.resource === 'New Investor')\n ) {\n isDisabled = true;\n sublabel = '';\n error = 'Please update the \"Investor\" input before uploading.';\n } else if (\n (feature_type_id === 1214 || feature_type_id === 1215) &&\n (values['Investor Signatory (Full Legal Name)'] || [])[0]?.resource ===\n 'New Investor Signatory (Full Legal Name)'\n ) {\n isDisabled = true;\n sublabel = '';\n error =\n 'Please update the \"Investor Signatory (Full Legal Name)\" input before uploading.';\n }\n return (\n \n \n {/* {isLocked && (\n

    {!!value ? 'File saved' : 'File not saved'}

    \n )} */}\n {\n handleFormBlur({ target: { value } });\n setFieldValue(name, value);\n }}\n path={path}\n push={history.push}\n reports_feature_type_id={reports_feature_type_id}\n resource_id={resource_id}\n resource_name={resource_name}\n roomId={roomId}\n tags={tags}\n />\n \n \n \n );\n};\n\nexport default withRouter(FormFileUploader);\n","import React from 'react';\n\nimport get from 'lodash-es/get';\n\nimport { InputPhoneNumber } from '../../inputs';\n\nimport './PhoneNumber.scss';\n\nconst PhoneNumber = ({\n field: { name, onBlur, value },\n form: { errors, setFieldError, setFieldTouched, setFieldValue, status, touched },\n handleFormBlur = () => {},\n isLabel,\n myType,\n question,\n setLabel,\n isRequired,\n savedValue,\n ...props // everything that we should pass goes through here classnames etc\n}) => {\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n const error = apiError || (isTouched && get(errors, name, null));\n\n return (\n {\n if (isTouched) {\n if (!inputVal && !isRequired) {\n return true;\n } else if (!inputVal && isRequired) {\n return false;\n } else if (\n country.dialCode === '1' &&\n inputVal.length > 0 &&\n inputVal.length < 11\n ) {\n return false;\n } else if (inputVal.match(/12345/)) {\n return false;\n } else if (inputVal.match(/1234/)) {\n return false;\n }\n return true;\n }\n return true;\n }}\n isRequired={isRequired}\n name={name}\n onBlur={(event, country) => {\n setFieldTouched(name);\n const passedVal = event.target.value;\n if (!passedVal && !isRequired) {\n } else if (!passedVal && isRequired) {\n setFieldError(name, 'Phone number required');\n } else if (\n country.dialCode === '1' &&\n passedVal.length > 0 &&\n passedVal.length < 17\n ) {\n setFieldError(name, 'Full phone number required.');\n } else if (passedVal.match(/12345/)) {\n setFieldError(name, 'Invalid value: ' + value + ', ' + country.name);\n } else if (passedVal.match(/1234/)) {\n setFieldError(name, 'Invalid value');\n }\n handleFormBlur(event);\n }}\n onChange={(updatedValue, isBlur) => {\n setFieldValue(name, updatedValue);\n if (isBlur) {\n const updatedSavedVal = savedValue || '';\n setFieldTouched(name);\n if (!updatedValue && isRequired) {\n setFieldError(name, 'Phone number required.');\n }\n if (updatedValue !== updatedSavedVal) {\n handleFormBlur({ target: { value: updatedValue } });\n }\n }\n }}\n value={value}\n {...props}\n />\n );\n};\n\nexport default PhoneNumber;\n","import React from 'react';\n\nimport './ResourceList.scss';\nimport DataTable from '../../DataTable/DataTable';\nimport { InputHelp } from '../../inputs';\nimport { useSelector } from 'react-redux';\nimport { AccountInfo } from '../../../redux/modules/Formation/selectors';\n\nconst ResourceList = props => {\n let {\n featureProps: { json, question_text, question_label, resourceListData },\n params,\n questionHelp,\n } = props;\n\n const { id } = useSelector(AccountInfo);\n\n const resourcesArr = Object.entries(resourceListData);\n if (json.resource_type_id === 2 && resourcesArr.length > 1) {\n let companyIndex = resourcesArr.findIndex(\n ([key, val]) => (val[0]?.account_id || '') === id,\n );\n if (companyIndex === -1) {\n companyIndex = 0;\n } else {\n resourceListData = {\n [resourcesArr[companyIndex][0]]: resourcesArr[companyIndex][1],\n };\n }\n }\n\n return (\n
    \n

    \n {question_text || question_label}\n {questionHelp && }\n

    \n \n
    \n );\n};\n\nexport default ResourceList;\n","import React, { Component, createRef } from 'react';\nimport { components } from 'react-select';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport get from 'lodash-es/get';\nimport isEmpty from 'lodash-es/isEmpty';\nimport toLower from 'lodash-es/toLower';\nimport trim from 'lodash-es/trim';\n\nimport { InputSelect, InputStyledTextField } from '../../inputs';\nimport { Button, DropdownAction } from '../../common';\n\nimport './ResourceSelect.scss';\n\nclass ResourceSelect extends Component {\n constructor(props) {\n super(props);\n this.textInput = createRef();\n this.state = {\n initVal: this.props.field.value,\n changeOnBlur: false,\n isOpen: false,\n isEditable: false,\n };\n }\n\n componentDidUpdate(prevProps, prevState) {\n const {\n field: { name, value: fieldValue },\n form: { errors, setFieldValue, setFieldError, touched, submitCount },\n isLabel,\n isNewResource,\n handleResourceName,\n options,\n setLabel,\n } = this.props;\n const { changeOnBlur, inputValue } = this.state;\n const isTouched = get(touched, name, false);\n const error = isTouched && get(errors, name, null);\n if (\n !error &&\n !!fieldValue &&\n (fieldValue?.value || fieldValue).includes('New Invest') &&\n submitCount > 0\n ) {\n setFieldError(name, 'Please replace input with full legal name.');\n }\n if (isNewResource && changeOnBlur && !isEmpty(inputValue)) {\n const optionIndex = options.findIndex(\n option => toLower(option.label) === toLower(inputValue),\n );\n let value = this.createOption(inputValue);\n if (optionIndex !== -1) {\n value = options[optionIndex];\n }\n handleResourceName(value);\n setFieldValue(name, value);\n if (isLabel) {\n setLabel(inputValue);\n }\n this.setState({ changeOnBlur: false });\n } else if (changeOnBlur) {\n this.setState({ changeOnBlur: false });\n }\n }\n\n onToggleClick = e => {\n e.preventDefault();\n this.setState({ isOpen: !this.state.isOpen });\n };\n\n createOption = (label, __isNew__) => ({\n label,\n value: label.toLowerCase(),\n __isNew__,\n });\n\n Option = props => {\n return (\n \n \n {!!props.data.is_draft && (\n

    Created in Shared Form

    \n )}\n {!props.data.finalized && !props.data.__isNew__ && !props.data.is_state && (\n \n this.props.handleDelete(props.data.resourceId, props.data.label)\n }\n buttonType=\"icon\"\n isWarning\n size=\"sm\"\n tooltip=\"Remove from List\"\n tooltipAlign=\"right\"\n type=\"button\"\n >\n \n \n )}\n \n );\n };\n\n render() {\n const {\n field: { name, value: fieldValue, onChange, onBlur },\n form: { errors, setFieldTouched, setFieldValue, status, touched },\n handleFormBlur,\n handleRemoveResource,\n handleResourceName,\n isCompany,\n isDisabled,\n isDraftResource,\n isLabel,\n isNewResource,\n isOutsideForm,\n multi,\n multiEntry,\n options,\n resourceTypeName,\n resourceTypeCustomLabel,\n setLabel,\n isFixed,\n ...props\n } = this.props; // everything that we should pass goes through here classnames etc\n const isMulti = !!multiEntry || multi;\n\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n const error = apiError || (isTouched && get(errors, name, null));\n\n let updatedOptions = options;\n if (!Array.isArray(options) && !options[0].value) {\n updatedOptions = options.split(',').map(resource => ({\n value: resource,\n label: resource,\n }));\n }\n\n let updatedVal = fieldValue;\n if (updatedVal && typeof updatedVal === 'string') {\n if (fieldValue.indexOf('|')) {\n updatedVal = updatedVal.split('|').map(e => this.createOption(e));\n } else {\n updatedVal = this.createOption(fieldValue);\n }\n } else if (Array.isArray(updatedVal) && typeof updatedVal[0] === 'string') {\n updatedVal = updatedVal.map(e => this.createOption(e));\n setFieldValue(name, updatedVal);\n }\n\n const isInputFixed = isFixed || (!isDraftResource && !this.state.isEditable);\n\n return (\n <>\n {!isNewResource && (\n
    \n {\n const { target: { value } = {} } = e;\n if (isEmpty(trim(value))) {\n setFieldValue(name, this.state.initVal);\n this.setState({ isEditable: false });\n return;\n }\n if (isLabel) {\n setLabel(value);\n }\n onBlur(e);\n // second param used as 'isEditingName' in AddResourceModal.js\n handleResourceName(value, true);\n this.setState({\n isEditable: false,\n initVal: value,\n });\n }}\n onChange={onChange}\n value={get(fieldValue, 'value', fieldValue)}\n {...props}\n />\n {!isFixed && !isDisabled && !isDraftResource && (\n \n \n this.setState({ isEditable: true }, () =>\n this.textInput.current.focus(),\n )\n }\n >\n Edit Saved Name\n \n \n Remove {resourceTypeCustomLabel}\n \n \n )}\n
    \n )}\n {isNewResource && (\n {\n setFieldTouched(name, true);\n }}\n onChange={(value, { action }) => {\n if (action === 'clear' && isEmpty(value) && isEmpty(updatedVal)) {\n return;\n }\n setFieldValue(name, value);\n return handleResourceName(value);\n }}\n onInputChange={(inputValue, { action }) => {\n if (action === 'input-blur') {\n this.setState({ changeOnBlur: true });\n } else if (action !== 'menu-close') {\n this.setState({ inputValue });\n }\n }}\n value={updatedVal}\n options={updatedOptions}\n {...props}\n />\n )}\n \n );\n }\n}\n\nResourceSelect.defaultProps = {\n handleChangeResource: () => {},\n handleFormBlur: () => {},\n handleResourceName: () => {},\n options: [],\n};\n\nexport default ResourceSelect;\n","import React, { Component } from 'react';\n\nimport get from 'lodash-es/get';\nimport isEmpty from 'lodash-es/isEmpty';\nimport startCase from 'lodash-es/startCase';\nimport toLower from 'lodash-es/toLower';\n\nimport FeatureTypes from '../../../utils/FeatureTypes';\nimport { InputSelect } from '../../inputs';\n\nimport './Select.scss';\n\nclass Select extends Component {\n constructor(props) {\n super(props);\n this.state = {\n inputValue: '',\n options: [],\n };\n }\n\n componentDidMount() {\n let { options } = this.props;\n if (!Array.isArray(options) && !options[0].value) {\n options = options.split(',').map(resource => ({\n value: resource,\n label: resource,\n }));\n }\n this.setState({ options });\n }\n\n componentDidUpdate(prevProps, prevState) {\n let { changeOnBlur, inputValue, onChangeHit } = this.state;\n let { options } = this.props;\n if (prevProps.options && prevProps.options !== options) {\n if (!Array.isArray(options) && !options[0].value) {\n options = options.split(',').map(resource => ({\n value: resource,\n label: resource,\n }));\n }\n this.setState({ options });\n }\n if (changeOnBlur && onChangeHit) {\n this.setState({ changeOnBlur: false, onChangeHit: false, inputValue: '' });\n } else if (changeOnBlur) {\n const {\n field: { name, value },\n form: { setFieldValue },\n handleFormBlur,\n isCreatable,\n isLabel,\n multi,\n multiEntry,\n setLabel,\n } = this.props;\n const { options } = this.state;\n const isMulti = multi || multiEntry;\n let updatedVal = value;\n const optionsIndex = options.findIndex(\n e => toLower(e.value + '') === toLower(inputValue + ''),\n );\n if (optionsIndex !== -1) {\n updatedVal = options[optionsIndex].value;\n } else {\n updatedVal = startCase(inputValue);\n }\n if (isMulti) {\n if (value) {\n updatedVal = value + (inputValue ? `|${inputValue}` : '');\n } else {\n updatedVal = inputValue;\n }\n } else if (inputValue) {\n updatedVal = inputValue;\n } else {\n updatedVal = '';\n }\n let formattedVal = {\n target: { value: updatedVal },\n };\n if (!isCreatable && optionsIndex === -1) {\n this.setState({\n changeOnBlur: false,\n inputValue: '',\n });\n return;\n }\n setFieldValue(name, updatedVal);\n handleFormBlur(formattedVal);\n if (isLabel) {\n setLabel(inputValue);\n }\n this.setState({\n changeOnBlur: false,\n inputValue: '',\n });\n }\n }\n\n createOption = label => ({\n label,\n value: label,\n });\n\n render() {\n const {\n feature_type,\n field: { name, value: fieldValue },\n form: { errors, setFieldTouched, setFieldValue, status, touched },\n handleFormBlur,\n handleResourceName,\n isCompany,\n isCounselOptions,\n isDetailedOptions,\n isLabel,\n isNewResource,\n isValidatingOnBlur,\n isResource,\n multi,\n multiEntry,\n resourceTypeName,\n setLabel,\n isFixed,\n ...props\n } = this.props; // everything that we should pass goes through here classnames etc\n const isMulti = !!multiEntry || multi;\n const { options } = this.state;\n\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n let error = apiError || (isTouched && get(errors, name, null));\n let updatedVal = fieldValue;\n if (\n updatedVal &&\n (typeof updatedVal === 'string' || typeof updatedVal === 'number')\n ) {\n const optionsIndex = options.findIndex(e => e.value == fieldValue); // eslint-disable-line eqeqeq\n if (typeof updatedVal === 'string' && fieldValue.indexOf('|') !== -1) {\n updatedVal = updatedVal.split('|').map(e => {\n if (isDetailedOptions) {\n const currentOptionsIndex = options.findIndex(option => option.value === e);\n return options[currentOptionsIndex];\n }\n return this.createOption(e);\n });\n } else if (optionsIndex !== -1) {\n updatedVal = options[optionsIndex];\n } else {\n updatedVal = this.createOption(fieldValue);\n }\n }\n if (props.isRequired && error && !apiError) {\n error = FeatureTypes[feature_type].validate(updatedVal);\n }\n return (\n {\n setFieldTouched(name, true, isValidatingOnBlur);\n }}\n onChange={(value, { action }) => {\n if (action === 'clear' && isEmpty(value) && isEmpty(updatedVal)) {\n return;\n }\n let newValue = value;\n if (value && isMulti) {\n newValue = value.map(val => val.value).join('|');\n } else if (value && !isCounselOptions) {\n newValue = value.value;\n }\n if (!value) {\n newValue = '';\n }\n if (isMulti) {\n setFieldValue(name, newValue);\n } else {\n setFieldValue(name, value);\n }\n this.setState({ inputValue: newValue, onChangeHit: true });\n // if (action !== 'pop-value' && action !== 'remove-value') {\n // this.setState({ onChangeHit: true });\n // }\n let formattedVal = {\n target: { value: newValue },\n };\n handleFormBlur(formattedVal);\n if (isLabel && value) {\n setLabel(newValue);\n }\n }}\n onInputChange={(inputValue, { action }) => {\n if (action === 'input-blur' && this.state.inputValue) {\n this.setState({ changeOnBlur: true });\n } else if (action !== 'menu-close' && inputValue) {\n this.setState({ inputValue });\n }\n }}\n value={updatedVal}\n {...props}\n options={options} // placed after props to override 'options' prop\n />\n );\n }\n}\n\nSelect.defaultProps = {\n handleFormBlur: () => {},\n options: [],\n isCreatable: false,\n isValidatingOnBlur: true,\n};\n\nexport default Select;\n","import React from 'react';\n\nimport get from 'lodash-es/get';\n\nimport InputStyledCheckbox from '../../common/InputStyledCheckbox';\n\nimport './StyledCheckbox.scss';\n\nconst StyledCheckbox = ({\n accountId,\n isDetailedOptions,\n isCreatable,\n isOutsideForm,\n featureProps,\n feature_type_id,\n field: { name, value },\n flipLabel,\n form: { errors, setFieldValue, status, touched },\n handleDelete,\n handleFormBlur,\n handleResourceFormBlur,\n handleResourceName,\n handleRemoveResource,\n isDisabled,\n isLabel,\n isLocked,\n isModal,\n isNewResource,\n isPairedColumn,\n markdown,\n multiEntry,\n reports_feature_type_id,\n resetValue,\n resource_id,\n resourceTypeName,\n setLabel,\n taskId,\n savedValue,\n roomId,\n ...props // everything that we should pass goes through here classnames etc\n}) => {\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n const error = apiError || (isTouched && get(errors, name, null));\n if (value === 'Yes') {\n value = true;\n } else if (value === 'No' || value === 'false' || value === '0') {\n value = false;\n }\n\n return (\n {\n if (\n e.target.value === 'true' ||\n e.target.value === '1' ||\n e.target.value === 1 ||\n (typeof e.target.value === 'boolean' && !!e.target.value)\n ) {\n // weird timing here, makes it the opposite\n setFieldValue(name, '0');\n handleFormBlur({ target: { value: false } });\n } else {\n setFieldValue(name, '1');\n handleFormBlur({ target: { value: true } });\n }\n }}\n error={error}\n checked={!!value}\n labelStyle=\"form-styled-checkbox__label\"\n parentStyle={isPairedColumn && 'styled-checkbox__paired-column'}\n value={value}\n name={name}\n {...props}\n />\n );\n};\n\nStyledCheckbox.defaultProps = {\n handleFormBlur: () => {},\n};\n\nexport default StyledCheckbox;\n","import React, { Component } from 'react';\n\n// import { Field } from 'formik';\nimport isEqual from 'lodash-es/isEqual';\n\nimport './TemplateLink.scss';\nimport { InputHelp } from '../../inputs';\n\n// import get from 'lodash-es/get';\n\n// import { Calendly } from '../../common';\n// import { Select } from '../';\n\n// import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nclass TemplateLink extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isUpdating: false,\n };\n }\n\n componentDidUpdate(prevProps) {\n if (!isEqual(this.props.field.value, prevProps.field.value)) {\n this.setState({ isUpdating: true });\n setTimeout(() => this.setState({ isUpdating: false }), 500);\n }\n }\n render() {\n const { filename, path, questionHelp } = this.props;\n return (\n
    \n \n Download Template\n
    \n );\n }\n}\n\nexport default TemplateLink;\n","import React from 'react';\n\nimport get from 'lodash-es/get';\nimport omit from 'lodash-es/omit';\n\nimport { InputTextarea } from '../../inputs';\n\nconst Textarea = ({\n field, //: { name, value, onChange, onBlur },\n form: { errors, status, touched, values },\n handleFormBlur = () => {},\n isLabel,\n setLabel,\n meta,\n ...props // everything that we should pass goes through here classnames etc\n}) => {\n const { name } = field;\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n const error = apiError || (isTouched && get(errors, name, null));\n return (\n {\n const {\n target: { value },\n } = e;\n if (isLabel) {\n setLabel(value);\n }\n field.onBlur(e);\n handleFormBlur(e);\n }}\n className=\"form__textarea\"\n error={error}\n {...omit(field, 'onBlur')}\n {...props}\n />\n );\n};\n\nexport default Textarea;\n","import isEmpty from 'lodash-es/isEmpty';\n\nconst checkValue = (str, max) => {\n // eslint-disable-next-line\n if (str && (str.charAt(0) !== '0' || str == '00')) {\n // eslint-disable-next-line\n let num = parseInt(str);\n if (isNaN(num) || num <= 0 || num > max) num = 1;\n str = // eslint-disable-next-line\n num > parseInt(max.toString().charAt(0)) && num.toString().length == 1\n ? '0' + num\n : num.toString();\n }\n return str;\n};\n\nconst TransformDict = {\n currency: str => {\n let semiParsedNum = str.replace(/^[$|0-9][0-9|.]/g, '');\n // eslint-disable-next-line\n let parsedNum = str.replace(/[^0-9|\\.]/g, '');\n let numWithCommas = parsedNum.split('.');\n if (numWithCommas.length > 1 && numWithCommas[1].length > 2) {\n parsedNum = +parsedNum;\n parsedNum = parsedNum.toFixed(2);\n parsedNum = '$' + parsedNum.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n return parsedNum;\n }\n numWithCommas[0] = numWithCommas[0].toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n numWithCommas = numWithCommas.join('.');\n if (isEmpty(numWithCommas) && semiParsedNum) {\n return '$';\n }\n if (isEmpty(numWithCommas)) {\n return '';\n }\n return '$' + numWithCommas;\n },\n date: (str, event, seperator = '/') => {\n // Strip all non numbers\n let displayVal = str.replace(/\\D/g, '');\n let month = checkValue(displayVal.slice(0, 2), 12);\n let day = checkValue(displayVal.slice(2, 4), 31);\n let year = displayVal.slice(4, 8);\n\n displayVal = month + day + year;\n\n // Inject dashes\n if (event === 'deleteContentBackward') {\n if (displayVal.length >= 3) {\n displayVal = displayVal.slice(0, 2) + seperator + displayVal.slice(2);\n }\n\n if (displayVal.length >= 6) {\n displayVal = displayVal.slice(0, 5) + seperator + displayVal.slice(5);\n }\n return displayVal;\n } else {\n if (displayVal.length >= 2) {\n displayVal = displayVal.slice(0, 2) + seperator + displayVal.slice(2);\n }\n\n if (displayVal.length >= 5) {\n displayVal = displayVal.slice(0, 5) + seperator + displayVal.slice(5);\n }\n return displayVal;\n }\n },\n float: str => {\n // eslint-disable-next-line\n let parsedNum = str.replace(/[^0-9|\\.]/g, '');\n let numWithCommas = parsedNum.split('.');\n numWithCommas[0] = numWithCommas[0].toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n numWithCommas = numWithCommas.join('.');\n return numWithCommas;\n },\n float_currency: str => {\n let semiParsedNum = str.replace(/^[$|0-9][0-9|.]/g, '');\n // eslint-disable-next-line\n let parsedNum = str.replace(/[^0-9|\\.]/g, '');\n let numWithCommas = parsedNum.split('.');\n numWithCommas[0] = numWithCommas[0].toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n numWithCommas = numWithCommas.join('.');\n if (isEmpty(numWithCommas) && semiParsedNum) {\n return '$';\n }\n if (isEmpty(numWithCommas)) {\n return '';\n }\n return '$' + numWithCommas;\n },\n integer: str => {\n let parsedNum = str.replace(/[^0-9|]/g, '');\n return parsedNum.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n },\n month: (str, event) => {\n // Strip all non numbers\n let displayVal = str.replace(/\\D/g, '');\n\n const month = checkValue(str.slice(0, 2), 12);\n const year = displayVal.substring(2, 6);\n displayVal = month + year;\n displayVal = displayVal.substring(0, 6);\n\n // Inject dashes\n if (event === 'deleteContentBackward') {\n if (displayVal.length >= 3) {\n displayVal = displayVal.slice(0, 2) + '/' + displayVal.slice(2);\n }\n return displayVal;\n } else {\n if (displayVal.length >= 2) {\n displayVal = displayVal.slice(0, 2) + '/' + displayVal.slice(2);\n }\n return displayVal;\n }\n },\n numerical: str => {\n let parsedNum = str.replace(/[^0-9|]/g, '');\n return parsedNum.toString();\n },\n percent: str => {\n // eslint-disable-next-line\n // let parsedNum = str.replace(/^-?\\d[.]?\\d$/g, '');\n let parsedNum = str.replace(/[^-|0-9|.]/g, '');\n let numWithCommas = parsedNum.split('.');\n numWithCommas[0] = numWithCommas[0].toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n numWithCommas = numWithCommas.join('.');\n return numWithCommas;\n },\n phone: (str, event) => {\n // Strip all non numbers\n let displayVal = str.replace(/\\D/g, '');\n\n displayVal = displayVal.substring(0, 10);\n\n // Inject dashes\n if (event === 'deleteContentBackward') {\n if (displayVal.length >= 4) {\n displayVal = '(' + displayVal.slice(0, 3) + ') ' + displayVal.slice(3);\n }\n\n if (displayVal.length >= 10) {\n displayVal = displayVal.slice(0, 9) + '-' + displayVal.slice(9);\n }\n return displayVal;\n } else {\n if (displayVal.length >= 3) {\n displayVal = '(' + displayVal.slice(0, 3) + ') ' + displayVal.slice(3);\n }\n\n if (displayVal.length >= 9) {\n displayVal = displayVal.slice(0, 9) + '-' + displayVal.slice(9);\n }\n return displayVal;\n }\n },\n ssc: (str, event) => {\n // Strip all non numbers\n let displayVal = str.replace(/\\D/g, '');\n displayVal = displayVal.substring(0, 9);\n // Inject dashes\n if (event === 'deleteContentBackward') {\n // On backspace\n if (displayVal.length >= 4) {\n displayVal = displayVal.slice(0, 3) + '-' + displayVal.slice(3);\n }\n\n if (displayVal.length >= 7) {\n displayVal = displayVal.slice(0, 6) + '-' + displayVal.slice(6);\n }\n return displayVal;\n } else {\n if (displayVal.length >= 3) {\n displayVal = displayVal.slice(0, 3) + '-' + displayVal.slice(3);\n }\n\n if (displayVal.length >= 6) {\n displayVal = displayVal.slice(0, 6) + '-' + displayVal.slice(6);\n }\n // TODO: Hide Social Security Number?\n // Replace all numbers with astericks\n displayVal = displayVal.replace(/[0-9]/g, '*');\n return displayVal;\n }\n },\n string: str => str,\n zip: (str, event) => str,\n // zip: (str, event) => {\n // // Strip all non numbers\n // let displayVal = str.replace(/\\D/g, '');\n // displayVal = displayVal.substring(0, 5);\n // return displayVal;\n // },\n};\n\nexport default TransformDict;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport get from 'lodash-es/get';\n\nimport TransformDict from '../../../utils/TransformDict';\nimport { InputSelect, InputStyledTextField } from '../../inputs';\n\nimport './TextField.scss';\n\nconst SalaryTypesOptions = [\n { label: 'Per Year', value: 'Per Year' },\n { label: 'Per Month', value: 'Per Month' },\n { label: 'Per Hour', value: 'Per Hour' },\n];\n\nclass TextField extends Component {\n constructor(props) {\n super(props);\n this.state = {\n salaryType: SalaryTypesOptions[0],\n };\n }\n\n componentDidMount() {\n const {\n field: { value },\n } = this.props;\n let updatedValue = value?.value || value;\n if (updatedValue) {\n const selectFieldVal = updatedValue.substring(updatedValue.indexOf(' ') + 1);\n this.setState({\n salaryType: { label: selectFieldVal, value: selectFieldVal },\n });\n }\n }\n\n render() {\n const {\n field: { name, onBlur, value },\n form: { errors, setFieldValue, setFieldTouched, status, touched },\n handleFormBlur,\n isLabel,\n myType,\n question,\n setLabel,\n seperator = '/',\n isRequired,\n ...props // everything that we should pass goes through here classnames etc\n } = this.props;\n\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n const error = apiError || (isTouched && get(errors, name, null));\n let updatedValue = value?.value || value;\n\n if (myType === 'salary') {\n const { salaryType } = this.state;\n let textFieldVal = '';\n let selectFieldVal = salaryType.label;\n if (updatedValue) {\n textFieldVal = updatedValue.substring(0, updatedValue.indexOf(' '));\n }\n return (\n
    \n {\n const updatedVal = TransformDict.currency(\n target.value,\n nativeEvent.inputType,\n );\n if (updatedVal) {\n setFieldValue(name, updatedVal + ' ' + selectFieldVal);\n } else {\n setFieldValue(name, '');\n }\n }}\n onBlur={e => {\n const { nativeEvent, target } = e;\n const updatedVal = TransformDict.currency(\n target.value,\n nativeEvent.inputType,\n );\n\n handleFormBlur({\n target: {\n value: `${updatedVal} ${selectFieldVal}`,\n },\n });\n onBlur(e);\n }}\n {...props}\n />\n setFieldTouched(name, true)}\n onChange={e => {\n this.setState({ salaryType: e });\n if (textFieldVal) {\n setFieldValue(name, textFieldVal + ' ' + e.value);\n handleFormBlur({\n target: {\n value: `${textFieldVal} ${e.value}`,\n },\n });\n }\n }}\n defaultValue={SalaryTypesOptions[0]}\n value={salaryType}\n options={SalaryTypesOptions}\n />\n
    \n );\n }\n\n return (\n {\n const { target } = e;\n if (isLabel) {\n setLabel(target.value);\n }\n onBlur(e);\n handleFormBlur(e);\n }}\n onChange={e =>\n setFieldValue(\n name,\n TransformDict[myType](e.target.value, e.nativeEvent.inputType, seperator),\n )\n }\n value={updatedValue}\n {...props}\n />\n );\n }\n}\n\nTextField.propTypes = {\n myType: PropTypes.oneOf([\n 'currency',\n 'date',\n 'float',\n 'float_currency',\n 'integer',\n 'month',\n 'numerical',\n 'percent',\n 'phone',\n 'salary',\n 'social_security',\n 'string',\n 'zip',\n ]),\n};\n\nTextField.defaultProps = {\n myType: 'string',\n handleFormBlur: () => {},\n};\n\nexport default TextField;\n","import React, { Component } from 'react';\n\nimport get from 'lodash-es/get';\nimport pick from 'lodash-es/pick';\n\nimport { InputPassword } from '../../inputs';\n\nclass Password extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isPlainText: false,\n };\n }\n render() {\n const {\n field, //: { name, value, onChange, onBlur },\n form: { touched, errors, status },\n handleFormBlur,\n myType,\n ...props // everything that we should pass goes through here classnames etc\n } = this.props;\n const { isPlainText } = this.state;\n let { name, value } = field;\n if (value && myType === 'social_security') {\n value = value.replace(/[^0-9|\\\\*]/g, '');\n value = value.substring(0, 9);\n }\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n const error = apiError || (isTouched && get(errors, name, null));\n return (\n {\n handleFormBlur(e);\n field.onBlur(e);\n }}\n onToggle={() => {\n this.setState({ isPlainText: !isPlainText });\n }}\n {...pick(field, ['name', 'onChange'])}\n {...props}\n value={value}\n />\n );\n }\n}\n\nPassword.defaultProps = {\n handleFormBlur: () => {},\n};\n\nexport default Password;\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport get from 'lodash-es/get';\nimport isEqual from 'lodash-es/isEqual';\nimport trim from 'lodash-es/trim';\n\nimport { InputSelect, InputStyledTextField } from '../../inputs';\n\nimport './CompanyName.scss';\nimport { validateCompany } from '../../../utils/FeatureTypes';\n\nexport const suffixOptions = [\n { label: ', Inc.', value: ', Inc.', type: 'Corporation' },\n { label: ' Inc.', value: ' Inc.', type: 'Corporation' },\n { label: ', Incorporated', value: ', Incorporated', type: 'Corporation' },\n { label: ' Incorporated', value: ' Incorporated', type: 'Corporation' },\n { label: ', Co.', value: ', Co.', type: 'Corporation' },\n { label: ' Co.', value: ' Co.', type: 'Corporation' },\n { label: ', Company', value: ', Company', type: 'Corporation' },\n { label: ' Company', value: ' Company', type: 'Corporation' },\n { label: ', Corp.', value: ', Corp.', type: 'Corporation' },\n { label: ' Corp.', value: ' Corp.', type: 'Corporation' },\n { label: ', Corporation', value: ', Corporation', type: 'Corporation' },\n { label: ' Corporation', value: ' Corporation', type: 'Corporation' },\n { label: ', LLC', value: ', LLC', type: 'LLC' },\n { label: ' LLC', value: ' LLC', type: 'LLC' },\n { label: ', LP', value: ', LP', type: 'LP' },\n { label: ' LP', value: ' LP', type: 'LP' },\n { label: ', L.P.', value: ', L.P.', type: 'LP' },\n { label: ' L.P.', value: ' L.P.', type: 'LP' },\n];\n\nconst CompanyName = ({\n isEntityFormed,\n entityType,\n field: { value, name, onBlur, onChange },\n form: { errors, setFieldError, setFieldValue, setFieldTouched, status, touched },\n handleResourceName,\n isLabel,\n myType,\n question,\n questionHelp,\n setLabel,\n validateField,\n isFixed,\n isRequired,\n isWorkbench,\n ...props // everything that we should pass goes through here classnames etc\n}) => {\n const textInputRef = useRef();\n let filteredOptions = suffixOptions;\n let companyName = trim(value) || '';\n let companyType = '';\n if (!isEntityFormed && !entityType.includes('Series')) {\n if (entityType) {\n filteredOptions = suffixOptions.filter(e => e.type === entityType);\n }\n let suffixIndex = -1;\n let optionIndex = -1;\n for (let i = 0; i < suffixOptions.length; i++) {\n const tempSuffixIndex = companyName.indexOf(suffixOptions[i].value);\n if (tempSuffixIndex !== -1) {\n suffixIndex = tempSuffixIndex;\n optionIndex = i;\n break;\n }\n }\n if (suffixIndex !== -1) {\n companyName = value.substring(0, suffixIndex);\n companyType = suffixOptions[optionIndex];\n }\n }\n\n const apiError = get(status, name, false);\n const isTouched = get(touched, name, false);\n const error = apiError || (isTouched && get(errors, name, null));\n let updatedQuestionHelp = !!isFixed\n ? 'If your company name is incorrect contact the Savvi support team in the support chat or email us at support@savvi.legal'\n : questionHelp;\n\n const [companyFullName, setCompanyFullName] = useState(trim(value) || '');\n const [companyNameInput, setCompanyNameInput] = useState(companyName);\n const [companyTypeInput, setCompanyTypeInput] = useState(companyType);\n const [isEditable, setIsEditable] = useState(false);\n const [focused, setFocus] = useState(false);\n\n useEffect(() => {\n let timer;\n if (!focused && isEditable) {\n timer = setTimeout(() => setIsEditable(false), 500);\n } else {\n clearTimeout(timer);\n }\n return () => clearTimeout(timer);\n }, [isEditable, focused]);\n\n const handleValidate = useCallback(\n () => !isFixed && validateCompany(value, suffixOptions, entityType, isEntityFormed),\n [value, isFixed, entityType, isEntityFormed],\n );\n\n useEffect(() => {\n if (isTouched) {\n setFieldError(name, handleValidate());\n }\n }, [entityType, isEntityFormed, setFieldError, handleValidate, name, isTouched]);\n\n const isCompanyTypeShowing =\n isEditable && !isFixed && !isEntityFormed && !entityType.includes('Series');\n const suffixError =\n (error && companyTypeInput && 'Select different suffix') ||\n (error && !companyTypeInput && 'Select a suffix') ||\n '';\n return (\n <>\n {isCompanyTypeShowing && (\n
    \n setCompanyNameInput(e.target.value)}\n onBlur={e => {\n const updatedCompanyName = trim(e.target.value);\n const formattedVal = `${updatedCompanyName}${companyType.value || ''}`;\n if (!isEqual(updatedCompanyName, companyName)) {\n handleResourceName(formattedVal);\n }\n setFocus(false);\n setCompanyFullName(formattedVal);\n setCompanyNameInput(updatedCompanyName);\n setFieldValue(name, formattedVal);\n setFieldTouched(name, true);\n }}\n onFocus={e => setFocus(true)}\n {...props}\n questionHelp={updatedQuestionHelp}\n />\n {\n setFocus(false);\n setFieldTouched(name, true);\n }}\n onChange={e => {\n if (!isEqual(e, companyType)) {\n const formattedVal = `${companyName}${e.value}`;\n setCompanyFullName(formattedVal);\n setCompanyTypeInput(e);\n setFieldValue(name, formattedVal);\n setFieldTouched(name, true);\n handleResourceName(formattedVal);\n }\n }}\n onFocus={e => setFocus(true)}\n defaultValue={''}\n value={companyTypeInput}\n options={filteredOptions}\n />\n
    \n )}\n {!isCompanyTypeShowing && (\n {\n const updatedVal = e.target.value;\n if (trim(updatedVal) !== trim(value)) {\n if (isLabel) {\n setLabel(updatedVal);\n }\n handleResourceName(updatedVal);\n }\n let suffixIndex = -1;\n let optionIndex = -1;\n let updatedCompanyType = '';\n let updatedCompanyName = updatedVal;\n\n for (let i = 0; i < suffixOptions.length; i++) {\n const tempSuffixIndex = updatedVal.indexOf(suffixOptions[i].value);\n if (tempSuffixIndex !== -1) {\n suffixIndex = tempSuffixIndex;\n optionIndex = i;\n break;\n }\n }\n if (suffixIndex !== -1) {\n updatedCompanyName = trim(updatedVal.substring(0, suffixIndex));\n if (optionIndex !== -1) {\n updatedCompanyType = suffixOptions[optionIndex];\n }\n }\n setCompanyFullName(updatedVal);\n setCompanyNameInput(updatedCompanyName);\n setCompanyTypeInput(updatedCompanyType);\n setFieldTouched(name, true);\n onBlur(updatedVal);\n }}\n onFocus={async e => {\n e.preventDefault();\n if (!isEntityFormed && !entityType.includes('Series') && entityType) {\n await setFocus(true);\n await setIsEditable(true);\n await textInputRef.current.focus();\n } else {\n setFocus(true);\n }\n }}\n value={companyFullName}\n onChange={e => {\n const {\n target: { value },\n } = e;\n setCompanyFullName(value);\n // onChange(e);\n }}\n {...props}\n questionHelp={updatedQuestionHelp}\n />\n )}\n \n );\n};\n\nCompanyName.propTypes = {\n entityType: PropTypes.string,\n handleResourceName: PropTypes.func,\n};\n\nCompanyName.defaultProps = {\n // entityType: 'Corporation',\n handleResourceName: () => {},\n isFixed: false,\n};\n\nexport default CompanyName;\n","import { RSAA } from 'redux-api-middleware';\n\nimport { requestHeaders } from '../../utils/api';\n\nimport * as types from './types';\nimport { setBrandMeta } from './actions';\n\nexport {\n openTermsModal,\n closeTermsModal,\n openUserDropdown,\n closeUserDropdown,\n setNotice,\n clearNotice,\n} from './actions';\n\nexport const fetchBrandMeta = () => {\n const {\n FETCH_BRAND_META_REQUEST: REQUEST,\n FETCH_BRAND_META_SUCCESS: SUCCESS,\n FETCH_BRAND_META_FAILED: FAILED,\n } = types;\n\n return async (dispatch, getState) => {\n const actionResponse = await dispatch({\n [RSAA]: {\n endpoint: '/api/public/brand',\n method: 'GET',\n headers: requestHeaders(),\n types: [REQUEST, SUCCESS, FAILED],\n },\n });\n if (!actionResponse.error) {\n dispatch(setBrandMeta(actionResponse.payload));\n localStorage.setItem('brandMeta', JSON.stringify(actionResponse.payload));\n return await actionResponse.payload;\n } else {\n throw await actionResponse.payload;\n }\n };\n};\n","export { default } from './InfoSidebar';\n","import React, { Fragment, useEffect, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactMarkdown from 'react-markdown';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router';\n\nimport ContentPreview from 'box-ui-elements/es/elements/content-preview';\nimport classnames from 'classnames';\nimport { capitalize, get, isArray, isEmpty, isObject, startCase } from 'lodash-es';\n\nimport { getBoxFileInfo } from '../../redux/modules/Cabinet/operations';\nimport { BoxToken } from '../../redux/modules/Cabinet/selectors';\n\nimport './InfoSidebar.scss';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { isFetchingWithHooks } from '../../redux/modules/Transaction/selectors';\nimport { MultiToggle } from '../../components/inputs';\nimport { Button } from '../../components/common';\nimport { DropdownAction } from '../../components/common/Dropdown/Dropdown';\nimport {\n createRoomLink,\n deleteRoomLink,\n swapRoomLinks,\n updateRoom,\n updateRoomLink,\n} from '../../redux/modules/Data/operations';\nimport Modal from 'react-modal';\nimport { ShareLink } from '../../components/formik/ShareLinks/ShareLinks';\nimport { IsAccountAdmin } from '../../redux/modules/Profile/selectors';\nimport { getAccountProject } from '../../redux/modules/Project/operations';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport dayjs from 'dayjs';\nimport { ShareRoomLinkModal } from '../Room/RoomSettings';\nimport { BrandMeta } from '../../redux/modules/UI/selectors';\n\nconst InfoSidebar = ({\n access_code,\n account_id,\n addons,\n customDocsReviewInfo,\n dataRoomLinks = [],\n faqs,\n fees,\n handleTaskAction,\n isAssessment,\n isDataRoom,\n isEditing,\n isOutsideForm,\n isOverview,\n isProcessesShowing,\n isQuestionnaireSubmitted,\n isPortalView,\n isReviewersShowing,\n isTaskView,\n isWorkflowCounselShowing,\n open,\n outsideForms,\n params: { companyId } = {},\n projectCounsel,\n reviewers,\n reviewInfo,\n roomId,\n rooms = [],\n tasks = [],\n}) => {\n const dispatch = useDispatch();\n const { push } = useHistory();\n const boxToken = useSelector(BoxToken);\n\n const [isFAQCollapsed, setIsFAQCollapsed] = useState(window.screen.height < 1400);\n\n if (\n (isDataRoom && faqs.length === 0 && dataRoomLinks.length === 0 && !isEditing) ||\n (isOutsideForm && isEmpty(reviewInfo) && faqs.length === 0)\n ) {\n return null;\n }\n\n return (\n
    \n {(dataRoomLinks.length > 0 || isEditing) && (\n \n )}\n {!isDataRoom && (\n
    0 && 'maxHeight'}`}>\n \n {rooms.length > 0 && }\n {outsideForms && !outsideForms?.isEmpty && (\n \n )}\n

    {isProcessesShowing ? 'Task Overview' : 'Review Information'}

    \n {isProcessesShowing && (\n
    \n {tasks.map((task, taskIndex) => (\n \n ))}\n
    \n )}\n {isOverview && (\n

    \n Review initial assessment input. Will not reflect changes that occur after\n assessment submission.\n

    \n )}\n {isOverview && isEmpty(reviewInfo) && (\n

    \n Nothing to review. Please select a task\n

    \n )}\n {isTaskView && !isQuestionnaireSubmitted && tasks.length === 0 && (\n

    \n Review inputs here upon task form completion.\n

    \n )}\n {isOutsideForm && !reviewInfo.length === 0 && (\n

    No inputs to Review.

    \n )}\n {isWorkflowCounselShowing && (\n
    \n

    Workflow Role Info

    \n {projectCounsel.length === 0 && (\n
    \n

    No Role assigned.

    \n
    \n )}\n {projectCounsel.map((counsel, parentIndex) => (\n \n

    \n {startCase(counsel.counsel_type)}:{' '}\n

    \n {counsel.user &&\n counsel.partner &&\n `${counsel.user.full_name} from ${counsel.partner.name}`}\n {!!counsel.user && !counsel.partner && counsel.user.full_name}\n {!!counsel.partner && !counsel.user && counsel.partner.name}\n

    \n

    \n
    \n ))}\n
    \n )}\n {isReviewersShowing && (\n
    \n

    Reviewers Info

    \n
    \n

    \n {reviewers.length === 0 && 'No reviewers assigned.'}\n {reviewers.map(\n ({ first_name = '', last_name = '', value }, reviewerIndex) => (\n \n {`${first_name} ${last_name}`}\n {reviewerIndex !== reviewers.length - 1 && `, `}\n \n ),\n )}\n

    \n
    \n
    \n )}\n {customDocsReviewInfo && customDocsReviewInfo.length > 0 && (\n <>\n

    Custom Document Info

    \n {customDocsReviewInfo.map((values, parentIndex) => (\n \n {!isEmpty(values.fields) && (\n
    \n

    Input Fields

    \n {Object.entries(values.fields).map(\n ([fieldKey, fieldVal], index) => (\n \n

    \n {startCase(fieldKey)}:

    {fieldVal}

    \n

    \n
    \n ),\n )}\n
    \n )}\n {values.recipients.map((recipient, index) => (\n \n

    Recipient #{index + 1}

    \n
    \n {Object.entries(recipient).map(([key, value], ind) => (\n

    \n {startCase(key)}:

    {value}

    \n

    \n ))}\n
    \n \n ))}\n \n ))}\n \n )}\n {(isQuestionnaireSubmitted || isOverview || isOutsideForm) && (\n \n )}\n \n \n )}\n {faqs.length > 0 && (\n \n
    \n \n
    \n {/*
    */}\n
    \n {faqs.map((faq, ind) => (\n \n

    {faq.header}

    \n {faq.body}\n
    \n ))}\n
    \n {/*
    */}\n \n )}\n \n );\n};\n\nconst ReviewInfo = ({ boxToken, companyId, dispatch, push, reviewInfo, isOutsideForm }) =>\n Object.entries(reviewInfo).map(([resourceKey, resourceArr], index) => (\n
    \n {Array.isArray(resourceArr) &&\n resourceArr.map((resource, resourceInd) => (\n \n {resource.resource && (\n

    {`${resource.resource} (${resource['Custom Label']})`}

    \n )}\n {resource.resource && (\n
    \n {Object.entries(resource).map(([key, value], ind) => {\n if (\n key !== 'resource' &&\n key !== 'Company Name' &&\n key !== 'Name' &&\n key !== 'Custom Label'\n ) {\n let updatedVal = value;\n\n if (isObject(value)) {\n if (value.isDocument) {\n if (!isOutsideForm) {\n return (\n \n

    {key}:

    \n
    \n {boxToken && (\n \n )}\n
    \n \n dispatch(getBoxFileInfo(value.fileId, push, companyId))\n }\n >\n {value.label}\n \n
    \n );\n } else {\n return (\n \n

    \n {key}:

    {value.value}

    \n

    \n
    \n );\n }\n }\n if (value.isLink) {\n return (\n \n

    \n {key}: {value.label}\n

    \n
    \n );\n }\n if (isArray(value)) {\n return (\n \n

    {key}:

    \n
    \n {value.map((e, linkIndex) => (\n \n

    \n Link #{linkIndex + 1}:\n \n {e.label}\n \n

    \n \n ))}\n
    \n
    \n );\n }\n if (!Object.values(value).join('')) {\n updatedVal = 'None Given';\n } else {\n return (\n \n

    {key}:

    \n

    {value.line_one}

    \n {value.line_two.length > 0 &&

    {value.line_two}

    }\n

    {`${startCase(value.city)}, ${value.state} ${\n value.zip\n }`}

    \n {value.country &&

    {value.country}

    }\n
    \n );\n }\n } else if (value.indexOf('|') !== -1) {\n updatedVal = updatedVal.split('|').join(', ');\n }\n return (\n

    \n {key}:

    {updatedVal || 'Not Given'}

    \n

    \n );\n }\n return null;\n })}\n
    \n )}\n
    \n ))}\n
    \n ));\n\nconst ReviewTask = ({\n addons,\n fees,\n handleTaskAction,\n isAssessment,\n isInitCollapsed,\n open,\n task: {\n bypassed,\n deliverables,\n id,\n label,\n mode,\n state,\n status_label,\n template: { transaction_actions = {}, type, type_label } = {},\n } = {},\n}) => {\n const isWhiteLabel = window.location.href.includes('paperos');\n const { Bypass, Custom, Generate, Upload } = transaction_actions;\n const { high_days, low_days } = get(deliverables, '[0].timeline[0]', {});\n const taskAddons = addons.filter(e => e.taskId === id);\n const taskFees = fees.filter(e => e.taskId === id);\n\n const isFetchingTransaction = useSelector(isFetchingWithHooks);\n\n const [isTaskCollapsed, setIsTaskCollapsed] = useState(isInitCollapsed);\n\n let hideRadios = false;\n let isActionsShowing = true;\n let timelineLabel = '';\n\n if (type === 'System' || mode === 'Upload') {\n timelineLabel = 'instant';\n } else if (low_days) {\n timelineLabel = `${low_days} - ${high_days} days`;\n }\n\n if (\n (!Bypass && !Generate && !Upload && !Custom) ||\n isAssessment ||\n (Object.keys(transaction_actions).length < 2 && !Bypass)\n ) {\n isActionsShowing = false;\n }\n\n if (!Generate && !Upload && !Custom) {\n hideRadios = true;\n }\n\n const toggleActions = Object.entries(transaction_actions)\n .sort((a, b) => {\n if (a[0] === 'Generate') {\n return -1;\n }\n if (\n (a[0] === 'Upload' && b[0] !== 'Generate') ||\n (a[0] === 'Skip' && b[0] === 'Custom')\n ) {\n return -1;\n }\n return 1;\n })\n .reduce((dict, [key, value]) => {\n let updatedOption = {\n label: key,\n mode: key,\n value,\n disabled: false,\n };\n if (hideRadios && (key === 'Generate' || key === 'Upload' || key === 'Custom')) {\n return dict;\n }\n if (hideRadios && key !== 'Bypass') {\n updatedOption.value = !!bypassed;\n }\n if (key === 'Bypass') {\n updatedOption.disabled = !value;\n updatedOption.label = 'Skip';\n }\n dict.push(updatedOption);\n return dict;\n }, []);\n\n return (\n
    \n setIsTaskCollapsed(!isTaskCollapsed)}\n >\n \n {label}\n

    \n {!isTaskCollapsed && (\n
    \n
    \n
    \n

    Status

    \n

    \n {capitalize(\n (mode === 'Upload' && state) ||\n (state === 'completed' && 'Completed') ||\n status_label ||\n state ||\n 'Not Given',\n )}\n

    \n
    \n
    \n

    Type

    \n

    {type_label || type}

    \n
    \n {taskAddons.length > 0 && (\n
    \n

    Add-ons

    \n {taskAddons.map((addon, addonInd) => (\n
    \n

    \n \n {(isWhiteLabel && 'Covered By One Tap!') ||\n '$' + addon.amount + '/'}\n {(isWhiteLabel && ' ') ||\n (addon.period === 'year' && 'Yr ') ||\n 'Mo '}\n \n {`${addon.label} Add-on `}\n {!open && Paid}\n

    \n
    \n ))}\n
    \n )}\n {taskFees.length > 0 && (\n
    \n

    Fees

    \n {taskFees.map((fee, feeInd) => (\n
    \n

    \n \n {(isWhiteLabel && 'Covered By One Tap!') ||\n (fee.is_annual && fee.amount) ||\n '$' + fee.amount}{' '}\n \n {`${fee.label} Fee `}\n {(isWhiteLabel || !open) && Paid}\n

    \n
    \n ))}\n
    \n )}\n {!!timelineLabel && (\n
    \n

    Timeline

    \n

    {timelineLabel}

    \n
    \n )}\n
    \n {isActionsShowing && (\n {\n const { mode: selectedMode, value } = selectedOption;\n if (hideRadios && mode === 'Bypass' && selectedMode === mode) {\n handleTaskAction('Enable', id);\n } else if (selectedMode !== mode && value) {\n handleTaskAction(selectedMode, id);\n }\n }}\n />\n )}\n
    \n )}\n
    \n );\n};\n\nexport const DataRoomLinks = ({\n accessCode,\n account_id,\n dataRoomLinks = [],\n isEditing,\n roomId,\n}) => {\n const dispatch = useDispatch();\n const [addLinkMeta, setAddLinkMeta] = useState({});\n\n return (\n
    \n

    \n Links\n {isEditing && (\n setAddLinkMeta({ index: dataRoomLinks.length, isOpen: true })}\n >\n \n Add link\n \n )}\n

    \n
    \n {dataRoomLinks.map(({ id, label, link }, index) => (\n
    \n \n \n {label}\n \n {isEditing && (\n (\n \n )}\n >\n \n setAddLinkMeta({ id, index, isOpen: true, label, url: link })\n }\n >\n Edit Link\n \n \n dispatch(\n swapRoomLinks(\n id,\n dataRoomLinks[index - 1].id,\n roomId,\n account_id,\n accessCode,\n ),\n )\n }\n >\n Move up\n \n \n dispatch(\n swapRoomLinks(\n id,\n dataRoomLinks[index + 1].id,\n roomId,\n account_id,\n accessCode,\n ),\n )\n }\n >\n Move down\n \n dispatch(deleteRoomLink(id, roomId, account_id))}\n >\n Remove Link\n \n \n )}\n
    \n ))}\n
    \n {isEditing && (\n setAddLinkMeta({})}\n roomId={roomId}\n />\n )}\n
    \n );\n};\n\nconst ConnectedRooms = ({ rooms }) => {\n const dispatch = useDispatch();\n const isAdmin = useSelector(IsAccountAdmin);\n const [isShareLinkOpen, setIsShareLinkOpen] = useState(false);\n const [selectedRoom, setSelectedRoom] = useState({});\n\n // const handleOpenShareLinkModal = room => {\n // setSelectedRoom(room);\n // setIsShareLinkOpen(true);\n // };\n const handleCloseShareLinkModal = () => {\n setSelectedRoom({});\n setIsShareLinkOpen(false);\n };\n\n return (\n <>\n

    Related Rooms

    \n
    \n {rooms.map(room => {\n const {\n account_id,\n account_project_id,\n data_access_code,\n id,\n label,\n open,\n require_auth,\n strict,\n } = room;\n return (\n
    \n
    \n

    {label}

    \n {isAdmin && (\n <>\n {/* \n \n */}\n {/* handleOpenShareLinkModal(id)}\n >\n \n */}\n \n \n \n \n \n \n \n )}\n
    \n
    \n \n {open ? 'Open' : 'Closed'}\n
    \n \n {require_auth ? 'Sign-in required' : 'Sign-in optional'}\n
    \n \n {strict ? 'Invite only' : 'Invite optional'}\n
    \n {isAdmin && (\n (\n \n )}\n >\n \n dispatch(updateRoom({ open: !open }, id, null, account_id)).then(\n e => dispatch(getAccountProject(account_project_id)),\n )\n }\n >\n {open ? 'Close room' : 'Open room link'}\n \n \n dispatch(\n updateRoom(\n { require_auth: !require_auth },\n id,\n null,\n account_id,\n ),\n ).then(e => dispatch(getAccountProject(account_project_id)))\n }\n >{`${require_auth ? 'Optional' : 'Require'} sign-in`}\n \n dispatch(\n updateRoom({ strict: !strict }, id, null, account_id),\n ).then(e => dispatch(getAccountProject(account_project_id)))\n }\n >{`${strict ? 'Optional' : 'Require'} Invite`}\n \n )}\n \n \n );\n })}\n \n \n \n );\n};\n\nconst SharedForms = ({\n forms: { openFormTemplates, openForms, sharedForms },\n isPortalView,\n rooms,\n}) => {\n const massagedOpenForms = useMemo(() => {\n const updatedForms = openForms.map(form => {\n const roomIndex = rooms.findIndex(e => e.id === form.room_id);\n if (roomIndex !== -1 && rooms[roomIndex].open) {\n form.isRoomOpen = true;\n }\n return form;\n });\n return updatedForms;\n }, [openForms, rooms]);\n return (\n
    \n

    Related Forms

    \n {!isPortalView && openFormTemplates.map(OpenFormTemplate)}\n
    \n {(openForms.length > 0 || sharedForms.length > 0) && (\n
    Shared Forms
    \n )}\n {!isPortalView && massagedOpenForms.map(OpenForm)}\n {sharedForms.map(sharedForm => (\n \n ))}\n
    \n
    \n );\n};\n\nfunction OpenFormTemplate({ access_code, name, id }) {\n const dispatch = useDispatch();\n\n return (\n \n
    Standing Form Link
    \n
    \n
    \n

    {name}

    \n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(`${REACT_APP_BASEURL}/api/redirect/form/${access_code}`)\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n \n \n \n \n \n
    \n
    \n
    \n );\n}\n\nfunction OpenForm({\n access_code,\n created_at,\n id,\n metadata: { finalize } = {},\n name,\n state,\n isRoomOpen,\n}) {\n const dispatch = useDispatch();\n const brandMeta = useSelector(BrandMeta);\n let formUrl = `/data-room/${access_code}/outside-form/${access_code}`;\n if (!isRoomOpen) {\n formUrl = `/outside-form/${access_code}`;\n }\n\n return (\n
    \n
    \n

    {name}

    \n {\n navigator.clipboard.writeText(`${brandMeta.web_base_url}${formUrl}`).then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n \n \n \n \n \n
    \n
    \n
    \n

    Date Created

    \n

    {dayjs(created_at).format('ddd, MMM YYYY hh:mm A')}

    \n
    \n
    \n
    \n
    \n

    Status

    \n
    \n \n {state === 'new' ? 'Open' : 'Completed'}\n
    \n {finalize && (\n
    \n Finalizes task on submission\n
    \n )}\n
    \n
    \n
    \n \n );\n}\n\nfunction SharedForm({ rooms, form }) {\n const dispatch = useDispatch();\n const {\n access_code,\n assigned_email,\n created_at,\n metadata: { send_email, finalize, type = 'outside_form' } = {},\n name,\n state,\n } = form;\n let emailStatusLabel = 'Email Sent';\n if (type === 'data_request' && !send_email) {\n emailStatusLabel = 'Email Not Sent';\n }\n let isDealRoomShowing = false;\n rooms.forEach(room => {\n if (room.open) {\n isDealRoomShowing = true;\n }\n });\n return (\n
    \n
    \n

    {name}

    \n (\n \n \n Share Form\n \n )}\n >\n
    \n

    Share Form Options

    \n
    \n
    \n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(`${REACT_APP_BASEURL}/outside-form/${access_code}`)\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n Copy Shared Form Link\n \n {\n const { REACT_APP_BASEURL } = process.env;\n navigator.clipboard\n .writeText(\n `${REACT_APP_BASEURL}/data-room/${access_code}/outside-form/${access_code}`,\n )\n .then(\n () => dispatch(setNotice('Link Copied!')),\n err => console.error('Could not copy text: ', err),\n );\n }}\n >\n Copy Deal Room with Shared Form Link\n \n \n Go to Shared Form\n \n \n Go to Deal Room with Shared Form\n \n \n
    \n
    \n
    \n

    Date Created

    \n

    {dayjs(created_at).format('ddd, MMM YYYY hh:mm A')}

    \n
    \n
    \n

    Connected Email

    \n

    {assigned_email || 'None connected'}

    \n
    \n
    \n
    \n
    \n

    Status

    \n
    \n \n {state === 'new' ? 'Open' : 'Completed'}\n
    \n \n {emailStatusLabel}\n
    \n {finalize && (\n
    \n Finalizes task on submission\n
    \n )}\n
    \n
    \n
    \n \n );\n}\n\nexport const AddLinkModal = ({\n accessCode,\n account_id,\n linkMeta: { isOpen, id, index, label = '', url = '' },\n onClose,\n roomId,\n}) => {\n const dispatch = useDispatch();\n const [input, setInput] = useState({ label, url });\n const [error, setError] = useState(false);\n\n useEffect(() => {\n setInput({ label, url });\n }, [label, url]);\n\n const handleSetLink = updatedLink => {\n if (isEmpty(updatedLink)) {\n dispatch(deleteRoomLink(id, roomId, account_id, accessCode));\n } else {\n setInput(updatedLink);\n }\n };\n\n const handleUpdate = () => {\n let { url, label } = input;\n if (url && !label) {\n setInput({ label: url, url });\n }\n if (!url) {\n setError(true);\n } else if (!id) {\n setError(false);\n dispatch(\n createRoomLink({ label: label, link: url }, roomId, account_id, accessCode),\n ).then(onClose, onClose);\n } else {\n setError(false);\n dispatch(\n updateRoomLink({ label: label, link: url }, id, roomId, account_id, accessCode),\n ).then(onClose, onClose);\n }\n };\n\n return (\n {\n document.body.classList.remove('ReactModal__Body--open');\n }}\n className=\"infoSidebar__linkModal\"\n overlayClassName=\"infoSidebar__linkModalOverlay\"\n >\n \n

    {id ? 'Update' : 'Add'} Room Link

    \n \n
    \n \n \n
    \n \n );\n};\n\nInfoSidebar.propTypes = {\n sideHelp: PropTypes.string,\n isVisible: PropTypes.bool.isRequired,\n toggleMenu: PropTypes.func.isRequired,\n};\n\nInfoSidebar.defaultProps = {\n isVisible: true,\n toggleMenu: () => {},\n};\n\nexport default InfoSidebar;\n","export { default, CompanyTable } from './DataTable';\n","// There are three possible states for our login\n// process and we need actions for each of them\nexport const GET_REQUEST = 'savvi/profile/GET_REQUEST';\nexport const GET_SUCCESS = 'savvi/profile/GET_SUCCESS';\nexport const GET_FAILED = 'savvi/profile/GET_FAILED';\n\nexport const UPDATE = 'savvi/profile/UPDATE';\n\nexport const SAVE_REQUEST = 'savvi/profile/SAVE_REQUEST';\nexport const SAVE_FAILED = 'savvi/profile/SAVE_FAILED';\nexport const SAVE_SUCCESS = 'savvi/profile/SAVE_SUCCESS';\n\nexport const PASSWORD_REQUEST = 'savvi/profile/PASSWORD_REQUEST';\nexport const PASSWORD_SUCCESS = 'savvi/profile/PASSWORD_SUCCESS';\nexport const PASSWORD_FAILED = 'savvi/profile/PASSWORD_FAILED';\n\n// Get Feature Changes\nexport const GET_FEATURE_CHANGES_REQUEST = 'savvi/profile/GET_FEATURE_CHANGES_REQUEST';\nexport const GET_FEATURE_CHANGES_SUCCESS = 'savvi/profile/GET_FEATURE_CHANGES_SUCCESS';\nexport const GET_FEATURE_CHANGES_FAILED = 'savvi/profile/GET_FEATURE_CHANGES_FAILED';\n\nexport const SET_FEATURE_CHANGES_DATE_REQUEST =\n 'savvi/profile/SET_FEATURE_CHANGES_DATE_REQUEST';\nexport const SET_FEATURE_CHANGES_DATE_SUCCESS =\n 'savvi/profile/SET_FEATURE_CHANGES_DATE_SUCCESS';\nexport const SET_FEATURE_CHANGES_DATE_FAILED =\n 'savvi/profile/SET_FEATURE_CHANGES_DATE_FAILED';\nexport const SET_FEATURE_CHANGES = 'savvi/profile/SET_FEATURE_CHANGES';\n\n// Update Email Actions\nexport const GET_EMAILS_REQUEST = 'savvi/profile/GET_EMAILS_REQUEST';\nexport const GET_EMAILS_SUCCESS = 'savvi/profile/GET_EMAILS_SUCCESS';\nexport const GET_EMAILS_FAILED = 'savvi/profile/GET_EMAILS_FAILED';\n\nexport const SEND_EMAIL_CODE_REQUEST = 'savvi/profile/SEND_EMAIL_CODE_REQUEST';\nexport const SEND_EMAIL_CODE_SUCCESS = 'savvi/profile/SEND_EMAIL_CODE_SUCCESS';\nexport const SEND_EMAIL_CODE_FAILED = 'savvi/profile/SEND_EMAIL_CODE_FAILED';\n\nexport const DELETE_EMAIL_VERIFICATION_REQUEST =\n 'savvi/profile/DELETE_EMAIL_VERIFICATION_REQUEST';\nexport const DELETE_EMAIL_VERIFICATION_SUCCESS =\n 'savvi/profile/DELETE_EMAIL_VERIFICATION_SUCCESS';\nexport const DELETE_EMAIL_VERIFICATION_FAILED =\n 'savvi/profile/DELETE_EMAIL_VERIFICATION_FAILED';\n\nexport const VERIFY_UPDATED_EMAIL_REQUEST = 'savvi/profile/VERIFY_UPDATED_EMAIL_REQUEST';\nexport const VERIFY_UPDATED_EMAIL_SUCCESS = 'savvi/profile/VERIFY_UPDATED_EMAIL_SUCCESS';\nexport const VERIFY_UPDATED_EMAIL_FAILED = 'savvi/profile/VERIFY_UPDATED_EMAIL_FAILED';\nexport const SET_EMAILS = 'savvi/profile/SET_EMAILS';\n\n// GET COUNSELS ACTIONS\nexport const GET_COUNSELS_REQUEST = 'savvi/profile/GET_COUNSELS_REQUEST';\nexport const GET_COUNSELS_SUCCESS = 'savvi/profile/GET_COUNSELS_SUCCESS';\nexport const GET_COUNSELS_FAILED = 'savvi/profile/GET_COUNSELS_FAILED';\nexport const SET_COUNSELS = 'savvi/profile/SET_COUNSELS';\n\n// GET SAVVI PARTNERS ACTIONS\nexport const GET_SAVVI_PARTNERS_REQUEST = 'savvi/profile/GET_SAVVI_PARTNERS_REQUEST';\nexport const GET_SAVVI_PARTNERS_SUCCESS = 'savvi/profile/GET_SAVVI_PARTNERS_SUCCESS';\nexport const GET_SAVVI_PARTNERS_FAILED = 'savvi/profile/GET_SAVVI_PARTNERS_FAILED';\nexport const SET_SAVVI_PARTNERS = 'savvi/profile/SET_SAVVI_PARTNERS';\n\n// SAVVI PARTNER GROUP ACTIONS\nexport const GET_SAVVI_PARTNER_GROUP_REQUEST =\n 'savvi/profile/GET_SAVVI_PARTNER_GROUP_REQUEST';\nexport const GET_SAVVI_PARTNER_GROUP_SUCCESS =\n 'savvi/profile/GET_SAVVI_PARTNER_GROUP_SUCCESS';\nexport const GET_SAVVI_PARTNER_GROUP_FAILED =\n 'savvi/profile/GET_SAVVI_PARTNER_GROUP_FAILED';\nexport const SET_SAVVI_PARTNER_GROUP = 'savvi/profile/SET_SAVVI_PARTNER_GROUP';\n\n// GET TEAMS\nexport const GET_TEAMS_REQUEST = 'savvi/profile/GET_TEAMS_REQUEST';\nexport const GET_TEAMS_SUCCESS = 'savvi/profile/GET_TEAMS_SUCCESS';\nexport const GET_TEAMS_FAILED = 'savvi/profile/GET_TEAMS_FAILED';\nexport const REMOVE_TEAM_ACCOUNT_REQUEST = 'savvi/profile/REMOVE_TEAM_ACCOUNT_REQUEST';\nexport const REMOVE_TEAM_ACCOUNT_SUCCESS = 'savvi/profile/REMOVE_TEAM_ACCOUNT_SUCCESS';\nexport const REMOVE_TEAM_ACCOUNT_FAILED = 'savvi/profile/REMOVE_TEAM_ACCOUNT_FAILED';\nexport const SET_TEAMS = 'savvi/profile/SET_TEAMS';\n\nexport const ADD_SAVVI_PARTNER_GROUP_MEMBER_REQUEST =\n 'savvi/profile/ADD_SAVVI_PARTNER_GROUP_MEMBER_REQUEST';\nexport const ADD_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS =\n 'savvi/profile/ADD_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS';\nexport const ADD_SAVVI_PARTNER_GROUP_MEMBER_FAILED =\n 'savvi/profile/ADD_SAVVI_PARTNER_GROUP_MEMBER_FAILED';\nexport const ADD_SAVVI_PARTNER_GROUP_MEMBER =\n 'savvi/profile/ADD_SAVVI_PARTNER_GROUP_MEMBER';\n\nexport const EDIT_SAVVI_PARTNER_GROUP_MEMBER_REQUEST =\n 'savvi/profile/EDIT_SAVVI_PARTNER_GROUP_MEMBER_REQUEST';\nexport const EDIT_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS =\n 'savvi/profile/EDIT_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS';\nexport const EDIT_SAVVI_PARTNER_GROUP_MEMBER_FAILED =\n 'savvi/profile/EDIT_SAVVI_PARTNER_GROUP_MEMBER_FAILED';\nexport const UPDATE_SAVVI_PARTNER_GROUP_MEMBER =\n 'savvi/profile/UPDATE_SAVVI_PARTNER_GROUP_MEMBER';\n\nexport const REMOVE_SAVVI_PARTNER_GROUP_MEMBER_REQUEST =\n 'savvi/profile/REMOVE_SAVVI_PARTNER_GROUP_MEMBER_REQUEST';\nexport const REMOVE_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS =\n 'savvi/profile/REMOVE_SAVVI_PARTNER_GROUP_MEMBER_SUCCESS';\nexport const REMOVE_SAVVI_PARTNER_GROUP_MEMBER_FAILED =\n 'savvi/profile/REMOVE_SAVVI_PARTNER_GROUP_MEMBER_FAILED';\n\nexport const REMOVE_SAVVI_PARTNER_GROUP_MEMBER =\n 'savvi/profile/REMOVE_SAVVI_PARTNER_GROUP_MEMBER';\n\n// GET CALENDLY ACTIONS\nexport const GET_CALENDLY_REQUEST = 'savvi/profile/GET_CALENDLY_REQUEST';\nexport const GET_CALENDLY_SUCCESS = 'savvi/profile/GET_CALENDLY_SUCCESS';\nexport const GET_CALENDLY_FAILED = 'savvi/profile/GET_CALENDLY_FAILED';\n","import dayjs from 'dayjs/esm';\nimport PandaDocStatusDict from './PandaDocStatusDict';\n\nconst documentUpdatedAtSort = (a, b) => {\n // TODO check formatting of timestamps.\n let aDate =\n a.completed_timestamp ||\n a.upload_timestamp ||\n a.panda_data_timestamp ||\n a.sent_timestamp ||\n a.draft_timestamp ||\n (a.flat_features || [])[0]?.updated_at ||\n '';\n let bDate =\n b.completed_timestamp ||\n b.upload_timestamp ||\n b.panda_data_timestamp ||\n b.sent_timestamp ||\n b.draft_timestamp ||\n (b.flat_features || [])[0]?.updated_at ||\n '';\n\n if (aDate && !bDate) {\n return -1;\n } else if (!aDate && bDate) {\n return 1;\n } else if (!aDate && !bDate) {\n return 0;\n }\n return dayjs(bDate).diff(aDate);\n};\n\nconst documentCreatedAtSort = (a, b) => {\n let aDate =\n a.sent_timestamp ||\n a.completed_timestamp ||\n a.upload_timestamp ||\n a.draft_timestamp ||\n a.panda_data_timestamp ||\n (a.flat_features || [])[0]?.updated_at ||\n '';\n let bDate =\n b.sent_timestamp ||\n b.completed_timestamp ||\n b.upload_timestamp ||\n b.draft_timestamp ||\n b.panda_data_timestamp ||\n (b.flat_features || [])[0]?.updated_at ||\n '';\n\n if (aDate && !bDate) {\n return -1;\n } else if (!aDate && bDate) {\n return 1;\n } else if (!aDate && !bDate) {\n return 0;\n }\n return dayjs(bDate).diff(aDate);\n};\n\nexport const sortStrings = (a, b) => a.localeCompare(b);\n\nexport const documentsSortOptions = {\n name: {\n label: 'Name',\n slug: 'name',\n iconType: 'a-z',\n sortFunc: (a, b) => {\n const aLabel =\n a.label ||\n a.template_variant?.template_type?.customer_label ||\n a.template_variant?.customer_label ||\n (a.flat_features || [])[0]?.feature_type?.question_label ||\n a.template_variant?.preview?.label ||\n a.filename ||\n a.template_variant?.filename ||\n '--';\n const bLabel =\n b.label ||\n b.template_variant?.template_type?.customer_label ||\n b.template_variant?.customer_label ||\n (b.flat_features || [])[0]?.feature_type?.question_label ||\n b.template_variant?.preview?.label ||\n b.filename ||\n b.template_variant?.filename ||\n '--';\n return sortStrings(aLabel, bLabel);\n },\n },\n filename: {\n label: 'Filename',\n slug: 'filename',\n iconType: 'a-z',\n sortFunc: (a, b) => {\n const aLabel = a.filename || a.template_variant?.filename || '--';\n const bLabel = b.filename || b.template_variant?.filename || '--';\n return sortStrings(aLabel, bLabel);\n },\n },\n status: {\n label: 'Status',\n slug: 'status',\n iconType: 'a-z',\n sortFunc: (a, b) => {\n const aStatus =\n (a.revision_count > 0 && 'Awaiting Approval') ||\n (a.box_file_id && !a.status && 'Uploaded') ||\n PandaDocStatusDict(a.status);\n const bStatus =\n (b.revision_count > 0 && 'Awaiting Approval') ||\n (b.box_file_id && !b.status && 'Uploaded') ||\n PandaDocStatusDict(b.status);\n return sortStrings(aStatus, bStatus);\n },\n },\n date: {\n label: 'Date Created',\n slug: 'date',\n iconType: 'wide-short',\n sortFunc: documentCreatedAtSort,\n },\n none: {\n label: 'Default (last updated)',\n slug: 'none',\n sortFunc: documentUpdatedAtSort,\n },\n};\n\nexport const userDocumentsSortOptions = {\n name: {\n label: 'Name',\n slug: 'name',\n iconType: 'a-z',\n sortFunc: (a, b) => {\n const aLabel =\n a.label ||\n a.template_variant?.template_type?.customer_label ||\n a.template_variant?.customer_label ||\n (a.flat_features || [])[0]?.feature_type?.question_label ||\n a.template_variant?.preview?.label ||\n a.filename ||\n a.template_variant?.filename ||\n '--';\n const bLabel =\n b.label ||\n b.template_variant?.template_type?.customer_label ||\n b.template_variant?.customer_label ||\n (b.flat_features || [])[0]?.feature_type?.question_label ||\n b.template_variant?.preview?.label ||\n b.filename ||\n b.template_variant?.filename ||\n '--';\n return sortStrings(aLabel, bLabel);\n },\n },\n filename: {\n label: 'Filename',\n slug: 'filename',\n iconType: 'a-z',\n sortFunc: (a, b) => {\n const aLabel = a.filename || a.template_variant?.filename || '--';\n const bLabel = b.filename || b.template_variant?.filename || '--';\n return sortStrings(aLabel, bLabel);\n },\n },\n company_name: {\n label: 'Workspace Name',\n slug: 'company_name',\n iconType: 'a-z',\n sortFunc: (a, b) => sortStrings(a.account.name, b.account.name),\n },\n status: {\n label: 'Status',\n slug: 'status',\n iconType: 'a-z',\n sortFunc: (a, b) => {\n const aStatus =\n (a.revision_count > 0 && 'Awaiting Approval') ||\n (a.box_file_id && !a.status && 'Uploaded') ||\n PandaDocStatusDict(a.status);\n const bStatus =\n (b.revision_count > 0 && 'Awaiting Approval') ||\n (b.box_file_id && !b.status && 'Uploaded') ||\n PandaDocStatusDict(b.status);\n return sortStrings(aStatus, bStatus);\n },\n },\n date: {\n label: 'Date Created',\n slug: 'date',\n iconType: 'wide-short',\n sortFunc: documentCreatedAtSort,\n },\n none: {\n label: 'Default (last updated)',\n slug: 'none',\n sortFunc: documentUpdatedAtSort,\n },\n};\n","import React, { useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory, useLocation, useParams } from 'react-router-dom';\n\nimport classnames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport { setCompany } from '../../redux/modules/Company/operations';\nimport { getAccountId } from '../../redux/modules/Formation/selectors';\nimport { Button, Dropdown } from '../common';\nimport PandaDocStatusDict from '../../utils/PandaDocStatusDict';\n\nimport './DocumentsSection.scss';\nimport { resendLinkEmail } from '../../redux/modules/Transaction/operations';\nimport { setNotice } from '../../redux/modules/UI/actions';\nimport { getAuthUser } from '../../redux/modules/User/selectors';\nimport handlePath from '../../utils/handlePath';\nimport {\n createRoomHistory,\n deleteRoomDocument,\n swapRoomDocuments,\n updateRoomDocument,\n} from '../../redux/modules/Data/operations';\nimport { requestHeaders } from '../../redux/utils/api';\nimport { FilePreviewer } from '../FilePreviewer/FilePreviewer';\nimport { BoxToken } from '../../redux/modules/Cabinet/selectors';\nimport dayjs from 'dayjs/esm';\nimport get from 'lodash/get';\nimport SortDropdown from '../SortDropdown';\nimport {\n documentsSortOptions,\n userDocumentsSortOptions,\n} from '../../utils/DocumentsSortOptions';\nimport { InputStyledTextField } from '../inputs';\n\nconst DocumentsSection = ({\n accessCode,\n accountId,\n hideToken,\n initialDocsShowing = 5,\n isAdmin,\n isDataRoom,\n isEditing,\n isHeightUnset,\n isPdfHiding,\n isSectionOpenInit,\n isSimpleTable,\n limitedUserEmail,\n isMyDashboard,\n isUserTable,\n isWarning,\n moduleId,\n sectionLabel,\n documents,\n roomId,\n}) => {\n const dispatch = useDispatch();\n const currentAccountId = useSelector(getAccountId);\n const boxToken = useSelector(BoxToken);\n const currentUser = useSelector(getAuthUser);\n const [docAmountShowing, setDocAmountShowing] = useState(\n isSectionOpenInit ? 0 : initialDocsShowing,\n );\n const [isSortReversed, setIsSortReversed] = useState(false);\n // const [isSectionOpen, setIsOpen] = useState(isSectionOpenInit);\n const [sortOption, setSortOption] = useState(documentsSortOptions.none);\n const { slug, sortFunc } = sortOption;\n\n const myDocuments = useMemo(() => {\n if (isDataRoom && slug === 'none') {\n return documents;\n }\n if (isSortReversed) {\n return documents.sort(sortFunc).reverse();\n }\n return documents.sort(sortFunc);\n }, [documents, isDataRoom, isSortReversed, sortFunc, slug]);\n\n const handleSortRooms = selectedOption => {\n let updatedIsSortReversed = false;\n if (selectedOption.slug === slug) {\n updatedIsSortReversed = !isSortReversed;\n }\n setIsSortReversed(updatedIsSortReversed);\n setSortOption(selectedOption);\n };\n\n let docAdjustmentAmount = 25;\n if (myDocuments.length / 5 > 25) {\n docAdjustmentAmount = myDocuments.length / 5;\n }\n if (myDocuments.length / 5 > 200) {\n docAdjustmentAmount = 200;\n }\n\n const showLessDocuments = () => {\n let amountToShow = docAmountShowing - docAdjustmentAmount;\n if (amountToShow > myDocuments.length) {\n amountToShow = myDocuments.length - docAdjustmentAmount;\n }\n if (amountToShow < 5) {\n amountToShow = 5;\n }\n setDocAmountShowing(amountToShow);\n };\n const showMoreDocuments = () =>\n setDocAmountShowing(docAmountShowing + docAdjustmentAmount);\n\n return (\n \n
    \n

    \n {!hideToken && }\n {sectionLabel}\n {` (${myDocuments.length > 0 ? myDocuments.length : 'None'})`}\n

    \n {!!accessCode &&
    }\n \n
    \n {myDocuments.length > 0 && (\n \n {myDocuments.map(\n (myDocument, index) =>\n (!docAmountShowing || index < docAmountShowing) && (\n \n ),\n )}\n
    \n {docAmountShowing > 5 && (\n \n show less documents\n \n \n )}\n {myDocuments.length > 4 && docAmountShowing < myDocuments.length && (\n \n show more documents\n \n \n )}\n
    \n
    \n )}\n \n );\n};\n\nconst DocumentRow = ({\n accessCode,\n accountId,\n boxToken,\n currentAccountId,\n currentUser,\n myDocument,\n dispatch,\n index,\n isAdmin,\n isSimpleTable,\n isUserTable,\n isDataRoom,\n isEditing,\n isMyDashboard,\n isPdfHiding,\n limitedUserEmail,\n moduleId,\n myDocuments,\n roomId,\n}) => {\n const { push } = useHistory();\n const { companyId } = useParams();\n const { search } = useLocation();\n const {\n account = {},\n account_id,\n // account_transaction = {},\n account_transaction_id,\n account_project_id,\n box_file_id,\n completed_timestamp,\n draft_timestamp,\n filename,\n file_token: { accessToken } = {},\n flat_features = [],\n label: roomLabel,\n panda_document_id,\n panda_data_timestamp,\n revision_count,\n recipients,\n room_document_id,\n sent_timestamp,\n status,\n template_variant,\n upload_timestamp,\n } = myDocument;\n const {\n customer_label: variant_label,\n filename: variant_filename,\n preview: templatePreview,\n template_type,\n } = template_variant || {};\n\n const { label, box_file_id: previewBoxFileId, preview } = templatePreview || {};\n const { customer_label } = template_type || {};\n\n /** Can remove filter when duplicate recipients removed on backend. */\n const filteredRecipients = [];\n recipients.forEach(el => {\n const existingRecipientIndex = filteredRecipients.findIndex(\n e => e.email === el.email,\n );\n if (existingRecipientIndex !== -1) {\n if (el.signature_link) {\n filteredRecipients[existingRecipientIndex] = el;\n }\n } else {\n filteredRecipients.push(el);\n }\n });\n\n let dateLabel =\n sent_timestamp ||\n completed_timestamp ||\n upload_timestamp ||\n draft_timestamp ||\n panda_data_timestamp ||\n get(flat_features, '[0].updated_at', '');\n\n if (dateLabel) {\n dateLabel = dayjs(dateLabel).format('MM/DD/YYYY');\n } else {\n dateLabel = '--';\n }\n let taskPath = {\n pathname: `/workbench/${moduleId}/${account_project_id}/${account_transaction_id}/initialize`,\n search,\n state: { isClicked: true },\n };\n let path = `/cabinet/-1/${box_file_id}`;\n const isRedlining = revision_count > 0;\n const stateText =\n (isRedlining && 'Awaiting Approval') ||\n (box_file_id && !status && 'Uploaded') ||\n PandaDocStatusDict(status, isDataRoom);\n\n const isTaskConnected = !!account_transaction_id;\n const isSendingToTask =\n isTaskConnected && stateText !== 'Uploaded' && stateText !== 'Completed';\n\n const customerLabel =\n roomLabel ||\n customer_label ||\n variant_label ||\n flat_features[0]?.feature_type?.question_label ||\n label;\n const fileLabel = filename || variant_filename || 'Unknown name';\n\n const handleResendLinkEmail = (e, docId, email, passedAccountId) => {\n e.preventDefault();\n const message = `Are you sure you want to resend signature link to ${email}?`;\n if (window.confirm(message)) {\n dispatch(resendLinkEmail(docId, email, passedAccountId));\n }\n };\n const handleDealRoomRecipientLink = (e, roomCode) => {\n e.preventDefault();\n navigator.clipboard.writeText(\n `${process.env.REACT_APP_BASEURL}/data-room/${roomCode}`,\n );\n dispatch(setNotice('Room Link copied'));\n };\n const handleDocumentRecipientLink = (e, signatureLink) => {\n e.preventDefault();\n navigator.clipboard.writeText(signatureLink);\n dispatch(setNotice('Link copied'));\n };\n const handlePrimaryGotoClick = e => {\n if (e.defaultPrevented || isSimpleTable || (isAdmin && !!accessCode)) {\n return;\n }\n if (isMyDashboard) {\n dispatch(\n setCompany(\n account?.id,\n isSendingToTask ? taskPath : path,\n account?.id === currentAccountId,\n ),\n );\n } else {\n push(handlePath(isSendingToTask ? taskPath : path, companyId || account_id));\n }\n };\n const handleSecondaryGotoClick = e => {\n e.preventDefault();\n push(handlePath(!isSendingToTask ? taskPath : path, companyId || account_id));\n };\n const handleCabinetGotoClick = e => {\n e.preventDefault();\n dispatch(\n setCompany(\n account?.id,\n { pathname: !isSendingToTask ? taskPath : path, search },\n account?.id === currentAccountId,\n ),\n );\n };\n const handleDownloadFileClick = e => {\n e.preventDefault();\n var client = new XMLHttpRequest();\n client.open('GET', updatedUrl);\n client.withCredentials = true;\n client.responseType = 'blob';\n Object.entries(requestHeaders(true)).forEach(([key, value]) => {\n client.setRequestHeader(key, value);\n });\n client.onreadystatechange = () => {\n switch (client.readyState) {\n case 4:\n dispatch(setNotice('Starting Download.'));\n dispatch(\n createRoomHistory(\n accessCode,\n {\n box_file_id: box_file_id,\n action: 'download',\n customer_label: customerLabel,\n file_label: fileLabel,\n },\n roomId,\n ),\n );\n const url = window.URL.createObjectURL(client.response);\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n break;\n default:\n }\n };\n client.send();\n };\n const handleSortUpClick = e => {\n e.preventDefault();\n dispatch(\n swapRoomDocuments(\n room_document_id,\n myDocuments[index - 1].room_document_id,\n roomId,\n accountId,\n accessCode,\n ),\n );\n };\n const handleSortDownClick = e => {\n e.preventDefault();\n dispatch(\n swapRoomDocuments(\n room_document_id,\n myDocuments[index + 1].room_document_id,\n roomId,\n accountId,\n accessCode,\n ),\n );\n };\n const handleRemoveDocument = e => {\n e.preventDefault();\n const message = `Are you sure you want to remove this document from the Data Room?`;\n if (window.confirm(message)) {\n dispatch(deleteRoomDocument(room_document_id, roomId, accountId, accessCode));\n }\n };\n const getRecipientShowing = recipientEmail =>\n stateText !== 'Completed' &&\n (!isSimpleTable ||\n isAdmin ||\n [\n (currentUser?.email || '').toLowerCase(),\n (limitedUserEmail || '').toLowerCase(),\n ].includes(recipientEmail.toLowerCase()));\n\n const isRecipientsShowing =\n stateText !== 'Completed' &&\n filteredRecipients.length > 0 &&\n (!isSimpleTable ||\n isAdmin ||\n filteredRecipients.findIndex(e =>\n [\n (currentUser?.email || '').toLowerCase(),\n (limitedUserEmail || '').toLowerCase(),\n ].includes(e.email.toLowerCase()),\n )) !== -1;\n\n const updatedUrl = `${process.env.REACT_APP_BASEURL}/api/${\n accessCode\n ? `guest/rooms/${accessCode}/file/${box_file_id}`\n : `account/box/file/${box_file_id}`\n }`;\n\n const isDocumentTemplate = !box_file_id && !!previewBoxFileId;\n const customLabel = isDocumentTemplate ? 'Preview Template' : `${stateText} Document`;\n const isDocumentUpload = !isRecipientsShowing && !!box_file_id;\n const isActionsShowing = isTaskConnected && !isEditing;\n const isSecondaryGotoShowing = !isMyDashboard && box_file_id;\n const secondaryGotoLabel = `View in ${!isSendingToTask ? 'Task View' : 'File Cabinet'}`;\n const isCabinetGotoShowing = isMyDashboard && box_file_id;\n const isDownloadShowing = !isEditing && !isTaskConnected && !!box_file_id;\n const boxFileId = box_file_id || previewBoxFileId;\n\n const [isEditingDocLabel, setIsEditingDocLabel] = useState(false);\n const [isEditDocSubmitting, setIsEditDocSubmitting] = useState(false);\n const [docLabelInput, setDocLabelInput] = useState(customerLabel);\n\n const handleDocLabelUpdate = e => {\n setIsEditDocSubmitting(true);\n dispatch(\n updateRoomDocument(\n { label: docLabelInput },\n room_document_id,\n roomId,\n accountId,\n accessCode,\n ),\n ).then(\n e => {\n setIsEditDocSubmitting(false);\n setIsEditingDocLabel(false);\n },\n error => setIsEditDocSubmitting(false),\n );\n };\n\n return (\n \n
    \n \n
    \n \n {(customerLabel || isEditing) && (\n
    \n {!isEditingDocLabel && (\n

    {customerLabel || '*No Current Label. Add label by clicking >'}

    \n )}\n {isEditingDocLabel && (\n setDocLabelInput(e.target.value)}\n onBlur={e => handleDocLabelUpdate(e)}\n />\n )}\n {isEditing && !isEditingDocLabel && (\n
    \n {\n e.preventDefault();\n setIsEditingDocLabel(!isEditingDocLabel);\n }}\n >\n \n \n {!!roomLabel && (\n {\n e.preventDefault();\n dispatch(\n updateRoomDocument(\n { label: '' },\n room_document_id,\n roomId,\n accountId,\n accessCode,\n ),\n );\n }}\n >\n \n \n )}\n
    \n )}\n
    \n )}\n

    {fileLabel}

    \n \n {isMyDashboard && (\n
    \n

    parent workspace

    \n

    {account?.name || 'Not Found'}

    \n
    \n )}\n {isRecipientsShowing && (\n
    \n {!isSimpleTable &&

    Recipients

    }\n {filteredRecipients.map(\n recipient =>\n getRecipientShowing(recipient.email) && (\n \n ),\n )}\n
    \n )}\n {!isRecipientsShowing && isSimpleTable && (\n
    \n {!!box_file_id && (!isDataRoom || !isDocumentTemplate) && (\n \n )}\n {/* {!!box_file_id && (!isDataRoom || !isDocumentTemplate) && (\n {\n dispatch(getUserDocumentBoxToken(myDocument.id));\n // create way for user to view & dl document\n }}\n className=\"documentsSection__simpleAction\"\n isFlat\n size=\"sm\"\n >\n View {isDocumentTemplate ? 'Template' : 'Document'}\n \n )} */}\n
    \n )}\n
    \n

    {dateLabel}

    \n

    {stateText}

    \n {isActionsShowing && (\n
    \n {isSecondaryGotoShowing && (\n \n \n \n )}\n {isCabinetGotoShowing && (\n \n \n \n )}\n {box_file_id && (\n \n \n \n )}\n
    \n )}\n {isDownloadShowing && (\n
    \n \n \n \n
    \n )}\n {isEditing && (\n
    \n \n \n \n \n \n \n \n \n \n
    \n )}\n
    \n \n );\n};\n\nconst RecipientRow = ({\n accountId,\n currentUser,\n isSimpleTable,\n isDataRoom,\n onDealRoomRecipientLink,\n onDocumentRecipientLink,\n onResendLinkEmail,\n panda_document_id,\n recipient,\n status,\n}) => {\n const {\n email,\n email_sent,\n first_name,\n last_name,\n room_access_code,\n signature_link,\n signed,\n signer,\n } = recipient;\n\n const [isActionsShowing, setIsActionsShowing] = useState(false);\n\n const handleShowActionsClick = e => {\n e.preventDefault();\n setIsActionsShowing(!isActionsShowing);\n };\n\n const recipientEmail = email.toLowerCase();\n const userEmail = (currentUser.email || '').toLowerCase();\n\n const recipientLabel =\n (!first_name && !last_name && email) || `${first_name || ''} ${last_name || ''}`;\n const isSigned = !isSimpleTable && !!signed && !!signer;\n const isSignedOrNotSigner = !isSimpleTable && (!signed || !signer);\n const recipientStatusLabel =\n (!email_sent && 'Email not sent') ||\n (status === 'document.draft' && 'Not yet sent') ||\n (!signer && 'Reviewer') ||\n 'Not signed';\n const isActionsDropdownShowing = status !== 'document.draft' && isActionsShowing;\n const copyLinkLabel = `Copy ${\n (userEmail === recipientEmail && 'Your') || (!!signed && !signer && 'Reviewer') || ''\n } Document Link`;\n\n return (\n <>\n \n {isSimpleTable && (\n \n View / Sign\n \n )}\n {!isSimpleTable && (\n <>\n

    {recipientLabel}

    \n {isSigned && (\n
    \n

    \n \n Signed\n

    \n
    \n )}\n {isSignedOrNotSigner && (\n
    \n

    \n \n {recipientStatusLabel}\n \n

    \n {isActionsDropdownShowing && (\n setIsActionsShowing(false)}\n >\n

    {email}

    \n \n onResendLinkEmail(e, panda_document_id, email, accountId)\n }\n size=\"sm\"\n >\n {email_sent === 0 ? 'Send email' : 'Resend email'}\n \n {!!room_access_code && !isDataRoom && (\n <>\n onDealRoomRecipientLink(e, room_access_code)}\n size=\"sm\"\n >\n Copy Deal Room Link\n \n {userEmail === recipientEmail && (\n e.stopPropagation()}\n rel=\"noopener noreferrer\"\n size=\"sm\"\n >\n View Deal Room\n \n )}\n \n )}\n {!!signature_link && (\n <>\n onDocumentRecipientLink(e, signature_link)}\n size=\"sm\"\n >\n {copyLinkLabel}\n \n {userEmail === recipientEmail && (\n e.stopPropagation()}\n rel=\"noopener noreferrer\"\n size=\"sm\"\n >\n View Document\n \n )}\n \n )}\n \n )}\n
    \n )}\n \n )}\n \n {isSimpleTable && (\n
    \n onDocumentRecipientLink(e, signature_link)}\n size=\"sm\"\n tooltip=\"Copy Link\"\n >\n \n \n
    \n )}\n \n );\n};\n\nDocumentsSection.propTypes = {\n accessCode: PropTypes.string,\n accountId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n documents: PropTypes.array,\n hideToken: PropTypes.bool,\n isAdmin: PropTypes.bool,\n isDataRoom: PropTypes.bool,\n isHeightUnset: PropTypes.bool,\n isMyDashboard: PropTypes.bool,\n isSectionOpenInit: PropTypes.bool,\n moduleId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n sectionLabel: PropTypes.string,\n};\nDocumentsSection.defaultProps = {\n moduleId: -1,\n documents: [],\n};\n\nexport default DocumentsSection;\n","import React from 'react';\n\nimport isEmpty from 'lodash-es/isEmpty';\nimport './InputFeedback.scss';\n\n// import classnames from 'classnames';\n\nconst InputFeedback = ({ error }) =>\n error ? (\n
    {isEmpty(error) ? 'Field Required' : error}
    \n ) : null;\n\nexport default InputFeedback;\n","import React from 'react';\nimport { useHistory } from 'react-router';\n\nimport classnames from 'classnames';\n\nimport Button from '../common/Button';\nimport UseWindowSize from '../../utils/UseWindowSize';\n\nimport './WorkbenchActions.scss';\nimport handlePath from '../../utils/handlePath';\n\nconst WorkbenchActions = props => {\n const windowSize = UseWindowSize();\n const history = useHistory();\n const buttonSize = windowSize.width > 768 ? 'md' : 'sm';\n\n if (props.isSharingForm) {\n return ;\n } else if (props.isForm) {\n return ;\n } else if (props.isFinalize) {\n return ;\n } else {\n return ;\n }\n};\n\nconst SharingFormButtons = ({\n buttonSize,\n onPrimaryClick,\n onSecondaryClick,\n isFetching,\n}) => (\n
    \n \n \n
    \n);\n\nconst FormButtons = ({\n buttonSize,\n history,\n isAssessment,\n isDisabled,\n isFetching,\n isInitQuestionnaire,\n isModal,\n params,\n projectTemplateId,\n}) => (\n
    \n {isInitQuestionnaire && (\n history.push(handlePath('/home', params.companyId))}\n >\n Save & Exit\n \n )}\n {!isInitQuestionnaire && (\n history.goBack()}\n >\n Back\n \n )}\n \n {(projectTemplateId === 179 && 'Add Trustee(s)') ||\n (isModal && 'Add Investor(s)') ||\n (isAssessment && 'Generate Tasks') ||\n 'Review'}\n \n
    \n);\n\nconst TrackingButtons = ({\n buttonSize,\n handleNextTaskAction,\n handleSecondaryAction,\n isFetching,\n isDisabled,\n isOverview,\n isSecondaryHiding,\n primaryActionText,\n secondaryActionText,\n}) => (\n //
    \n \n {isOverview && !isSecondaryHiding && (\n \n {secondaryActionText}\n \n )}\n \n {primaryActionText}\n \n
    \n);\n\nconst FinalizeButtons = ({\n buttonSize,\n handleFinalize,\n history,\n isAssessment,\n isDev,\n isDisabled,\n isFetching,\n params: { companyId, moduleId, projectId, transactionId },\n}) => (\n
    \n \n history.replace(\n handlePath(\n `/workbench/${moduleId}/${projectId}/${transactionId}/questionnaire${\n isDev ? '-dev' : ''\n }`,\n companyId,\n ),\n )\n }\n >\n Previous\n \n \n {isAssessment ? 'Generate Tasks' : 'Finalize'}\n \n
    \n);\n\nWorkbenchActions.defaultProps = {\n isAuthenticated: false,\n next: 'loading',\n};\n\nexport default WorkbenchActions;\n","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgSavviLoading(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 185 155\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Page-1\",\n className: \"savviLoading__gOuter\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Savvi-Rectangle-Folded\",\n className: \"savviLoading__gInner\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Rectangle\",\n className: \"savviLoading__pathFirst\",\n d: \"M0.5,0.5L0.5,108.307L0.5,115.5L115.5,115.5L115.5,107.76L115.5,58L58,58L58,0.5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Line\",\n className: \"savviLoading__pathSecond\",\n d: \"M65.5,3.5L112.5,50.5M115.5,58L115.5,69M58.5,0.5L44.5,0.5\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSavviLoading);\nexport default __webpack_public_path__ + \"static/media/savvi_loading.2f1545e5.svg\";\nexport { ForwardRef as ReactComponent };","export default {\n '-1': {\n icon: ['fal', 'home'],\n id: '-1',\n path: '/home',\n label: 'Home',\n },\n 0: {\n icon: ['fal', 'home'],\n id: '0',\n path: '/home',\n label: 'Home',\n },\n home: {\n icon: ['fal', 'home'],\n id: 'home',\n path: '/home',\n label: 'Home',\n },\n 1: {\n icon: ['fal', 'books'],\n id: '1',\n path: '/workflows',\n label: 'Workflow Library',\n },\n 2: {\n icon: ['fal', 'books'],\n id: '2',\n isModule: true,\n order: 1,\n path: {\n pathname: '/workflows',\n hash: '#entity',\n },\n label: 'Entity',\n },\n 3: {\n icon: ['fal', 'books'],\n id: '3',\n isModule: true,\n order: 2,\n path: {\n pathname: '/workflows',\n hash: '#governance',\n },\n label: 'Governance',\n },\n 4: {\n icon: ['fal', 'books'],\n id: '4',\n isModule: true,\n order: 4,\n path: {\n pathname: '/workflows',\n hash: '#team',\n },\n label: 'Team',\n },\n 9: {\n icon: ['fal', 'books'],\n id: '9',\n isModule: true,\n order: 4,\n path: {\n pathname: '/workflows',\n hash: '#equity',\n },\n label: 'Equity',\n },\n 6: {\n icon: ['fal', 'books'],\n id: '6',\n isModule: true,\n order: 5,\n path: {\n pathname: '/workflows',\n hash: '#financing',\n },\n label: 'Financing',\n },\n 5: {\n icon: ['fal', 'books'],\n id: '5',\n isModule: true,\n order: 6,\n path: {\n pathname: '/workflows',\n hash: '#customers-partners',\n },\n label: 'Customers | Partners',\n },\n 7: {\n icon: ['fal', 'file-signature'],\n id: '7',\n isModule: true,\n order: 7,\n path: {\n pathname: '/workflows',\n hash: '#other',\n },\n label: 'Other',\n },\n 10: {\n icon: ['fal', 'users'],\n id: '10',\n path: '/savvi-partners',\n label: 'Workspace Partners',\n },\n tasks: {\n icon: ['fal', 'ballot-check'],\n id: 'tasks',\n path: '/tasks',\n label: 'Tasks',\n },\n rooms: {\n icon: ['fal', 'layer-group'],\n id: 'rooms',\n path: '/rooms',\n label: 'Rooms',\n },\n submitted_tasks: {\n icon: ['fal', 'history'],\n id: 'submitted_tasks',\n path: '/submitted-tasks',\n label: 'Submitted Tasks',\n },\n documents: {\n icon: ['fal', 'copy'],\n id: 'documents',\n path: '/documents',\n label: 'Documents',\n },\n workflows: {\n icon: ['fal', 'books'],\n id: 'workflows',\n path: '/workflows',\n label: 'Workflow Library',\n },\n account: {\n icon: ['fal', 'cog'],\n id: 'account',\n path: '/settings',\n label: 'Account',\n },\n};\n","import '../components/FileUploader/FileUploader';\n\nimport React from 'react';\n\nimport get from 'lodash-es/get';\nimport isEmpty from 'lodash-es/isEmpty';\n\nimport {\n AddressGroup,\n CheckboxGroup,\n Comment,\n FormCustomDoc,\n FormFileUploader,\n Password,\n PhoneNumber,\n Select,\n ShareLinks,\n StyledCheckbox,\n TemplateLink,\n TextField,\n Textarea,\n ResourceList,\n} from '../components/formik';\nimport { options } from '../data/StateData';\nimport { parseShareLink } from '../components/formik/ShareLinks/ShareLinks';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\ndayjs.extend(customParseFormat);\n\nexport const validateAddress = (val, isUniversal) => {\n let error;\n if (\n isEmpty(val) ||\n (isEmpty(val.line_one) && isEmpty(val.city) && isEmpty(val.state) && isEmpty(val.zip))\n ) {\n error = {\n ...error,\n address: 'Full Address required',\n };\n }\n if (isEmpty(val.line_one)) {\n error = {\n ...error,\n line_one: 'Line One required',\n };\n }\n if (isEmpty(val.city)) {\n error = {\n ...error,\n city: 'City required',\n };\n }\n if (isEmpty(val.state)) {\n error = {\n ...error,\n state: 'State required',\n };\n }\n if (isEmpty(val.zip)) {\n error = {\n ...error,\n zip: 'Zip required',\n };\n }\n if (isEmpty(val.country) && isUniversal) {\n error = {\n ...error,\n country: 'Country required',\n };\n }\n return error;\n};\n\nexport const validateBoolean = val => {\n let error;\n if (!val) {\n error = 'Selection required';\n }\n return error;\n};\n\nexport const validateCheckboxGroup = (val = '') => {\n let error;\n val = val.trim();\n if (isEmpty(val)) {\n error = 'Selection required';\n }\n return error;\n};\n\nexport const validateCompany = (val, suffixOptions, entityType, isEntityFormed) => {\n let error = '';\n\n let filteredOptions = suffixOptions;\n if (entityType) {\n filteredOptions = suffixOptions.filter(e => e.type === entityType);\n }\n if (!val) {\n error = 'Company must be named.';\n } else if (\n !isEntityFormed &&\n entityType &&\n !entityType.includes('Series') &&\n filteredOptions.findIndex(e => val.includes(e.value)) === -1\n ) {\n error = 'Please select a Company suffix of your Entity Type.';\n }\n return error;\n};\nexport const validateCurrency = (val = '') => {\n let error;\n val = val.trim();\n if (isEmpty(val)) {\n error = 'Currency required';\n return error;\n }\n if (val.length < 2) {\n error = 'Currency required';\n }\n return error;\n};\n\nexport const validateDate = (val = '', isOptional, isTouched) => {\n let error;\n val = val.trim();\n let valArr = [];\n if (val.indexOf('-') !== -1) {\n valArr = val.split('-');\n } else if (val.indexOf('/') !== -1) {\n valArr = val.split('/');\n }\n\n if (isEmpty(val)) {\n if (!isOptional) {\n error = 'Date required';\n }\n return error;\n }\n // if (!isTouched) {\n // return error;\n // }\n if (valArr[0] && valArr[0].length < 2) {\n error = 'Full date required';\n }\n if (!valArr[1] || (valArr[1] && valArr[1].length < 2)) {\n error = 'Month and year required';\n } else if (!valArr[2] || (valArr[2] && valArr[2].length < 4)) {\n error = 'Full 4 digit year required.';\n }\n if (val === 'Invalid date') {\n error = 'Valid date required';\n }\n return error;\n};\n\nexport const validateEmail = val => {\n let error;\n if (isEmpty(val)) {\n error = 'Email required';\n } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(val)) {\n error = 'Invalid email address';\n }\n return error;\n};\n\nexport const validateMonth = (val = '') => {\n let error;\n val = val.trim();\n const valArr = val.split('-');\n if (isEmpty(val)) {\n error = 'Month and Year required';\n return error;\n }\n if (valArr[0].length !== 2) {\n error = 'Full date required';\n } else if (!valArr[1] || (valArr[1] && valArr[1].length < 4)) {\n error = 'Full 4 digit year required';\n }\n return error;\n};\n\nexport const validatePassword = (val = '', pwLength = 12, customErr) => {\n let error;\n val = val.trim();\n if (isEmpty(val)) {\n error = 'Password required';\n } else if (val.length < pwLength) {\n error =\n customErr ||\n 'Password must be at least 12 characters long to meet industry-standard security requirements.';\n }\n return error;\n};\n\nexport const validatePhone = val => {\n let error;\n val = val.trim();\n if (isEmpty(val)) {\n error = 'Field required';\n } else if (val.includes('+1') && val.length < 17) {\n error = 'Full phone number required.';\n }\n return error;\n};\n\nexport const validateSalary = val => {\n let error;\n val = val.trim();\n // eslint-disable-next-line\n let parsedVal = val.replace(/[^0-9|\\.]/g, '');\n if (isEmpty(parsedVal)) {\n error = 'Salary required';\n return error;\n }\n if (parsedVal.length < 2) {\n error = 'Salary required';\n }\n return error;\n};\n\nexport const validateSelect = (val = '') => {\n let error;\n if (Array.isArray(val)) {\n val = val.map(e => get(e, 'label', e).trim());\n if (isEmpty(val)) {\n error = 'Field required';\n }\n } else {\n val = (val?.label || val || '').trim();\n if (isEmpty(val)) {\n error = 'Field required';\n }\n }\n return error;\n};\n\nexport const validateShareLinks = val => {\n let error;\n let updatedValue = val;\n if (!Array.isArray(val)) {\n updatedValue = parseShareLink(val);\n }\n if (Array.isArray(updatedValue)) {\n updatedValue.forEach(e => {\n if (!e.label || !e.url) {\n error = 'Incomplete Link Input';\n }\n });\n }\n if (isEmpty(updatedValue)) {\n error = 'Link required';\n }\n return error;\n};\n\nexport const validateSocialSecurity = val => {\n let error;\n val = val.trim();\n if (isEmpty(val)) {\n error = 'Field required';\n } else if (val.length < 9) {\n error = 'Full social security required.';\n }\n return error;\n};\n\nexport const validateString = val => {\n let error;\n val = val ? (val?.value || val).trim() : '';\n if (isEmpty(val)) {\n error = 'Field required';\n }\n return error;\n};\n\nexport const validateZip = val => {\n let error;\n val = val ? val.trim() : '';\n if (isEmpty(val)) {\n error = 'Field required';\n }\n return error;\n};\n\nconst compareNumbers = (a, b) => {\n const aNum = a.value.replace(/[^\\d.-]/g, '');\n const bNum = b.value.replace(/[^\\d.-]/g, '');\n return bNum - aNum;\n};\n\nconst compareStrings = (a, b) => a.value.localeCompare(b.value);\n\nconst compareDates = (a, b) => {\n return dayjs(a.value, 'MMM Do, YYYY').diff(dayjs(b.value, 'MMM Do, YYYY'));\n};\n\nexport default {\n attorney: {\n value: '',\n gridColWidth: 'minMax(120px, 1fr)',\n Formik: ({ ...props }) => ,\n validate: validateSelect,\n compareFunc: compareStrings,\n },\n address: {\n value: {\n line_one: '',\n line_two: '',\n city: '',\n state: '',\n zip: '',\n },\n gridColWidth: 'minMax(140px, 2fr)',\n Formik: ({ ...props }) => ,\n validate: validateAddress,\n compareFunc: compareStrings,\n },\n address_universal: {\n value: {\n line_one: '',\n line_two: '',\n city: '',\n state: '',\n zip: '',\n country: '',\n },\n gridColWidth: 'minMax(140px, 2fr)',\n Formik: ({ ...props }) => ,\n validate: val => validateAddress(val, true),\n compareFunc: compareStrings,\n },\n boolean: {\n value: false,\n gridColWidth: 'minMax(120px, 1fr)',\n Formik: ({ ...props }) => ,\n validate: validateBoolean,\n compareFunc: compareNumbers,\n },\n checkbox_group: {\n value: '',\n gridColWidth: 'minMax(120px, 1fr)',\n Formik: ({ ...props }) => ,\n validate: validateCheckboxGroup,\n compareFunc: compareStrings,\n },\n comment: {\n value: '',\n gridColWidth: 'minMax(120px, 1fr)',\n Formik: props => ,\n compareFunc: compareStrings,\n },\n currency: {\n value: '',\n gridColWidth: 'minMax(120px, 1fr)',\n Formik: ({ ...props }) => (\n \n ),\n validate: validateCurrency,\n compareFunc: compareNumbers,\n },\n detailed_options: {\n value: '',\n gridColWidth: 'minMax(120px, 1fr)',\n Formik: ({ ...props }) => \n ),\n validate: validateSelect,\n compareFunc: compareStrings,\n },\n person_name: {\n value: '',\n gridColWidth: 'minMax(120px, 1fr)',\n Formik: ({ ...props }) => (\n \n ),\n validate: validateSelect,\n compareFunc: compareStrings,\n },\n percent: {\n value: '',\n gridColWidth: 'minMax(120px, 1fr)',\n Formik: ({ ...props }) => (\n \n ),\n validate: validateString,\n compareFunc: compareNumbers,\n },\n phone: {\n value: '',\n gridColWidth: 'minMax(120px, 1fr)',\n Formik: ({ ...props }) => (\n \n ),\n validate: validatePhone,\n compareFunc: compareStrings,\n },\n related_resource: {\n value: '',\n gridColWidth: 'minMax(120px, 1fr)',\n Formik: ({ ...props }) => (\n