{"version":3,"sources":["AppInsights.ts","App.tsx","index.tsx","utils/axios.ts","../../shared-ui/lib/index.js","models/RegistrationModel.ts","models/ReviewModel.ts","models/ContactModel.ts","models/OrganizationItemModel.ts","models/DistributionListItemModel.ts","models/OrganizationUsersModel.ts","models/UserModel.ts","utils/dates.ts","models/ReviewItemModel.ts","models/NotificationSettingsModel.ts","models/FTPFileModel.ts","models/PrimaryContactModel.ts","components/PrivateRoute.tsx","components/StaffRoute.tsx","components/Redirection.tsx","pages/Organization/OrganizationEngagementPage.tsx","constants/routes.tsx","models/OrganizationModel.ts","contexts/GlobalContext.tsx","../../shared-ui/lib/components/index.js","../../shared-ui/lib/utils/index.js","../../shared-ui/lib/utils/utils.js","models/ResponseException.ts","models/EngagementLocationModel.ts","constants/arrays.ts","constants/constants.ts","constants/validation.ts","constants/errors.ts","hooks/activateUser.ts","hooks/addOrganizationUsers.ts","hooks/login.ts","hooks/getAllUsers.ts","hooks/getOrganizationList.ts","hooks/getOrganization.ts","hooks/getUser.ts","hooks/getReview.ts","utils/form.ts","hooks/reviewForm.ts","hooks/reset.ts","hooks/reviewDocument.ts","hooks/uploadFiles.ts","hooks/deleteComments.ts","hooks/staffLogin.ts","hooks/uploadExcel.ts","utils/responses.ts","hooks/addOrUpdateResponses.ts","hooks/deleteResponses.ts","hooks/distributionList.ts","hooks/manageReviewTopics.ts","hooks/userApi.ts","hooks/removeOrganizationUsers.ts","hooks/getCommentSet.tsx","hooks/distributeReview.ts","hooks/uploadFTP.ts","hooks/commentAttachments.ts","hooks/getAdminOrganization.ts","hooks/newsLetterApi.tsx","models/EngagementModel.ts","hooks/getEngagementOrgs.ts","../../shared-ui/lib/components/DocumentForm.js","../../shared-ui/lib/components/RenderEdithTextField.js","components/comments/CommentSetModel.tsx","components/Page.tsx","hooks/analyticsApi.ts","pages/Organization/OrganizationHeader.tsx","hooks/getTopics.ts","hooks/getActivities.ts","components/responses/ResponseModel.tsx","components/comments/CommentModel.tsx","models/FileMetadataModel.ts","hooks/getFileMetadata.ts","models/DistributionListModel.ts","models/ReviewTopicModel.ts","hooks/getOrganizations.ts","hooks/getUsers.ts","../../shared-ui/lib/components/StaticAlert.js","../../shared-ui/lib/components/OrderedList.js","../../shared-ui/lib/components/OrderedDocumentList.js","../../shared-ui/lib/components/RenderSelectField.js","../../shared-ui/lib/components/RenderTextField.js","../../shared-ui/lib/components/RenderCheckboxField.js","../../shared-ui/lib/utils/constants.js","pages/Organization/AdminLogoUpload.tsx","utils/auth.ts","../../shared-ui/lib/components/BoardListItem.js","../../shared-ui/lib/components/NavBar.js","../../shared-ui/lib/components/Wrapper.js","../../shared-ui/lib/components/Footer.js","../../shared-ui/lib/components/StyledCard.js","../../shared-ui/lib/components/StyledEllipsis.js","../../shared-ui/lib/components/Theme.js","../../shared-ui/src/assets/fonts/Commissioner-Regular.ttf","../../shared-ui/lib/components/ThemeWrapper.js","../../shared-ui/lib/components/Map.js","../../shared-ui/lib/components/Menu.js","../../shared-ui/lib/components/Modal.js","../../shared-ui/lib/components/ModalHistory.js","../../shared-ui/lib/components/ModalNewsLetter.js","../../shared-ui/lib/utils/types.js","../../shared-ui/lib/components/ModalDLTracker.js","../../shared-ui/lib/components/ReviewAlert.js","../../shared-ui/lib/components/RenderAutocompleteField.js","../../shared-ui/lib/components/RenderAutoCompleteFieldFixed.js","../../shared-ui/lib/components/RenderOrderedAutocompleteField.js","../../shared-ui/lib/components/RenderOrderedDocumentField.js","../../shared-ui/lib/components/RenderButtonField.js","../../shared-ui/lib/components/RenderDateField.js","../../shared-ui/lib/components/RenderRichTextField.js","../../shared-ui/lib/components/RenderRichTextFieldReview.js","../../shared-ui/lib/components/RenderTextAreaField.js","../../shared-ui/lib/components/RenderFileField.js","../../shared-ui/lib/components/CircularProgress.js","../../shared-ui/lib/components/RenderRadioField.js","../../shared-ui/lib/components/RenderRecaptcha.js","../../shared-ui/lib/components/DueDateAuditTooltip.js","../../shared-ui/lib/components/SvgBox.js","../../shared-ui/lib/components/RichTextViewer.js","../../shared-ui/lib/components/Overlay.js","../../shared-ui/lib/components/StaticError.js"],"names":["browserHistory","createBrowserHistory","basename","reactPlugin","ReactPlugin","ApplicationInsights","config","instrumentationKey","process","extensions","extensionConfig","identifier","history","loadAppInsights","withAITracking","CssBaseline","profile","undefined","ReactDOM","render","Fragment","document","getElementById","axios","defaults","baseURL","AxiosPublic","create","headers","Accept","AxiosPrivate","interceptors","response","use","data","request","a","orsCookie","Cookies","getJSON","logout","refreshToken","accessToken","now","Date","getTime","tokenExpiry","jwt","decode","exp","tokenTimeLeft","refreshTokenExpiry","refreshTokenTimeLeft","post","refreshResponse","newAccessToken","newRefreshToken","setUserProfileCookie","error","Promise","reject","__createBinding","this","Object","o","m","k","k2","defineProperty","enumerable","get","__exportStar","exports","p","prototype","hasOwnProperty","call","value","require","RegistrationModel","firstName","lastName","prefix","title","email","community","confirmEmail","password","confirmPassword","organizationIds","newOrganization","contact","notificationSettings","ContactModel","OrganizationModel","NotificationSettingsModel","ReviewModel","id","type","boardId","organizationId","proponentUserIds","name","fileNumber","registryUrl","permit","Permits","documents","activityId","description","reviewParadigm","ReviewParadigm","responseDueAt","timelineStartDate","submissionReceivedDate","commentDueAt","completedAt","staffMemberIds","deletedStaffUsers","primaryContactId","relatedReviewIds","distributionListId","distributionUserIds","distributionListIds","totalListRecipients","phase","registryNumber","checkboxFilters","newEdit","newEditDate","publicReviews","status","ReviewStatusEnum","DRAFT","location","additionalFileNumbers","editedDocument","board","organization","proponentUsers","length","map","label","displayName","PermitMap","activities","el","find","paradigm","moment","unix","toISOString","staffMembers","s","filter","u","deletedDate","relateds","r","primaryContact","doc","Utils","isJsonString","JSON","parse","latitude","longitude","latlng","distributionList","Array","isArray","children","users","userCount","deemed","includes","referred","ssTimelines","city","country","postalCode","province","officePhone","cellPhone","faxNumber","OrganizationItemModel","DistributionListItemModel","user_id","OrganizationUsersModel","addExistingUsers","inviteUsers","newUser","UserModel","date","userType","fullName","active","distributionLists","organizationNames","lastLogin","updatedAt","username","options","agree","UserTypeEnum","User","organizations","isMoment","fromNow","format","getFullName","lwb","rboard","ReviewItemModel","boardName","organizationName","totalReviewTime","commentPeriod","responsePeriod","publishedAt","calculatePeriodInDays","reviewerResponds","proponentUserResponds","otherReviewerResponds","otherProponentUserResponds","otherReviewCreated","otherReviewUpdated","reviewerDeadlines","proponentUserDeadlines","otherReviewerDeadlines","otherProponentUserDeadlines","boards","proponents","proponent","activity","FTPFileModel","additionalStaffNotes","staff","fileId","projectName","createdAt","loading","abbreviation","PrimaryContactModel","PrivateRoute","props","Component","component","staffOnly","rest","isLoggedIn","isStaffUser","isAdminUser","to","pathname","state","from","StaffRoute","Redirection","url","reviewId","reviewType","replace","origin","useStyles","makeStyles","theme","container","backgroundColor","palette","common","white","borderRadius","boxShadow","padding","paddingBottom","marginTop","formSubHeader","secondary","light","formContainer","paddingLeft","paddingRight","paddingTop","addButton","minWidth","fontSize","addItemBtn","alertContainer","marginRight","flex","OrganizationEngagementPage","mapOptions","disabled","useHistory","location1","useLocation","classes","useState","itemTitle","items","setItems","setOrigin","setName","deletedItemsRef","useRef","imageName","setImageName","imageFile","setImageFile","loadImage","setLoadImage","useGetEngagementOrgs","submitEngagementOrgs","submitEngagementErrors","isSubmiting","getEngagementData","engagementData","successSubmit","useUploadExcelFile","uploadFile","isUploading","uploadComments","errors","useEffect","source","engagementItems","push","OrsRoutes","Engagement","succes","engagementName","image","originalname","handleBack","handleSubmit","values","copyValues","item","join","responseImageData","imageId","deletedItems","current","SubmissionType","Update","file","Add","Page","isFetching","initialValues","itemUrl","validationSchema","EngagementSchema","onSubmit","enableReinitialize","submitForm","validateForm","OrganizationHeader","isForm","headerText","submitButtonText","isBackButtonVisible","backModalTitleText","onBackConfirm","cancelModalTitleText","cancelModalBodyText","onCancelConfirm","className","severity","icon","Error","e","i","Container","maxWidth","Box","Typography","variant","AdminLogoUpload","fileName","isEdit","updateFile","Grid","spacing","xs","md","placeholder","RenderTextField","RenderAutoCompleteFieldFixed","fieldArrayProps","remove","form","index","IconButton","onClick","removed","aux","Delete","Button","startIcon","AddCircleOutline","websiteBaseUrl","freeze","Root","RootTimedOut","UserManual","CreateReview","EditReview","CreateIR","EditIR","AddComments","AddCommentsReviewer","SharedComments","AddResponses","AddResponseProponent","SharedResponses","Register","ResetPassword","NotFound","Unauthorized","EditUserProfile","StaffLogin","StaffPage","ImportCommentsFile","ImportResponsesFile","AddDistributionList","EditDistributionList","SystemManagement","ReviewTopics","AddReviewTopic","EditReviewTopic","Organizations","AdminOrganizations","AddEngagementOrg","EditOrganization","EditAdminOrganization","AddOrganization","EditOrganizationUsers","Users","AddUser","EditUser","AnalyticsDashboard","PasswordSet","RedistributeReview","FileUpload","NewsLetterSignUp","WebSiteRoutes","Home","Reviews","ReviewDetails","ReviewPage","lazy","AddCommentsForm","AddCommentsReviewerForm","AddResponsesForm","AddResponsesProponentForm","Login","OrganizationPage","OrganizationAdminPage","UserProfilePage","DistributionListForm","ManageReviewTopicsPage","SetPasswordPage","RedistributeReviewForm","FileUploadPage","NewsLettersignUp","AllRoutes","exact","path","AppRoutes","fallback","LinearProgress","address","telephoneNumber","primaryContacts","webpage","orgType","wasAdmin","position","GlobalContext","createContext","setProfile","Provider","initialProfile","globalContext","Consumer","__importDefault","mod","__esModule","StaticError","Overlay","RichTextViewer","SvgBox","DueDateAuditTooltip","RenderRecaptcha","RenderRadioField","CircularProgress","RenderCheckboxField","RenderFileField","RenderSelectField","RenderEdithTextField","RenderTextAreaField","RenderRichTextFieldReview","RenderRichTextField","RenderDateField","RenderButtonField","RenderOrderedDocumentField","RenderOrderedAutocompleteField","RenderAutocompleteField","ReviewAlert","ModalDLTracker","ModalNewsLetter","ModalHistory","Modal","Menu","Map","ThemeWrapper","OrderedDocumentList","OrderedList","DocumentForm","StyledEllipsis","StaticAlert","StyledCard","Footer","Wrapper","NavBar","BoardListItem","BoardListItem_1","default","NavBar_1","Wrapper_1","Footer_1","StyledCard_1","StaticAlert_1","StyledEllipsis_1","Theme_1","DocumentForm_1","OrderedList_1","OrderedDocumentList_1","ThemeWrapper_1","Map_1","Menu_1","Modal_1","ModalHistory_1","ModalNewsLetter_1","ModalDLTracker_1","ReviewAlert_1","RenderAutocompleteField_1","RenderAutoCompleteFieldFixed_1","RenderOrderedAutocompleteField_1","RenderOrderedDocumentField_1","RenderButtonField_1","RenderDateField_1","RenderRichTextField_1","RenderRichTextFieldReview_1","RenderTextAreaField_1","RenderTextField_1","RenderEdithTextField_1","RenderSelectField_1","RenderFileField_1","RenderCheckboxField_1","CircularProgress_1","RenderRadioField_1","RenderRecaptcha_1","DueDateAuditTooltip_1","SvgBox_1","RichTextViewer_1","Overlay_1","StaticError_1","__setModuleDefault","v","__importStar","result","validateStrCoordinates","latLngToMapCoordinate","extractFiletExtension","strippHtmlString","canRespond","getValueByPath","richTextDefaultValue","nullifyEmptyStringProperties","getFileSize","isRichTextEmpty","richTextContentToPlainText","parseRichTextValue","parseHTMLToJSON","parsePlainTextToJSON","isJsonStringArray","moment_1","draft_js_1","constants_1","lodash_1","str","json","text","isString","contentState","ContentState","createFromText","stringify","convertToRaw","EditorState","createWithContent","getCurrentContent","blocksFromHTML","convertFromHTML","createFromBlockArray","contentBlocks","entityMap","toString","_a","_b","blocks","reduce","block","fileSize","sizeIndex","floatFileSize","parseFloat","SIZE_CONVERTER","toFixed","obj","entries","acc","cur","key","keys","createEmpty","split","addressTo","ReviewType","InformationRequest","some","firstDateInEpoch","secondDateInEpoch","firstDate","startOf","diff","pop","parts","lat","trim","lng","mapCoordinate","isNaN","ResponseErrorType","errorType","message","ResponseErrorDetails","details","class","code","lineNumber","number","ResponseData","errorDetails","errorMessage","Response","getMessages","getErrorType","ResponseException","exception","isAxiosError","EngagementLocationModel","ReviewStatusPaginationEnum","ReviewTypeEnum","CommentStatusEnum","CommentTypeEnum","UploadType","UserProfileMode","Prefixes","Provinces","SystemManagementMenuItems","UserProfileMenuItems","AUTOCOMPLETE_DEFAULT_PAGE_SIZE","DEFAULT_MAP_PIN","aadRedirectUri","window","shareReviewDialogMessage","shareCommentDialogMessage","autoSavingInterval","parseInt","CUSTOM_TOPIC","TABLE_ROWS_PER_PAGE","PASSWORD_PATTERN","POSTAL_CODE_PATTERN","URL_PATTERN","URL_PATTERN_WITH_PROTOCOL","NUMBER_REGEX","richTextContentValidation","yup","required","EMPTY_RICH_TEXT_ERROR_MESSAGE","transform","richTextInput","test","TRANSFORMATION_ERROR_MESSAGE","TYPE_ERROR_MESSAGE","String","EMPTY_RICH_TEXT_CONTENT_ERROR_MESSAGE","Boolean","max","optionalRichTextContentValidation","CreateReviewSchema","shape","when","schema","nullable","is","then","optional","matches","excludeEmptyString","PublishReviewSchema","oneOf","Review","parent","isSameOrBefore","isSameOrAfter","COMPLETED","isValid","deletedUser","createError","of","documentURL","LoginSchema","AdminOrgSchema","ensure","hyperLinkTitle","procedureRules","hexColor","OrganizationSchema","x","SetPasswordSchema","min","RegistrationSchema","isNewOrganization","ResetPasswordSchema","UserInviteSchema","commentFile","existingUsers","EditHistorySchema","editList1","header","idDes","AddRemoveListUsersSchema","newAddedUsers","reason","removedUsers","AddCommentsSchema","comments","topicId","customTopic","Audio","recommendation","attachments","authorId","AddInformationRequestSchema","addressToId","AddResponsesSchema","responseDescription","AddCommentsReviewerSchema","reviewerId","AddResponseProponentSchema","proponentId","EditUserProfileSchema","mode","AddByStaff","NewsLetterSchema","recaptcha","AddAudioComments","audio","size","transcript","DistributionListSchema","ReviewTopicSchema","RedistributeReviewSchema","userIds","sendToList","FileUploadSchema","staffIds","MAX_FTP_UPLOAD_FILE_SIZE","RequiredUserProfileSchema","ReviewError","REVIEW_NOT_FOUND","useActivateUser","setFetching","success","setSuccess","successPasswordSet","setSuccessPasswordSet","setErrors","displayErrors","setDisplayErrors","submit","activationCode","getErrorMessage","retrieveActivation","setPassword","useAddOrganizationUsers","uid","useLogin","hasAllRequiredFields","setHasAllRequiredFields","user","isValidSync","userProfile","useGetAllUsers","allUsers","setAllUsers","onLoad","useGetOrganizationList","isFetchingOrganizationList","setFetchingOrganizationList","organizationListItems","setOrganizationItems","organizationCount","setOrganizationCount","fetchOrganizationList","queryParams","params","includeUserCount","organizationList","org","count","useGetOrganization","orgData","setOrgData","getOrganization","useGetUser","getUser","useGetReview","getReview","queryparams","getReviewAcces","postEditHistory","EditedAt","currentDate","serializeFormValues","valuesCopy","cloneDeep","forEach","indexOf","useReviewForm","formRef","useParams","setInitialValues","isSending","setIsSending","setValidationSchema","autoSaveTime","setAutoSaveTime","isEditView","setIsEditView","userId","getUserId","review","href","setTouched","fields","resolve","setTimeout","ignoreNotification","setFieldValue","updateReview","createReview","ACTIVE","patch","deleteReview","delete","debouncedSave","debounce","interval","setInterval","dirty","autoSave","clearInterval","useReset","setError","useAddReviewDocument","postDocument","useUploadForm","Transcript","CommentAttachment","ResponseAttachment","upload","formData","FormData","append","res","useDeleteComments","deleteComments","commentsToDelete","commentSetId","deleteEmptyCommentSet","useStaffLogin","setUploading","endpoint","files","uploadResponses","serializeResponsesFormValues","lateOverride","update","newDraftResponse","isSubmited","PUBLISHED","commentsCopy","isLate","comment","commentId","touched","updatedResponses","resetFocus","late","submited","focused","useAddOrUpdateResponsesForm","isAutoSave","put","open","useDeleteResponses","deleteResponses","responsesToDelete","useDistributionList","setIsFetching","setCount","getAll","query","dl","getDetails","individualUserIds","concat","payload","duplicate","deleteList","useManageReviewTopics","isSubmittingTopics","setSubmittingTopics","submitTopicsErrors","setSubmitTopicsErrors","submitReviewTopic","reviewTopic","submissionType","updateRes","USERS_BASE_URL","useUserApi","isUserApiSubmitting","setUserApiSubmitting","isUserApiFetching","setUserApiFetching","userApiSuccess","setUserApiSuccess","userApiErrors","setUserApiErrors","userSubmissionType","setUserSubmissionType","submittedUser","setSubmittedUser","fetchedUsers","setFetchedUsers","fetchedUser","setFetchedUser","staffOptions","setStaffOptions","setUserCount","submitUser","updatedSubmittingUser","UserSubmissionType","UpdateByStaff","UpdateOwn","updateCookie","fetchUsers","getUserCount","sort","u1","u2","fetchStaffOptions","fetchUser","resetUserApi","useRemoveOrganizationUsers","useGetCommentSet","getOneCommentSetByParams","withComments","published","c","CommentSetModel","getCommentSetsByParams","skip","take","assign","commentSet","cs","useDistributeReview","useUploadFTPForm","uploadProgress","setUploadProgress","sasUrl","fileUrl","blobService","BlobServiceClient","containerClient","getContainerClient","blockBlobClient","getBlockBlobClient","uploadBrowserData","onProgress","ev","loadedBytes","fileData","mimetype","generatedUrl","encoding","filename","resetForm","useDeleteCommentAttachment","isDeleting","setIsDeleting","toDeleteFileIndex","setDeleteFileIndex","deleteAttachment","attachmentId","uploadType","fileIndex","urlPrefix","useGetAdminOrganization","adminOrgItems","setAdminOrgItems","includeUserAdminCount","orderBy","order","useNewsLetterApi","dataNewsLetter","setDataNewsLetter","apiSuccess","setApisuccess","apiErrors","setApiErrors","showNL","setShowNL","listFile","setListFile","updateUserNewsLetter","NewsLetterSubmissionType","Submit","UpdatePreferences","getNewsLetters","rows","Email","getUserNewsLetter","getUserPreferences","Newsletter","getNewsLetterListFile","EngagementModel","setEngagementData","setIsSubmiting","setSuccessSubmit","engagementList","setEngagementList","setSubmitEngagementErrors","engagementSubmisisonType","setEngagementSubmissionType","getEngagementOrgs","eng","dataCount","react_1","prop_types_1","Box_1","Button_1","Card_1","Grid_1","Typography_1","formik_1","_1","isEditing","onCancel","onItemSubmit","useFormikContext","setFieldError","setFieldTouched","createElement","my","FastField","sm","color","save","propTypes","isRequired","string","bool","any","TextField_1","field","onChange","onBlur","submitCount","defaultValue","inputVariant","submitOnEnter","characterLimit","onInputBlur","otherProps","getIn","touch","initState","setInitState","multiline","fullWidth","event","target","onKeyDown","preventDefault","inputProps","maxLength","style","Number","toLocaleString","defaultProps","CommentSetAuthorModel","CommentSetOrganizationModel","author","totalCommentSet","hasDraft","responseDraft","CommentModel","content","useContext","initials","setInitials","isStaff","isAdmin","isLogged","clearAuth","charAt","toUpperCase","navBar","authActionSubmit","links","visible","loggedIn","userInitials","onUserInitialClick","newsLetterOrigin","ANALYTICS_BASE_URL","useAnalyticsApi","isFetchingPublicReviews","setFetchingPublicReviews","publicReviewsSuccess","setPublicReviewsSuccess","publicReviewsErrors","setPublicReviewsErrors","fetchedPublicReviews","setFetchedPublicReviews","publicReviewsCount","setPublicReviewsCount","isORSCommentsFetching","setORSCommentsFetching","orsCommentsSuccess","setORSCommentsSuccess","orsCommentsErrors","setORSCommentsErrors","fetchedORSComments","setFetchedORSComments","orsCommentsTotal","setORSCommentsTotal","isProcessingTimesFetching","setProcessingTimesFetching","processingTimesSuccess","setProcessingTimesSuccess","processingTimesErrors","setProcessingTimesErrors","fetchedProcessingTimes","setFetchedProcessingTimes","fetchPublicReviews","updatedQuery","requestTypes","dateFrom","dateTo","dataWitLabels","dataItem","formatName","trimmedName","PermitLabels","filteredTotal","fetchProcessingTimes","fetchORSComments","filteredData","totalMap","root","primary","main","menu","actions","alignItems","justifyContent","submitButton","whiteSpace","cancelButton","borderColor","disableSubmitButton","backModalBodyText","isCancelButtonVisible","cancelButtonText","isDeleteButtonVisible","deleteButtonText","deleteModalTitleText","deleteModalBodyText","onDeleteConfirm","cancelOpen","setCancelOpen","backOpen","setBackOpen","deleteOpen","setDeleteOpen","openCancelModal","closeCancelModal","closeBackModal","openDeleteModal","closeDeleteModal","saveUserProfile","display","ml","smUp","xsDown","isVisible","titleText","modalText","cancelText","confirmText","onConfirm","useGetTopics","isFetchingTopics","setFetchingTopics","topicsErrors","setTopicsErrors","getReviewTopics","getAllTopics","getReviewTopic","reviewTopicId","useGetActivities","activityItems","setActivityItems","defaultTextEditorValue","ResponseModel","referenceId","topic","audioId","audioName","transcriptId","transcriptName","Math","random","Default","FileMetadataModel","Activity","Activities","Authorization","Company","CurrentStatus","Description","Expiry","MaxLat","MaxLong","MinLat","MinLong","Name","RO","Region","SpecLocation","Start","Status","Url","PartitionKey","RowKey","Location","URL","calculateLocation","midLat","midLong","useGetFileMetadata","isFetchingMetadata","setFetchingMetadata","getFileMetadata","DistributionListModel","faxRecipients","reviews","canBeDeleted","reviewStatus","newIndividualAddedUsers","ReviewTopicModel","useGetOrganizations","organizationItems","autoComplete","disableAddressTo","useGetUsers","userItems","setUserItems","userObjects","setUserObjects","getUsersFromMultipleOrgs","paramsSerializer","qs","core_1","Alert_1","styles_1","IconButton_1","List_1","ListItem_1","ListItemIcon_1","ListItemText_1","ListItemSecondaryAction_1","Delete_1","Description_1","DragHandle_1","Edit_1","OpenInNew_1","react_beautiful_dnd_1","fontWeight","lineHeight","itemText","overflow","fileIcon","listItems","isFile","onOpenItem","onEditItem","onDeleteItem","DragDropContext","onDragEnd","Droppable","droppableId","provided","droppableProps","ref","innerRef","Draggable","draggableId","draggableProps","dragHandleProps","edge","arrayOf","object","editFormIndex","setEditFormIndex","documentUrl","formattedFileSize","newName","MenuItem_1","onValueChange","emptyOption","select","displayEmpty","onClose","option","array","func","checkedValue","textStyle","Checkbox","checked","newInputValue","proponentResponsesDueLabel","reviewerCommentsDueLabel","InformationRequestItemLabels","ReviewItemLabels","UserType","SORT_ORDER","CommentOrigin","breadcrumbs","boardPrefix","editItem","completeItem","activeItem","print","documentsPrefix","noDocuments","submitCommentsOnlineTitle","submitCommentsOnline","submitCommentsOnlineBox","addCommentsOnlineText","uploadCommentsButton","noAttachments","noRelatedItems","attachmentsListPrefix","infoBox1","infoBox2","submitText","addCommentPlaceholder","addRecommendationPlaceholder","addRecommendationOnBehalf","submitResponsesOnline","submitResponsesOnlineBox","addAnotherRow","addAudioRow","itemNoComments","Permit","PermB","Licence","LicB","PublicHearingProceedings","EnvironmentalAssessment","EnvironmentalImpactReview","Other","border","textAlign","cursor","logoButton","marginBottom","logoButtonText","marginRigth","deleteIcon","marginLeft","fileValidation","setFileValidation","fileError","setFileError","handleDrop","setHandleDrop","handleOnDrop","endIcon","onDropAccepted","onDropRejected","accept","maxFiles","multiple","getRootProps","getInputProps","Staff","Admin","timeOut","refreshExpiry","set","expires","newProfile","KeyboardArrowRight_1","ImageRounded_1","imageBase64","imageMime","linkTo","reviewCount","Paper","elevation","boardListItemWrapper","justify","alt","src","boardImage","boardListItemIcon","boardListItemHeader","withStyles","flexGrow","AppBar_1","Avatar_1","Divider_1","Toolbar_1","clsx_1","ChromeReaderMode_1","react_router_dom_1","DenseAppBar","onNewsLetterClick","currentPath","setCurrentPath","navBorder","disableGutters","orientation","flexItem","link","menuButton","avatar","divider","borderBottom","dark","minHeight","pb","isHidden","Container_1","breakpoints","down","textDecoration","opacity","copy","year","getFullYear","py","CardHeader_1","CardContent_1","titleTypographyProps","textOverflow","node","Commissioner_Regular_ttf_1","icons_1","commissioner","fontFamily","fontStyle","createMuiTheme","black","typography","h1","letterSpacing","h2","h3","h4","subtitle1","subtitle2","body1","body2","caption","overline","button","textTransform","MuiSelect","IconComponent","KeyboardArrowDown","overrides","MuiCssBaseline","flexDirection","ul","margin","body","MuiAppBar","MuiContainer","MuiButton","containedPrimary","containedSecondary","sizeSmall","sizeLarge","outlinedSecondary","MuiIconButton","MuiMenu","list","MuiMenuItem","MuiLink","width","MuiTableCell","MuiInputBase","input","MuiFilledInput","height","MuiCheckbox","ThemeProvider","react_leaflet_1","leaflet_1","marker_icon_png_1","marker_shadow_png_1","DefaultIcon","iconUrl","shadowUrl","iconSize","iconAnchor","Marker","SetCentre","useMap","panTo","centre","centrePin","box","pin","zoom","northwestBound","northeastBound","southeastBound","southwestBound","MapContainer","center","TileLayer","attribution","Polygon","pathOptions","positions","ArrowDropDown_1","anchorEl","setAnchorEl","handleClose","currentTarget","getContentAnchorEl","keepMounted","anchorOrigin","vertical","horizontal","transformOrigin","Dialog_1","DialogActions_1","DialogContent_1","DialogContentText_1","DialogTitle_1","pt","maxHeight","icons_2","editRow","dialog","deleteButton","alignSelf","editOptionsState","setEditOptionsState","onPost","setEditHistoryField","editList","setEditList","currentLocalTime","mstTime","timeZone","Formik","Form","Field","onSelectChange","onTextChange","splice","removeEditItem","Email_1","utils_1","dialogContent","flexWrap","selectBoard","dialogDiv","mailIcon","_c","_d","userName","submitData","preferences","handleCheckBox","termsText","rel","GATSBY_PRIVACY_TERMS_USE_PDF_URL","dataToSent","ErrorMessage","headerSection","fieldsContainer","addedUsers","emptyField","console","log","textToCopy","Collapse_1","standardInfo","standardSuccess","standardError","standardWarning","alertTitle","alertMessage","setIsVisible","in","Autocomplete_1","adornment","fill","single","onFilterChange","parentField","Icon","autocompleteRef","initialValue","parentFieldRef","textChange","useCallback","throttle","clearBtn","querySelectorAll","click","getOptionLabel","popupIcon","getOptionSelected","onFocus","renderInput","InputProps","startAdornment","InputAdornment","iconStyle","listTitleDesc","listTitleItem","setListItems","element","renderTags","destination","reorderedItem","fieldName","addDocument","newDocIds","setNewDocIds","documentError","setDocumentError","oldDocsRemoved","setOldDocsRemoved","newDoc","newDocument","arr","slice","aux1","FieldArray","inputValue","moment_2","pickers_1","fieldLabel","minDate","maxDate","disablePast","minDateMessage","maxDateMessage","disableFuture","MuiPickersUtilsProvider","libInstance","utils","KeyboardDatePicker","InputAdornmentProps","strInput","newVal","invalidDateMessage","autoOk","disableToolbar","mask","allowKeyboardControl","defaultEditorTheme","mui_rte_1","MUIRichTextEditor","editor","overflowY","toolbar","borderBottomRightRadius","borderBottomLeftRadius","placeHolder","top","editorContainer","msOverflowY","right","bottom","readOnlyText","inputLabel","pointerEvents","controls","allwaysOpen","editMode","switchEditMode","focus","setFocus","textState","setTextState","debouncedSetFieldValue","MuiThemeProvider","readOnly","inlineToolbar","mt","TextareaAutosize_1","paddingY","rowsMin","uniqueId","htmlFor","left","round","Radio","react_google_recaptcha_1","recaptchaRef","reset","sitekey","token","dueDateFieldName","extensionDates","arrow","tooltip","Tooltip","fieldValue","strokeColor","fillColor","d","radius","stroke","overlay","zIndex","spinner"],"mappings":"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","file":"static/js/main.08a0d397.chunk.js","sourcesContent":["// AppInsights.js\nimport { ApplicationInsights, ITelemetryPlugin } from '@microsoft/applicationinsights-web';\nimport { ReactPlugin } from '@microsoft/applicationinsights-react-js';\nimport { createBrowserHistory } from 'history';\n\nconst browserHistory = createBrowserHistory({ basename: '' });\nconst reactPlugin = new ReactPlugin();\nlet appInsights;\nif (process.env.REACT_APP_INSTRUMENTATION_KEY) {\n appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: process.env.REACT_APP_INSTRUMENTATION_KEY,\n extensions: [(reactPlugin as unknown) as ITelemetryPlugin],\n extensionConfig: {\n [reactPlugin.identifier]: { history: browserHistory },\n },\n },\n });\n appInsights.loadAppInsights();\n}\nexport { reactPlugin, appInsights };\n","import React from 'react';\n\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport { BrowserRouter } from 'react-router-dom';\n\nimport { ThemeWrapper } from '@mvrb-frontend/shared-ui';\nimport { Provider as GlobalProvider } from './contexts/GlobalContext';\nimport { Routes } from './constants';\nimport { withAITracking } from '@microsoft/applicationinsights-react-js';\nimport { reactPlugin } from './AppInsights';\nimport './index.css';\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n \n );\n}\n\nexport default withAITracking(reactPlugin, App);\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root'),\n);\n","import axios from 'axios';\nimport Cookies from 'js-cookie';\nimport jwt from 'jsonwebtoken';\nimport { logout, setUserProfileCookie } from './auth';\n\nconst sessionThreshold = +(process.env.REACT_APP_SESSION_THRESHOLD || 1800);\n\naxios.defaults.baseURL = process.env.REACT_APP_BASE_API_URL;\n\nexport const AxiosPublic = axios.create({\n headers: {\n Accept: 'application/json',\n 'Content-type': 'application/json',\n },\n});\n\nexport const AxiosPrivate = axios.create({\n headers: {\n Accept: 'application/json',\n 'Content-type': 'application/json',\n },\n});\n\nAxiosPublic.interceptors.response.use(response => response.data);\n\nAxiosPrivate.interceptors.request.use(\n async config => {\n try {\n const orsCookie = Cookies.getJSON('ORS');\n\n if (!orsCookie) {\n await logout(true);\n }\n\n const { profile, refreshToken } = orsCookie;\n let accessToken = orsCookie.accessToken;\n\n const now = new Date().getTime();\n const tokenExpiry = jwt.decode(accessToken).exp * 1000; // both access and refresh has the same exp property\n const tokenTimeLeft = tokenExpiry - now;\n const refreshTokenExpiry = jwt.decode(refreshToken).exp * 1000;\n const refreshTokenTimeLeft = refreshTokenExpiry - now;\n\n // Session Expired\n if (tokenTimeLeft <= 0 && refreshTokenTimeLeft <= 0) {\n await logout(true);\n }\n // Access Token has expired while refresh token still valid\n else if (tokenTimeLeft <= sessionThreshold && refreshTokenTimeLeft > 0) {\n const refreshResponse = await AxiosPublic.post('/auth/refresh', { refreshToken });\n const { accessToken: newAccessToken, refreshToken: newRefreshToken } = refreshResponse.data;\n jwt.decode(newRefreshToken).exp;\n setUserProfileCookie(newAccessToken, newRefreshToken, profile);\n accessToken = newAccessToken;\n }\n\n const authHeader = config.headers['authorization'];\n if (!authHeader) {\n config.headers['authorization'] = `bearer ${accessToken}`;\n }\n } catch (e) {\n await logout(true);\n }\n return config;\n },\n error => {\n Promise.reject(error);\n },\n);\n\nAxiosPrivate.interceptors.response.use(response => response.data);\n","\"use strict\";\n// @create-index\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./components/index\"), exports);\n__exportStar(require(\"./utils/index\"), exports);\n","import { OrganizationModel, ContactModel, OrganizationItemModel, NotificationSettingsModel } from '.';\nexport default class RegistrationModel {\n firstName: string;\n lastName: string;\n prefix: string;\n title: string;\n email: string;\n community: string;\n confirmEmail: string;\n password: string;\n confirmPassword: string;\n organizationIds: OrganizationItemModel[];\n newOrganization?: OrganizationModel;\n contact: ContactModel;\n notificationSettings: NotificationSettingsModel;\n\n constructor(data?: any) {\n this.firstName = data?.firstName || undefined;\n this.lastName = data?.lastName || undefined;\n this.prefix = data?.prefix || undefined;\n this.title = data?.title || undefined;\n this.email = data?.email || undefined;\n this.community = data?.community || undefined;\n this.confirmEmail = data?.confirmEmail || undefined;\n this.password = data?.password || undefined;\n this.confirmPassword = data?.confirmPassword || undefined;\n this.contact = new ContactModel(data?.contact || {});\n this.organizationIds = data?.organizationIds || [];\n this.newOrganization = data?.newOrganization ? new OrganizationModel(data.newOrganization) : undefined;\n this.notificationSettings = new NotificationSettingsModel(data?.notificationSettings || {});\n }\n}\n","import moment from 'moment';\n\nimport { Utils, ReviewParadigm, PermitMap } from '@mvrb-frontend/shared-ui';\nimport { Permits, ReviewStatusEnum } from '../constants';\nexport default class ReviewModel {\n id: string;\n type: string;\n boardId: string;\n organizationId: string;\n proponentUserIds: string[];\n name: string;\n title: string;\n fileNumber: string;\n registryUrl: string;\n permit: string[] | { value: string; label: string }[] = Permits;\n documents = [];\n activityId: string;\n description: string;\n reviewParadigm: string[] | { value: string; label: string }[] = ReviewParadigm;\n responseDueAt?: string;\n timelineStartDate?: string;\n submissionReceivedDate?: string;\n commentDueAt?: string;\n completedAt?: string;\n staffMemberIds: string[];\n deletedStaffUsers: string[];\n primaryContactId: string;\n relatedReviewIds: string[];\n distributionListId: string;\n distributionUserIds: { value: string; label: string }[];\n distributionListIds: { value: string; label: string }[];\n totalListRecipients: number;\n phase: number;\n registryNumber: number;\n checkboxFilters: any;\n newEdit: any[];\n newEditDate: any;\n // Related Public Reviews\n publicReviews = '';\n status = ReviewStatusEnum.DRAFT;\n\n // Location\n location: any;\n\n // Additional File Numbers\n additionalFileNumbers: { id: string; fileNumber: string; registryUrl: string }[];\n\n //Edited history - Documents changes tracking\n editedDocument: false;\n\n constructor(data: any = {}) {\n this.id = data.id || undefined;\n this.type = data.type;\n this.boardId = data.board ? data.board.id : '';\n this.organizationId = data.organization ? data.organization.id : '';\n this.proponentUserIds =\n data.proponentUsers && data.proponentUsers.length > 0\n ? data.proponentUsers.map(p => ({ value: p.id, label: p.displayName }))\n : [];\n this.name = data.name || '';\n this.title = data.title || '';\n this.fileNumber = data.fileNumber || '';\n this.registryUrl = data.registryUrl || '';\n this.permit = data.permit ? data.permit.map(p => ({ value: p, label: PermitMap[p] })) : [];\n this.activityId = data.activities?.length > 0 ? data.activities[0].id : '';\n this.description = data.description || '';\n this.reviewParadigm = data.reviewParadigm\n ? data.reviewParadigm.map(el => ({\n value: el,\n label: ReviewParadigm.find(paradigm => paradigm.value === el)?.label,\n }))\n : [];\n this.commentDueAt = data.commentDueAt ? moment.unix(data.commentDueAt).toISOString() : undefined;\n this.responseDueAt = data.responseDueAt ? moment.unix(data.responseDueAt).toISOString() : undefined;\n this.timelineStartDate = data.timelineStartDate ? moment.unix(data.timelineStartDate).toISOString() : undefined;\n this.completedAt = data.completedAt ? moment.unix(data.completedAt).toISOString() : undefined;\n this.submissionReceivedDate = data.submissionReceivedDate\n ? moment.unix(data.submissionReceivedDate).toISOString()\n : undefined;\n this.staffMemberIds =\n data.staffMembers?.length > 0 ? data.staffMembers.map(s => ({ value: s.id, label: s.displayName })) : [];\n\n this.deletedStaffUsers = (data.staffMembers || []).filter(u => u.deletedDate);\n\n this.relatedReviewIds = data.relateds?.length > 0 ? data.relateds.map(r => ({ value: r.id, label: r.title })) : [];\n this.primaryContactId = data.primaryContact ? data.primaryContact.id : '';\n this.documents = data.documents?.length > 0 ? data.documents.map(doc => doc) : [];\n this.status = data.status || ReviewStatusEnum.DRAFT;\n this.location = Utils.isJsonString(data.location)\n ? JSON.parse(data.location)\n : { latitude: undefined, longitude: undefined, latlng: '' };\n this.phase = data.phase;\n this.registryNumber = data.registryNumber;\n\n this.distributionListId = data.distributionList?.id || undefined;\n this.distributionListIds = Array.isArray(data.distributionList?.children)\n ? data.distributionList.children.map(el => ({ value: el.id, label: el.name }))\n : [];\n this.distributionUserIds = Array.isArray(data.distributionList?.users)\n ? data.distributionList.users.map(el => ({ value: el.id, label: el.displayName }))\n : [];\n this.totalListRecipients = data.distributionList?.userCount || 0;\n\n this.additionalFileNumbers = data.additionalFileNumbers || [];\n this.newEdit = data.newEdit? data.newEdit : undefined;\n this.newEditDate = data.newEditDate? data.newEditDate: undefined;\n this.editedDocument = data?.editedDocument || false;\n this.checkboxFilters = data?.checkboxFilters \n ? {\n deemed: data.checkboxFilters.includes('deemed'),\n referred: data.checkboxFilters.includes('referred'),\n ssTimelines: data.checkboxFilters.includes('ssTimelines'),\n } : {\n deemed: false,\n referred: false,\n ssTimelines: false,\n };\n }\n}\n","export default class ContactModel {\n city: string;\n country: string;\n postalCode: string;\n province: string;\n officePhone: string;\n cellPhone: string;\n faxNumber: string;\n\n constructor(data: any) {\n this.city = data.city || undefined;\n this.country = 'Canada';\n this.postalCode = data.postalCode || undefined;\n this.province = data.province || undefined;\n this.officePhone = data.officePhone || undefined;\n this.cellPhone = data.cellPhone || undefined;\n this.faxNumber = data.faxNumber || undefined;\n }\n}\n","export default class OrganizationItemModel {\n value: string;\n label: string;\n\n constructor(data: any) {\n this.value = data.id || undefined;\n this.label = data.name || undefined;\n }\n}\n","export default class DistributionListItemModel {\n id: string;\n name: string;\n users: string[];\n userCount: number;\n user_id: string;\n constructor(data: any) {\n this.id = data.id || undefined;\n this.name = data.name || undefined;\n this.user_id = data?.user_id || undefined;\n this.users = Array.isArray(data.users) ? data.users.map(u => u.id) : undefined;\n this.userCount = data.userCount || 0;\n }\n}\n","import { DistributionListModel } from '.';\n\nexport default class OrganizationUsersModel {\n addExistingUsers: string[];\n inviteUsers: { firstName: string; lastName: string; email: string }[];\n newUser: { firstName: string; lastName: string; email: string };\n\n constructor(data?: any) {\n this.addExistingUsers = data?.addExistingUsers || [];\n this.inviteUsers = data?.inviteUsers || [];\n this.newUser = data?.newUser || null;\n }\n}\n","import moment from 'moment';\n\nimport { formatDiffSince } from '../utils/dates';\nimport { UserTypeEnum } from '../constants';\n\nimport { ContactModel, OrganizationItemModel, DistributionListItemModel, NotificationSettingsModel } from '.';\nexport default class UserModel {\n id: string;\n userType: UserTypeEnum;\n firstName: string;\n lastName: string;\n displayName: string;\n fullName?: string;\n prefix: string;\n title: string;\n email: string;\n active: boolean;\n community: string;\n contact: ContactModel;\n organizationIds: OrganizationItemModel[];\n distributionLists: DistributionListItemModel[];\n notificationSettings: NotificationSettingsModel;\n organizationNames: string[];\n boardId: string;\n lastLogin?: string;\n updatedAt?: string;\n \n //newsletter fields for validation\n username?: string;\n options?: any;\n agree?: boolean;\n\n getFullName(): string {\n return `${this.firstName} ${this.lastName}`;\n }\n\n constructor(data?: any) {\n this.id = data?.id || undefined;\n this.userType = data?.userType || UserTypeEnum.User;\n this.firstName = data?.firstName || undefined;\n this.lastName = data?.lastName || undefined;\n this.displayName = data?.displayName || undefined;\n this.email = data?.email || undefined;\n this.active = data?.active ?? undefined;\n this.prefix = data?.prefix || undefined;\n this.title = data?.title || undefined;\n this.community = data?.community || undefined;\n this.contact = new ContactModel(data?.contact || {});\n this.organizationIds = Array.isArray(data?.organizations)\n ? data.organizations.map(el => new OrganizationItemModel(el))\n : [];\n this.distributionLists = Array.isArray(data?.distributionLists)\n ? data.distributionLists.map(el => new DistributionListItemModel(el))\n : [];\n this.notificationSettings = new NotificationSettingsModel(data?.notificationSettings || {});\n this.organizationNames = Array.isArray(data?.organizations) ? data.organizations.map(el => el.name) : [];\n this.boardId = data?.board?.id || undefined;\n this.lastLogin = data?.lastLogin ? formatDiffSince(moment.unix(data.lastLogin)) : undefined;\n this.updatedAt = data?.updatedAt ? moment.unix(data.updatedAt).format('ll') : undefined;\n this.fullName = data?.firstName && data?.lastName ? this.getFullName() : undefined;\n this.username = this.fullName? this.fullName : '';\n this.options = {lwb: false, rboard: false};\n this.agree = false;\n }\n}\n","import moment from 'moment';\n\nexport const formatDiffSince = date => {\n if (!date || !moment.isMoment(date)) {\n return '';\n }\n return moment(date).fromNow();\n};\n","import moment from 'moment';\nimport { Utils } from '@mvrb-frontend/shared-ui';\nexport default class ReviewItemModel {\n id: string;\n name: string;\n title: string;\n boardName: string;\n organizationName: string;\n totalReviewTime?: string;\n commentPeriod?: string;\n responsePeriod?: string;\n\n constructor(data: any) {\n this.id = data.id;\n this.name = data.name;\n this.title = data.title;\n this.boardName = data.board?.name;\n this.organizationName = data.organization?.name;\n this.commentPeriod =\n data.publishedAt && data.commentDueAt\n ? Utils.calculatePeriodInDays(data.publishedAt, data.commentDueAt) + ' days'\n : undefined;\n this.responsePeriod =\n data.commentDueAt && data.responseDueAt\n ? Utils.calculatePeriodInDays(data.commentDueAt, data.responseDueAt) + ' days'\n : undefined;\n this.totalReviewTime =\n data.publishedAt && data.responseDueAt\n ? Utils.calculatePeriodInDays(data.publishedAt, data.responseDueAt) + ' days'\n : undefined;\n }\n}\n","import { useGetOrganization } from '../hooks';\n\nexport default class NotificationSettingsModel {\n id: string;\n reviewerResponds: boolean;\n proponentUserResponds: boolean;\n otherReviewerResponds: boolean;\n otherProponentUserResponds: boolean;\n otherReviewCreated: boolean;\n otherReviewUpdated: boolean;\n reviewerDeadlines: number[];\n proponentUserDeadlines: number[];\n otherReviewerDeadlines: number[];\n otherProponentUserDeadlines: number[];\n boards?: string[];\n proponents?: { value: string; label: string }[];\n activities?: { value: string; label: string }[];\n\n constructor(data: any) {\n this.id = data.id || undefined;\n this.reviewerResponds = data.reviewerResponds ?? undefined;\n this.proponentUserResponds = data.proponentUserResponds ?? undefined;\n this.otherReviewerResponds = data.otherReviewerResponds ?? undefined;\n this.otherProponentUserResponds = data.otherProponentUserResponds ?? undefined;\n this.otherReviewCreated = data.otherReviewCreated ?? undefined;\n this.otherReviewUpdated = data.otherReviewUpdated ?? undefined;\n this.reviewerDeadlines = data.reviewerDeadlines || [];\n this.proponentUserDeadlines = data.proponentUserDeadlines || [];\n this.otherReviewerDeadlines = data.otherReviewerDeadlines || [];\n this.otherProponentUserDeadlines = data.otherProponentUserDeadlines || [];\n this.boards = Array.isArray(data.boards) ? data.boards.map(board => board.id) : [];\n this.proponents = Array.isArray(data.proponents)\n ? data.proponents.map(proponent => ({ value: proponent.id, label: proponent.name }))\n : [];\n this.activities = Array.isArray(data.activities)\n ? data.activities.map(activity => ({ value: activity.id, label: activity.name }))\n : [];\n }\n}\n","import moment from 'moment';\nexport default class FTPFileModel {\n id: string;\n description: string;\n additionalStaffNotes: string;\n fileNumber: string;\n board: string;\n staff: string[];\n email: string;\n fileId: string;\n projectName: string;\n createdAt?: string;\n loading: boolean;\n\n constructor(data?: any) {\n this.id = data?.id || undefined;\n this.description = data?.description || undefined;\n this.additionalStaffNotes = data?.additionalStaffNotes || undefined;\n this.fileNumber = data?.fileNumber || undefined;\n this.board = data?.board.abbreviation || undefined;\n this.staff = data?.staff.map(s => s.displayName) || undefined;\n this.email = data?.email || undefined;\n this.fileId = data?.fileId || undefined;\n this.projectName = data?.projectName || undefined;\n this.createdAt = data?.createdAt ? moment.unix(data.createdAt).format('DD MMM YYYY') : undefined;\n this.loading = false;\n }\n}\n","export default class PrimaryContactModel {\n value: string;\n label: string;\n \n constructor(data: any) {\n this.value = data.value || undefined;\n this.label = data.label || undefined;\n }\n }","import React from 'react';\n\nimport { Redirect, Route } from 'react-router-dom';\nimport { isAdminUser, isLoggedIn, isStaffUser } from '../utils/auth';\n\n// This is used to determine if a user is authenticated and\n// if they are allowed to visit the page they navigated to.\n\n// If they are: they proceed to the page\n// If not: they are redirected to the login page.\n\n// If they are authenticated but without the required role they will be redirectec to unauthorized page\n\nconst PrivateRoute = props => {\n const { component: Component, staffOnly, ...rest } = props;\n\n if (!isLoggedIn()) {\n return } />;\n }\n \n if (staffOnly && !isStaffUser() && !isAdminUser() ) {\n return } />;\n }\n\n return } />;\n};\n\nexport default PrivateRoute;\n","import React from 'react';\nimport { Redirect, Route } from 'react-router-dom';\nimport { isStaffUser } from '../utils/auth';\n\n// This is used to determine if a user is authenticated and\n// if they are staff\n\n// If they are: they proceed to the page\n// If not: they are redirected to the login page.\nconst StaffRoute = ({ component: Component, ...rest }) => {\n return (\n \n isStaffUser() ? : \n }\n />\n );\n};\n\nexport default StaffRoute;\n","import React from \"react\";\n\nimport { Redirect, Route } from \"react-router-dom\";\nimport { isAdminUser, isLoggedIn, isStaffUser } from '../utils/auth';\nimport Cookies from \"js-cookie\";\n\nconst Redirection = props =>{\n /*\n * Use the Redirection component specially if you want to redirect from the website to the ors-frontend \n * and the PrivateRoute doesn't cover it.\n */\n const { component: Component, url,...rest} = props;\n const reviewId = Cookies.get('reviewId');\n const reviewType = Cookies.get('reviewType');\n\n props.location.pathname = url + props.location.pathname.replace('redirect', '');\n \n return } />\n}\n\nexport default Redirection;","import React, { useEffect, useRef, useState } from \"react\";\nimport Page from \"../../components/Page\";\nimport { Field, FieldArray, Formik, Form as FormikForm } from \"formik\";\nimport OrganizationHeader from \"./OrganizationHeader\";\nimport { OrsRoutes } from \"../../constants/routes\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { Box, Container, Grid, IconButton, Typography, makeStyles } from \"@material-ui/core\";\nimport { RenderTextField, StaticAlert, SubmissionType, RenderAutoCompleteFieldFixed } from '@mvrb-frontend/shared-ui';\nimport Button from '@material-ui/core/Button';\nimport { AddCircleOutline, Delete } from '@material-ui/icons';\nimport { useGetEngagementOrgs, useUploadExcelFile } from \"../../hooks\";\nimport { EngagementSchema } from \"../../constants\";\nimport { Error as ErrorIcon } from '@material-ui/icons';\nimport AdminLogoUpload from \"./AdminLogoUpload\";\n\nconst useStyles = makeStyles( theme => ({\n container: {\n backgroundColor: theme.palette.common.white,\n borderRadius: '0 0 4px 4px',\n boxShadow: '0 4px 16px 0 rgba(0,0,0,0.05)',\n padding: 0,\n paddingBottom: '32px',\n marginTop: '32px',\n },\n formSubHeader: {\n backgroundColor: theme.palette.secondary.light,\n padding: '10px 20px',\n },\n formContainer: {\n paddingLeft: '32px',\n paddingRight: '32px',\n paddingTop: '32px',\n },\n addButton:{\n padding: '0',\n minWidth: '85px !important',\n fontSize: \"16px\",\n },\n addItemBtn:{\n backgroundColor:'#F0F2F5',\n },\n alertContainer: {\n marginTop: '16px',\n marginRight: '32px',\n flex: 1,\n },\n}));\n\n\nconst OrganizationEngagementPage = () => {\n\n const mapOptions = [\n {\n value:'Acho Dene Koe',\n label:'Acho Dene Koe',\n disabled:false,\n },\n {\n value:'ADFN',\n label:'ADFN',\n disabled:false,\n },\n {\n value:'ADFN/NWTMN',\n label:'ADFN/NWTMN',\n disabled:false,\n },\n {\n value:'ADFN/NWTMN/Athabasca Denesuline',\n label:'ADFN/NWTMN/Athabasca Denesuline',\n disabled:false,\n },\n {\n value:'Dehcho First Nation (DFN)',\n label:'Dehcho First Nation (DFN)',\n disabled:false,\n },\n {\n value:'DFN/ADFN/NWT Métis Nation',\n label:'DFN/ADFN/NWT Métis Nation',\n disabled:false,\n },\n {\n value:'DFN/Akaitcho Dene First Nation (ADFN)',\n label:'DFN/Akaitcho Dene First Nation (ADFN)',\n disabled:false,\n },\n {\n value:'DFN/NWTMN',\n label:'DFN/NWTMN',\n disabled:false,\n },\n {\n value:'Ghotelnene Kodtineh Dene',\n label:'Ghotelnene Kodtineh Dene',\n disabled:false,\n },\n {\n value:'NWTMN',\n label:'NWTMN',\n disabled:false,\n },\n {\n value:'Sahtu Dene and Métis Settlement Area/ADFN',\n label:'Sahtu Dene and Métis Settlement Area/ADFN',\n disabled:false,\n },\n {\n value:'Tłc̨hǫ',\n label:'Tłc̨hǫ',\n disabled:false,\n },\n {\n value:'Tłıc̨hǫ/ADFN',\n label:'Tłıc̨hǫ/ADFN',\n disabled:false,\n },\n {\n value:'Tłc̨hǫ/ADFN/NWTMN',\n label:'Tłc̨hǫ/ADFN/NWTMN',\n disabled:false,\n },\n {\n value:'Tłıc̨hǫ/NWTMN',\n label:'Tłıc̨hǫ/NWTMN',\n disabled:false,\n },\n ]\n\n const history = useHistory();\n const location1 = useLocation();\n const classes = useStyles();\n\n const [items, setItems] = useState([{itemTitle: ''}]);\n const [origin, setOrigin] = useState('Add');\n const [name, setName] = useState('');\n const deletedItemsRef = useRef([]);\n const [imageName, setImageName]= useState(\"\");\n const [imageFile, setImageFile] = useState(undefined);\n const [loadImage, setLoadImage] = useState(false); \n\n const {\n submitEngagementOrgs, \n submitEngagementErrors, \n isSubmiting, \n getEngagementData, \n engagementData, \n successSubmit\n }=useGetEngagementOrgs();\n\n const { isUploading, uploadComments, uploadFile, errors } = useUploadExcelFile()\n \n useEffect(()=>{\n (async()=>{\n if(location1.state?.source==='edit'){\n const data = await getEngagementData(location1.state.id);\n setOrigin('Edit');\n setItems(data?.engagementItems);\n }\n })()\n },[]);\n\n useEffect(()=>{\n if(successSubmit===true && isSubmiting===false && submitEngagementErrors.length==0){\n history.push({\n pathname: OrsRoutes.Engagement,\n state:{\n succes: true,\n engagementName: name,\n type: origin,\n }\n });\n }\n },[successSubmit, isSubmiting]);\n\n useEffect(()=>{\n if(engagementData?.image?.originalname){\n setImageName(engagementData.image?.originalname)\n setLoadImage(true);\n }\n },[engagementData])\n\n const handleBack = () => {\n history.push(OrsRoutes.Engagement);\n };\n\n const handleSubmit = async(values) =>{\n let responseImageData;\n const copyValues = {...values}\n copyValues.location = copyValues.location.map((item)=>item.value).join(\",\")\n setName(values.name);\n\n //Edit\n if(origin==='Edit'){\n if(imageFile){//New loaded image\n responseImageData = (await uploadFile('/files',imageFile, true)) as any;\n submitEngagementOrgs({...copyValues, id: engagementData.id, imageId: responseImageData.data.id, deletedItems: deletedItemsRef.current}, SubmissionType.Update)\n }\n else{\n submitEngagementOrgs({...copyValues, id: engagementData.id, imageId:values?.file === false ? null : values?.imageId, deletedItems: deletedItemsRef.current}, SubmissionType.Update)\n }\n }//Add\n else{\n if(imageFile){\n responseImageData = (await uploadFile('/files',imageFile, true)) as any;\n submitEngagementOrgs({...copyValues, imageId:responseImageData.data.id }, SubmissionType.Add);\n }\n else{\n submitEngagementOrgs({...copyValues }, SubmissionType.Add);\n }\n }\n }\n\n return (\n \n {handleSubmit(initialValues)}}\n enableReinitialize\n >\n {({values, initialValues, submitForm, validateForm}) => (\n \n submitForm()}\n submitButtonText=\"Save\"\n isBackButtonVisible\n backModalTitleText=\"Go Back To Early Engagement Organization\"\n onBackConfirm={handleBack}\n cancelModalTitleText={\n origin === 'Add'\n ? 'Cancel adding a Early Engagement Organization'\n : 'Cancel editing a Early Engagement Organization'\n }\n cancelModalBodyText={`You are going to cancel your \n ${origin}. All of the information that you have filled will not be saved. Are you sure you want to cancel?`}\n onCancelConfirm={handleBack}\n />\n {submitEngagementErrors.length > 0 && \n }>\n \n {submitEngagementErrors.map((e, i) => (\n - {e}
\n ))}\n
\n \n }\n \n \n \n Logo\n \n \n \n\n \n \n Early Engagement Organization\n \n \n \n \n \n \n \n \n \n \n \n \n \n {fieldArrayProps=>{\n const {push, remove, form} = fieldArrayProps;\n const { values } = form;\n const { engagementItems } = values;\n return (\n <>\n {engagementItems.map((item, index) => (\n <>\n \n \n \n\n \n {\n if (engagementItems.length - 1 > 0) {\n const removed: any = remove(index)\n const aux: any = deletedItemsRef.current;\n aux.push(removed);\n deletedItemsRef.current = aux;\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 OrganizationEngagementPage;","import React, { Suspense, lazy } from 'react';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport { Route, Switch } from 'react-router-dom';\nimport PrivateRoute from '../components/PrivateRoute';\nimport StaffRoute from '../components/StaffRoute';\nimport Redirection from '../components/Redirection';\nimport OrganizationEngagementPage from '../pages/Organization/OrganizationEngagementPage';\n\nconst websiteBaseUrl = process.env.REACT_APP_WEBSITE_BASE_URL;\n\nexport const OrsRoutes = Object.freeze({\n Root: '/',\n RootTimedOut: '/timeout/:timedout',\n UserManual: '/user-manual',\n CreateReview: '/create-item/:type',\n EditReview: '/:type/:reviewId/edit',\n CreateIR: '/create-item/:type',\n EditIR: '/:type/:reviewId/edit',\n AddComments: '/review/:reviewId/manage-comments/organization/:organizationId/author/:authorId/:isStaff',\n AddCommentsReviewer: '/review/:reviewId/select-comments-reviewer/:origin',\n SharedComments: '/comments/shared/:reviewId/:organizationId/:authorId',\n AddResponses: '/review/:reviewId/manage-responses/proponent/:proponentId',\n AddResponseProponent: '/review/:reviewId/select-response-proponent/:origin',\n SharedResponses: '/responses/shared/:reviewId/:proponentId',\n Register: '/register',\n ResetPassword: '/reset-password',\n NotFound: '/not-found',\n Unauthorized: '/unauthorized',\n EditUserProfile: '/edit-user-profile',\n StaffLogin: '/staff/login',\n StaffPage: '/staff',\n ImportCommentsFile: '/review/:reviewId/upload-comments/:organizationId/:authorId',\n ImportResponsesFile: '/review/:reviewId/upload-responses/:proponentId',\n AddDistributionList: '/system-management/distribution-lists/create',\n EditDistributionList: '/system-management/distribution-lists/edit/:listId',\n SystemManagement: '/system-management/:menuItem',\n ReviewTopics: '/system-management/review-topics',\n AddReviewTopic: '/system-management/review-topics/create',\n EditReviewTopic: '/system-management/review-topics/:reviewTopicId',\n Organizations: '/system-management/organizations',\n Engagement: '/system-management/engagement',\n AdminOrganizations: '/system-management/admin',\n AddEngagementOrg: '/system-managemnt/add-engagement',\n EditOrganization: '/system-management/organizations/:organizationId',\n EditAdminOrganization: '/system-management/organizations-admin/:organizationId',\n AddOrganization: '/system-management/organizations/create',\n EditOrganizationUsers: '/system-management/organizations/:organizationId/users',\n Users: '/system-management/users',\n AddUser: '/system-management/users/create',\n EditUser: '/system-management/users/:userId',\n AnalyticsDashboard: '/analytics-dashboard',\n PasswordSet: '/set-password',\n RedistributeReview: '/review/:reviewId/redistribute',\n FileUpload: '/file-upload',\n Redirection:'/review/:reviewId/redirect',\n NewsLetterSignUp: '/newsletter-signup',\n});\n\nexport const WebSiteRoutes = {\n Home: `${websiteBaseUrl}`,\n Reviews: `${websiteBaseUrl}/reviews`,\n ReviewDetails: `${websiteBaseUrl}/review/:reviewId`,\n};\n\nconst ReviewPage = lazy(() => import('../pages/ReviewPage'));\nconst AddCommentsForm = lazy(() => import('../pages/AddComments'));\nconst AddCommentsReviewerForm = lazy(() => import('../pages/AddCommentsReviewer'));\nconst AddResponsesForm = lazy(() => import('../pages/AddResponses'));\nconst AddResponsesProponentForm = lazy(() => import('../pages/AddResponseProponent'));\nconst Login = lazy(() => import('../pages/Login'));\nconst Register = lazy(() => import('../pages/User/Registration/RegistrationPage'));\nconst ResetPassword = lazy(() => import('../pages/ResetPassword'));\nconst NotFound = lazy(() => import('../pages/404'));\nconst Unauthorized = lazy(() => import('../pages/403'));\nconst StaffLogin = lazy(() => import('../pages/StaffLogin'));\nconst StaffPage = lazy(() => import('../pages/StaffPage'));\nconst ImportCommentsFile = lazy(() => import('../pages/ImportCommentsFile'));\nconst ImportResponsesFile = lazy(() => import('../pages/ImportResponsesFile'));\nconst OrganizationPage = lazy(() => import('../pages/Organization/OrganizationPage'));\nconst OrganizationAdminPage = lazy(()=> import ('../pages/Organization/OrganizationAdminPage'));\nconst UserProfilePage = lazy(() => import('../pages/User/UserProfile/UserProfilePage'));\nconst SystemManagement = lazy(() => import('../pages/SystemManagement/SystemManagement'));\nconst DistributionListForm = lazy(\n () => import('../pages/SystemManagement/DistributionList/DistributionListForm/DistributionListForm'),\n);\nconst ManageReviewTopicsPage = lazy(() => import('../pages/ReviewTopics/ManageReviewTopicsPage'));\nconst EditOrganizationUsers = lazy(() => import('../pages/Organization/EditOrganizationUsers'));\nconst SetPasswordPage = lazy(() => import('../pages/SetPasswordPage'));\nconst RedistributeReviewForm = lazy(() => import('../pages/RedistributeReview/RedistributeReview'));\nconst FileUploadPage = lazy(() => import('../pages/FileUpload/FileUpload'));\nconst AnalyticsDashboard = lazy(() => import('../pages/AnalyticsDashboard/AnalyticsDashboard'));\nconst NewsLettersignUp = lazy(()=> import('../pages/NewsLetterSignUp/NewsLetterSignUp'));\n/**\n * All available routes.\n */\nconst AllRoutes = () => (\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\nconst AppRoutes = () => {\n return (\n }>\n \n \n );\n};\n\nexport { AppRoutes as Routes };\n","import moment from 'moment';\nimport { PrimaryContactModel } from '.';\nexport default class OrganizationModel {\n id: string;\n name: string;\n address: string;\n city: string;\n province: string;\n postalCode: string;\n telephoneNumber: string;\n primaryContacts: PrimaryContactModel[];\n faxNumber: string;\n webpage: string;\n userCount: number;\n updatedAt?: string;\n orgType?:string;\n wasAdmin?:boolean;\n position?: number;\n\n constructor(data?: any) {\n this.id = data?.id || undefined;\n this.name = data?.name || undefined;\n this.address = data?.address || undefined;\n this.city = data?.city || undefined;\n this.province = data?.province || undefined;\n this.postalCode = data?.postalCode || undefined;\n this.telephoneNumber = data?.telephoneNumber || undefined;\n this.primaryContacts = Array.isArray(data?.primaryContacts) \n ? data.primaryContacts.map((item) => new PrimaryContactModel(item))\n : [];\n this.faxNumber = data?.faxNumber || undefined;\n this.webpage = data?.webpage || undefined;\n this.userCount = data?.userCount ?? undefined;\n this.updatedAt = data?.updatedAt ? moment.unix(data.updatedAt).format('ll') : undefined;\n this.orgType = data?.orgType || undefined;\n this.wasAdmin = data?.wasAdmin || 0;\n this.position = data?.position || undefined;\n }\n}\n","/**\n * Global Context\n * Used strictly for things that need to be globally available, such as profile information\n */\n\nimport React, { createContext, Dispatch, SetStateAction, useState } from 'react';\nimport { UserProfile } from '../interfaces/userProfile.interface';\n\nexport const GlobalContext = createContext<{\n profile: UserProfile | undefined;\n setProfile: Dispatch>;\n}>({\n profile: undefined,\n setProfile: profile => {},\n});\n\nexport const Provider = (props: { profile: UserProfile | undefined; children: JSX.Element }) => {\n const { profile: initialProfile, children } = props;\n const [profile, setProfile] = useState(initialProfile);\n\n const globalContext = {\n profile,\n setProfile,\n };\n\n return {children};\n};\n\nexport const { Consumer } = GlobalContext;\n","\"use strict\";\n// @create-index\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StaticError = exports.Overlay = exports.RichTextViewer = exports.SvgBox = exports.DueDateAuditTooltip = exports.RenderRecaptcha = exports.RenderRadioField = exports.CircularProgress = exports.RenderCheckboxField = exports.RenderFileField = exports.RenderSelectField = exports.RenderEdithTextField = exports.RenderTextField = exports.RenderTextAreaField = exports.RenderRichTextFieldReview = exports.RenderRichTextField = exports.RenderDateField = exports.RenderButtonField = exports.RenderOrderedDocumentField = exports.RenderOrderedAutocompleteField = exports.RenderAutoCompleteFieldFixed = exports.RenderAutocompleteField = exports.ReviewAlert = exports.ModalDLTracker = exports.ModalNewsLetter = exports.ModalHistory = exports.Modal = exports.Menu = exports.Map = exports.ThemeWrapper = exports.OrderedDocumentList = exports.OrderedList = exports.DocumentForm = exports.theme = exports.StyledEllipsis = exports.StaticAlert = exports.StyledCard = exports.Footer = exports.Wrapper = exports.NavBar = exports.BoardListItem = void 0;\nvar BoardListItem_1 = require(\"./BoardListItem\");\nObject.defineProperty(exports, \"BoardListItem\", { enumerable: true, get: function () { return __importDefault(BoardListItem_1).default; } });\nvar NavBar_1 = require(\"./NavBar\");\nObject.defineProperty(exports, \"NavBar\", { enumerable: true, get: function () { return __importDefault(NavBar_1).default; } });\nvar Wrapper_1 = require(\"./Wrapper\");\nObject.defineProperty(exports, \"Wrapper\", { enumerable: true, get: function () { return __importDefault(Wrapper_1).default; } });\nvar Footer_1 = require(\"./Footer\");\nObject.defineProperty(exports, \"Footer\", { enumerable: true, get: function () { return __importDefault(Footer_1).default; } });\nvar StyledCard_1 = require(\"./StyledCard\");\nObject.defineProperty(exports, \"StyledCard\", { enumerable: true, get: function () { return __importDefault(StyledCard_1).default; } });\nvar StaticAlert_1 = require(\"./StaticAlert\");\nObject.defineProperty(exports, \"StaticAlert\", { enumerable: true, get: function () { return __importDefault(StaticAlert_1).default; } });\nvar StyledEllipsis_1 = require(\"./StyledEllipsis\");\nObject.defineProperty(exports, \"StyledEllipsis\", { enumerable: true, get: function () { return __importDefault(StyledEllipsis_1).default; } });\nvar Theme_1 = require(\"./Theme\");\nObject.defineProperty(exports, \"theme\", { enumerable: true, get: function () { return Theme_1.theme; } });\nvar DocumentForm_1 = require(\"./DocumentForm\");\nObject.defineProperty(exports, \"DocumentForm\", { enumerable: true, get: function () { return __importDefault(DocumentForm_1).default; } });\nvar OrderedList_1 = require(\"./OrderedList\");\nObject.defineProperty(exports, \"OrderedList\", { enumerable: true, get: function () { return __importDefault(OrderedList_1).default; } });\nvar OrderedDocumentList_1 = require(\"./OrderedDocumentList\");\nObject.defineProperty(exports, \"OrderedDocumentList\", { enumerable: true, get: function () { return __importDefault(OrderedDocumentList_1).default; } });\nvar ThemeWrapper_1 = require(\"./ThemeWrapper\");\nObject.defineProperty(exports, \"ThemeWrapper\", { enumerable: true, get: function () { return __importDefault(ThemeWrapper_1).default; } });\nvar Map_1 = require(\"./Map\");\nObject.defineProperty(exports, \"Map\", { enumerable: true, get: function () { return __importDefault(Map_1).default; } });\nvar Menu_1 = require(\"./Menu\");\nObject.defineProperty(exports, \"Menu\", { enumerable: true, get: function () { return __importDefault(Menu_1).default; } });\nvar Modal_1 = require(\"./Modal\");\nObject.defineProperty(exports, \"Modal\", { enumerable: true, get: function () { return __importDefault(Modal_1).default; } });\nvar ModalHistory_1 = require(\"./ModalHistory\");\nObject.defineProperty(exports, \"ModalHistory\", { enumerable: true, get: function () { return __importDefault(ModalHistory_1).default; } });\nvar ModalNewsLetter_1 = require(\"./ModalNewsLetter\");\nObject.defineProperty(exports, \"ModalNewsLetter\", { enumerable: true, get: function () { return __importDefault(ModalNewsLetter_1).default; } });\nvar ModalDLTracker_1 = require(\"./ModalDLTracker\");\nObject.defineProperty(exports, \"ModalDLTracker\", { enumerable: true, get: function () { return __importDefault(ModalDLTracker_1).default; } });\nvar ReviewAlert_1 = require(\"./ReviewAlert\");\nObject.defineProperty(exports, \"ReviewAlert\", { enumerable: true, get: function () { return __importDefault(ReviewAlert_1).default; } });\nvar RenderAutocompleteField_1 = require(\"./RenderAutocompleteField\");\nObject.defineProperty(exports, \"RenderAutocompleteField\", { enumerable: true, get: function () { return __importDefault(RenderAutocompleteField_1).default; } });\nvar RenderAutoCompleteFieldFixed_1 = require(\"./RenderAutoCompleteFieldFixed\");\nObject.defineProperty(exports, \"RenderAutoCompleteFieldFixed\", { enumerable: true, get: function () { return __importDefault(RenderAutoCompleteFieldFixed_1).default; } });\nvar RenderOrderedAutocompleteField_1 = require(\"./RenderOrderedAutocompleteField\");\nObject.defineProperty(exports, \"RenderOrderedAutocompleteField\", { enumerable: true, get: function () { return __importDefault(RenderOrderedAutocompleteField_1).default; } });\nvar RenderOrderedDocumentField_1 = require(\"./RenderOrderedDocumentField\");\nObject.defineProperty(exports, \"RenderOrderedDocumentField\", { enumerable: true, get: function () { return __importDefault(RenderOrderedDocumentField_1).default; } });\nvar RenderButtonField_1 = require(\"./RenderButtonField\");\nObject.defineProperty(exports, \"RenderButtonField\", { enumerable: true, get: function () { return __importDefault(RenderButtonField_1).default; } });\nvar RenderDateField_1 = require(\"./RenderDateField\");\nObject.defineProperty(exports, \"RenderDateField\", { enumerable: true, get: function () { return __importDefault(RenderDateField_1).default; } });\nvar RenderRichTextField_1 = require(\"./RenderRichTextField\");\nObject.defineProperty(exports, \"RenderRichTextField\", { enumerable: true, get: function () { return __importDefault(RenderRichTextField_1).default; } });\nvar RenderRichTextFieldReview_1 = require(\"./RenderRichTextFieldReview\");\nObject.defineProperty(exports, \"RenderRichTextFieldReview\", { enumerable: true, get: function () { return __importDefault(RenderRichTextFieldReview_1).default; } });\nvar RenderTextAreaField_1 = require(\"./RenderTextAreaField\");\nObject.defineProperty(exports, \"RenderTextAreaField\", { enumerable: true, get: function () { return __importDefault(RenderTextAreaField_1).default; } });\nvar RenderTextField_1 = require(\"./RenderTextField\");\nObject.defineProperty(exports, \"RenderTextField\", { enumerable: true, get: function () { return __importDefault(RenderTextField_1).default; } });\nvar RenderEdithTextField_1 = require(\"./RenderEdithTextField\");\nObject.defineProperty(exports, \"RenderEdithTextField\", { enumerable: true, get: function () { return __importDefault(RenderEdithTextField_1).default; } });\nvar RenderSelectField_1 = require(\"./RenderSelectField\");\nObject.defineProperty(exports, \"RenderSelectField\", { enumerable: true, get: function () { return __importDefault(RenderSelectField_1).default; } });\nvar RenderFileField_1 = require(\"./RenderFileField\");\nObject.defineProperty(exports, \"RenderFileField\", { enumerable: true, get: function () { return __importDefault(RenderFileField_1).default; } });\nvar RenderCheckboxField_1 = require(\"./RenderCheckboxField\");\nObject.defineProperty(exports, \"RenderCheckboxField\", { enumerable: true, get: function () { return __importDefault(RenderCheckboxField_1).default; } });\nvar CircularProgress_1 = require(\"./CircularProgress\");\nObject.defineProperty(exports, \"CircularProgress\", { enumerable: true, get: function () { return __importDefault(CircularProgress_1).default; } });\nvar RenderRadioField_1 = require(\"./RenderRadioField\");\nObject.defineProperty(exports, \"RenderRadioField\", { enumerable: true, get: function () { return __importDefault(RenderRadioField_1).default; } });\nvar RenderRecaptcha_1 = require(\"./RenderRecaptcha\");\nObject.defineProperty(exports, \"RenderRecaptcha\", { enumerable: true, get: function () { return __importDefault(RenderRecaptcha_1).default; } });\nvar DueDateAuditTooltip_1 = require(\"./DueDateAuditTooltip\");\nObject.defineProperty(exports, \"DueDateAuditTooltip\", { enumerable: true, get: function () { return __importDefault(DueDateAuditTooltip_1).default; } });\nvar SvgBox_1 = require(\"./SvgBox\");\nObject.defineProperty(exports, \"SvgBox\", { enumerable: true, get: function () { return __importDefault(SvgBox_1).default; } });\nvar RichTextViewer_1 = require(\"./RichTextViewer\");\nObject.defineProperty(exports, \"RichTextViewer\", { enumerable: true, get: function () { return __importDefault(RichTextViewer_1).default; } });\nvar Overlay_1 = require(\"./Overlay\");\nObject.defineProperty(exports, \"Overlay\", { enumerable: true, get: function () { return __importDefault(Overlay_1).default; } });\nvar StaticError_1 = require(\"./StaticError\");\nObject.defineProperty(exports, \"StaticError\", { enumerable: true, get: function () { return __importDefault(StaticError_1).default; } });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Utils = void 0;\nexports.Utils = __importStar(require(\"./utils\"));\n__exportStar(require(\"./constants\"), exports);\n__exportStar(require(\"./types\"), exports);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateStrCoordinates = exports.latLngToMapCoordinate = exports.extractFiletExtension = exports.strippHtmlString = exports.calculatePeriodInDays = exports.canRespond = exports.getValueByPath = exports.richTextDefaultValue = exports.nullifyEmptyStringProperties = exports.getFileSize = exports.isRichTextEmpty = exports.richTextContentToPlainText = exports.parseRichTextValue = exports.parseHTMLToJSON = exports.parsePlainTextToJSON = exports.isJsonStringArray = exports.isJsonString = void 0;\nconst moment_1 = __importDefault(require(\"moment\"));\nconst draft_js_1 = require(\"draft-js\");\nconst constants_1 = require(\"./constants\");\nconst lodash_1 = require(\"lodash\");\nexports.isJsonString = (str) => {\n if (typeof str !== 'string') {\n return false;\n }\n try {\n JSON.parse(str);\n }\n catch (e) {\n return false;\n }\n return true;\n};\nexports.isJsonStringArray = (str) => {\n try {\n const json = JSON.parse(str);\n return Array.isArray(json);\n }\n catch (e) {\n return false;\n }\n};\nexports.parsePlainTextToJSON = (text) => {\n if (lodash_1.isString(text) && !exports.isJsonString(text)) {\n const contentState = draft_js_1.ContentState.createFromText(text);\n return JSON.stringify(draft_js_1.convertToRaw(draft_js_1.EditorState.createWithContent(contentState).getCurrentContent()));\n }\n else {\n return text;\n }\n};\nexports.parseHTMLToJSON = (text) => {\n if (lodash_1.isString(text) && !exports.isJsonString(text)) {\n const blocksFromHTML = draft_js_1.convertFromHTML(text);\n const contentState = draft_js_1.ContentState.createFromBlockArray(blocksFromHTML.contentBlocks, blocksFromHTML.entityMap);\n return JSON.stringify(draft_js_1.convertToRaw(draft_js_1.EditorState.createWithContent(contentState).getCurrentContent()));\n }\n else {\n return text;\n }\n};\nconst textToStateContent = (text) => {\n return JSON.stringify(draft_js_1.convertToRaw(draft_js_1.ContentState.createFromText(text.toString())));\n};\nexports.parseRichTextValue = (value) => {\n return exports.isJsonString(value) ? value : textToStateContent(value);\n};\nexports.richTextContentToPlainText = (value) => {\n var _a, _b;\n if (exports.isJsonString(value)) {\n return (_b = (_a = JSON.parse(value)) === null || _a === void 0 ? void 0 : _a.blocks) === null || _b === void 0 ? void 0 : _b.reduce((text, block, index) => {\n return text + `${block.text}${index ? '
' : ''}`;\n }, '');\n }\n else {\n return value || '';\n }\n};\nexports.isRichTextEmpty = (value) => {\n return !exports.richTextContentToPlainText(value);\n};\nexports.getFileSize = (fileSize) => {\n let sizeIndex = 0;\n let floatFileSize = parseFloat(fileSize);\n while (floatFileSize > 1024 && sizeIndex < constants_1.SIZE_CONVERTER.length) {\n floatFileSize /= 1024;\n sizeIndex++;\n }\n return `${floatFileSize.toFixed(2)} ${constants_1.SIZE_CONVERTER[sizeIndex]}`;\n};\n/** Recursively nullify empty string properties **/\nexports.nullifyEmptyStringProperties = (obj) => {\n return Object.entries(obj).reduce((acc, cur) => {\n const key = cur[0];\n const value = cur[1];\n if (Object.prototype.toString.call(value) === '[object Object]' && Object.keys(value).length) {\n return { ...acc, [key]: exports.nullifyEmptyStringProperties(value) };\n }\n return { ...acc, ...(value !== '' ? { [key]: value } : { [key]: null }) };\n }, {});\n};\nexports.richTextDefaultValue = () => JSON.stringify(draft_js_1.convertToRaw(draft_js_1.EditorState.createEmpty().getCurrentContent()));\n/**\n * Query object by string path and returns value\n * @param obj the object to query\n * @param path the path of property to get\n * @returns the resolved value\n */\nexports.getValueByPath = (obj, path) => path.split('.').reduce((acc, cur) => acc && acc[cur], obj);\nexports.canRespond = (type, addressTo, organizations) => {\n if (type === constants_1.ReviewType.InformationRequest) {\n return (organizations === null || organizations === void 0 ? void 0 : organizations.some((o) => o.id === addressTo.id)) || false;\n }\n return true;\n};\nexports.calculatePeriodInDays = (firstDateInEpoch, secondDateInEpoch) => {\n const firstDate = moment_1.default.unix(firstDateInEpoch).startOf('day');\n const secondDate = moment_1.default.unix(secondDateInEpoch).startOf('day');\n return secondDate.diff(firstDate, 'days');\n};\nexports.strippHtmlString = (str) => str.replace(/(<([^>]+)>)/gi, '');\nexports.extractFiletExtension = (fileName) => fileName.split('.').pop();\nexports.latLngToMapCoordinate = (latlng) => {\n try {\n const parts = latlng.split(',');\n if (parts.length !== 2) {\n return undefined;\n }\n return {\n lat: parseFloat(parts[0].trim()),\n lng: parseFloat(parts[1].trim()),\n };\n }\n catch (_a) {\n return undefined;\n }\n};\nexports.validateStrCoordinates = (latlng) => {\n const mapCoordinate = exports.latLngToMapCoordinate(latlng);\n if (mapCoordinate) {\n const { lat, lng } = mapCoordinate;\n return !(isNaN(lat) || isNaN(lng) || lat < -90 || lat > 90 || lng < -180 || lng > 180);\n }\n return false;\n};\n","class ResponseErrorType {\n error: string;\n message: string[];\n\n constructor(errorType: any) {\n this.error = errorType.error || '';\n this.message = errorType.message\n ? Array.isArray(errorType.message)\n ? errorType.message\n : [errorType.message]\n : '';\n }\n}\n\nclass ResponseErrorDetails {\n class: number;\n code: string;\n lineNumber: number;\n message: string;\n name: string;\n number: number;\n\n constructor(details: any) {\n this.class = details.class || -1;\n this.code = details.code || '';\n this.lineNumber = details.lineNumber || -1;\n this.message = details.message || '';\n this.name = details.name || '';\n this.number = details.number || -1;\n }\n\n getMessage(): string {\n return `${this.name} ${this.message}`;\n }\n}\n\nclass ResponseData {\n errorDetails?: ResponseErrorDetails;\n errorMessage: string;\n errorType: ResponseErrorType;\n\n constructor(data: any) {\n this.errorDetails = data.errorDetails ? new ResponseErrorDetails(data.errorDetails) : undefined;\n this.errorMessage = data.errorMessage || '';\n this.errorType = new ResponseErrorType(data.errorType);\n }\n\n getMessages(): string[] {\n if (process.env.NODE_ENV !== 'production' && this.errorDetails) {\n return [...this.errorType.message, this.errorDetails.getMessage()];\n } else {\n return this.errorType.message;\n }\n }\n\n getErrorType(): string {\n return this.errorType.error;\n }\n}\n\nclass Response {\n config: any;\n data: ResponseData;\n\n constructor(response: any) {\n this.config = response.config || {};\n this.data = new ResponseData(response.data);\n }\n\n getMessages(): string[] {\n return this.data.getMessages();\n }\n\n getErrorType(): string {\n return this.data.getErrorType();\n }\n}\n\ninterface IResponseException {\n config: any;\n isAxiosError: boolean;\n request: any;\n response?: Response;\n\n getErrorMessage(): string[];\n}\n\nexport default class ResponseException implements IResponseException {\n config: any;\n isAxiosError: boolean;\n request: any;\n response?: Response;\n message: string;\n\n constructor(exception: any) {\n this.config = exception.config || {};\n this.isAxiosError = exception.isAxiosError;\n this.request = exception.request || {};\n this.message = exception.message || null;\n this.response = exception.response ? new Response(exception.response) : undefined;\n }\n\n getErrorMessage(): string[] {\n return this.response ? this.response.getMessages() : [this.message];\n }\n\n getErrorType(): string {\n return this.response ? this.response.getErrorType() : '';\n }\n}\n","export default class EngagementLocationModel {\n value: string;\n label: string;\n \n constructor(data: any) {\n this.value = data || undefined;\n this.label = data || undefined;\n }\n }","import { PermitMap } from '@mvrb-frontend/shared-ui';\n\nexport const Boards = [\n {\n value: 'Mackenzie Valley Environmental Impact Review Board (MVEIRB)',\n label: 'Mackenzie Valley Environmental Impact Review Board (MVEIRB)',\n },\n { value: 'Board 1', label: 'Board 1' },\n { value: 'Board 2', label: 'Board 2' },\n { value: 'Board 3', label: 'Board 3' },\n];\n\nexport const Proponents = [\n { value: 'Blachford Lake Lodge', label: 'Blachford Lake Lodge' },\n { value: 'Proponent 1', label: 'Proponent 1' },\n { value: 'Proponent 2', label: 'Proponent 2' },\n { value: 'Proponent 3', label: 'Proponent 3' },\n];\n\nexport const ProponentResponses = [\n { value: 'Staff member 1', label: 'Staff member 1' },\n { value: 'Staff member 2', label: 'Staff member 2' },\n];\n\nexport const Permits = Object.keys(PermitMap).map(key => ({ value: key, label: PermitMap[key] }));\n\nexport const Activities = [\n { value: 'Activity 1', label: 'Activity 1' },\n { value: 'Activity 2', label: 'Activity 2' },\n { value: 'Activity 3', label: 'Activity 3' },\n];\n\nexport const StaffContacts = [\n { value: 'Contact 1', label: 'Contact 1' },\n { value: 'Contact 2', label: 'Contact 2' },\n];\n\nexport const ProponentPrimaryContact = [\n { value: 'Contact 1', label: 'Contact 1' },\n { value: 'Contact 2', label: 'Contact 2' },\n];\n\nexport const PublicReviews = [\n { value: 'Option 1', label: 'Option 1' },\n { value: 'Option 2', label: 'Option 2' },\n { value: 'Option 3', label: 'Option 3' },\n];\n\nexport const Types = [\n { value: 'All', label: 'All' },\n { value: 'Review', label: 'Item for Review' },\n { value: 'IR', label: 'Information Request' },\n];\n\nexport const Statuses = [\n { value: 'All', label: 'All' },\n { value: 'Draft', label: 'Draft' },\n { value: 'Active', label: 'Active' },\n { value: 'Review', label: 'Review' },\n { value: 'Completed', label: 'Completed' },\n];\n\nexport const PublicStatuses = [\n { value: 'All', label: 'All' },\n { value: 'Active', label: 'Active' },\n { value: 'Completed', label: 'Completed' },\n];\nexport const StaffStatuses = [\n { value: 'All', label: 'All' },\n { value: 'Draft', label: 'Draft' },\n { value: 'Active', label: 'Active' },\n { value: 'Completed', label: 'Completed' },\n];\n\nexport const DateRanges = [\n { value: 'All', label: 'All' },\n { value: '1', label: 'Last 30 Days' },\n { value: '6', label: 'Last 6 months' },\n { value: '12', label: 'Last 12 months' },\n];\n\nexport enum ReviewStatusEnum {\n DRAFT = 'Draft',\n ACTIVE = 'Active',\n REVIEW = 'Review',\n COMPLETED = 'Completed',\n}\n\nexport enum ReviewStatusPaginationEnum {\n DRAFT = 'Draft',\n ACTIVE = 'Active',\n REVIEW = 'Review',\n COMPLETED = 'Completed',\n ALL = 'All',\n}\n\nexport enum ReviewTypeEnum {\n REVIEW = 'Review',\n IR = 'IR',\n ALL = 'All',\n}\n\nexport enum CommentStatusEnum {\n DRAFT = 'draft',\n PUBLISHED = 'published',\n}\n\nexport enum CommentTypeEnum {\n Default = 'default',\n Audio = 'audio',\n}\n\nexport enum UserTypeEnum {\n Staff = 'Staff',\n User = 'User',\n Admin = 'Admin',\n}\n\nexport enum UploadType {\n CommentAttachment = 'CommentAttachment',\n ResponseAttachment = 'ResponseAttachment',\n Transcript = 'Transcript',\n Audio = 'Audio',\n File = 'File',\n}\n\n/**\n * Users\n */\nexport const Prefixes = [\n { value: 'Mr.', label: 'Mr.' },\n { value: 'Mrs.', label: 'Mrs.' },\n { value: 'Ms.', label: 'Ms.' },\n { value: 'Miss', label: 'Miss' },\n { value: 'Dr.', label: 'Dr.' },\n { value: 'Chief', label: 'Chief' },\n];\n\nexport const Provinces = [\n { value: 'Alberta', label: 'Alberta' },\n { value: 'British Columbia', label: 'British Columbia' },\n { value: 'Manitoba', label: 'Manitoba' },\n { value: 'New Brunswick', label: 'New Brunswick' },\n { value: 'Newfoundland and Labrador', label: 'Newfoundland and Labrador' },\n { value: 'Northwest Territories', label: 'Northwest Territories' },\n { value: 'Nova Scotia', label: 'Nova Scotia' },\n { value: 'Nunavut', label: 'Nunavut' },\n { value: 'Ontario', label: 'Ontario' },\n { value: 'Prince Edward Island', label: 'Prince Edward Island' },\n { value: 'Quebec', label: 'Quebec' },\n { value: 'Saskatchewan', label: 'Saskatchewan' },\n { value: 'Yukon', label: 'Yukon' },\n];\n\nexport const SystemManagementMenuItems = [\n { value: 'users', label: 'Users' },\n { value: 'organizations', label: 'Organizations' },\n { value: 'distribution-lists', label: 'Distribution Lists' },\n { value: 'review-topics', label: 'Review Topics' },\n { value: 'file-uploads', label: 'File Uploads' },\n { value: 'user-manual', label: 'User Manual' },\n { value: 'admin', label: 'Admin'},\n { value: 'engagement', label: 'Engagement'},\n { value: 'news-letter', label: 'Newsletter' },\n];\n\nexport const UserProfileMenuItems = [\n { value: 'userInformation', label: 'User Information' },\n { value: 'distribution-list', label: 'Distribution List' },\n];\n\nexport enum UserProfileMode {\n AddByStaff,\n EditByStaff,\n EditOwn,\n}\n\nexport const AUTOCOMPLETE_DEFAULT_PAGE_SIZE = 100;\n","export const DEFAULT_MAP_PIN = {\n lat: 62.45349854740122,\n lng: -114.37367180162714,\n};\n\nexport const aadRedirectUri = `${process.env.REACT_APP_STAFF_AUTH_LINK}?response_type=code&redirect_uri=${window.location.origin}${process.env.REACT_APP_STAFF_LOGIN_REDIRECT}&client_id=${process.env.REACT_APP_STAFF_AUTH_CLIENTID}`;\n\nexport const shareReviewDialogMessage =\n 'You can share the link below with others so they can view your draft. Users who have this link will also be able to make edits (if they are logged in and a member of your organization).';\nexport const shareCommentDialogMessage = 'You can share the link below with others so they can view your draft.';\n\nexport const autoSavingInterval = parseInt(process.env.REACT_APP_AUTOSAVING_INTERVAL || '120000', 10);\n\nexport const CUSTOM_TOPIC = 'CUSTOM';\n\nexport const TABLE_ROWS_PER_PAGE = 25;\n\nexport const queryParams = [\n 'take',\n 'skip',\n 'orderBy',\n 'order',\n 'organizationId',\n 'type',\n 'status',\n 'dateRange',\n 'currentPage',\n];\n","import * as yup from 'yup';\n\nimport { ReviewType, Utils } from '@mvrb-frontend/shared-ui';\n\nimport moment from 'moment';\nimport { ReviewStatusEnum, CommentStatusEnum, UserProfileMode } from './arrays';\nimport { Provinces, CommentTypeEnum, Prefixes, CUSTOM_TOPIC } from '../constants';\n\nconst PASSWORD_PATTERN = /(?=.*\\d)(?=.*[A-Z])(?=.*[a-z])(?!.*[^a-zA-Z0-9-!@#$%^&*()\\-_+|~={}[]:\";'<>?,.\\/]).*/;\nconst POSTAL_CODE_PATTERN = /^(?:[A-Z]\\d){3}$/;\nconst URL_PATTERN = /^(http[s]?:\\/\\/)?([a-zA-Z0-9\\.-]+)\\.[a-zA-Z]+/;\nconst URL_PATTERN_WITH_PROTOCOL = /^(http[s]?:\\/\\/)([a-zA-Z0-9\\.-]+)\\.[a-zA-Z]+/;\nconst NUMBER_REGEX = /^[0-9]+$/;\nconst HEX_COLOR= /#([A-Fa-f0-9]{6})$/;\n\nconst richTextContentValidation = config => {\n return yup\n .mixed()\n .required(config.EMPTY_RICH_TEXT_ERROR_MESSAGE)\n .transform(richTextInput => {\n return Utils.richTextContentToPlainText(richTextInput);\n })\n .test('transformation', config.TRANSFORMATION_ERROR_MESSAGE, value => {\n return !(value instanceof Error);\n })\n .test('string type', config.TYPE_ERROR_MESSAGE, value => {\n return typeof value === 'string' || value instanceof String;\n })\n .test('non-empty richText content', config.EMPTY_RICH_TEXT_CONTENT_ERROR_MESSAGE, value => {\n return Boolean(value);\n })\n .test('max length', `Must be ${config.max - 1} characters or less`, value => {\n return value?.length < config.max;\n });\n};\n\nconst optionalRichTextContentValidation = config => {\n return yup\n .mixed()\n .transform(richTextInput => {\n return Utils.richTextContentToPlainText(richTextInput);\n })\n .test('transformation', config.TRANSFORMATION_ERROR_MESSAGE, value => {\n return !(value instanceof Error);\n })\n .test('string type', config.TYPE_ERROR_MESSAGE, value => {\n return typeof value === 'string' || value instanceof String;\n })\n .test('max length', `Must be ${config.max - 1} characters or less`, value => {\n return value?.length < config.max;\n });\n};\n\nexport const CreateReviewSchema = yup.object().shape({\n boardId: yup.string().required('Admin Organization is required'),\n name: yup.string().required('Project Name is required').max(255, 'Maximum 255 characters'),\n title: yup.string().max(255, 'Maximum 255 characters').required('This field is required'),/* nullable(), */\n organizationId: yup.string().required('This field is required'),\n commentDueAt: yup.string().when('responseDueAt', (responseDueAt, schema) => {\n return schema.test(\n 'commentDueAt',\n 'Review Comments Due date cannot be in future to Proponent Responses Due date',\n value => {\n if (responseDueAt && moment(responseDueAt).diff(value, 'days') < 0) {\n return false;\n }\n return true;\n },\n );\n }),\n phase: yup\n .string()\n .nullable()\n .when('type', {\n is: ReviewType.InformationRequest,\n then: yup\n .string()\n .optional()\n .matches(NUMBER_REGEX, { message: 'Invalid phase number', excludeEmptyString: true }),\n }),\n registryNumber: yup\n .string()\n .nullable()\n .when('type', {\n is: ReviewType.InformationRequest,\n then: yup\n .string()\n .optional()\n .matches(NUMBER_REGEX, { message: 'Invalid registry number', excludeEmptyString: true }),\n }),\n});\n\nexport const PublishReviewSchema = yup.object().shape(\n {\n // required fileds\n status: yup.string().required('Status is required').oneOf(Object.values(ReviewStatusEnum)),\n boardId: yup.string().required('Admin Organization is required'),\n name: yup.string().required('Project Name is required').max(255, 'Maximum 255 characters'),\n title: yup.string().required('Title is required').max(255, 'Maximum 255 characters'),\n\n // optional\n publicReviews: yup.array(),\n\n // required only when publishing a draft\n organizationId: yup.string().required('Proponent is required'),\n timelineStartDate: yup.string().when('type', {\n is: ReviewType.Review,\n then: yup.string().required('Submission Complete/Conforms is required').nullable(),\n }),\n submissionReceivedDate: yup.string().when('type', {\n is: ReviewType.Review,\n then: yup\n .string()\n .required('Submission Received Date is required')\n .nullable()\n .test(\n 'submissionReceivedDateBeforeCompleted',\n 'Submission Received Date must be before or equal to Submission Complete/Conforms',\n function (value) {\n return (\n !value ||\n !this.parent.timelineStartDate ||\n moment(value).isSameOrBefore(moment(this.parent.timelineStartDate), 'day')\n );\n },\n ),\n }),\n fileNumber: yup.string().required('File Number is required').max(255, 'Maximum 255 characters'),\n registryUrl: yup\n .string()\n .required('File URL is required')\n .max(500, 'Maximum 500 characters')\n .matches(URL_PATTERN_WITH_PROTOCOL, 'Must be a valid URL with http:// or https:// in the beginning'),\n permit: yup.array().required('At least one option is required'),\n activityId: yup.string().required('Activity is required'),\n reviewParadigm: yup.array().required('At least one option is required'),\n responseDueAt: yup.string().required('Proponent Responses Due is required').nullable(),\n completedAt: yup\n .string()\n .nullable()\n .when('responseDueAt', (responseDueAt, schema) => {\n return schema.test(\n 'completedAt',\n 'Decision date must be on or after Proponent Responses Due',\n value => {\n if (responseDueAt && value) {\n return moment(value).isSameOrAfter(moment(responseDueAt));\n }\n return true;\n },\n );\n })\n .when('status', (status, schema) => {\n return schema.test('completedAt', 'Decision date is required for completed reviews', value => {\n if (status === ReviewStatusEnum.COMPLETED) {\n return !!value;\n }\n\n return true;\n });\n })\n .when('status', (status, schema) => {\n return schema.test('completedAt', 'Decision date is not a valid date', value => {\n if (status === ReviewStatusEnum.COMPLETED) {\n return moment(value).isValid();\n }\n\n return true;\n });\n }),\n commentDueAt: yup\n .string()\n .required('Review Comments Due is required')\n .nullable()\n .when('responseDueAt', (responseDueAt, schema) => {\n return schema.test(\n 'commentDueAt',\n 'Review Comments Due date cannot be in future to Proponent Responses Due date',\n value => {\n if (responseDueAt && moment(responseDueAt).diff(value, 'days') < 0) {\n return false;\n }\n return true;\n },\n );\n }),\n description: richTextContentValidation({\n max: 30001,\n EMPTY_RICH_TEXT_ERROR_MESSAGE: 'Description is required',\n TRANSFORMATION_ERROR_MESSAGE: 'Rich Text parsing error',\n TYPE_ERROR_MESSAGE: 'Description should be a string',\n EMPTY_RICH_TEXT_CONTENT_ERROR_MESSAGE: 'Description is required',\n }),\n proponentUserIds: yup.array().when('type', {\n is: ReviewType.Review,\n then: yup.array().required('At least one proponent user is required'),\n }),\n deletedStaffUsers: yup.array(),\n staffMemberIds: yup\n .array()\n .required('At least one staff contact is required')\n .test({\n name: 'staffMemberDeleted',\n test: function (value: any) {\n const deletedUsers = this.parent.deletedStaffUsers || [];\n\n const deletedUser = deletedUsers.find(u => (value || []).includes(u.id));\n\n if (deletedUser) {\n return this.createError({\n message: `${deletedUser.firstName} ${deletedUser.lastName} is a deleted user`,\n path: 'staffMemberIds',\n });\n }\n\n return true;\n },\n }),\n primaryContactId: yup.string().required('Primary Proponent Contact is required'),\n documents: yup.array().of(\n yup.object().shape({\n documentURL: yup.string().url('Document URL is invalid'),\n name: yup.string().max(512, 'Must be 512 characters or less'),\n }),\n ),\n location: yup\n .object()\n .shape({\n latlng: yup.string().test('latlng', 'Must enter proper latitude and longitude', value => {\n return Utils.validateStrCoordinates(value || '');\n }),\n })\n .required('Requires a latitude and longitude'),\n distributionListIds: yup\n .array()\n .when('distributionUserIds', (distributionUserIds, schema) =>\n schema.test(\n 'distributionListIds',\n 'Please select at least one distribution list or user',\n value => value.length > 0 || distributionUserIds.length > 0,\n ),\n ),\n distributionUserIds: yup\n .array()\n .when('distributionListIds', (distributionListIds, schema) =>\n schema.test(\n 'distributionUserIds',\n 'Please select at least one distribution list or user',\n value => value.length > 0 || distributionListIds.length > 0,\n ),\n ),\n phase: yup\n .string()\n .nullable()\n .when('type', {\n is: ReviewType.InformationRequest,\n then: yup.string().matches(NUMBER_REGEX, { message: 'Invalid phase number', excludeEmptyString: true }),\n }),\n registryNumber: yup\n .string()\n .nullable()\n .when('type', {\n is: ReviewType.InformationRequest,\n then: yup.string().matches(NUMBER_REGEX, { message: 'Invalid registry number', excludeEmptyString: true }),\n }),\n additionalFileNumbers: yup.array().of(\n yup.object().shape({\n fileNumber: yup.string().required('File Number is required').max(255, 'Maximum 255 characters'),\n registryUrl: yup\n .string()\n .required('File URL is required')\n .max(500, 'Maximum 500 characters')\n .matches(URL_PATTERN_WITH_PROTOCOL, 'Must be a valid URL with http:// or https:// in the beginning'),\n }),\n ),\n },\n [['distributionUserIds', 'distributionListIds']],\n);\n\nexport const LoginSchema = yup.object().shape({\n email: yup.string().email('Must be an email address').required('Email is required'),\n password: yup.string().required('Password is required'),\n});\n\nexport const AdminOrgSchema = yup.object().shape({\n name: yup.string().required('Display Name is required').max(255, 'Must be less than 255 characters').ensure(),\n abbreviation: yup.string().required('Abbreviation is required'),\n hyperLinkTitle: yup.string().required('Hyperlink Title is required').max(255, 'Must be less than 255 characters').ensure(),\n url: yup.string()\n .required('URL is required')\n .max(255, 'Must be less than 255 characters')\n .ensure()\n .matches(URL_PATTERN, `Must be a valid URL e.g https://reviewboard.ca/MVEIRB_RulesofProcedure_0505.pdf`),\n procedureRules: yup.string().required('Procedure Text are required').max(255, 'Must be less than 255 characters').ensure(),\n file: yup.bool().oneOf([true], 'A file to upload is required'),\n hexColor: yup.string()\n .required('Hex Color Code is required')\n .max(7, 'Must be less than 7 characters').ensure()\n .matches(HEX_COLOR, 'The code should start with # and contain a 6 digit combination of the sixteen characters 0-9 and A-F, e.g. #FF0000'),\n });\n\nexport const OrganizationSchema = yup.object().shape({\n name: yup.string().required('Name is required').max(255, 'Must be less than 255 characters').ensure(),\n address: yup.string().required('Address is required').max(255, 'Must be less than 255 characters'),\n city: yup.string().required('City is required').max(35, 'Must be less than 35 characters'),\n province: yup\n .string()\n .required('Province/territory is required')\n .oneOf(\n Provinces.map(x => x.label),\n 'Select one of the provided values',\n ),\n postalCode: yup\n .string()\n .required('Postal code is required')\n .matches(POSTAL_CODE_PATTERN, { message: 'Must match the following format: A1A1A1', excludeEmptyString: true }),\n telephoneNumber: yup.string().max(32, 'Must must be less than 32 characters').optional(),\n faxNumber: yup.string().max(32, 'Must must be less than 32 characters').optional(),\n webpage: yup\n .string()\n .matches(URL_PATTERN, { message: 'Must be a valid domain name', excludeEmptyString: true })\n .optional(),\n});\n\nexport const EngagementSchema = yup.object().shape({\n name: yup.string().required('Name is required').max(255, 'Must be less than 255 characters').ensure(),\n itemUrl: yup\n .string()\n .matches(URL_PATTERN, {message: `Must be a valid URL e.g https://reviewboard.ca/MVEIRB_RulesofProcedure_0505.pdf`, excludeEmptyString: true})\n .max(500, 'Must be less than 500 characters')\n .nullable(true),\n location: yup.array().required('Location is required').of(\n yup.object().shape({\n label:yup.string() ,\n value:yup.string(),\n })\n ),\n engagementItems: yup.array().of(\n yup.object().shape({\n itemTitle: yup.string().required('Contact Information is Required').max(255, 'Must be less than 255 characters').ensure(),\n })\n )\n})\n\nexport const SetPasswordSchema = yup.object().shape({\n password: yup\n .string()\n .required('Password is required')\n .min(6, 'Password must be more than 5 characters')\n .max(30, 'Password must be less than 30 characters')\n .matches(PASSWORD_PATTERN, 'Password must contain at least 1 uppercase letter, 1 lowercase letter, and 1 digit'),\n});\n\nexport const RegistrationSchema = yup.object().shape({\n firstName: yup.string().required('First name is required').max(100, 'First name should be less that 100 characters'),\n lastName: yup.string().required('Last name is required').max(100, 'Last name should be less that 100 characters'),\n prefix: yup\n .string()\n .optional()\n .oneOf(Prefixes.map(x => x.label)),\n title: yup.string().required('Title is required').max(50, 'Title should be less that 50 characters'),\n email: yup\n .string()\n .email('Must be an email address')\n .required('Email is required')\n .max(255, 'Email should be less that 255 characters'),\n confirmEmail: yup\n .string()\n .required('Please confirm your email')\n .oneOf([yup.ref('email')], 'Emails must match'),\n password: yup\n .string()\n .required('Password is required')\n .min(6, 'Password must be at least 6 characters or more')\n .max(30, 'Password must be less than 30 characters')\n .matches(PASSWORD_PATTERN, 'Password must contain at least 1 uppercase letter, 1 lowercase letter, and 1 digit'),\n confirmPassword: yup\n .string()\n .required('Please confirm your password')\n .oneOf([yup.ref('password')], 'Passwords must match'),\n organizationIds: yup.array().when('isNewOrganization', {\n is: isNewOrganization => !isNewOrganization,\n then: yup.array().required('Please select or add at least one organization').min(1),\n }),\n community: yup.string().optional(),\n contact: yup.object().shape({\n city: yup.string().optional().max(35, 'City should be less that 35 characters'),\n province: yup\n .string()\n .optional()\n .oneOf(Provinces.map(x => x.label)),\n postalCode: yup\n .string()\n .optional()\n .matches(POSTAL_CODE_PATTERN, { excludeEmptyString: true, message: 'Must match the following format: A1A1A1' })\n .max(6, 'Postal Code should be 6 characters'),\n country: yup.string().optional(),\n officePhone: yup.string().required('Office Phone is required').max(32, 'Must must be less than 32 characters'),\n cellPhone: yup.string().max(32, 'Must must be less than 32 characters').optional(),\n faxNumber: yup.string().max(32, 'Must must be less than 32 characters').optional(),\n }),\n newOrganization: OrganizationSchema.optional()\n .default(undefined)\n .when('isNewOrganization', {\n is: isNewOrganization => isNewOrganization,\n then: OrganizationSchema.required(),\n })\n .when('isNewOrganization', {\n is: isNewOrganization => !isNewOrganization,\n then: OrganizationSchema.optional().default(undefined),\n }),\n});\n\nexport const ResetPasswordSchema = yup.object().shape({\n email: yup.string().required('Email is required'),\n});\n\nexport const UploadCommentFileSchema = yup.object().shape({\n commentFile: yup.object().required('You need to upload an excel file'),\n});\n\nexport const UserInviteSchema = yup.object().shape({\n existingUsers: yup.array().of(yup.string()).optional(),\n inviteUsers: yup\n .array()\n .of(\n yup.object().shape({\n firstName: yup\n .string()\n .required('First name is required')\n .max(100, 'First name should be less that 100 characters'),\n lastName: yup\n .string()\n .required('Last name is required')\n .max(100, 'Last name should be less that 100 characters'),\n email: yup\n .string()\n .email('Must be an email address')\n .required('Email is required')\n .max(255, 'Email should be less that 255 characters'),\n }),\n )\n .optional(),\n});\n\nexport const EditHistorySchema = yup.object().shape({\n editList1: yup.array().of(\n yup.object().shape({\n header: yup.string().required('Select a header'),\n description: yup.string().required('Description is required'),\n id: yup.number().required(),\n idDes: yup.number().required(),\n })\n ),\n});\n\nexport const AddRemoveListUsersSchema = yup.object().shape({\n newAddedUsers: yup.array().of(\n yup.object().shape({\n reason: yup.string().required('Description is required'),\n })\n ),\n removedUsers: yup.array().of(\n yup.object().shape({\n reason: yup.string().required('Description is required'),\n })\n )\n});\n\nexport const AddCommentsSchema = yup.object().shape({\n comments: yup.array().of(\n yup.object().shape({\n id: yup.string().optional(),\n topicId: yup.string().optional(),\n customTopic: yup\n .mixed()\n .nullable()\n .when('topicId', {\n is: CUSTOM_TOPIC,\n then: optionalRichTextContentValidation({\n max: 256,\n EMPTY_RICH_TEXT_ERROR_MESSAGE: 'A topic is required',\n TRANSFORMATION_ERROR_MESSAGE: 'Rich Text parsing error',\n TYPE_ERROR_MESSAGE: 'Custom topic should be a string',\n EMPTY_RICH_TEXT_CONTENT_ERROR_MESSAGE: 'A topic is required',\n }),\n }),\n description: yup.mixed().when('type', {\n is: type => type != CommentTypeEnum.Audio,\n then: richTextContentValidation({\n max: 30001,\n EMPTY_RICH_TEXT_ERROR_MESSAGE: 'Description is required',\n TRANSFORMATION_ERROR_MESSAGE: 'Rich Text parsing error',\n TYPE_ERROR_MESSAGE: 'Description should be a string',\n EMPTY_RICH_TEXT_CONTENT_ERROR_MESSAGE: 'Description is required',\n }),\n }),\n recommendation: optionalRichTextContentValidation({\n max: 30001,\n TRANSFORMATION_ERROR_MESSAGE: 'Rich Text parsing error',\n TYPE_ERROR_MESSAGE: 'Recommendation should be a string',\n }),\n attachments: yup.array().of(\n yup.object().shape({\n id: yup.string(),\n }),\n ),\n status: yup.string().required('Status is required').default(CommentStatusEnum.DRAFT),\n }),\n ),\n type: yup.string(),\n reviewId: yup.string().required('Review id is required'),\n organizationId: yup.string().required('Organization id is required'),\n authorId: yup.string().required('Author id is required'),\n});\n\nexport const AddInformationRequestSchema = yup.object().shape({\n comments: yup\n .array()\n .required('You must add at least one request')\n .of(\n yup.object().shape({\n id: yup.string().optional(),\n topicId: yup.string().optional(),\n customTopic: yup.string().nullable().when('topicId', {\n is: CUSTOM_TOPIC,\n then: yup.string(),\n }),\n addressToId: yup.string().required('AddressTo is required').nullable(),\n description: yup.mixed().when('type', {\n is: type => type != CommentTypeEnum.Audio,\n then: richTextContentValidation({\n max: 30001,\n EMPTY_RICH_TEXT_ERROR_MESSAGE: 'Preamble is required',\n TRANSFORMATION_ERROR_MESSAGE: 'Rich Text parsing error',\n TYPE_ERROR_MESSAGE: 'Preamble should be a string',\n EMPTY_RICH_TEXT_CONTENT_ERROR_MESSAGE: 'Preamble is required',\n }),\n }),\n recommendation: optionalRichTextContentValidation({\n max: 30001,\n TRANSFORMATION_ERROR_MESSAGE: 'Rich Text parsing error',\n TYPE_ERROR_MESSAGE: 'Request should be a string',\n }),\n attachments: yup.array().of(\n yup.object().shape({\n id: yup.string(),\n }),\n ),\n status: yup.string().required('Status is required').default(CommentStatusEnum.DRAFT),\n }),\n ),\n type: yup.string(),\n reviewId: yup.string().required('Review id is required'),\n organizationId: yup.string().required('Organization id is required'),\n authorId: yup.string().required('Author id is required'),\n});\n\nexport const AddResponsesSchema = yup.object().shape({\n comments: yup.array().of(\n yup.object().shape({\n responseDescription: optionalRichTextContentValidation({\n max: 30001,\n TRANSFORMATION_ERROR_MESSAGE: 'Rich Text parsing error',\n TYPE_ERROR_MESSAGE: 'Response should be a string',\n }),\n }),\n ),\n});\n\nexport const AddCommentsReviewerSchema = yup.object().shape({\n organizationId: yup.string().required('Organization is required').nullable(),\n reviewerId: yup.string().required('Reviewer is required').nullable(),\n});\n\nexport const AddResponseProponentSchema = yup.object().shape({\n proponentId: yup.string().required('Proponent is required').nullable(),\n});\n\nexport const EditUserProfileSchema = (mode: UserProfileMode) =>\n yup.object().shape({\n firstName: yup\n .string()\n .required('First name is required')\n .max(100, 'First name should be less that 100 characters'),\n lastName: yup.string().required('Last name is required').max(100, 'Last name should be less that 100 characters'),\n prefix: yup\n .string()\n .optional()\n .oneOf(Prefixes.map(x => x.label)),\n title: yup.string().required('Title is required').max(50, 'Title should be less that 50 characters'),\n organizationIds: yup.array().required('Please select at least one organization').min(1),\n community: yup.string().optional(),\n ...(mode === UserProfileMode.AddByStaff && {\n email: yup\n .string()\n .email('Must be an email address')\n .required('Email is required')\n .max(255, 'Email should be less that 255 characters'),\n confirmEmail: yup\n .string()\n .required('Please confirm your email')\n .oneOf([yup.ref('email')], 'The email addresses do not match. Please re-enter the correct email address'),\n }),\n contact: yup.object().shape({\n city: yup.string().optional().max(35, 'City should be less that 35 characters'),\n province: yup\n .string()\n .optional()\n .oneOf(Provinces.map(x => x.label)),\n postalCode: yup\n .string()\n .optional()\n .matches(POSTAL_CODE_PATTERN, { excludeEmptyString: true, message: 'Must match the following format: A1A1A1' })\n .max(6, 'Postal Code should be 6 characters'),\n country: yup.string().optional(),\n officePhone: yup.string().max(32, 'Must must be less than 32 characters').required('Office Phone is required'),\n cellPhone: yup.string().max(32, 'Must must be less than 32 characters').optional(),\n faxNumber: yup.string().max(32, 'Must must be less than 32 characters').optional(),\n }),\n });\n\nexport const NewsLetterSchema = yup.object().shape({\n username: yup.string().required('Name is required'),\n email: yup.string().email('Must be an email address').required('Email is required'),\n agree: yup.boolean().oneOf([true], \"Please agree before continue\"),\n options: yup.object().shape({\n lwb: yup.bool(),\n rboard: yup.bool(),\n }).test('options', 'Please select at least one board',function(values){\n return values?.lwb || values?.rboard;\n }),\n recaptcha: yup.string().required('Please confirm you are not a bot').nullable(),\n});\n\nexport const AddAudioComments = yup.object().shape({\n audio: yup\n .mixed()\n .required('You need to provide a file')\n .test('size', 'Max allowed file size is 10MB', value => {\n return value && value.size <= 10 * 1024 * 1024;\n })\n .test('type', 'Only mp3 files allowed', value => {\n return value && value.type.includes('audio');\n }),\n name: yup.string(),\n transcript: yup\n .mixed()\n .test('size', 'Max allowed file size is 10MB', value => {\n return value ? value.size <= 10 * 1024 * 1024 : true;\n })\n .test('type', 'Only plain text file allowed', value => {\n return value ? value.type === 'text/plain' : true;\n }),\n});\n\nexport const DistributionListSchema = yup.object().shape({\n name: yup.string().required('Distribution list name is required').ensure(),\n});\n\nexport const ReviewTopicSchema = yup.object().shape({\n name: yup.string().required('Topic name is required').max(255, 'Name must be less than 255 characters'),\n children: yup\n .array()\n .of(\n yup.object().shape({\n id: yup.string().optional(),\n name: yup.string().max(255, 'Name must be less than 255 characters'),\n }),\n )\n .optional(),\n});\n\nexport const RedistributeReviewSchema = yup.object().shape(\n {\n userIds: yup.array().when(['sendToList', 'distributionListIds'], {\n is: (sendToList, distributionListIds) => !sendToList && !distributionListIds?.length,\n then: yup.array().required('Please select at least one user or distribution list').min(1),\n }),\n distributionListIds: yup.array().when(['sendToList', 'userIds'], {\n is: (sendToList, userIds) => !sendToList && !userIds?.length,\n then: yup.array().required('Please select at least one user or distribution list').min(1),\n }),\n },\n [\n ['userIds', 'distributionListIds'],\n ['sendToList', 'userIds'],\n ['sendToList', 'distributionListIds'],\n ],\n);\n\nexport const FileUploadSchema = yup.object().shape({\n boardId: yup.string().required('A Organization is required'),\n staffIds: yup.array().required('At least one staff member is required').min(1),\n email: yup.string().email('Must be an email address').required('An email address is required'),\n projectName: yup.string().required('A project is required').max(255, 'Maximum 255 characters'),\n fileNumber: yup.string().max(255, 'Maximum 255 characters'),\n description: yup\n .string()\n .required('Document description is a required field')\n .max(1000, 'Document description must be 1000 characters or less'),\n additionalStaffNotes: yup.string().max(1000, 'Additional notes must be 1000 characters or less'),\n fileSize: yup\n .number()\n .max(\n parseInt(process.env.MAX_FTP_UPLOAD_FILE_SIZE || '5000') * 1024 * 1024,\n 'Uploaded files cannot be larger than 5gb',\n ),\n file: yup.bool().oneOf([true], 'A file to upload is required'),\n recaptcha: yup.string().required('Please confirm you are not a bot').nullable(),\n});\n\nexport const RequiredUserProfileSchema = yup.object().shape({\n firstName: yup.string().required('First name is required').max(100, 'First name should be less that 100 characters'),\n lastName: yup.string().required('Last name is required').max(100, 'Last name should be less that 100 characters'),\n title: yup.string().required('Title is required').max(50, 'Title should be less that 50 characters'),\n organizations: yup.array().required('Please select at least one organization').min(1),\n community: yup.string().optional().nullable(),\n contact: yup.object().shape({\n officePhone: yup.string().max(32, 'Must must be less than 32 characters').required('Office Phone is required'),\n }),\n});\n","export const ReviewError = {\n REVIEW_NOT_FOUND: 'REVIEW_NOT_FOUND',\n};\n","import { useEffect, useState } from 'react';\nimport { ResponseException } from '../models';\n\nimport { AxiosPublic } from '../utils/axios';\n\nexport const useActivateUser = () => {\n const [isFetching, setFetching] = useState(false);\n const [success, setSuccess] = useState(false);\n const [successPasswordSet, setSuccessPasswordSet] = useState(false);\n const [errors, setErrors] = useState([]);\n const [displayErrors, setDisplayErrors] = useState(false);\n\n useEffect(() => {\n setDisplayErrors(!isFetching && !success && errors.length > 0);\n }, [isFetching, success, errors]);\n\n const submit = async (activationCode: string) => {\n try {\n setFetching(true);\n await AxiosPublic.post(`/users/activate/register/${activationCode}`);\n setSuccess(true);\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n setSuccess(false);\n } finally {\n setFetching(false);\n }\n };\n\n const retrieveActivation = async (activationCode: string) => {\n try {\n setFetching(true);\n await AxiosPublic.get(`/users/activate/${activationCode}`);\n setSuccess(true);\n setErrors([]);\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n setSuccess(false);\n } finally {\n setFetching(false);\n }\n };\n\n const setPassword = async (values: any) => {\n try {\n setFetching(true);\n await AxiosPublic.post(`/users/activate/password`, values);\n setSuccessPasswordSet(true);\n setErrors([]);\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n setSuccessPasswordSet(false);\n } finally {\n setFetching(false);\n }\n };\n\n return {\n isFetching,\n success,\n successPasswordSet,\n errors,\n displayErrors,\n submit,\n retrieveActivation,\n setPassword,\n };\n};\n","import { useState } from 'react';\n\nimport { AxiosPrivate } from '../utils/axios';\nimport { ResponseException } from '../models';\n\nexport const useAddOrganizationUsers = () => {\n const [isFetching, setFetching] = useState(false);\n const [success, setSuccess] = useState(false);\n const [errors, setErrors] = useState([]);\n\n return {\n errors,\n isFetching,\n success,\n submit: async (organizationId: string, values: any) => {\n setSuccess(false);\n setFetching(true);\n try {\n values.addExistingUsers = values.addExistingUsers.map(uid => {\n return { id: uid };\n });\n const res = await AxiosPrivate.post(`/organizations/${organizationId}/users`, values);\n setSuccess(true);\n setErrors([]);\n return null;\n } catch (e) {\n setSuccess(false);\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setFetching(false);\n }\n },\n };\n};\n","import { useEffect, useState } from 'react';\nimport Cookies from 'js-cookie';\nimport jwt from 'jsonwebtoken';\n\nimport { AxiosPublic } from '../utils/axios';\nimport { UserProfile } from '../interfaces/userProfile.interface';\nimport { ResponseException } from '../models';\nimport { RequiredUserProfileSchema } from '../constants';\nimport { UserType } from '@mvrb-frontend/shared-ui';\nimport { setUserProfileCookie } from '../utils/auth';\n\nexport const useLogin = () => {\n const [isFetching, setFetching] = useState(false);\n const [profile, setProfile] = useState();\n const [success, setSuccess] = useState(false);\n const [hasAllRequiredFields, setHasAllRequiredFields] = useState(false);\n const [errors, setErrors] = useState([]);\n const [displayErrors, setDisplayErrors] = useState(false);\n\n useEffect(() => {\n setDisplayErrors(!isFetching && errors.length > 0);\n }, [isFetching, errors]);\n\n const submit = async (values: any) => {\n try {\n setFetching(true);\n const response = await AxiosPublic.post('/auth/login', values);\n const { accessToken, user, refreshToken } = response.data;\n setHasAllRequiredFields(RequiredUserProfileSchema.isValidSync(user));\n const refreshExpiry = jwt.decode(refreshToken).exp;\n const userProfile = {\n id: user.id,\n firstName: user.firstName,\n lastName: user.lastName,\n email: user.email,\n userType: user.userType as UserType,\n organizations: user.organizations,\n };\n setUserProfileCookie(accessToken, refreshToken, userProfile);\n setProfile(userProfile);\n setFetching(false);\n setSuccess(true);\n } catch (e) {\n Cookies.remove('ORS');\n setSuccess(false);\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setFetching(false);\n }\n };\n\n return {\n isFetching,\n profile,\n success,\n submit,\n errors,\n displayErrors,\n hasAllRequiredFields,\n };\n};\n","import { useState } from 'react';\nimport { AxiosPrivate } from '../utils/axios';\n\nexport const useGetAllUsers = () => {\n const [isFetching, setFetching] = useState(false);\n const [allUsers, setAllUsers] = useState([]);\n\n return {\n allUsers,\n isFetching,\n onLoad: async () => {\n try {\n setFetching(true);\n const { data } = await AxiosPrivate.get(`/users?orderBy=firstName&order=ASC`);\n\n setAllUsers(data);\n setFetching(false);\n } catch (e) {\n setFetching(false);\n }\n },\n };\n};\n","import { useState } from 'react';\nimport { AxiosPublic } from '../utils/axios';\nimport { PaginationQuery } from '../interfaces/paginationQuery.interface';\nimport OrganizationModel from '../models/OrganizationModel';\n\nexport const useGetOrganizationList = () => {\n const [isFetchingOrganizationList, setFetchingOrganizationList] = useState(false);\n const [organizationListItems, setOrganizationItems] = useState([]);\n const [organizationCount, setOrganizationCount] = useState(0);\n\n return {\n isFetchingOrganizationList,\n organizationListItems,\n organizationCount,\n fetchOrganizationList: async (queryParams?: PaginationQuery) => {\n try {\n setFetchingOrganizationList(true);\n const { data } = await AxiosPublic.get('/organizations', {\n params: { ...queryParams, includeUserCount: true },\n });\n const organizationList = data.organizations.map(org => new OrganizationModel(org));\n setOrganizationItems(organizationList);\n setOrganizationCount(data.count);\n setFetchingOrganizationList(false);\n } catch (e) {\n setFetchingOrganizationList(false);\n }\n },\n };\n};\n","import { useState } from 'react';\nimport { AxiosPublic } from '../utils/axios';\n\nexport const useGetOrganization = () => {\n const [isFetching, setFetching] = useState(false);\n const [orgData, setOrgData] = useState();\n return {\n isFetching,\n orgData,\n getOrganization: async id => {\n try {\n setFetching(true);\n const response = await AxiosPublic.get(`/organizations/${id}`);\n setFetching(false);\n setOrgData(response);\n return response;\n } catch (e) {\n setFetching(false);\n }\n },\n };\n};\n","import { useState } from 'react';\nimport { AxiosPrivate } from '../utils/axios';\n\nexport const useGetUser = () => {\n const [isFetching, setFetching] = useState(false);\n\n return {\n isFetching,\n getUser: async id => {\n try {\n setFetching(true);\n const response = await AxiosPrivate.get(`/users/${id}`);\n setFetching(false);\n return response;\n } catch (e) {\n setFetching(false);\n }\n },\n };\n};\n","import { useState } from 'react';\nimport { AxiosPublic } from '../utils/axios';\nimport { AccessReviewParameters, ReviewQueryParameters } from '@mvrb-frontend/shared-ui';\nimport moment from 'moment';\n\nexport const useGetReview = () => {\n const [isFetching, setFetching] = useState(false);\n\n return {\n isFetching,\n getReview: async (id, queryparams?: ReviewQueryParameters) => {\n try {\n setFetching(true);\n const response = await AxiosPublic.get(`/reviews/${id}`,{\n params: queryparams,\n });\n return response;\n } catch (e) {\n throw e;\n } finally {\n setFetching(false);\n }\n },\n getReviewAcces: async(queryparams: AccessReviewParameters)=>{\n try{\n const response = await AxiosPublic.get('/reviews/userReview/access',{\n params: queryparams,\n });\n return response;\n }\n catch(e){\n throw(e);\n }\n },\n postEditHistory: async(id, queryparams?:any, EditedAt?: any) =>{\n const currentDate = moment().format('YYYY-MM-DD HH:mm:ss.SSS');\n try{\n const response = await AxiosPublic.post(`/reviews/${id}/edit`,{\n params: queryparams, \n currentDate: EditedAt,\n })\n return;\n } catch(e){\n throw e;\n }\n }\n };\n};\n","import { cloneDeep } from 'lodash';\n\nexport const serializeFormValues = (values: any) => {\n const valuesCopy = cloneDeep(values);\n\n // On the POST request, we don't want the temporary document ids nor draft documents\n valuesCopy.documents = valuesCopy.documents?.filter(doc => !!doc.url);\n valuesCopy.documents?.forEach(document => {\n if (document.id.indexOf('new-') == 0) {\n delete document.id;\n }\n });\n\n return valuesCopy;\n};\n","import { useState, useEffect } from 'react';\n\nimport { useParams } from 'react-router-dom';\nimport { debounce } from 'lodash';\n\nimport { ReviewType } from '@mvrb-frontend/shared-ui';\n\nimport { serializeFormValues } from '../utils/form';\nimport { AxiosPrivate } from '../utils/axios';\nimport {\n PublishReviewSchema,\n CreateReviewSchema,\n ReviewStatusEnum,\n WebSiteRoutes,\n ReviewError,\n OrsRoutes,\n autoSavingInterval,\n} from '../constants';\nimport { useGetReview } from '../hooks';\n\nimport { ReviewModel, ResponseException } from '../models';\nimport { getUserId } from '../utils/auth';\n\nexport const useReviewForm = props => {\n const { formRef } = props;\n const { type, reviewId } = useParams<{ type: ReviewType; reviewId: string }>();\n\n const { getReview } = useGetReview();\n const [initialValues, setInitialValues] = useState(new ReviewModel({ type }));\n const [isFetching, setFetching] = useState(true);\n const [isSending, setIsSending] = useState(false);\n const [errors, setErrors] = useState([]);\n const [displayErrors, setDisplayErrors] = useState(false);\n const [validationSchema, setValidationSchema] = useState(\n initialValues.status == ReviewStatusEnum.DRAFT ? CreateReviewSchema : PublishReviewSchema,\n );\n const [autoSaveTime, setAutoSaveTime] = useState(null);\n const [isEditView, setIsEditView] = useState(false);\n const userId=getUserId();\n\n useEffect(() => {\n (async () => {\n try {\n if (reviewId) {\n setFetching(true);\n const response = await getReview(reviewId);\n if (response?.data?.review) {\n setInitialValues(new ReviewModel(response.data.review));\n }\n setIsEditView(true);\n }\n setFetching(false);\n } catch (e) {\n const exception = new ResponseException(e);\n\n if (exception.getErrorType() == ReviewError.REVIEW_NOT_FOUND) {\n window.location.href = OrsRoutes.NotFound;\n } else {\n setErrors(exception.getErrorMessage());\n setFetching(false);\n }\n }\n })();\n }, [reviewId]);\n\n useEffect(() => {\n setDisplayErrors(!isFetching && !isSending && errors.length > 0);\n }, [isFetching, isSending, errors]);\n\n const validateForm = async status => {\n const { values, setTouched } = formRef.current;\n\n if (status) {\n setValidationSchema(status == ReviewStatusEnum.DRAFT ? CreateReviewSchema : PublishReviewSchema);\n\n const fields = Object.keys(values).reduce((fields, key) => {\n fields[key] = true;\n return fields;\n }, {});\n\n setTouched(fields);\n\n await new Promise((resolve, reject) => setTimeout(resolve, 500));\n formRef.current.validateForm(values);\n await new Promise((resolve, reject) => setTimeout(resolve, 500));\n }\n\n return formRef.current.isValid;\n };\n\n const submit = async (status: ReviewStatusEnum | undefined = undefined, ignoreNotification = false) => {\n const { values, setFieldValue } = formRef.current;\n const isValid = await validateForm(status);\n\n if (isValid) {\n try {\n setIsSending(true);\n if (status) {\n setFieldValue('status', status);\n values.status = status;\n }\n // Putting distributionList's properties in an object to match api's requirements - there is room for improvement here\n values.distributionList = {\n id: values.distributionListId,\n distributionListIds: values.distributionListIds,\n userIds: values.distributionUserIds,\n user_id: userId,\n };\n\n let reviewId = values.id;\n\n if (values.id) {\n await updateReview({ ...values, ignoreNotification });\n } else {\n reviewId = await createReview(values);\n setFieldValue('id', reviewId);\n }\n\n setErrors([]);\n\n if (!status) {\n setAutoSaveTime(new Date());\n }\n\n if (status == ReviewStatusEnum.ACTIVE) {\n window.location.href = WebSiteRoutes.ReviewDetails.replace(':reviewId', reviewId);\n }\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setIsSending(false);\n }\n }\n };\n\n const createReview = async (values: any) => {\n const { data: reviewId } = await AxiosPrivate.post('/reviews', serializeFormValues(values));\n const { setFieldValue } = formRef.current;\n setFieldValue('id', reviewId);\n\n return reviewId;\n };\n\n const updateReview = async (values: any) => {\n await AxiosPrivate.patch(`/reviews/${values.id}`, serializeFormValues(values));\n };\n\n const deleteReview = async () => {\n try {\n await AxiosPrivate.delete(`/reviews/${reviewId}`);\n window.location.href = WebSiteRoutes.Reviews;\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n }\n };\n\n const debouncedSave = debounce(() => submit(), 15);\n\n const autoSave = () => {\n const { dirty, isValid, values } = formRef.current || { dirty: false, isValid: false, values: {} };\n\n if (dirty && isValid && values.status === ReviewStatusEnum.DRAFT) {\n debouncedSave();\n }\n };\n\n useEffect(() => {\n const interval = setInterval(() => autoSave(), autoSavingInterval);\n return () => clearInterval(interval);\n }, []);\n\n return {\n type,\n isEditView,\n initialValues,\n validateForm,\n validationSchema,\n isFetching,\n isSending,\n errors,\n displayErrors,\n autoSaveTime,\n submit,\n deleteReview,\n };\n};\n","import { useState } from 'react';\n\nimport { AxiosPublic } from '../utils/axios';\n\nexport const useReset = () => {\n const [isFetching, setFetching] = useState(false);\n const [success, setSuccess] = useState(false);\n const [error, setError] = useState(false);\n\n return {\n error,\n isFetching,\n success,\n submit: async (values: any) => {\n try {\n setError(false);\n setFetching(true);\n await AxiosPublic.post('/users/reset', values);\n setFetching(false);\n setSuccess(true);\n } catch (e) {\n setError(true);\n setSuccess(false);\n setFetching(false);\n }\n },\n };\n};\n","import { useState } from 'react';\nimport { AxiosPrivate } from '../utils/axios';\n\nimport { ResponseException } from '../models';\nimport { ReviewDocument } from '../models/ReviewDocumentType';\n\nexport const useAddReviewDocument = () => {\n const [isFetching, setFetching] = useState(false);\n const [errors, setErrors] = useState([]);\n\n const postDocument = async (document: ReviewDocument) => {\n try {\n setFetching(true);\n\n const { data } = await AxiosPrivate.post('/reviews/document', document);\n\n return data;\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setFetching(false);\n }\n };\n\n return {\n isFetching,\n errors,\n postDocument,\n };\n};\n","import { useState } from 'react';\n\nimport { AxiosPrivate } from '../utils/axios';\nimport { ResponseException } from '../models';\nimport { UploadType } from './../constants';\n\nexport const useUploadForm = (type: UploadType = UploadType.Transcript) => {\n let url = '/files';\n switch (type) {\n case UploadType.CommentAttachment:\n url = '/comment-attachments';\n break;\n case UploadType.ResponseAttachment:\n url = '/response-attachments';\n break;\n }\n\n const [isFetching, setFetching] = useState(false);\n const [errors, setErrors] = useState([]);\n\n const upload = async (file: any, name: string) => {\n try {\n setFetching(true);\n setErrors([]);\n const formData = new FormData();\n formData.append('file', file);\n formData.append('name', name);\n const res = await AxiosPrivate.post(url, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n });\n return res;\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setFetching(false);\n }\n };\n\n return {\n isFetching,\n upload,\n errors,\n };\n};\n","import { useState } from 'react';\nimport ResponseException from '../models/ResponseException';\nimport { AxiosPrivate } from '../utils/axios';\n\nexport const useDeleteComments = () => {\n const [errors, setErrors] = useState([]);\n return {\n deleteComments: async (\n commentsToDelete: string[],\n count: number,\n commentSetId: string,\n deleteEmptyCommentSet = true,\n ) => {\n setErrors([]);\n try {\n const data = { id: commentsToDelete };\n await AxiosPrivate.delete('/comments/batch', { data });\n if (deleteEmptyCommentSet && count < 1) {\n await AxiosPrivate.delete(`/comments/set/${commentSetId}`);\n }\n } catch (e) {\n // TODO: error handling\n }\n },\n };\n};\n","import { useEffect, useState } from 'react';\nimport jwt from 'jsonwebtoken';\n\nimport { AxiosPublic } from '../utils/axios';\nimport { UserProfile } from '../interfaces/userProfile.interface';\nimport { ResponseException } from '../models';\nimport { UserType } from '@mvrb-frontend/shared-ui';\nimport { setUserProfileCookie } from '../utils/auth';\n\nexport const useStaffLogin = () => {\n const [isFetching, setFetching] = useState(false);\n const [profile, setProfile] = useState();\n const [success, setSuccess] = useState(false);\n const [errors, setErrors] = useState([]);\n const [displayErrors, setDisplayErrors] = useState(false);\n\n useEffect(() => {\n setDisplayErrors(!isFetching && errors.length > 0);\n }, [isFetching, errors]);\n\n const submit = async (values: any) => {\n try {\n setFetching(true);\n const response = await AxiosPublic.post('/auth/staff/login', values);\n const { accessToken, refreshToken, user } = response.data;\n const refreshExpiry = jwt.decode(refreshToken).exp;\n const userProfile = {\n id: user.id,\n firstName: user.firstName,\n lastName: user.lastName,\n email: user.email,\n userType: user.userType as UserType,\n organizations: user.organizations,\n };\n setUserProfileCookie(accessToken, refreshToken, userProfile);\n setProfile(userProfile);\n setFetching(false);\n setSuccess(true);\n } catch (e) {\n setSuccess(false);\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setFetching(false);\n }\n };\n\n return {\n isFetching,\n profile,\n success,\n submit,\n errors,\n displayErrors,\n };\n};\n","import { useState } from 'react';\n\nimport { AxiosPrivate } from '../utils/axios';\nimport { ResponseException } from '../models';\n\nexport const useUploadExcelFile = () => {\n const [isUploading, setUploading] = useState(false);\n const [errors, setErrors] = useState([]);\n\n const uploadFile = async (endpoint: string, files: File[], image?:boolean) => {\n try {\n if (!files?.length) {\n setErrors(['You must select a file']);\n return;\n }\n\n setUploading(true);\n setErrors([]);\n const formData = new FormData();\n formData.append('file', files[0]);\n if(image)formData.append('name', files[0].name);\n const res = await AxiosPrivate.post(endpoint, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n });\n return res;\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setUploading(false);\n }\n };\n\n const uploadComments = async (files: File[]) => {\n return await uploadFile('/comments/import', files);\n };\n\n const uploadResponses = async (files: File[]) => {\n return await uploadFile('/responses/import', files);\n };\n\n return {\n isUploading,\n errors,\n uploadComments,\n uploadResponses,\n uploadFile,\n };\n};\n","import { CommentStatusEnum } from '../constants';\n\nimport { Utils } from '@mvrb-frontend/shared-ui';\nimport moment from 'moment';\n// values - submitted form values for responses\n\nexport const serializeResponsesFormValues = (\n values: any,\n type: string,\n organization: any,\n proponent: any,\n review: any,\n lateOverride: boolean,\n) => {\n const create: any[] = [];\n const update: any[] = [];\n const newDraftResponse = values?.newDraftResponse;\n const isSubmited = values.status === CommentStatusEnum.PUBLISHED ? true : false;\n \n if (!values.comments?.length) {\n return { create, update };\n }\n\n const commentsCopy: any[] = [];\n\n const isLate = moment.unix(review.responseDueAt).startOf('day').diff(moment().startOf('day'), 'days') < 0;\n\n // deep copy\n values.comments.forEach(item => {\n commentsCopy.push(JSON.parse(JSON.stringify(item)));\n });\n\n // each comment has its own reviewId, authorId, organizationId, type, status\n commentsCopy.forEach((comment, index) => {\n if (Utils.canRespond(type, comment.addressTo, proponent?.organizations)) {\n const response = comment.response || {};\n\n response.index = index;\n response.commentId = comment.id;\n response.proponentId = values.proponentId;\n response.status = values.status;\n response.description = comment.responseDescription;\n response.organizationId = comment.addressTo?.id || organization?.id;\n response.touched = comment.touched;\n\n if (!Utils.isRichTextEmpty(response.description) || response.attachments?.length > 0) {\n if (!response.id) {\n create.push(response);\n } else if (values.updatedResponses.includes(index) || values.status === CommentStatusEnum.PUBLISHED) {\n delete response.createdAt;\n delete response.updatedAt;\n if(newDraftResponse){\n response.status = 'published'\n }\n if (!response.attachments?.length) {\n delete response.attachments;\n }\n\n update.push(response);\n }\n }\n }\n });\n\n resetFocus(values);\n return { create, update, late: lateOverride ? false : isLate, submited: isSubmited};\n};\n\nconst resetFocus = (values: any) => {\n values.comments.forEach(item => {\n item.focused = false;\n });\n values.updatedResponses = [];\n};\n","import { useState } from 'react';\n\nimport { AxiosPrivate } from '../utils/axios';\nimport { serializeResponsesFormValues } from '../utils/responses';\nimport { WebSiteRoutes } from '../constants';\n\nexport const useAddOrUpdateResponsesForm = () => {\n const [isFetching, setFetching] = useState(false);\n\n const submit = async (\n values: any,\n type: string,\n organization: any,\n proponent: any,\n review: any,\n isAutoSave = false,\n lateOverride = false,\n ) => {\n try {\n if (!isAutoSave) {\n setFetching(true);\n }\n\n const request = serializeResponsesFormValues(values, type, organization, proponent, review, lateOverride);\n\n if (request.create.length || request.update.length) {\n const res = await AxiosPrivate.put('/responses/batch', request);\n if (isAutoSave) {\n return res;\n }\n }\n\n if (!isAutoSave) {\n window.open(`${WebSiteRoutes.ReviewDetails.replace(':reviewId', values.reviewId)}`, '_self');\n }\n\n return null;\n } catch (e) {\n // TODO: display alert\n } finally {\n setFetching(false);\n }\n };\n\n return {\n isFetching,\n submit,\n };\n};\n","import { useState } from 'react';\nimport ResponseException from '../models/ResponseException';\nimport { AxiosPrivate } from '../utils/axios';\n\nexport const useDeleteResponses = () => {\n const [errors, setErrors] = useState([]);\n\n const deleteResponses = async (responsesToDelete: string[]) => {\n setErrors([]);\n try {\n const data = { id: responsesToDelete };\n await AxiosPrivate.delete('/responses/batch', { data });\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n }\n };\n\n return {\n deleteResponses,\n };\n};\n","import { useState, useEffect } from 'react';\n\nimport { Utils } from '@mvrb-frontend/shared-ui';\n\nimport { ResponseException } from '../models';\nimport { AxiosPrivate } from '../utils/axios';\nimport { PaginationQuery } from '../interfaces/paginationQuery.interface';\nimport { DistributionListModel, DistributionListItemModel } from '../models';\n\nexport const useDistributionList = () => {\n const [isFetching, setIsFetching] = useState(false);\n const [success, setSuccess] = useState(false);\n const [items, setItems] = useState([]);\n const [count, setCount] = useState(0);\n const [errors, setErrors] = useState([]);\n const [displayErrors, setDisplayErrors] = useState(false);\n\n useEffect(() => {\n setDisplayErrors(!isFetching && !success && errors.length > 0);\n }, [isFetching, success, errors]);\n\n const getAll = async (query: PaginationQuery) => {\n try {\n setIsFetching(true);\n\n const { data } = await AxiosPrivate.get('/distribution-list', { params: { ...query } });\n const distributionLists = data.distributionLists.map(dl => new DistributionListItemModel(dl));\n\n setCount(data.count);\n setItems(distributionLists);\n } catch (e) {\n } finally {\n setIsFetching(false);\n }\n };\n\n const getDetails = async (id: string) => {\n try {\n setIsFetching(true);\n return await AxiosPrivate.get(`/distribution-list/${id}`);\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setIsFetching(false);\n }\n };\n\n const submit = async (distributionList: DistributionListModel) => {\n if (distributionList.individualUserIds?.length > 0) {\n distributionList.users = distributionList.users.concat(\n distributionList.individualUserIds.map(id => ({\n id,\n })),\n );\n }\n const payload = Utils.nullifyEmptyStringProperties(distributionList);\n try {\n setIsFetching(true);\n if (distributionList.id) {\n await AxiosPrivate.patch(`/distribution-list/${distributionList.id}`, payload);\n } else {\n await AxiosPrivate.post(`/distribution-list`, payload);\n }\n setSuccess(true);\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n setSuccess(false);\n } finally {\n setIsFetching(false);\n }\n };\n\n const duplicate = async (id: string) => {\n try {\n setIsFetching(true);\n const { data } = await AxiosPrivate.post(`/distribution-list/duplicate/${id}`);\n setSuccess(true);\n return data;\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n setSuccess(false);\n } finally {\n setIsFetching(false);\n }\n };\n\n const deleteList = async id => {\n try {\n await AxiosPrivate.delete(`/distribution-list/${id}`);\n return true;\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n }\n };\n\n return {\n success,\n errors,\n isFetching,\n displayErrors,\n items,\n count,\n getAll,\n getDetails,\n submit,\n duplicate,\n deleteList,\n };\n};\n","import { useState } from 'react';\nimport ReviewTopicModel from '../models/ReviewTopicModel';\nimport { ResponseException } from '../models';\nimport { AxiosPrivate } from '../utils/axios';\nimport { SubmissionType } from '@mvrb-frontend/shared-ui';\n\nexport const useManageReviewTopics = () => {\n const [isSubmittingTopics, setSubmittingTopics] = useState(false);\n const [submitTopicsErrors, setSubmitTopicsErrors] = useState([]);\n\n const submitReviewTopic = async (reviewTopic: ReviewTopicModel, submissionType: SubmissionType) => {\n try {\n setSubmittingTopics(true);\n let updateRes = null;\n switch (submissionType) {\n case SubmissionType.Add:\n updateRes = await AxiosPrivate.post(`/topics`, reviewTopic);\n break;\n case SubmissionType.Update:\n updateRes = await AxiosPrivate.patch(`/topics/${reviewTopic.id}`, reviewTopic);\n break;\n case SubmissionType.Delete:\n updateRes = await AxiosPrivate.delete(`/topics/${reviewTopic.id}`);\n break;\n }\n return updateRes;\n } catch (e) {\n setSubmitTopicsErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setSubmittingTopics(false);\n }\n };\n\n return {\n isSubmittingTopics,\n submitTopicsErrors,\n submitReviewTopic,\n };\n};\n","import { useState } from 'react';\nimport { ResponseException, UserModel } from '../models';\nimport { AxiosPrivate, AxiosPublic } from '../utils/axios';\nimport { Utils, UserSubmissionType } from '@mvrb-frontend/shared-ui';\nimport { PaginationQuery } from '../interfaces/paginationQuery.interface';\nimport { updateCookie } from '../utils/auth';\n\nconst USERS_BASE_URL = 'users';\n\nexport const useUserApi = () => {\n const [isUserApiSubmitting, setUserApiSubmitting] = useState(false);\n const [isUserApiFetching, setUserApiFetching] = useState(false);\n const [userApiSuccess, setUserApiSuccess] = useState(false);\n const [userApiErrors, setUserApiErrors] = useState([]);\n const [userSubmissionType, setUserSubmissionType] = useState();\n const [submittedUser, setSubmittedUser] = useState(null);\n const [fetchedUsers, setFetchedUsers] = useState<[UserModel?]>([]);\n const [fetchedUser, setFetchedUser] = useState(null);\n const [staffOptions, setStaffOptions] = useState([]);\n const [userCount, setUserCount] = useState(0);\n\n const submitUser = async (user: UserModel, submissionType: UserSubmissionType, organizations?: any) => {\n setUserSubmissionType(submissionType);\n const updatedSubmittingUser = user && Utils.nullifyEmptyStringProperties(user);\n try {\n setUserApiSubmitting(true);\n switch (submissionType) {\n case UserSubmissionType.UpdateByStaff:\n await AxiosPrivate.patch(`/${USERS_BASE_URL}/${updatedSubmittingUser.id}`, updatedSubmittingUser);\n break;\n case UserSubmissionType.UpdateOwn:\n updateCookie(updatedSubmittingUser);\n await AxiosPrivate.patch(`/${USERS_BASE_URL}/me`, updatedSubmittingUser);\n break;\n case UserSubmissionType.AddByStaff:\n // Setting an arbitrary password for the new user. User will later set a new password once login for the first time\n updatedSubmittingUser.password = 'MUk9brWcha4*';\n await AxiosPrivate.post(`/${USERS_BASE_URL}`, updatedSubmittingUser);\n break;\n case UserSubmissionType.Register:\n await AxiosPublic.post(`/${USERS_BASE_URL}/register`, updatedSubmittingUser);\n break;\n case UserSubmissionType.Delete:\n await AxiosPrivate.delete(`/${USERS_BASE_URL}/${updatedSubmittingUser.id}`);\n break;\n }\n setUserApiSuccess(true);\n setSubmittedUser(updatedSubmittingUser);\n setUserApiErrors([]);\n } catch (e) {\n setUserApiErrors(new ResponseException(e).getErrorMessage());\n setUserApiSuccess(false);\n setSubmittedUser(null);\n } finally {\n setUserApiSubmitting(false);\n }\n };\n\n const fetchUsers = async (queryParams?: PaginationQuery) => {\n try {\n setUserApiFetching(true);\n const { data } = await AxiosPrivate.get(`/${USERS_BASE_URL}`, { params: { ...queryParams, getUserCount: true } });\n const items = data.users\n .map(user => new UserModel(user))\n .sort((u1, u2) => {\n // Sorting users who have no organization but have community (member of public)\n if (u1.organizationIds.length || u2.organizationIds.length) {\n return 0;\n }\n return +Boolean(u1.community) - +Boolean(u2.community);\n });\n setFetchedUsers(items);\n setUserCount(data.count);\n setUserApiSuccess(true);\n setUserApiErrors([]);\n } catch (e) {\n setUserApiErrors(new ResponseException(e).getErrorMessage());\n setUserApiSuccess(false);\n setFetchedUsers([]);\n } finally {\n setUserApiFetching(false);\n }\n };\n\n const fetchStaffOptions = async () => {\n try {\n setUserApiFetching(true);\n const { data } = await AxiosPublic.get(`/${USERS_BASE_URL}/staff`);\n const staff = data.map(user => {\n return { label: user.displayName, value: user.id };\n });\n setStaffOptions(staff);\n setUserApiSuccess(true);\n setUserApiErrors([]);\n } catch (e) {\n setUserApiErrors(new ResponseException(e).getErrorMessage());\n setUserApiSuccess(false);\n setFetchedUsers([]);\n } finally {\n setUserApiFetching(false);\n }\n };\n\n const fetchUser = async id => {\n try {\n setUserApiFetching(true);\n const { data } = await AxiosPrivate.get(`/${USERS_BASE_URL}/${id}`);\n setFetchedUser(new UserModel(data));\n setUserApiSuccess(true);\n setUserApiErrors([]);\n } catch (e) {\n setUserApiErrors(new ResponseException(e).getErrorMessage());\n setUserApiSuccess(false);\n setFetchedUser(null);\n } finally {\n setUserApiFetching(false);\n }\n };\n\n const resetUserApi = () => {\n setUserApiSuccess(false);\n setUserApiErrors([]);\n setSubmittedUser(null);\n };\n\n return {\n isUserApiSubmitting,\n isUserApiFetching,\n userApiSuccess,\n userApiErrors,\n userSubmissionType,\n submittedUser,\n fetchedUsers,\n fetchedUser,\n userCount,\n submitUser,\n fetchUser,\n fetchUsers,\n resetUserApi,\n fetchStaffOptions,\n staffOptions,\n };\n};\n","import { useState } from 'react';\n\nimport { AxiosPrivate } from '../utils/axios';\nimport { ResponseException } from '../models';\n\nexport const useRemoveOrganizationUsers = () => {\n const [isFetching, setFetching] = useState(false);\n const [success, setSuccess] = useState(false);\n const [errors, setErrors] = useState([]);\n\n return {\n errors,\n isFetching,\n success,\n submit: async (organizationId: string, userIds: string[]) => {\n setSuccess(false);\n setFetching(true);\n try {\n const data = { userIds };\n await AxiosPrivate.delete(`/organizations/${organizationId}/users`, { data });\n setSuccess(true);\n setErrors([]);\n return null;\n } catch (e) {\n setSuccess(false);\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setFetching(false);\n }\n },\n };\n};\n","import { isJsonString, parsePlainTextToJSON } from '@mvrb-frontend/shared-ui/lib/utils/utils';\nimport { ContentState, convertToRaw, EditorState } from 'draft-js';\nimport { useState } from 'react';\nimport CommentSetModel from '../components/comments/CommentSetModel';\n\nimport { AxiosPrivate } from '../utils/axios';\n\nexport const useGetCommentSet = () => {\n const [isFetching, setFetching] = useState(false);\n\n const getOneCommentSetByParams = async (\n reviewId,\n organizationId,\n authorId,\n withComments,\n published,\n ): Promise => {\n try {\n const params = {\n organizationId,\n authorId,\n withComments,\n published,\n };\n\n const url = `/comment-set/oneby/${reviewId}`;\n\n setFetching(true);\n const { data } = await AxiosPrivate.get(url, { params });\n if (data.comments.length > 0) {\n data.comments.forEach(c => (c.customTopic = parsePlainTextToJSON(c.customTopic)));\n }\n\n return data ? new CommentSetModel(data) : null;\n } catch (e) {\n return null;\n } finally {\n setFetching(false);\n }\n };\n\n const getCommentSetsByParams = async (\n reviewId,\n organizationId,\n authorId,\n withComments,\n published,\n skip?,\n take?,\n ): Promise => {\n try {\n const params = {\n organizationId,\n authorId,\n withComments,\n published,\n };\n\n //Add params when pagination is requested\n if(skip || take){\n Object.assign(params, {skip, take});\n }\n\n const url = `/comment-set/filter/${reviewId}`;\n\n setFetching(true);\n const { data } = await AxiosPrivate.get(url, { params });\n\n data.map(commentSet => {\n if (commentSet.comments.length > 0) {\n return commentSet.comments.map(comment => {\n comment.customTopic = parsePlainTextToJSON(comment.customTopic);\n return comment;\n });\n }\n });\n\n return data.map(cs => new CommentSetModel(cs));\n } catch (e) {\n return null;\n } finally {\n setFetching(false);\n }\n };\n\n return {\n isFetching,\n getOneCommentSetByParams,\n getCommentSetsByParams,\n };\n};\n","import { useState } from 'react';\n\nimport { Utils } from '@mvrb-frontend/shared-ui';\n\nimport { ResponseException } from '../models';\nimport { AxiosPrivate } from '../utils/axios';\nimport { PaginationQuery } from '../interfaces/paginationQuery.interface';\nimport { DistributionListModel, DistributionListItemModel } from '../models';\n\nexport const useDistributeReview = () => {\n const [isFetching, setIsFetching] = useState(false);\n const [errors, setErrors] = useState([]);\n const [success, setSuccess] = useState(false);\n\n const submit = async (reviewId: string, payload: any) => {\n try {\n setIsFetching(true);\n await AxiosPrivate.post(`/reviews/${reviewId}/redistribute`, payload);\n setErrors([]);\n setSuccess(true);\n } catch (e) {\n setSuccess(false);\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setIsFetching(false);\n }\n };\n\n return {\n isFetching,\n success,\n errors,\n submit,\n };\n};\n","import { useState } from 'react';\n\nimport { AxiosPublic } from '../utils/axios';\nimport { ResponseException } from '../models';\nimport { BlobServiceClient } from '@azure/storage-blob';\n\nexport const useUploadFTPForm = () => {\n const url = '/ftp-upload/authorize-upload';\n\n const [isFetching, setFetching] = useState(false);\n const [errors, setErrors] = useState([]);\n const [success, setSuccess] = useState(false);\n const [uploadProgress, setUploadProgress] = useState(0);\n\n const upload = async (values, file: File, formRef) => {\n try {\n setSuccess(false);\n setFetching(true);\n setErrors([]);\n\n const response = await AxiosPublic.post(url, {\n fileName: file.name,\n });\n const { url: sasUrl, fileUrl, fileName } = response.data;\n const blobService = new BlobServiceClient(sasUrl);\n const containerClient = blobService.getContainerClient('ftp-uploads');\n\n const blockBlobClient = containerClient.getBlockBlobClient(response.data.fileName);\n await blockBlobClient.uploadBrowserData(file, {\n onProgress: ev => {\n setUploadProgress((ev.loadedBytes / file.size) * 100);\n },\n });\n\n const fileData = {\n ...values,\n mimetype: file.type,\n generatedUrl: fileUrl,\n encoding: 'UTF-8',\n filename: fileName,\n fileSize: file.size,\n originalname: file.name,\n };\n await AxiosPublic.post('/ftp-upload', fileData);\n setSuccess(true);\n formRef.current.resetForm();\n return response;\n } catch (e) {\n setErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setFetching(false);\n }\n };\n\n return {\n isFetching,\n upload,\n errors,\n success,\n uploadProgress,\n };\n};\n","import React, { useState } from 'react';\nimport { UploadType } from '../constants';\nimport { AxiosPrivate } from '../utils/axios';\n\nexport const useDeleteCommentAttachment = () => {\n const [isDeleting, setIsDeleting] = useState(false);\n const [toDeleteFileIndex, setDeleteFileIndex] = useState(0);\n\n const deleteAttachment = async (\n attachmentId: string,\n uploadType: UploadType = UploadType.CommentAttachment,\n fileIndex: number,\n ): Promise => {\n let urlPrefix = 'comment-attachments';\n\n if (uploadType === UploadType.ResponseAttachment) {\n urlPrefix = 'response-attachments';\n }\n\n try {\n const url = `/${urlPrefix}/${attachmentId}`;\n setDeleteFileIndex(fileIndex);\n setIsDeleting(true);\n\n await AxiosPrivate.delete(url);\n } finally {\n setIsDeleting(false);\n setDeleteFileIndex(0);\n }\n };\n\n return {\n isDeleting,\n toDeleteFileIndex,\n deleteAttachment,\n };\n};\n","import { useState } from 'react';\nimport { PaginationQuery } from '../interfaces/paginationQuery.interface';\nimport { OrganizationModel } from '../models';\nimport { AxiosPublic } from '../utils/axios';\n\nexport const useGetAdminOrganization=()=>{\n const [isFetching, setFetching] = useState(false);\n const [adminOrgItems, setAdminOrgItems] = useState([]);\n return{\n isFetching,\n adminOrgItems,\n onLoad: async(queryParams?: PaginationQuery)=>{\n setFetching(true);\n try{\n const{data}=await AxiosPublic.get('/organizations',{\n params: {...queryParams, includeUserAdminCount: true, orderBy: \"position\", order:\"ASC\"},\n });\n setAdminOrgItems(data);\n setFetching(false);\n }\n catch(e){\n setFetching(false);\n }\n },\n };\n};","import { useState } from 'react';\nimport { AxiosPrivate, AxiosPublic } from '../utils/axios';\nimport { NewsLetterParams, NewsLetterSubmissionType } from '@mvrb-frontend/shared-ui';\nimport NewsLetterModel from '../models/NewsLetterModel';\nimport { ResponseException } from '../models';\n\n/*\n*If you update this hook, don't forget to change as well\n*the newsLetterApi hook in the website package.\n*/\nexport const useNewsLetterApi = ()=>{\n const [isFetching, setFetching]= useState(false);\n const [dataNewsLetter, setDataNewsLetter] = useState([]);\n const [ apiSuccess, setApisuccess] = useState(false);\n const [apiErrors, setApiErrors] = useState([]);\n const [showNL, setShowNL] = useState(false);\n const [ listFile, setListFile ] = useState();\n const [ userCount, setUserCount ] = useState(0);\n \n const updateUserNewsLetter = async (payload: NewsLetterModel, submissionType: NewsLetterSubmissionType) =>{\n try {\n setApisuccess(false);\n switch(submissionType){\n case NewsLetterSubmissionType.Submit:\n await AxiosPublic.post('/newsletter', payload);\n break;\n case NewsLetterSubmissionType.Update:\n await AxiosPublic.patch('/newsletter', payload);\n break;\n case NewsLetterSubmissionType.UpdatePreferences:\n await AxiosPublic.patch('/newsletter/user-preferences', payload);\n break;\n }\n\n setApiErrors([]);\n } catch (error) {\n setApiErrors(new ResponseException(error).getErrorMessage());\n }\n finally{\n setApisuccess(true);\n }\n }\n\n const getNewsLetters = async (queryParams: NewsLetterParams) =>{\n try {\n setFetching(true);\n const {data} = await AxiosPrivate.get('/newsletter', {\n params: queryParams\n });\n\n data.rows.map((item)=>{\n Object.assign(item, {id:item.Email})\n })\n setUserCount(data.userCount);\n setDataNewsLetter(data.rows);\n } catch (error) {\n setApiErrors(new ResponseException(error).getErrorMessage());\n } finally{\n setFetching(false);\n }\n };\n\n const getUserNewsLetter = async (queryParams: NewsLetterParams) =>{\n try{\n setFetching(true);\n const{data}: any = await AxiosPrivate.get('/newsletter/usernewsletter', {\n params: queryParams\n });\n \n setDataNewsLetter(data);\n\n }\n catch(error){\n setApiErrors(new ResponseException(error).getErrorMessage());\n }\n finally{\n setFetching(false);\n }\n }\n\n //-->NewsLetter popup its to only be showed the first time you signin after\n //-->implementation\n\n //-->Get true if a user have sign in and have already seen the Newsletter popup \n const getUserPreferences = async (queryParams: NewsLetterParams) =>{\n try{\n setFetching(true);\n const{data}: any = await AxiosPublic.get('/newsletter/user-preferences', {\n params: queryParams\n });\n \n if(data.length>0){\n data[0].Newsletter===true\n ?setShowNL(false)\n :setShowNL(true)\n }\n }\n catch(error){\n setApiErrors(new ResponseException(error).getErrorMessage());\n }\n finally{\n setFetching(false);\n }\n }\n\n const getNewsLetterListFile = async (queryParams: any) =>{\n try {\n setFetching(true);\n const response: any = AxiosPrivate.get('/newsletter/listfile',{\n params: queryParams\n })\n\n setListFile(response);\n return response;\n } catch (error) {\n setApiErrors(new ResponseException(error).getErrorMessage());\n }\n finally{\n setFetching(false);\n }\n }\n\n return{\n isFetching,\n dataNewsLetter,\n apiSuccess,\n apiErrors,\n showNL,\n listFile,\n userCount,\n getNewsLetterListFile,\n getUserPreferences,\n updateUserNewsLetter,\n getUserNewsLetter,\n getNewsLetters,\n };\n}","import moment from 'moment';\nimport EngagementLocationModel from './EngagementLocationModel';\nexport default class EngagementModel{\n id?: string;\n location?: any[];\n name: string;\n engagementItems?: any[];\n updatedAt?: string;\n\n constructor(data?: any){\n this.id = data?.id || undefined;\n this.location = Array.isArray(data?.location)\n ? data.location.map(el => new EngagementLocationModel(el))\n : [];\n this.name = data?.name || undefined;\n this.updatedAt = data?.updatedAt ? moment.unix(new Date(data.updatedAt).getTime() / 1000).format('ll') : undefined;\n this.engagementItems = data?.engagementItems || [];\n }\n}","import { useState } from \"react\"\nimport { AxiosPrivate, AxiosPublic } from \"../utils/axios\"\nimport { Utils, SubmissionType } from '@mvrb-frontend/shared-ui';\nimport EngagementModel from \"../models/EngagementModel\";\nimport { EngagementLocationModel, ResponseException } from \"../models\";\n\nexport const useGetEngagementOrgs = () => {\n const [engagementData, setEngagementData] = useState([]);\n const [isFetching, setIsFetching] = useState(false);\n const [isSubmiting, setIsSubmiting] = useState(false);\n const [successSubmit, setSuccessSubmit] = useState(false);\n const [engagementList, setEngagementList] = useState([]);\n const [count, setCount] = useState(0)\n const [submitEngagementErrors, setSubmitEngagementErrors] = useState([])\n const [engagementSubmisisonType, setEngagementSubmissionType] = useState()\n\n const getEngagementOrgs = async (queryParams?: any) => {\n setIsFetching(true)\n try {\n const { data } = await AxiosPublic.get(`/organizations/engagement/list`,{\n params: {...queryParams},\n });\n setEngagementList(data.engagementData.map(eng => new EngagementModel(eng)));\n setCount(data.dataCount);\n\n } catch (e) {\n setIsFetching(false);\n } finally {\n setIsFetching(false);\n }\n }\n\n const submitEngagementOrgs = async (values: any,submissionType: SubmissionType) => {\n try {\n setEngagementSubmissionType(submissionType)\n setIsSubmiting(true);\n\n switch (submissionType) {\n case SubmissionType.Add:\n await AxiosPrivate.post('/organizations/engagement/add', values);\n break;\n case SubmissionType.Update:\n await AxiosPrivate.patch('organizations/engagement/update', values);\n break;\n case SubmissionType.Delete:\n await AxiosPrivate.delete(`organizations/engagement/delete/${values}`);\n break;\n }\n setSubmitEngagementErrors([]);\n setSuccessSubmit(true);\n } catch (e) {\n setSuccessSubmit(false)\n setSubmitEngagementErrors(new ResponseException(e).getErrorMessage());\n }\n finally{\n setIsSubmiting(false);\n }\n }\n\n const getEngagementData = async (values: any) =>{\n try {\n setIsFetching(true);\n\n const { data } = await AxiosPrivate.get(`organizations/engagement/${values}`);\n data[0].location = data[0].location.split(\",\");\n\n if(Array.isArray(data[0]?.location)){\n data[0].location = data[0].location.map(item =>(new EngagementLocationModel(item)))\n }\n setEngagementData(data[0]);\n\n return data[0]\n } catch (e) {\n setIsFetching(false);\n } finally{\n setIsFetching(false);\n }\n }\n\n\n\n return {\n getEngagementOrgs,\n submitEngagementOrgs,\n getEngagementData,\n engagementData,\n isFetching,\n isSubmiting,\n engagementList,\n successSubmit,\n count,\n submitEngagementErrors,\n engagementSubmisisonType,\n }\n}","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Button_1 = __importDefault(require(\"@material-ui/core/Button\"));\nconst Card_1 = __importDefault(require(\"@material-ui/core/Card\"));\nconst Grid_1 = __importDefault(require(\"@material-ui/core/Grid\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst formik_1 = require(\"formik\");\nconst _1 = require(\"./\");\nconst DocumentForm = (props) => {\n const { index, documentURL, isEditing, onCancel, onItemSubmit } = props;\n const { values, setFieldError, setFieldTouched } = formik_1.useFormikContext();\n const save = () => {\n const doc = values.documents[index];\n let isValid = true;\n if (doc) {\n setFieldTouched(`documents[${index}].documentURL`, true);\n setFieldTouched(`documents[${index}].name`, true);\n if (!isEditing && !doc.documentURL) {\n setFieldError(`documents[${index}].documentURL`, 'Document URL is required');\n isValid = false;\n }\n if (!doc.name) {\n setFieldError(`documents[${index}].name`, 'Document name is required');\n isValid = false;\n }\n if (!isValid) {\n return;\n }\n if (!isEditing) {\n onItemSubmit(doc.documentURL, doc.name);\n }\n else {\n onItemSubmit(doc.name);\n }\n }\n };\n return (react_1.default.createElement(Card_1.default, null,\n react_1.default.createElement(Box_1.default, { p: 2 },\n react_1.default.createElement(Grid_1.default, { container: true },\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },\n react_1.default.createElement(Typography_1.default, { variant: \"subtitle1\" }, isEditing ? 'Edit Document Details' : 'Add Document')),\n !isEditing && (react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },\n react_1.default.createElement(Box_1.default, { my: 1 },\n react_1.default.createElement(formik_1.FastField, { name: `documents[${index}].documentURL`, component: _1.RenderTextField, label: documentURL ? documentURL : 'Document URL' })))),\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },\n react_1.default.createElement(Box_1.default, { my: 1 },\n react_1.default.createElement(formik_1.FastField, { name: `documents[${index}].name`, component: _1.RenderTextField, label: \"Document Name\" }))),\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12, sm: 7 }),\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12, sm: 5 },\n react_1.default.createElement(Grid_1.default, { container: true },\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12, sm: 5 }, onCancel && (react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"secondary\", size: \"large\", onClick: onCancel }, \"Cancel\"))),\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12, sm: 7 },\n react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"primary\", size: \"large\", onClick: () => save() }, isEditing ? 'Save Changes' : 'Add Document'))))))));\n};\nDocumentForm.propTypes = {\n index: prop_types_1.default.number.isRequired,\n documentURL: prop_types_1.default.string,\n isEditing: prop_types_1.default.bool,\n onCancel: prop_types_1.default.any,\n onItemSubmit: prop_types_1.default.any,\n};\nexports.default = DocumentForm;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst TextField_1 = __importDefault(require(\"@material-ui/core/TextField\"));\nconst formik_1 = require(\"formik\");\nconst RenderEdithTextField = (props) => {\n const { field: { value, name, onChange, onBlur }, form: { touched, errors, setFieldValue, submitCount }, label, defaultValue, placeholder, inputVariant, submitOnEnter, characterLimit, rows, onInputBlur = () => undefined, ...otherProps } = props;\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n const [initState, setInitState] = react_1.useState(defaultValue);\n const displayErrors = (touch || submitCount > 0) && !!error;\n react_1.useEffect(() => {\n setInitState(defaultValue);\n }, [defaultValue, value]);\n const onKeyDown = (event) => {\n if (!submitOnEnter) {\n if (event.key == 'Enter') {\n event.preventDefault();\n }\n }\n };\n const handleOnBlur = (event) => {\n const value = event.target.value.trim();\n setFieldValue(name, value);\n onInputBlur(value);\n onBlur(event);\n };\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(TextField_1.default, Object.assign({ id: 'filled-helperText', multiline: rows > 1, rows: rows, name: name, label: label, variant: inputVariant, fullWidth: true, error: touch && !!error, \n //value={value || ''}\n placeholder: placeholder, onChange: onChange, onBlur: handleOnBlur, onKeyDown: onKeyDown, defaultValue: initState, inputProps: { maxLength: characterLimit || undefined } }, otherProps)),\n characterLimit && (react_1.default.createElement(Typography_1.default, { style: { fontSize: '14px', color: '#9CA3AF' } },\n Number((value === null || value === void 0 ? void 0 : value.length) || 0).toLocaleString(),\n \"/\",\n Number(characterLimit).toLocaleString())),\n displayErrors && (react_1.default.createElement(Typography_1.default, Object.assign({ variant: \"body2\", component: \"p\", color: \"error\" }, otherProps), error)))));\n};\nRenderEdithTextField.defaultProps = {\n inputVariant: 'filled',\n submitOnEnter: false,\n};\nRenderEdithTextField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n label: prop_types_1.default.string.isRequired,\n placeholder: prop_types_1.default.string,\n submitOnEnter: prop_types_1.default.bool,\n characterLimit: prop_types_1.default.number,\n rows: prop_types_1.default.number,\n};\nexports.default = RenderEdithTextField;\n","import { CommentStatusEnum } from '../../constants';\nimport CommentModel from './CommentModel';\n\nclass CommentSetAuthorModel {\n id: string;\n displayName: string;\n\n constructor(data: any = {}) {\n this.id = data?.id;\n this.displayName = data?.displayName;\n }\n}\n\nclass CommentSetOrganizationModel {\n id: string;\n name: string;\n\n constructor(data: any = {}) {\n this.id = data?.id;\n this.name = data?.name;\n }\n}\n\nexport default class CommentSetModel {\n id: string;\n status: string;\n reviewId: string;\n organizationId: string;\n authorId: string;\n late: boolean;\n comments: any[];\n author?: CommentSetAuthorModel;\n organization?: CommentSetOrganizationModel;\n totalCommentSet?: number;\n hasDraft?: boolean;\n responseDraft?: boolean;\n\n constructor(data: any = {}) {\n this.id = data.id;\n this.status = data.status || CommentStatusEnum.DRAFT;\n this.reviewId = data.reviewId;\n this.organizationId = data.organizationId;\n this.authorId = data.authorId;\n this.late = typeof data.late === 'boolean' ? data.late : false;\n this.comments = (data.comments || []).map(comment => new CommentModel(comment));\n this.totalCommentSet = data.totalCommentSet|| 1;\n this.hasDraft = data?.hasDraft;\n this.responseDraft = data?.responseDraft;\n if (data?.author) {\n this.author = new CommentSetAuthorModel(data.author);\n }\n\n if (data?.organization) {\n this.organization = new CommentSetOrganizationModel(data.organization);\n }\n }\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport Cookies from 'js-cookie';\nimport PropTypes from 'prop-types';\nimport { useHistory } from 'react-router-dom';\nimport { LinearProgress } from '@material-ui/core';\nimport { NavBar, Wrapper } from '@mvrb-frontend/shared-ui';\nimport { GlobalContext } from '../contexts/GlobalContext';\nimport { isLoggedIn, logout, isStaffUser, isAdminUser } from '../utils/auth';\nimport { OrsRoutes } from '../constants/routes';\n\nconst Page = (props: any) => {\n const { children, isFetching, container } = props;\n const history = useHistory();\n const content = isFetching ? : children;\n const globalContext = useContext(GlobalContext);\n const [initials, setInitials] = useState('');\n const isStaff = isStaffUser();\n const isAdmin = isAdminUser();\n const isLogged = isLoggedIn();\n\n useEffect(() => {\n if (!globalContext.profile && isLogged) {\n const profile = Cookies.getJSON('ORS').profile;\n if (profile) {\n globalContext.setProfile(profile);\n } else {\n clearAuth();\n history.push(process.env.REACT_APP_ORS_BASE_URL || '/');\n }\n }\n }, [globalContext.profile]);\n\n useEffect(() => {\n if (!globalContext.profile || !isLogged) {\n return setInitials('');\n }\n return setInitials(`\n ${globalContext.profile?.firstName?.charAt(0).toUpperCase()}\n ${globalContext.profile?.lastName?.charAt(0).toUpperCase()}`);\n }, [globalContext.profile]);\n\n function clearAuth() {\n logout();\n globalContext.setProfile(undefined);\n }\n\n const isAdminOrStaff=()=>{\n if(isAdmin||isStaff){\n return true;\n }\n else{\n return false;\n }\n }\n\n const navBar: React.ReactElement = (\n {\n if (isLogged) {\n clearAuth();\n }\n // history.push I believe is relative, so / should get us to /ors\n history.push(process.env.REACT_APP_ORS_BASE_URL || '/');\n }}\n links={[\n {\n title: 'Home',\n value: `${process.env.REACT_APP_WEBSITE_BASE_URL}`, // href, so should be just the domain /\n },\n {\n title: 'Reviews',\n value: `${process.env.REACT_APP_WEBSITE_BASE_URL}/reviews`,\n },\n {\n title: 'Analytics Dashboard',\n value: `/ors${OrsRoutes.AnalyticsDashboard}`,\n },\n {\n title: 'User Manual',\n value: process.env.REACT_APP_USER_MANUAL_PDF_URL,\n onClick: () => window.open(process.env.REACT_APP_USER_MANUAL_PDF_URL, '_blank'),\n },\n {\n title: 'System Management',\n value: `/ors${OrsRoutes.Users}`,\n visible: isAdminOrStaff(),\n },\n ]}\n loggedIn={isLogged}\n userInitials={initials}\n onUserInitialClick={() => history.push('/edit-user-profile')}\n newsLetterOrigin={'ors-frontend'}\n />\n );\n\n return (\n \n {content}\n \n );\n};\n\nPage.propTypes = {\n children: PropTypes.any.isRequired,\n isFetching: PropTypes.bool.isRequired,\n container: PropTypes.bool,\n};\n\nexport default Page;\n","import { useState } from 'react';\nimport { ResponseException } from '../models';\nimport { AxiosPublic } from '../utils/axios';\nimport { AnalyticsItem } from '../interfaces/analyticsItem.interface';\nimport { ReviewParadigm, PermitLabels } from '@mvrb-frontend/shared-ui';\nimport { MetricesType } from '../pages/AnalyticsDashboard/ORSComments';\n\nconst ANALYTICS_BASE_URL = 'analytics';\nconst PUBLIC_REVIEWS_END_POINT = 'public-review';\nconst ORS_COMMENTS_END_POINT = 'ors-comments';\nconst PROCESSING_TIMES_END_POINT = 'processing-time';\n\nexport type PublicReviewQueryParams = {\n reviewTypes: string[];\n requestTypes: string[];\n board: string;\n activities: string[];\n proponents: Array<{ label: string; value: string }>;\n dateFrom: any;\n dateTo: any;\n checkboxFilters: any;\n};\n\nexport type ProcessingTimeQueryParams = {\n reviewTypes: string[];\n requestType: string | null;\n boards: string[];\n proponents: Array<{ label: string; value: string }>;\n dateFrom: any;\n dateTo: any;\n checkboxFilters: any;\n};\n\ntype ORSCommentsQueryParams = {\n lateComments?: boolean;\n reviewer?: string;\n metric?: MetricesType;\n};\n\nconst useAnalyticsApi = () => {\n const [isFetchingPublicReviews, setFetchingPublicReviews] = useState(false);\n const [publicReviewsSuccess, setPublicReviewsSuccess] = useState(false);\n const [publicReviewsErrors, setPublicReviewsErrors] = useState([]);\n const [fetchedPublicReviews, setFetchedPublicReviews] = useState>([]);\n const [publicReviewsCount, setPublicReviewsCount] = useState('');\n\n const [isORSCommentsFetching, setORSCommentsFetching] = useState(false);\n const [orsCommentsSuccess, setORSCommentsSuccess] = useState(false);\n const [orsCommentsErrors, setORSCommentsErrors] = useState([]);\n const [fetchedORSComments, setFetchedORSComments] = useState>([]);\n const [orsCommentsTotal, setORSCommentsTotal] = useState>([]);\n\n const [isProcessingTimesFetching, setProcessingTimesFetching] = useState(false);\n const [processingTimesSuccess, setProcessingTimesSuccess] = useState(false);\n const [processingTimesErrors, setProcessingTimesErrors] = useState([]);\n const [fetchedProcessingTimes, setFetchedProcessingTimes] = useState>([]);\n\n const fetchPublicReviews = async (query: PublicReviewQueryParams) => {\n try {\n const updatedQuery = {\n ...query,\n requestTypes: query.requestTypes?.map(r => (r === 'Policy/Guideline' ? 'Other' : r)),\n proponents: query.proponents?.map(el => el.value),\n dateFrom: query.dateFrom?.format().split('T')[0],\n dateTo: query.dateTo?.format().split('T')[0],\n };\n setFetchingPublicReviews(true);\n const { data } = await AxiosPublic.get(`/${ANALYTICS_BASE_URL}/${PUBLIC_REVIEWS_END_POINT}`, {\n params: {\n ...updatedQuery,\n board: updatedQuery.board === 'Any' ? '' : updatedQuery.board,\n },\n });\n\n const dataWitLabels = data?.result?.map(dataItem => {\n const formatName = (name) => {\n const trimmedName = name.trim();\n let paradigm = ReviewParadigm.find(paradigm => paradigm.value === trimmedName);\n if (!paradigm) {\n paradigm = PermitLabels.find(label => label.value === trimmedName);\n }\n return paradigm ? paradigm.label : trimmedName;\n };\n\n const formatString = (str) => {\n return str.split(/[,|-]/).map(formatName).join(', ');\n };\n\n return {\n ...dataItem,\n name: formatString(dataItem.name),\n };\n }\n \n );\n setPublicReviewsCount(data?.filteredTotal);\n setFetchedPublicReviews(dataWitLabels);\n setPublicReviewsSuccess(true);\n setPublicReviewsErrors([]);\n } catch (e) {\n setPublicReviewsErrors(new ResponseException(e).getErrorMessage());\n setPublicReviewsSuccess(false);\n setFetchedPublicReviews([]);\n setPublicReviewsCount('');\n } finally {\n setFetchingPublicReviews(false);\n }\n };\n\n const fetchProcessingTimes = async (query: ProcessingTimeQueryParams) => {\n try {\n const updatedQuery = {\n ...query,\n proponents: query.proponents?.map(el => el.value),\n dateFrom: query.dateFrom?.format().split('T')[0],\n dateTo: query.dateTo?.format().split('T')[0],\n };\n setProcessingTimesFetching(true);\n const { data } = await AxiosPublic.get(`/${ANALYTICS_BASE_URL}/${PROCESSING_TIMES_END_POINT}`, {\n params: updatedQuery,\n });\n setFetchedProcessingTimes(data);\n setProcessingTimesSuccess(true);\n setProcessingTimesErrors([]);\n } catch (e) {\n setProcessingTimesErrors(new ResponseException(e).getErrorMessage());\n setProcessingTimesSuccess(false);\n setFetchedProcessingTimes([]);\n } finally {\n setProcessingTimesFetching(false);\n }\n };\n\n const fetchORSComments = async (query: ORSCommentsQueryParams) => {\n try {\n setORSCommentsFetching(true);\n const { data } = await AxiosPublic.get(`/${ANALYTICS_BASE_URL}/${ORS_COMMENTS_END_POINT}`, {\n params: query,\n });\n setFetchedORSComments(data?.filteredData);\n setORSCommentsSuccess(true);\n setORSCommentsErrors([]);\n setORSCommentsTotal(data?.totalMap);\n } catch (e) {\n setORSCommentsErrors(new ResponseException(e).getErrorMessage());\n setORSCommentsSuccess(false);\n setFetchedORSComments([]);\n } finally {\n setORSCommentsFetching(false);\n }\n };\n\n return {\n isFetchingPublicReviews,\n publicReviewsSuccess,\n publicReviewsErrors,\n fetchedPublicReviews,\n publicReviewsCount,\n fetchPublicReviews,\n isORSCommentsFetching,\n orsCommentsSuccess,\n orsCommentsErrors,\n fetchedORSComments,\n fetchORSComments,\n orsCommentsTotal,\n isProcessingTimesFetching,\n processingTimesSuccess,\n processingTimesErrors,\n fetchedProcessingTimes,\n fetchProcessingTimes,\n };\n};\n\nexport default useAnalyticsApi;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Box, Button, CircularProgress, Container, Grid, Hidden, IconButton, Typography } from '@material-ui/core';\nimport { KeyboardBackspace as KeyboardBackspaceIcon, MoreVert as MoreVertIcon } from '@material-ui/icons';\nimport { Menu, Modal } from '@mvrb-frontend/shared-ui';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.common.white,\n },\n menu: {\n color: theme.palette.common.white,\n },\n actions: {\n alignItems: 'baseline',\n justifyContent: 'flex-end',\n },\n submitButton: {\n whiteSpace: 'nowrap',\n },\n cancelButton: {\n borderColor: theme.palette.common.white,\n color: theme.palette.common.white,\n whiteSpace: 'nowrap',\n },\n}));\n\nconst OrganizationHeader = (props: any) => {\n const classes = useStyles();\n const {\n isFetching,\n isForm,\n headerText,\n onSubmit,\n disableSubmitButton,\n submitButtonText,\n isBackButtonVisible,\n backModalTitleText = 'Back',\n backModalBodyText = 'If you go back now, all the information that you have filled in will be lost. Are you sure you want to exit this page?',\n onBackConfirm,\n isCancelButtonVisible = true,\n cancelButtonText = 'Cancel',\n cancelModalTitleText = 'Cancel',\n cancelModalBodyText = 'If you go back, all the information that you have filled in will be lost. Are you sure you want to exit this page?',\n onCancelConfirm,\n isDeleteButtonVisible = false,\n deleteButtonText = 'Delete',\n deleteModalTitleText = 'Delete',\n deleteModalBodyText = 'Delete item?',\n onDeleteConfirm,\n } = props;\n const [cancelOpen, setCancelOpen] = useState(false);\n const [backOpen, setBackOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n const openCancelModal = () => {\n setCancelOpen(true);\n };\n\n const closeCancelModal = () => {\n setCancelOpen(false);\n };\n\n const openBackModal = () => {\n setBackOpen(true);\n };\n\n const closeBackModal = () => {\n setBackOpen(false);\n };\n\n const openDeleteModal = () => {\n setDeleteOpen(true);\n };\n\n const closeDeleteModal = () => {\n setDeleteOpen(false);\n };\n\n const saveUserProfile = () => {\n onSubmit();\n };\n\n return (\n <>\n {/** Header */}\n \n \n \n \n \n {isBackButtonVisible && (\n \n \n \n \n \n )}\n \n \n {headerText}\n \n \n \n \n\n \n {isForm && (\n \n }\n />\n \n )}\n \n \n {isCancelButtonVisible && (\n \n \n \n )}\n {isDeleteButtonVisible && (\n \n \n \n )}\n {isForm && (\n \n \n \n \n \n )}\n \n \n \n \n \n \n\n {/** Modal Dialogs */}\n {\n closeCancelModal();\n if (onCancelConfirm) onCancelConfirm();\n }}\n />\n {\n closeBackModal();\n if (onBackConfirm) onBackConfirm();\n }}\n />\n {\n closeDeleteModal();\n if (onDeleteConfirm) onDeleteConfirm();\n }}\n />\n >\n );\n};\n\nOrganizationHeader.propTypes = {\n isFetching: PropTypes.bool,\n isForm: PropTypes.bool, // show action button or not\n headerText: PropTypes.string.isRequired, // form name\n onSubmit: PropTypes.any.isRequired,\n disableSubmitButton: PropTypes.bool,\n submitButtonText: PropTypes.string.isRequired,\n isBackButtonVisible: PropTypes.bool,\n backModalTitleText: PropTypes.string,\n backModalBodyText: PropTypes.string,\n onBackConfirm: PropTypes.any,\n isCancelButtonVisible: PropTypes.bool,\n cancelButtonText: PropTypes.string,\n cancelModalTitleText: PropTypes.string,\n cancelModalBodyText: PropTypes.string,\n onCancelConfirm: PropTypes.any,\n isDeleteButtonVisible: PropTypes.bool,\n deleteButtonText: PropTypes.string,\n deleteModalTitleText: PropTypes.string,\n deleteModalBodyText: PropTypes.string,\n onDeleteConfirm: PropTypes.any,\n};\n\nexport default OrganizationHeader;\n","import { useState } from 'react';\nimport { AxiosPrivate } from '../utils/axios';\nimport { ResponseException } from '../models';\nimport { PaginationQuery } from '../interfaces/paginationQuery.interface';\n\nexport const useGetTopics = () => {\n const [isFetchingTopics, setFetchingTopics] = useState(false);\n const [topicsErrors, setTopicsErrors] = useState([]);\n\n const getReviewTopics = async id => {\n try {\n setFetchingTopics(true);\n const response = await AxiosPrivate.get(`/reviews/${id}/topics`);\n return response;\n } catch (e) {\n setTopicsErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setFetchingTopics(false);\n }\n };\n\n const getAllTopics = async (query: PaginationQuery = {}) => {\n try {\n setFetchingTopics(true);\n const response = await AxiosPrivate.get(`/topics`, { params: { ...query } });\n return response;\n } catch (e) {\n setTopicsErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setFetchingTopics(false);\n }\n };\n\n const getReviewTopic = async (reviewTopicId: string) => {\n try {\n setFetchingTopics(true);\n const res = await AxiosPrivate.get(`/topics/${reviewTopicId}`);\n return res;\n } catch (e) {\n setTopicsErrors(new ResponseException(e).getErrorMessage());\n } finally {\n setFetchingTopics(false);\n }\n };\n\n return {\n isFetchingTopics,\n topicsErrors,\n getAllTopics,\n getReviewTopics,\n getReviewTopic,\n };\n};\n","import { useState } from 'react';\nimport { AxiosPublic } from '../utils/axios';\n\nexport const useGetActivities = () => {\n const [isFetching, setFetching] = useState(false);\n const [activityItems, setActivityItems] = useState([]);\n\n return {\n isFetching,\n activityItems,\n onLoad: async () => {\n try {\n setFetching(true);\n const { data } = await AxiosPublic.get('/activities');\n\n setActivityItems(data.map(item => ({ value: item.id, label: item.name })));\n setFetching(false);\n } catch (e) {\n setFetching(false);\n }\n },\n };\n};\n","import { CommentStatusEnum } from '../../constants';\n\nconst defaultTextEditorValue =\n '{\"blocks\":[{\"key\":\"75mui\",\"text\":\"\",\"type\":\"unstyled\",\"depth\":0,\"inlineStyleRanges\":[],\"entityRanges\":[],\"data\":{}}],\"entityMap\":{}}';\n\nexport default class ResponseModel {\n id: string;\n commentId: string;\n description: string;\n status: string;\n touched: false;\n attachments: any[];\n\n constructor(data: any = {}) {\n this.id = data.id || undefined;\n this.commentId = data.commentId || '';\n this.description = data.description || defaultTextEditorValue;\n this.status = data.status || CommentStatusEnum.DRAFT;\n this.touched = typeof data.touched === 'boolean' ? data.touched : false;\n this.attachments = data.attachments || [];\n }\n}\n","import { CommentTypeEnum } from '../../constants';\nimport ResponseModel from '../responses/ResponseModel';\n\nconst defaultTextEditorValue =\n '{\"blocks\":[{\"key\":\"75mui\",\"text\":\"\",\"type\":\"unstyled\",\"depth\":0,\"inlineStyleRanges\":[],\"entityRanges\":[],\"data\":{}}],\"entityMap\":{}}';\n\nexport default class CommentModel {\n id: string;\n referenceId: number;\n key: number;\n index: number;\n type: string;\n topic: any;\n topicId: string;\n customTopic: string;\n addressTo: any;\n addressToId: string;\n description: string;\n recommendation: string;\n touched: false;\n audioId: string;\n audioName: string;\n transcriptId: string;\n transcriptName: string;\n attachments: any[];\n response: ResponseModel | null;\n responseDescription: string;\n\n constructor(data: any = {}) {\n this.id = data.id || '';\n this.referenceId = data.referenceId;\n this.key = Math.random() * Date.now();\n this.index = data.order || -1;\n this.type = data.type || CommentTypeEnum.Default;\n this.topic = data.topic;\n this.topicId = data.topicId || '';\n this.customTopic = data.customTopic || '';\n this.addressTo = data.addressTo;\n this.addressToId = data.addressToId || null;\n this.description = data.description || defaultTextEditorValue;\n this.recommendation = data.recommendation || defaultTextEditorValue;\n this.touched = typeof data.touched === 'boolean' ? data.touched : false;\n this.audioId = data.audio?.id || data.audioId || null;\n this.audioName = data.audio?.filename || data.audioName || null;\n this.transcriptId = data?.transcript?.id || data.transcriptId || null;\n this.transcriptName = data?.transcript?.filename || data.transcriptName || null;\n this.attachments = data.attachments || [];\n this.response = new ResponseModel(data.response || { commentId: data.id });\n this.responseDescription = data?.response?.description || defaultTextEditorValue;\n }\n}\n","export default class FileMetadataModel {\n Activity: string;\n Activities:\n | {\n value: string;\n selected: boolean;\n }[]\n | undefined;\n Authorization: string;\n Company: string;\n CurrentStatus: string;\n Description: string;\n Expiry: string;\n MaxLat: string;\n MaxLong: string;\n MinLat: string;\n MinLong: string;\n Name: string;\n RO: string;\n Region: string;\n SpecLocation: string;\n Start?: string;\n Status: string;\n Url: string;\n PartitionKey: string;\n RowKey: string;\n Location:\n | {\n latitude: number;\n longitude: number;\n latlng: string;\n }\n | undefined;\n\n constructor(data: any = {}) {\n this.Activity = data.Activity || undefined;\n this.Activities = data.Activities || [];\n this.Authorization = data.Authorization || undefined;\n this.Company = data.Company || undefined;\n this.CurrentStatus = data.CurrentStatus || undefined;\n this.Description = data.Description || undefined;\n this.Expiry = data.Expiry || undefined;\n this.MaxLat = data.MaxLat || undefined;\n this.MaxLong = data.MaxLong || undefined;\n this.MinLat = data.MinLat || undefined;\n this.MinLong = data.MinLong || undefined;\n this.Name = data.Name || undefined;\n this.RO = data.RO || undefined;\n this.Region = data.Region || undefined;\n this.SpecLocation = data.SpecLocation || undefined;\n this.Start = data.Start || undefined;\n this.Status = data.Status || undefined;\n this.Url = data.Url || data.URL || undefined;\n this.PartitionKey = data.PartitionKey || undefined;\n this.RowKey = data.RowKey || undefined;\n\n this.Location = this.calculateLocation();\n }\n\n calculateLocation() {\n if (this.MaxLat && this.MaxLong && this.MinLat && this.MinLong) {\n const midLat = (parseFloat(this.MaxLat) + parseFloat(this.MinLat)) / 2;\n const midLong = (parseFloat(this.MaxLong) + parseFloat(this.MinLong)) / 2;\n\n return {\n latitude: midLat,\n longitude: midLong,\n latlng: `${midLat}, ${midLong}`,\n };\n } else {\n return undefined;\n }\n }\n}\n","import axios from 'axios';\nimport { useState } from 'react';\nimport FileMetadataModel from '../models/FileMetadataModel';\n\nconst api = process.env.REACT_APP_MVRB_DATA_API_URL;\n\nexport const useGetFileMetadata = () => {\n const [isFetchingMetadata, setFetchingMetadata] = useState(false);\n\n const getFileMetadata = async fileNumber => {\n try {\n setFetchingMetadata(true);\n const { data } = await axios.get(`${api}/getFile`, {\n params: {\n name: fileNumber,\n },\n });\n\n if (data && data[0]) {\n return new FileMetadataModel(data[0]);\n }\n } catch (e) {\n return null;\n } finally {\n setFetchingMetadata(false);\n }\n };\n\n return {\n getFileMetadata,\n isFetchingMetadata,\n };\n};\n","export default class DistributionListModel {\n id: string;\n name: string;\n user_id?: string;\n users: {\n id: string;\n }[];\n individualUserIds = [];\n faxRecipients = [];\n reviews = [];\n canBeDeleted: boolean;\n distributionListIds = [];\n reviewStatus = [];\n newAddedUsers = [];\n newIndividualAddedUsers = [];\n removedUsers = [];\n\n constructor(data: any) {\n this.id = data.id || undefined;\n this.name = data.name || undefined;\n this.user_id = data?.user_id || undefined;\n this.users = data.users || [];\n this.reviews = data.reviews || [];\n this.canBeDeleted = data.canBeDeleted || false;\n }\n}\n","export default class ReviewTopicModel {\n id?: string;\n name: string;\n parent?: string;\n children?: ReviewTopicModel[];\n\n constructor(data?: any) {\n this.id = data?.id || undefined;\n this.name = data?.name || undefined;\n this.parent = data?.parent || undefined;\n this.children = data?.children || undefined;\n }\n}\n","import { useState } from 'react';\nimport { AxiosPublic } from '../utils/axios';\n\nexport const useGetOrganizations = () => {\n const [isFetching, setFetching] = useState(false);\n const [organizationItems, setOrganizationItems] = useState<\n {\n value: string;\n label: string;\n orgType: string;\n disableAddressTo: boolean;\n }[]\n >([]);\n\n return {\n isFetching,\n organizationItems,\n onLoad: async (autoComplete?: boolean) => {\n try {\n setFetching(true);\n const { data } = await AxiosPublic.get('/organizations?orderBy=name&order=ASC');\n\n setOrganizationItems(\n data.map(item =>\n autoComplete\n ? { value: item.id, name: item.name, orgType: item.orgType, disableAddressTo: item.disableAddressTo }\n : {\n value: item.id,\n label: item.name,\n orgType: item.orgType,\n disableAddressTo: item.disableAddressTo,\n },\n ),\n );\n setFetching(false);\n } catch (e) {\n setFetching(false);\n }\n },\n };\n};\n","import qs from 'qs';\nimport { useState } from 'react';\nimport { AxiosPrivate } from '../utils/axios';\n\nexport const useGetUsers = () => {\n const [isFetching, setFetching] = useState(false);\n const [userItems, setUserItems] = useState([]);\n const [userObjects, setUserObjects] = useState([]);\n\n return {\n isFetching,\n userItems,\n userObjects,\n onLoad: async (organizationId?: string | null) => {\n try {\n setFetching(true);\n const { data } = await AxiosPrivate.get(`/organizations/${organizationId}/users`);\n\n const users = data.map(item => ({\n value: item.id,\n label: item.displayName,\n email: item.email,\n }));\n\n setUserItems(users);\n setUserObjects(data);\n setFetching(false);\n\n return users;\n } catch (e) {\n setFetching(false);\n }\n },\n getUsersFromMultipleOrgs: async (organizationIds: string[]) => {\n setFetching(true);\n const { data } = await AxiosPrivate.get(`/organizations/users/multiple`, {\n params: { organizationIds },\n paramsSerializer: params => {\n return qs.stringify(params);\n },\n });\n\n const users = data.map(item => ({\n value: item.id,\n label: item.displayName,\n }));\n\n setUserItems(users);\n setUserObjects(data);\n setFetching(false);\n\n return users;\n },\n };\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst core_1 = require(\"@material-ui/core\");\nconst Alert_1 = __importDefault(require(\"@material-ui/lab/Alert\"));\nconst StaticAlert = (props) => {\n const { children, severity, icon } = props;\n return (react_1.default.createElement(core_1.Box, Object.assign({}, props),\n react_1.default.createElement(Alert_1.default, { severity: severity, icon: icon }, children)));\n};\nStaticAlert.propTypes = {\n ...core_1.Box.propTypes,\n severity: prop_types_1.default.string.isRequired,\n icon: prop_types_1.default.any,\n};\nStaticAlert.defaultProps = {\n ...core_1.Box.defaultProps,\n severity: 'error',\n};\nexports.default = StaticAlert;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst IconButton_1 = __importDefault(require(\"@material-ui/core/IconButton\"));\nconst List_1 = __importDefault(require(\"@material-ui/core/List\"));\nconst ListItem_1 = __importDefault(require(\"@material-ui/core/ListItem\"));\nconst ListItemIcon_1 = __importDefault(require(\"@material-ui/core/ListItemIcon\"));\nconst ListItemText_1 = __importDefault(require(\"@material-ui/core/ListItemText\"));\nconst ListItemSecondaryAction_1 = __importDefault(require(\"@material-ui/core/ListItemSecondaryAction\"));\nconst Delete_1 = __importDefault(require(\"@material-ui/icons/Delete\"));\nconst Description_1 = __importDefault(require(\"@material-ui/icons/Description\"));\nconst DragHandle_1 = __importDefault(require(\"@material-ui/icons/DragHandle\"));\nconst Edit_1 = __importDefault(require(\"@material-ui/icons/Edit\"));\nconst OpenInNew_1 = __importDefault(require(\"@material-ui/icons/OpenInNew\"));\nconst react_beautiful_dnd_1 = require(\"react-beautiful-dnd\");\nconst useStyles = styles_1.makeStyles((theme) => ({\n item: {\n backgroundColor: '#ECF5F9',\n color: '#1E678F',\n fontSize: '16px',\n fontWeight: 600,\n lineHeight: '24px',\n },\n itemText: {\n overflow: 'auto',\n maxWidth: '75%',\n },\n icon: {\n color: '#1E678F',\n },\n fileIcon: {\n color: '#E67337',\n },\n}));\nconst OrderedList = (props) => {\n const { listItems, isFile, onChange, onOpenItem, onEditItem, onDeleteItem } = props;\n const classes = useStyles();\n return (react_1.default.createElement(react_beautiful_dnd_1.DragDropContext, { onDragEnd: onChange },\n react_1.default.createElement(react_beautiful_dnd_1.Droppable, { droppableId: \"orderedList\" }, (provided) => (react_1.default.createElement(List_1.default, Object.assign({}, provided.droppableProps, { ref: provided.innerRef }),\n listItems.map(({ value, label }, index) => {\n return (react_1.default.createElement(react_beautiful_dnd_1.Draggable, { key: value, draggableId: value, index: index }, (provided) => (react_1.default.createElement(Box_1.default, Object.assign({ my: 1, className: classes.item, ref: provided.innerRef }, provided.draggableProps, provided.dragHandleProps),\n react_1.default.createElement(ListItem_1.default, null,\n react_1.default.createElement(ListItemIcon_1.default, null,\n react_1.default.createElement(DragHandle_1.default, { className: classes.icon }),\n isFile && react_1.default.createElement(Description_1.default, { className: classes.fileIcon })),\n react_1.default.createElement(ListItemText_1.default, { className: classes.itemText, primary: label }),\n react_1.default.createElement(ListItemSecondaryAction_1.default, null,\n onOpenItem && (react_1.default.createElement(IconButton_1.default, { edge: \"end\", onClick: () => onOpenItem(value, index) },\n react_1.default.createElement(OpenInNew_1.default, { className: classes.icon }))),\n onEditItem && (react_1.default.createElement(IconButton_1.default, { edge: \"end\", onClick: () => onEditItem(value, index) },\n react_1.default.createElement(Edit_1.default, { className: classes.icon }))),\n onDeleteItem && (react_1.default.createElement(IconButton_1.default, { edge: \"end\", onClick: () => onDeleteItem(value, index) },\n react_1.default.createElement(Delete_1.default, { className: classes.icon })))))))));\n }),\n provided.placeholder)))));\n};\nOrderedList.propTypes = {\n listItems: prop_types_1.default.arrayOf(prop_types_1.default.object).isRequired,\n isFile: prop_types_1.default.bool,\n onChange: prop_types_1.default.any,\n onEditItem: prop_types_1.default.any,\n onOpenItem: prop_types_1.default.any,\n onDeleteItem: prop_types_1.default.any,\n};\nexports.default = OrderedList;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst IconButton_1 = __importDefault(require(\"@material-ui/core/IconButton\"));\nconst List_1 = __importDefault(require(\"@material-ui/core/List\"));\nconst ListItem_1 = __importDefault(require(\"@material-ui/core/ListItem\"));\nconst ListItemIcon_1 = __importDefault(require(\"@material-ui/core/ListItemIcon\"));\nconst ListItemText_1 = __importDefault(require(\"@material-ui/core/ListItemText\"));\nconst ListItemSecondaryAction_1 = __importDefault(require(\"@material-ui/core/ListItemSecondaryAction\"));\nconst Delete_1 = __importDefault(require(\"@material-ui/icons/Delete\"));\nconst Description_1 = __importDefault(require(\"@material-ui/icons/Description\"));\nconst DragHandle_1 = __importDefault(require(\"@material-ui/icons/DragHandle\"));\nconst Edit_1 = __importDefault(require(\"@material-ui/icons/Edit\"));\nconst react_beautiful_dnd_1 = require(\"react-beautiful-dnd\");\nconst DocumentForm_1 = __importDefault(require(\"./DocumentForm\"));\nconst useStyles = styles_1.makeStyles((theme) => ({\n item: {\n backgroundColor: '#ECF5F9',\n color: '#1E678F',\n fontSize: '16px',\n fontWeight: 600,\n lineHeight: '24px',\n },\n itemText: {\n overflow: 'auto',\n maxWidth: '75%',\n },\n icon: {\n color: '#1E678F',\n },\n fileIcon: {\n color: '#E67337',\n },\n}));\nconst OrderedDocumentList = (props) => {\n const [editFormIndex, setEditFormIndex] = react_1.default.useState(null);\n const { listItems, isFile, onChange, onEditItem, onDeleteItem } = props;\n const classes = useStyles();\n return (react_1.default.createElement(react_beautiful_dnd_1.DragDropContext, { onDragEnd: onChange },\n react_1.default.createElement(react_beautiful_dnd_1.Droppable, { droppableId: \"orderedList\" }, (provided) => (react_1.default.createElement(List_1.default, Object.assign({}, provided.droppableProps, { ref: provided.innerRef }),\n listItems.map(({ id, documentUrl, name, fileSize }, index) => {\n const formattedFileSize = fileSize ? fileSize.toFixed(2) : '0.0';\n return (react_1.default.createElement(react_beautiful_dnd_1.Draggable, { key: id, draggableId: id, index: index }, (provided) => (react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(Box_1.default, Object.assign({ my: 1, className: classes.item, ref: provided.innerRef }, provided.draggableProps, provided.dragHandleProps),\n react_1.default.createElement(ListItem_1.default, null,\n react_1.default.createElement(ListItemIcon_1.default, null,\n react_1.default.createElement(DragHandle_1.default, { className: classes.icon }),\n isFile && react_1.default.createElement(Description_1.default, { className: classes.fileIcon })),\n react_1.default.createElement(ListItemText_1.default, { className: classes.itemText, primary: `${name} (${formattedFileSize}mb)` }),\n react_1.default.createElement(ListItemSecondaryAction_1.default, null,\n onEditItem && (react_1.default.createElement(IconButton_1.default, { edge: \"end\", onClick: () => setEditFormIndex(id) },\n react_1.default.createElement(Edit_1.default, { className: classes.icon }))),\n onDeleteItem && (react_1.default.createElement(IconButton_1.default, { edge: \"end\", onClick: () => onDeleteItem(index) },\n react_1.default.createElement(Delete_1.default, { className: classes.icon })))))),\n editFormIndex && editFormIndex === id && (react_1.default.createElement(DocumentForm_1.default, { documentURL: documentUrl, index: index, isEditing: true, onItemSubmit: (newName) => {\n setEditFormIndex(null);\n onEditItem(index, newName);\n }, onCancel: () => setEditFormIndex(null) }))))));\n }),\n provided.placeholder)))));\n};\nOrderedDocumentList.propTypes = {\n listItems: prop_types_1.default.arrayOf(prop_types_1.default.object).isRequired,\n isFile: prop_types_1.default.bool,\n onChange: prop_types_1.default.any,\n onEditItem: prop_types_1.default.any,\n onDeleteItem: prop_types_1.default.any,\n};\nexports.default = OrderedDocumentList;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst TextField_1 = __importDefault(require(\"@material-ui/core/TextField\"));\nconst MenuItem_1 = __importDefault(require(\"@material-ui/core/MenuItem\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst formik_1 = require(\"formik\");\nconst RenderSelectField = (props) => {\n const { field: { value, name, onChange, onBlur }, form: { touched, errors, setFieldTouched, submitCount }, label, placeholder, options, onValueChange = () => undefined, emptyOption, ...otherProps } = props;\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n const displayErrors = (touch || submitCount > 0) && !!error;\n const handleChange = (event) => {\n onChange(event);\n onValueChange(event.target.value);\n };\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(TextField_1.default, Object.assign({ name: name, select: true, fullWidth: true, label: label, variant: \"outlined\", inputProps: { displayEmpty: true, onClose: () => setFieldTouched(name, true) }, error: touch && !!error, value: value || '', onChange: handleChange, onBlur: onBlur }, otherProps),\n emptyOption && react_1.default.createElement(MenuItem_1.default, null, \"None\"),\n options.map((option, key) => (react_1.default.createElement(MenuItem_1.default, { key: key, value: option.value, disabled: option === null || option === void 0 ? void 0 : option.disabled }, option.label))),\n !options.length && react_1.default.createElement(MenuItem_1.default, null, \"No options\")),\n displayErrors && (react_1.default.createElement(Typography_1.default, Object.assign({ variant: \"body2\", component: \"p\", color: \"error\" }, otherProps), error)))));\n};\nRenderSelectField.defaultProps = {\n emptyOption: false,\n};\nRenderSelectField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n label: prop_types_1.default.string.isRequired,\n placeholder: prop_types_1.default.string,\n options: prop_types_1.default.array.isRequired,\n onValueChange: prop_types_1.default.func,\n emptyOption: prop_types_1.default.bool,\n};\nexports.default = RenderSelectField;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst TextField_1 = __importDefault(require(\"@material-ui/core/TextField\"));\nconst formik_1 = require(\"formik\");\nconst RenderTextField = (props) => {\n const { field: { value, name, onChange, onBlur }, form: { touched, errors, setFieldValue, submitCount }, label, placeholder, inputVariant, submitOnEnter, characterLimit, rows, onInputBlur = () => undefined, ...otherProps } = props;\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n const displayErrors = (touch || submitCount > 0) && !!error;\n const onKeyDown = (event) => {\n if (!submitOnEnter) {\n if (event.key == 'Enter') {\n event.preventDefault();\n }\n }\n };\n const handleOnBlur = (event) => {\n const value = event.target.value.trim();\n setFieldValue(name, value);\n onInputBlur(value);\n onBlur(event);\n };\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(TextField_1.default, Object.assign({ id: 'filled-helperText', multiline: rows > 1, rows: rows, name: name, label: label, variant: inputVariant, fullWidth: true, error: touch && !!error, value: value || '', placeholder: placeholder, onChange: onChange, onBlur: handleOnBlur, onKeyDown: onKeyDown, inputProps: { maxLength: characterLimit || undefined } }, otherProps)),\n characterLimit && (react_1.default.createElement(Typography_1.default, { style: { fontSize: '14px', color: '#9CA3AF' } },\n Number((value === null || value === void 0 ? void 0 : value.length) || 0).toLocaleString(),\n \"/\",\n Number(characterLimit).toLocaleString())),\n displayErrors && (react_1.default.createElement(Typography_1.default, Object.assign({ variant: \"body2\", component: \"p\", color: \"error\" }, otherProps), error)))));\n};\nRenderTextField.defaultProps = {\n inputVariant: 'filled',\n submitOnEnter: false,\n};\nRenderTextField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n label: prop_types_1.default.string.isRequired,\n placeholder: prop_types_1.default.string,\n submitOnEnter: prop_types_1.default.bool,\n characterLimit: prop_types_1.default.number,\n rows: prop_types_1.default.number,\n};\nexports.default = RenderTextField;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst core_1 = require(\"@material-ui/core\");\nconst RenderCheckboxField = (props) => {\n const { field: { value, name, onChange }, onValueChange = () => undefined, text, checkedValue, defaultValue, textStyle, ...otherProps } = props;\n const handleOnChange = (event, newInputValue) => {\n onChange(event);\n onValueChange(event, newInputValue);\n };\n return (react_1.default.createElement(core_1.Box, { style: { display: 'flex', alignItems: 'center' } },\n react_1.default.createElement(core_1.Checkbox, Object.assign({ id: 'filled-helperText', checked: defaultValue ? defaultValue : checkedValue ? value === checkedValue : value, onChange: handleOnChange, name: name, color: \"primary\" }, otherProps)),\n react_1.default.createElement(core_1.Typography, { variant: 'body1', style: textStyle }, text)));\n};\nRenderCheckboxField.defaultProps = {\n checkedValue: true,\n};\nRenderCheckboxField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n onValueChange: prop_types_1.default.any,\n text: prop_types_1.default.string.isRequired,\n checkedValue: prop_types_1.default.any,\n defaultValue: prop_types_1.default.bool,\n textStyle: prop_types_1.default.any,\n};\nexports.default = RenderCheckboxField;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.proponentResponsesDueLabel = exports.reviewerCommentsDueLabel = exports.PermitMap = exports.PermitLabels = exports.ReviewParadigm = exports.InformationRequestItemLabels = exports.ReviewItemLabels = exports.ReviewType = exports.UserType = exports.NewsLetterSubmissionType = exports.UserSubmissionType = exports.SubmissionType = exports.SORT_ORDER = exports.SIZE_CONVERTER = exports.CommentOrigin = void 0;\nvar CommentOrigin;\n(function (CommentOrigin) {\n CommentOrigin[\"Online\"] = \"Online\";\n CommentOrigin[\"Import\"] = \"Import\";\n})(CommentOrigin = exports.CommentOrigin || (exports.CommentOrigin = {}));\nexports.SIZE_CONVERTER = ['B', 'KB', 'MB', 'GB'];\nexports.SORT_ORDER = ['DESC', 'ASC'];\nvar SubmissionType;\n(function (SubmissionType) {\n SubmissionType[\"Add\"] = \"ADD\";\n SubmissionType[\"Update\"] = \"UPDATE\";\n SubmissionType[\"Delete\"] = \"DELETE\";\n SubmissionType[\"UpdateDragDrop\"] = \"UPDATEDND\";\n})(SubmissionType = exports.SubmissionType || (exports.SubmissionType = {}));\nvar UserSubmissionType;\n(function (UserSubmissionType) {\n UserSubmissionType[UserSubmissionType[\"UpdateOwn\"] = 0] = \"UpdateOwn\";\n UserSubmissionType[UserSubmissionType[\"UpdateByStaff\"] = 1] = \"UpdateByStaff\";\n UserSubmissionType[UserSubmissionType[\"AddByStaff\"] = 2] = \"AddByStaff\";\n UserSubmissionType[UserSubmissionType[\"Register\"] = 3] = \"Register\";\n UserSubmissionType[UserSubmissionType[\"Delete\"] = 4] = \"Delete\";\n})(UserSubmissionType = exports.UserSubmissionType || (exports.UserSubmissionType = {}));\nvar NewsLetterSubmissionType;\n(function (NewsLetterSubmissionType) {\n NewsLetterSubmissionType[NewsLetterSubmissionType[\"Submit\"] = 0] = \"Submit\";\n NewsLetterSubmissionType[NewsLetterSubmissionType[\"Update\"] = 1] = \"Update\";\n NewsLetterSubmissionType[NewsLetterSubmissionType[\"Delete\"] = 2] = \"Delete\";\n NewsLetterSubmissionType[NewsLetterSubmissionType[\"UpdatePreferences\"] = 3] = \"UpdatePreferences\";\n})(NewsLetterSubmissionType = exports.NewsLetterSubmissionType || (exports.NewsLetterSubmissionType = {}));\nvar UserType;\n(function (UserType) {\n UserType[\"Staff\"] = \"Staff\";\n UserType[\"User\"] = \"User\";\n UserType[\"Admin\"] = \"Admin\";\n})(UserType = exports.UserType || (exports.UserType = {}));\nvar ReviewType;\n(function (ReviewType) {\n ReviewType[\"Review\"] = \"Review\";\n ReviewType[\"InformationRequest\"] = \"IR\";\n})(ReviewType = exports.ReviewType || (exports.ReviewType = {}));\nexports.ReviewItemLabels = {\n breadcrumbs: 'Items For Review',\n boardPrefix: 'Item for Review Submitted to:',\n editItem: 'Edit Review Item',\n completeItem: 'Mark Review As Completed',\n activeItem: 'Move Review Back to Active',\n print: 'Print This Review Item',\n fileNumber: 'File Number',\n documentsPrefix: 'This Item for Review has',\n noDocuments: 'This Item for Review has no documents',\n submitCommentsOnlineTitle: 'Ready to add your voice?',\n submitCommentsOnline: 'Submit Recommendations Online',\n submitCommentsOnlineBox: 'Use our online tool to submit your written or audio comments. You can save your progress and submit when ready.',\n addCommentsOnlineText: 'Add Comments Online',\n uploadCommentsButton: 'Upload Comment Excel File',\n noAttachments: 'This Item for Review has no attachments',\n noRelatedItems: 'This Item for Review has no related reviews',\n attachmentsListPrefix: 'The public review contains ',\n infoBox1: 'This public review is currently accepting comments.',\n infoBox2: 'The comment period will close in',\n submitText: 'Submit',\n comment: 'Comment',\n recommendation: 'Recommendation',\n addCommentPlaceholder: 'Add your comment',\n addRecommendationPlaceholder: 'Add your recommendation',\n addRecommendationOnBehalf: 'Add recommendations on behalf of',\n submitResponsesOnline: 'Submit your Responses online',\n submitResponsesOnlineBox: 'Use our online tool to submit your responses.',\n addAnotherRow: 'Add Another Comment Row',\n addAudioRow: 'Add Audio Comment',\n itemNoComments: 'This Item for Review has no comments',\n};\nexports.InformationRequestItemLabels = {\n breadcrumbs: 'Information Request',\n boardPrefix: 'Information Request Phase for ',\n editItem: 'Edit Information Request',\n completeItem: 'Mark Information Request As Completed',\n activeItem: 'Move Information Request Back to Active',\n print: 'Print Information Request',\n fileNumber: 'File/EA Number',\n documentsPrefix: 'This Information Request has',\n noDocuments: 'This Information Request has no documents',\n submitCommentsOnlineTitle: 'Ready to add your voice?',\n submitCommentsOnline: 'Submit Information Request Online',\n submitCommentsOnlineBox: 'Use our online tool to submit your information requests.',\n addCommentsOnlineText: 'Add Request Online',\n uploadCommentsButton: 'Upload Completed Excel File',\n noAttachments: 'This Information Request has no attachments',\n noRelatedItems: 'This Information Request has no related reviews',\n attachmentsListPrefix: 'This Information Request contains ',\n infoBox1: 'This public review is currently in an information request phase.',\n infoBox2: 'The Information Request period will close in',\n submitText: 'Submit',\n comment: 'Preamble',\n recommendation: 'Request',\n addCommentPlaceholder: 'Add your preamble',\n addRecommendationPlaceholder: 'Add your request',\n addRecommendationOnBehalf: 'Add requests on behalf of',\n submitResponsesOnline: 'Submit your Responses online',\n submitResponsesOnlineBox: 'Use our online tool to submit your responses.',\n addAnotherRow: 'Add Another Row',\n addAudioRow: 'Add Audio Request',\n itemNoComments: 'This Information Request has no comments',\n};\nexports.ReviewParadigm = [\n { value: 'New', label: 'New Application' },\n { value: 'Renewal', label: 'Renewal Application' },\n { value: 'Amendment', label: 'Amendment' },\n { value: 'Extension', label: 'Extension' },\n { value: 'Assignment', label: 'Assignment' },\n { value: 'Plan/Program', label: 'Plan/Report' },\n { value: 'Preliminary Screening', label: 'Preliminary Screening' },\n { value: 'Security Adjustment', label: 'Security Adjustment' },\n { value: 'SNP Change', label: 'SNP Change' },\n { value: 'Policy/Guideline', label: 'Policy/Guideline' },\n { value: 'WMMP/WEMP', label: 'WMMP/WEMP' },\n];\nexports.PermitLabels = [\n { value: 'Permit', label: 'Permit - Type A' },\n { value: 'Perm B', label: 'Permit - Type B' },\n { value: 'Licence', label: 'Licence - Type A' },\n { value: 'Lic B', label: 'Licence - Type B' },\n];\nexports.PermitMap = {\n Permit: 'Permit - Type A',\n PermB: 'Permit - Type B',\n Licence: 'Licence - Type A',\n LicB: 'Licence - Type B',\n PublicHearingProceedings: 'Public Hearing Proceedings',\n EnvironmentalAssessment: 'Environmental Assessment',\n EnvironmentalImpactReview: 'Environmental Impact Review',\n Other: 'Policy/Guideline',\n 'WMMP/WEMP': 'WMMP/WEMP',\n};\nexports.reviewerCommentsDueLabel = (type) => type === ReviewType.InformationRequest ? 'Deadline for Parties to Submit IRs' : 'Review Comments Due';\nexports.proponentResponsesDueLabel = (type) => type === ReviewType.InformationRequest ? 'Deadline for Parties to Reply to IRs' : 'Proponent Responses Due';\n","import React, { useEffect, useState } from 'react';\nimport { Box, Typography, Button } from '@material-ui/core';\nimport PicturePhoto from '@material-ui/icons/InsertPhoto';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport CloudUploadIcon from '@material-ui/icons/CloudUpload';\nimport Dropzone from 'react-dropzone';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Card from '@material-ui/core/Card';\nimport PropTypes from 'prop-types';\nimport { useFormikContext, ErrorMessage } from 'formik';\n\nconst useStyles = makeStyles(theme => ({\n formContainer: {\n paddingLeft: '32px',\n paddingRight: '32px',\n paddingTop: '32px',\n },\n root: {\n border: `2px dashed ${theme.palette.primary.main}`,\n textAlign: 'center',\n '&:hover':{\n cursor: 'pointer',\n }\n },\n icon: {\n fontSize: '72px',\n },\n logoButton:{\n marginBottom:\"10px\",\n paddingBottom: \"0px\",\n paddingTop: \"0px\"\n },\n logoButtonText:{\n color: \"#1E678F\",\n marginRigth: \"12px\",\n },\n deleteIcon:{\n marginLeft: \"10px\",\n }\n }));\n\nconst AdminLogoUpload =(props)=>{\n const {\n fileName,\n isEdit,\n updateFile,\n }=props;\n const [fileValidation, setFileValidation]=useState(false);\n const [fileError, setFileError]= useState(false);\n const [handleDrop, setHandleDrop]=useState(isEdit);\n const [imageName, setImageName] = useState(fileName); \n const classes = useStyles();\n const {setFieldValue}=useFormikContext();\n\n\n const handleOnDrop = async files => {\n setFileError(false);\n setImageName(files[0].name);\n setFieldValue('file', true)\n updateFile(files);\n setHandleDrop(true);\n };\n \n const handleDropRejected = ()=>{\n setFileError(true);\n }\n\n const handleRemoveImage=()=>{\n setFieldValue('file', false)\n setHandleDrop(false);\n setImageName(\"\");\n updateFile(undefined);\n }\n\n useEffect(()=>{\n setImageName(fileName);\n },[fileName]);\n\n useEffect(()=>{\n setHandleDrop(isEdit)\n },[isEdit]);\n\n return(\n \n \n {setFileValidation(true); return \"A logo to upload is required\"}}/>\n \n {fileError&&\n \n - Accepted files: .jpg .png .jpeg
\n - Max files accepted: 1
\n
\n }\n {handleDrop&&\n \n }\n {!handleDrop&&\n \n \n handleOnDrop(files)} \n onDropRejected={files=>handleDropRejected()}\n accept=\".png, .jpg, .jpeg\" \n maxFiles={1} \n multiple={false} \n >\n {({ getRootProps, getInputProps }) => {\n return (\n \n \n \n \n \n \n Drag and Drop your file here…\n \n Or click here to select a file from your computer\n \n );\n }}\n \n \n \n } \n \n );\n}\n\nAdminLogoUpload.propTypes = {\n fileName: PropTypes.string,\n isEdit: PropTypes.bool,\n updateFile: PropTypes.any,//Set file function\n};\n\nexport default AdminLogoUpload;","/**\n * Functions for determining logged in state\n * This is currently using localStorage\n */\n\nimport Cookies from 'js-cookie';\nimport { UserType } from '@mvrb-frontend/shared-ui';\nimport jwt from 'jsonwebtoken';\n\nexport const getUser = () => {\n return Cookies.getJSON('ORS')?.profile || null;\n};\n\nexport const getUserId = () =>{\n return Cookies.getJSON('ORS')? Cookies.getJSON('ORS').profile?.id: null;\n}\n\nexport const isLoggedIn = () => {\n if (Cookies.getJSON('ORS') && Cookies.getJSON('ORS').profile) {\n return true;\n }\n return false;\n};\n\nexport const isStaffUser = () => {\n return Cookies.getJSON('ORS') ? Cookies.getJSON('ORS').profile?.userType === UserType.Staff : false;\n};\n\nexport const isAdminUser=()=>{\n return Cookies.getJSON('ORS') ? Cookies.getJSON('ORS').profile?.userType === UserType.Admin : false;\n}\n\nexport const logout = async (timeOut?: boolean) => {\n Cookies.remove('ORS');\n window.location.href = `${window.location.origin}/ors/${timeOut ? 'timeout/:timedout=true' : ''}`;\n};\n\nexport const userProfile = Cookies.getJSON('ORS') && Cookies.getJSON('ORS').user ? Cookies.getJSON('ORS').user : null;\n\nexport const setUserProfileCookie = (accessToken, refreshToken, profile) => {\n const refreshExpiry = jwt.decode(refreshToken).exp;\n Cookies.set(\n 'ORS',\n {\n accessToken,\n refreshToken,\n profile,\n },\n {\n expires: new Date(refreshExpiry * 1000),\n },\n );\n};\n\nexport const updateCookie = async (user: any) => {\n const orsCookie = Cookies.getJSON('ORS');\n const { refreshToken, accessToken, profile } = orsCookie;\n const newProfile = {\n ...user,\n email: profile.email,\n userType: user.userType as UserType,\n };\n\n const refreshExpiry = jwt.decode(refreshToken).exp;\n setUserProfileCookie(accessToken, refreshToken, newProfile);\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst core_1 = require(\"@material-ui/core\");\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst KeyboardArrowRight_1 = __importDefault(require(\"@material-ui/icons/KeyboardArrowRight\"));\nconst ImageRounded_1 = __importDefault(require(\"@material-ui/icons/ImageRounded\"));\nconst styles = {\n root: {\n cursor: 'pointer',\n flexGrow: 1,\n },\n boardImage: {\n maxWidth: '34px',\n },\n boardListItemHeader: {\n color: '#39A9B0',\n },\n boardListItemIcon: {\n fontSize: '36px',\n },\n boardListItemWrapper: {\n padding: '10px',\n marginBottom: '10px',\n },\n};\nconst BoardListItem = (props) => {\n const { boardName, classes, imageBase64, imageMime, linkTo, reviewCount } = props;\n return (react_1.default.createElement(\"div\", { className: classes.root },\n react_1.default.createElement(core_1.Paper, { elevation: 2, className: classes.boardListItemWrapper, variant: \"elevation\" },\n react_1.default.createElement(core_1.Grid, { container: true, spacing: 2, alignItems: \"center\", onClick: linkTo },\n react_1.default.createElement(core_1.Grid, { item: true, xs: 2, sm: 1 },\n react_1.default.createElement(core_1.Grid, { container: true, justify: \"center\" }, (imageBase64 === null || imageBase64 === void 0 ? void 0 : imageBase64.length) > 0 ? (react_1.default.createElement(\"img\", { alt: boardName, src: `data:${imageMime};base64,${imageBase64}`, className: classes.boardImage })) : (react_1.default.createElement(ImageRounded_1.default, { className: classes.boardListItemIcon })))),\n react_1.default.createElement(core_1.Grid, { item: true, xs: 8, sm: 10 },\n react_1.default.createElement(core_1.Typography, { variant: \"subtitle1\", className: classes.boardListItemHeader }, boardName),\n react_1.default.createElement(core_1.Typography, { variant: \"subtitle2\", color: \"textSecondary\" },\n reviewCount,\n \" Active Reviews\")),\n react_1.default.createElement(core_1.Grid, { item: true, xs: 2, sm: 1 },\n react_1.default.createElement(KeyboardArrowRight_1.default, { className: classes.boardListItemIcon }))))));\n};\nBoardListItem.propTypes = {\n boardName: prop_types_1.default.string.isRequired,\n classes: prop_types_1.default.object.isRequired,\n imageBase64: prop_types_1.default.string,\n imageMime: prop_types_1.default.string,\n linkTo: prop_types_1.default.func.isRequired,\n reviewCount: prop_types_1.default.number.isRequired,\n};\nexports.default = styles_1.withStyles(styles)(BoardListItem);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst AppBar_1 = __importDefault(require(\"@material-ui/core/AppBar\"));\nconst Avatar_1 = __importDefault(require(\"@material-ui/core/Avatar\"));\nconst Button_1 = __importDefault(require(\"@material-ui/core/Button\"));\nconst Divider_1 = __importDefault(require(\"@material-ui/core/Divider\"));\nconst Toolbar_1 = __importDefault(require(\"@material-ui/core/Toolbar\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst core_1 = require(\"@material-ui/core\");\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst ChromeReaderMode_1 = __importDefault(require(\"@material-ui/icons/ChromeReaderMode\"));\nconst react_router_dom_1 = require(\"react-router-dom\");\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n backgroundColor: theme.palette.common.white,\n },\n menuButton: {\n color: theme.palette.text.primary,\n },\n active: {\n fontWeight: 900,\n },\n listItems: {\n flexGrow: 1,\n display: 'flex',\n justifyContent: 'space-between'\n },\n navBorder: {\n borderBottom: `solid 1px ${theme.palette.secondary.dark}`,\n boxShadow: '0',\n },\n avatar: {\n cursor: 'pointer',\n fontSize: '16px',\n },\n});\nfunction DenseAppBar(props) {\n const { authActionSubmit, classes, links, loggedIn, userInitials, newsLetterOrigin, onNewsLetterClick, } = props;\n const [currentPath, setCurrentPath] = react_1.useState('');\n const history = react_router_dom_1.useHistory();\n react_1.useEffect(() => {\n setCurrentPath(typeof window !== 'undefined' ? window.location.pathname : '');\n });\n const orsNewsLetterRedirection = () => {\n if (loggedIn) {\n history.push({\n pathname: `/edit-user-profile`\n });\n }\n else {\n history.push({\n pathname: '/newsletter-signup'\n });\n }\n };\n return (react_1.default.createElement(\"div\", { className: classes.root },\n react_1.default.createElement(AppBar_1.default, { position: \"static\", color: \"inherit\", className: classes.navBorder, elevation: 0 },\n react_1.default.createElement(core_1.Container, { maxWidth: \"lg\" },\n react_1.default.createElement(Toolbar_1.default, { disableGutters: true },\n react_1.default.createElement(Typography_1.default, { variant: \"h6\", color: \"inherit\" }, \"Online Review System\"),\n react_1.default.createElement(Divider_1.default, { orientation: \"vertical\", flexItem: true, light: true, variant: \"middle\", color: \"secondary\" }),\n react_1.default.createElement(\"div\", { className: classes.listItems },\n react_1.default.createElement(\"div\", null, links.map((link, i) => {\n if (link.visible || typeof link.visible !== 'boolean') {\n return (react_1.default.createElement(react_1.default.Fragment, { key: i }, link.onClick ? (react_1.default.createElement(Button_1.default, { color: \"inherit\", onClick: () => link.onClick(), className: clsx_1.default(classes.menuButton, link.value === currentPath && classes.active) }, link.title)) : (react_1.default.createElement(Button_1.default, { color: \"inherit\", href: link.value, className: clsx_1.default(classes.menuButton, link.value === currentPath && classes.active) }, link.title))));\n }\n })),\n react_1.default.createElement(core_1.Box, null, newsLetterOrigin === 'website' ? (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(Button_1.default, { variant: 'outlined', endIcon: react_1.default.createElement(ChromeReaderMode_1.default, null), style: { marginRight: '1rem', fontWeight: 'bolder' }, onClick: () => onNewsLetterClick() }, \"Newsletter\"))) : (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(Button_1.default, { onClick: orsNewsLetterRedirection, variant: 'outlined', endIcon: react_1.default.createElement(ChromeReaderMode_1.default, null), style: { marginRight: '1rem', fontWeight: 'bolder' } }, \"Newsletter\"))))),\n loggedIn && (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(Avatar_1.default, { className: classes.avatar, onClick: () => props.onUserInitialClick() }, userInitials),\n react_1.default.createElement(Divider_1.default, { orientation: \"vertical\", flexItem: true, light: true, variant: \"middle\", classes: { root: classes.divider } }))),\n react_1.default.createElement(Button_1.default, { color: \"inherit\", onClick: authActionSubmit }, loggedIn ? 'Logout' : 'Login'))))));\n}\nDenseAppBar.propTypes = {\n authActionSubmit: prop_types_1.default.func.isRequired,\n classes: prop_types_1.default.object.isRequired,\n links: prop_types_1.default.arrayOf(prop_types_1.default.any),\n loggedIn: prop_types_1.default.bool.isRequired,\n userInitials: prop_types_1.default.string,\n onUserInitialClick: prop_types_1.default.func,\n newsLetterOrigin: prop_types_1.default.any,\n onNewsLetterClick: prop_types_1.default.any,\n};\nexports.default = styles_1.withStyles(styles)(DenseAppBar);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst _1 = require(\".\");\nconst core_1 = require(\"@material-ui/core\");\nconst Wrapper = ({ children, isFetching, navBar, container = true, }) => (react_1.default.createElement(_1.ThemeWrapper, null,\n react_1.default.createElement(react_1.default.Fragment, null,\n navBar,\n react_1.default.createElement(core_1.Box, { className: 'wrapper', style: {\n minHeight: 'calc(100vh - 100px)',\n backgroundColor: '#F1F2F5',\n }, pb: 4 }, container ? (react_1.default.createElement(core_1.Container, { maxWidth: \"lg\", className: 'root-container' }, children)) : (react_1.default.createElement(react_1.default.Fragment, null, children))),\n react_1.default.createElement(core_1.Box, null,\n react_1.default.createElement(_1.Footer, { links: [\n { href: '#', label: 'Contact' },\n { href: '#', label: 'Sitemap' },\n { href: '#', label: 'Policy' },\n { href: '#', label: 'Privacy' },\n ], isHidden: isFetching })))));\nWrapper.propTypes = {\n children: prop_types_1.default.object.isRequired,\n container: prop_types_1.default.bool,\n isFetching: prop_types_1.default.bool,\n navBar: prop_types_1.default.object.isRequired,\n};\nexports.default = Wrapper;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Container_1 = __importDefault(require(\"@material-ui/core/Container\"));\nconst useStyles = styles_1.makeStyles((theme) => ({\n root: {\n color: theme.palette.common.white,\n backgroundColor: '#05121A',\n fontSize: '14px',\n lineHeight: '16px',\n [theme.breakpoints.down('xs')]: {\n padding: theme.spacing(1),\n },\n },\n link: {\n textDecoration: 'none !important',\n fontWeight: 'normal',\n color: theme.palette.common.white,\n '& :hover': {\n opacity: 0.4,\n },\n },\n copy: {\n textAlign: 'center',\n [theme.breakpoints.down('xs')]: {\n textAlign: 'center',\n fontSize: '11px',\n },\n },\n}));\nconst year = new Date().getFullYear();\nconst Footer = (props) => {\n const { isHidden } = props;\n const classes = useStyles();\n return (react_1.default.createElement(react_1.default.Fragment, null, !isHidden && (react_1.default.createElement(Box_1.default, { className: classes.root, py: 2.5 },\n react_1.default.createElement(Container_1.default, { maxWidth: \"lg\" },\n react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(Box_1.default, { className: classes.copy },\n \"Copyright \\u00A9 \",\n year,\n \" Online Review System\")))))));\n};\nFooter.propTypes = {\n links: prop_types_1.default.arrayOf(prop_types_1.default.any),\n isHidden: prop_types_1.default.bool,\n};\nexports.default = Footer;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst Card_1 = __importDefault(require(\"@material-ui/core/Card\"));\nconst CardHeader_1 = __importDefault(require(\"@material-ui/core/CardHeader\"));\nconst CardContent_1 = __importDefault(require(\"@material-ui/core/CardContent\"));\nconst styles = (theme) => ({\n root: {\n borderRadius: 0,\n },\n title: {\n backgroundColor: '#39A9B0',\n color: theme.palette.common.white,\n padding: '16px 30px',\n },\n content: {\n padding: '0px 0px',\n },\n});\nconst StyledCard = (props) => {\n const { children, classes, title } = props;\n return (react_1.default.createElement(Card_1.default, { className: classes.root },\n react_1.default.createElement(CardHeader_1.default, { title: title, titleTypographyProps: { variant: 'h6' }, className: classes.title }),\n react_1.default.createElement(CardContent_1.default, { className: classes.content }, children)));\n};\nStyledCard.propTypes = {\n title: prop_types_1.default.string.isRequired,\n};\nexports.default = styles_1.withStyles(styles)(StyledCard);\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst StyledEllipsis = (props) => {\n const { children, maxWidth } = props;\n return (react_1.default.createElement(\"div\", { style: { maxWidth, whiteSpace: 'nowrap' } },\n react_1.default.createElement(Box_1.default, { component: \"div\", textOverflow: \"ellipsis\", overflow: \"hidden\" }, children)));\n};\nStyledEllipsis.propTypes = {\n children: prop_types_1.default.node.isRequired,\n maxWidth: prop_types_1.default.number.isRequired,\n};\nexports.default = StyledEllipsis;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.theme = void 0;\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst Commissioner_Regular_ttf_1 = __importDefault(require(\"../../src/assets/fonts/Commissioner-Regular.ttf\"));\nconst icons_1 = require(\"@material-ui/icons\");\nconst commissioner = {\n fontFamily: 'Commissioner',\n fontStyle: 'normal',\n fontWeight: 400,\n src: `\n local('Comissioner'),\n local('Commissioner-Regular'),\n url(${Commissioner_Regular_ttf_1.default}) format('truetype')\n `,\n};\nexports.theme = styles_1.createMuiTheme({\n /** Colors */\n palette: {\n primary: {\n light: '#EDF5FA',\n main: '#1E678F',\n dark: '#081426',\n },\n secondary: {\n light: '#F0F2F5',\n main: '#ECECEE',\n dark: '#CCCED0',\n },\n text: {\n primary: '#333333',\n secondary: '#575757',\n },\n common: {\n white: '#FFFFFF',\n black: '#000000',\n },\n },\n /** Typography */\n typography: {\n fontFamily: '\"Commissioner\", sans-serif;',\n h1: {\n color: '#1E678F',\n fontSize: '40px',\n lineHeight: '48px',\n letterSpacing: 0,\n fontWeight: 'bold',\n },\n h2: {\n color: '#081426',\n fontSize: '32px',\n lineHeight: '40px',\n letterSpacing: 0,\n fontWeight: 'bold',\n },\n h3: {\n color: '#39A9B0',\n fontSize: '27px',\n lineHeight: '32px',\n letterSpacing: 0,\n fontWeight: 'bold',\n },\n h4: {\n color: '#009B58',\n fontSize: '20px',\n lineHeight: '24px',\n letterSpacing: 0,\n fontWeight: 600,\n },\n subtitle1: {\n color: '#333333',\n fontSize: '16px',\n lineHeight: '24px',\n letterSpacing: 0,\n fontWeight: 600,\n },\n subtitle2: {\n color: '#333333',\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: 0,\n fontWeight: 600,\n },\n body1: {\n color: '#333333',\n fontSize: '16px',\n lineHeight: '24px',\n letterSpacing: 0,\n },\n body2: {\n color: '#333333',\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: 0,\n },\n caption: {\n color: '#333333',\n fontSize: '20px',\n lineHeight: '32px',\n letterSpacing: 0,\n },\n overline: {\n color: '#333333',\n fontSize: '16px',\n lineHeight: '24px',\n letterSpacing: 0,\n fontWeight: 'bold',\n textDecoration: 'underline',\n },\n button: {\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: 0,\n textTransform: 'capitalize',\n },\n },\n /** Props */\n props: {\n MuiSelect: {\n IconComponent: icons_1.KeyboardArrowDown,\n },\n },\n /** Overrides */\n overrides: {\n MuiCssBaseline: {\n '@global': {\n '@font-face': [commissioner],\n '#root': {\n display: 'flex',\n flexDirection: 'column',\n },\n ul: {\n padding: '0 0 0 1rem',\n margin: 0,\n },\n body: {\n lineHeight: 1.5,\n },\n },\n },\n MuiAppBar: {\n root: {\n backgroundColor: '#fff',\n },\n },\n MuiContainer: {\n root: {\n '@media (max-width:750px)': {\n paddingLeft: '10px',\n paddingRight: '10px',\n },\n },\n },\n MuiButton: {\n root: {\n fontSize: '14px',\n lineHeight: '16px',\n letterSpacing: 0,\n textTransform: 'capitalize',\n textAlign: 'center',\n borderRadius: '4px',\n '&:disabled': {\n backgroundColor: '#A09FA8',\n color: '#747378',\n },\n },\n containedPrimary: {\n color: '#FFFFFF',\n fontWeight: 600,\n backgroundColor: '#1E678F',\n lineHeight: '30px',\n minWidth: '160px',\n '&:hover': {\n backgroundColor: '#1E678F',\n boxShadow: 'none',\n },\n },\n containedSecondary: {\n color: '#1E678F',\n fontWeight: 600,\n backgroundColor: '#EDF5FA',\n boxShadow: 'none',\n '&:hover': {\n backgroundColor: '#B3CCD4',\n boxShadow: 'none',\n },\n '&:disabled': {\n backgroundColor: '#EDF5FA',\n },\n },\n sizeSmall: {\n fontSize: '11px',\n lineHeight: '16px',\n padding: '4px',\n margin: '5px',\n },\n sizeLarge: {\n fontSize: '16px',\n lineHeight: '24px',\n fontWeight: 600,\n },\n outlinedSecondary: {\n border: '1px solid #009B58',\n backgroundColor: '#F6FFED',\n color: '#009B58',\n fontWeight: 'normal',\n },\n },\n MuiIconButton: {\n root: {\n padding: '5px',\n boxShadow: 'none',\n },\n },\n MuiMenu: {\n list: {\n minWidth: 175,\n },\n },\n MuiMenuItem: {\n root: {\n fontSize: 16,\n },\n },\n MuiLink: {\n root: {\n color: '#000000',\n width: 'fit-content',\n fontWeight: 'bold',\n textDecoration: 'underline',\n '&:hover': {\n opacity: '0.75',\n },\n },\n },\n MuiTableCell: {\n root: {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n },\n },\n MuiInputBase: {\n root: {\n border: `1px solid #ECECEE`,\n borderRadius: '4px',\n },\n input: {\n backgroundColor: '#F0F2F5',\n },\n },\n MuiFilledInput: {\n root: {\n backgroundColor: '#F0F2F5',\n '&:hover': {\n backgroundColor: '#F0F2F5',\n },\n },\n input: {\n backgroundColor: '#F0F2F5',\n '&:hover': {\n backgroundColor: '#F0F2F5',\n },\n '&:focus': {\n backgroundColor: 'rgba(0, 0, 0, 0)',\n },\n },\n },\n MuiSelect: {\n root: {\n backgroundColor: '#F0F2F5',\n },\n icon: {\n height: '32px',\n width: '32px',\n },\n },\n MuiCheckbox: {\n root: {\n color: '#1E678F',\n transform: 'scale(1.3)',\n },\n },\n },\n});\n","export default __webpack_public_path__ + \"static/media/Commissioner-Regular.d3087ff2.ttf\";","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst _1 = require(\"./\");\nconst core_1 = require(\"@material-ui/core\");\nconst ThemeWrapper = (props) => {\n const { children } = props;\n return (react_1.default.createElement(styles_1.ThemeProvider, { theme: _1.theme },\n react_1.default.createElement(core_1.CssBaseline, null),\n children));\n};\nThemeWrapper.propTypes = {\n children: prop_types_1.default.any.isRequired,\n};\nexports.default = ThemeWrapper;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst react_leaflet_1 = require(\"react-leaflet\");\nconst leaflet_1 = __importDefault(require(\"leaflet\"));\nrequire(\"leaflet/dist/leaflet.css\");\nconst marker_icon_png_1 = __importDefault(require(\"leaflet/dist/images/marker-icon.png\"));\nconst marker_shadow_png_1 = __importDefault(require(\"leaflet/dist/images/marker-shadow.png\"));\nif (typeof window !== 'undefined') {\n const DefaultIcon = leaflet_1.default.icon({\n iconUrl: marker_icon_png_1.default,\n shadowUrl: marker_shadow_png_1.default,\n iconSize: [25, 40],\n iconAnchor: [12, 40],\n });\n leaflet_1.default.Marker.prototype.options.icon = DefaultIcon;\n}\nconst SetCentre = (props) => {\n const map = react_leaflet_1.useMap();\n react_1.useEffect(() => {\n map.panTo(props.centre);\n }, [props.centre]);\n return null;\n};\nconst Map = (props) => {\n if (typeof window === 'undefined') {\n return react_1.default.createElement(react_1.default.Fragment, null);\n }\n const { box, centre, pin, zoom } = props;\n let centrePin;\n if (pin && pin.lat && pin.lng) {\n centrePin = pin;\n }\n else if (box && box.northwestBound && box.northeastBound && box.southeastBound && box.southwestBound) {\n centrePin = {\n lat: (box.northwestBound.lat + box.southeastBound.lat) / 2,\n lng: (box.northwestBound.lng + box.southeastBound.lng) / 2,\n };\n }\n return (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(react_leaflet_1.MapContainer, { style: { height: '100%', width: '100%' }, id: 'mapid', center: centre, zoom: zoom },\n react_1.default.createElement(react_leaflet_1.TileLayer, { attribution: '\\u00A9 OpenStreetMap contributors', url: \"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\" }),\n centrePin && react_1.default.createElement(react_leaflet_1.Marker, { position: centrePin }),\n box && (react_1.default.createElement(react_leaflet_1.Polygon, { pathOptions: { color: 'blue' }, positions: [box.northwestBound, box.northeastBound, box.southeastBound, box.southwestBound] })),\n react_1.default.createElement(SetCentre, { centre: props.centre }))));\n};\nMap.propTypes = {\n centre: prop_types_1.default.shape({\n lat: prop_types_1.default.number,\n lng: prop_types_1.default.number,\n }).isRequired,\n pin: prop_types_1.default.shape({\n lat: prop_types_1.default.number,\n lng: prop_types_1.default.number,\n }),\n box: prop_types_1.default.shape({\n northwestBound: prop_types_1.default.shape({\n lat: prop_types_1.default.number,\n lng: prop_types_1.default.number,\n }),\n northeastBound: prop_types_1.default.shape({\n lat: prop_types_1.default.number,\n lng: prop_types_1.default.number,\n }),\n southwestBound: prop_types_1.default.shape({\n lat: prop_types_1.default.number,\n lng: prop_types_1.default.number,\n }),\n southeastBound: prop_types_1.default.shape({\n lat: prop_types_1.default.number,\n lng: prop_types_1.default.number,\n }),\n }),\n zoom: prop_types_1.default.number,\n};\nexports.default = Map;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst ArrowDropDown_1 = __importDefault(require(\"@material-ui/icons/ArrowDropDown\"));\nconst Button_1 = __importDefault(require(\"@material-ui/core/Button\"));\nconst MenuItem_1 = __importDefault(require(\"@material-ui/core/MenuItem\"));\nconst Menu_1 = __importDefault(require(\"@material-ui/core/Menu\"));\nconst Menu = (props) => {\n const { label, options } = props;\n const [anchorEl, setAnchorEl] = react_1.useState(null);\n const handleClick = (event) => setAnchorEl(event.currentTarget);\n const handleClose = () => setAnchorEl(null);\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(Button_1.default, { onClick: handleClick, fullWidth: false, size: \"small\" },\n react_1.default.createElement(react_1.Fragment, null,\n label,\n \" \",\n react_1.default.createElement(ArrowDropDown_1.default, null))),\n react_1.default.createElement(Menu_1.default, { getContentAnchorEl: null, anchorEl: anchorEl, keepMounted: true, open: !!anchorEl, onClose: handleClose, anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n }, transformOrigin: {\n vertical: 'top',\n horizontal: 'right',\n } }, options.map(({ label, onClick, visible }) => {\n if (typeof visible !== 'boolean' || visible) {\n return (react_1.default.createElement(MenuItem_1.default, { key: label, onClick: () => {\n handleClose();\n onClick();\n } }, label));\n }\n }))));\n};\nMenu.propTypes = {\n label: prop_types_1.default.any.isRequired,\n options: prop_types_1.default.array.isRequired,\n};\nexports.default = Menu;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Button_1 = __importDefault(require(\"@material-ui/core/Button\"));\nconst Divider_1 = __importDefault(require(\"@material-ui/core/Divider\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst Dialog_1 = __importDefault(require(\"@material-ui/core/Dialog\"));\nconst DialogActions_1 = __importDefault(require(\"@material-ui/core/DialogActions\"));\nconst DialogContent_1 = __importDefault(require(\"@material-ui/core/DialogContent\"));\nconst DialogContentText_1 = __importDefault(require(\"@material-ui/core/DialogContentText\"));\nconst DialogTitle_1 = __importDefault(require(\"@material-ui/core/DialogTitle\"));\nconst Modal = (props) => {\n const { isVisible, modalText, titleText, cancelText, confirmText, onCancel, onConfirm } = props;\n return (react_1.default.createElement(Dialog_1.default, { open: isVisible, onClose: onCancel },\n titleText && (react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(DialogTitle_1.default, null,\n react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(Typography_1.default, { variant: \"subtitle1\" }, titleText))),\n react_1.default.createElement(Divider_1.default, null))),\n react_1.default.createElement(DialogContent_1.default, null,\n react_1.default.createElement(Box_1.default, { pt: 2 },\n react_1.default.createElement(DialogContentText_1.default, null, modalText))),\n react_1.default.createElement(Divider_1.default, null),\n react_1.default.createElement(DialogActions_1.default, null,\n cancelText && (react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"secondary\", onClick: onCancel, style: { maxHeight: '30px', minWidth: '160px' } }, cancelText)),\n confirmText && (react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"primary\", onClick: onConfirm, style: { maxHeight: '30px' } }, confirmText)))));\n};\nModal.propTypes = {\n isVisible: prop_types_1.default.bool.isRequired,\n modalText: prop_types_1.default.any.isRequired,\n titleText: prop_types_1.default.string,\n cancelText: prop_types_1.default.string,\n confirmText: prop_types_1.default.string,\n onCancel: prop_types_1.default.any,\n onConfirm: prop_types_1.default.any,\n};\nexports.default = Modal;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Button_1 = __importDefault(require(\"@material-ui/core/Button\"));\nconst Divider_1 = __importDefault(require(\"@material-ui/core/Divider\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst Dialog_1 = __importDefault(require(\"@material-ui/core/Dialog\"));\nconst DialogActions_1 = __importDefault(require(\"@material-ui/core/DialogActions\"));\nconst DialogContent_1 = __importDefault(require(\"@material-ui/core/DialogContent\"));\nconst DialogTitle_1 = __importDefault(require(\"@material-ui/core/DialogTitle\"));\nconst formik_1 = require(\"formik\");\nconst RenderSelectField_1 = __importDefault(require(\"./RenderSelectField\"));\nconst icons_1 = require(\"@material-ui/icons\");\nconst core_1 = require(\"@material-ui/core\");\nconst icons_2 = require(\"@material-ui/icons\");\nconst RenderEdithTextField_1 = __importDefault(require(\"./RenderEdithTextField\"));\nconst moment_1 = __importDefault(require(\"moment\"));\nconst useStyles = core_1.makeStyles(() => ({\n editRow: {\n display: 'flex',\n justifyContent: 'space-between',\n marginBottom: '2rem',\n alignItems: 'end'\n },\n select: {\n width: '8rem',\n },\n text: {\n width: '20.6rem'\n },\n dialog: {},\n deleteButton: {\n backgroundColor: 'white',\n minWidth: '34px',\n paddingLeft: '0px',\n paddingRight: '0px',\n alignSelf: 'center',\n },\n addItemBtn: {\n backgroundColor: '#F0F2F5',\n },\n}));\nconst ModalHistory = (props) => {\n let editOptions = [\n {\n label: \"Proponent\",\n value: \"Proponent\",\n disabled: false,\n },\n {\n label: \"Review Comments Due\",\n value: \"Review Comments Due\",\n disabled: false,\n },\n {\n label: \"Proponent Responses Due\",\n value: \"Proponent Responses Due\",\n disabled: false,\n },\n {\n label: \"Item Description\",\n value: \"Item Description\",\n disabled: false,\n },\n {\n label: \"Documents for review\",\n value: \"Documents for review\",\n disabled: false,\n },\n ];\n const [editOptionsState, setEditOptionsState] = react_1.useState(editOptions);\n const classes = useStyles();\n const { isVisible, modalText, titleText, cancelText, confirmText, onCancel, onConfirm, validationSchema, onPost, reviewId, setEditHistoryField } = props;\n const [editList, setEditList] = react_1.useState([{ header: '', description: '', id: Math.random() + 10, idDes: Math.random() + 10 }]);\n const formRef = react_1.useRef(null);\n react_1.useEffect(() => {\n }, [editList]);\n const addEditItem = (initialValues) => {\n setEditList([...editList, { header: '', description: '', id: Math.random() + 10, idDes: Math.random() + 10 }]);\n };\n const removeEditItem = (event, index) => {\n if (editList.length - 1 !== 0) {\n if (editList[index].header !== '') {\n for (let editItem of editOptionsState) {\n if (editItem.value === editList[index].header) {\n editItem.disabled = false;\n }\n }\n }\n editList.splice(index, 1);\n //initialValues.values.splice(index, 1);\n setEditList([...editList]);\n setEditOptionsState([...editOptionsState]);\n }\n };\n const onSelectChange = (value, index) => {\n if (editList[index].header !== '') {\n for (let editItem of editOptionsState) {\n if (editItem.value === editList[index].header) {\n editItem.disabled = false;\n }\n }\n }\n editList[index].header = value;\n for (let editItem of editOptionsState) {\n if (editItem.value === value) {\n editItem.disabled = true;\n }\n }\n setEditOptionsState([...editOptionsState]);\n setEditList([...editList]);\n };\n const handleSubmit = async (values) => {\n const currentLocalTime = new Date();\n const mstTime = new Date(currentLocalTime.toLocaleString('en-US', { timeZone: 'America/Denver' }));\n const EditedAt = moment_1.default(mstTime).format('YYYY-MM-DD HH:mm:ss.SSS');\n setEditHistoryField(editList, EditedAt);\n await onPost(reviewId, editList, EditedAt);\n await onConfirm();\n };\n const onTextChange = (event, index) => {\n event.preventDefault();\n editList[index].description = event.target.value;\n setEditList([...editList]);\n };\n const setFieldTouched = (index, initialValues) => {\n if (initialValues.editList1[index]) {\n initialValues.editList1[index].touched = true;\n }\n };\n return (react_1.default.createElement(\"div\", { className: classes.dialog },\n react_1.default.createElement(Dialog_1.default, { open: isVisible, onClose: onCancel, fullWidth: true, maxWidth: \"sm\" },\n titleText && (react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(DialogTitle_1.default, null,\n react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(Typography_1.default, { variant: \"subtitle1\" }, titleText))),\n react_1.default.createElement(Divider_1.default, null))),\n react_1.default.createElement(Divider_1.default, null),\n react_1.default.createElement(formik_1.Formik, { innerRef: formRef, initialValues: {\n editList1: editList\n }, validationSchema: validationSchema, onSubmit: (initialValues) => handleSubmit(initialValues), enableReinitialize: true }, ({ initialValues, submitForm, errors }) => (react_1.default.createElement(formik_1.Form, null,\n react_1.default.createElement(DialogContent_1.default, null,\n react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(\"p\", null, \"Select the modified field and provide an explanation for the edit\"),\n editList.map((item, index) => {\n return (react_1.default.createElement(Box_1.default, { className: classes.editRow, key: item.idDes || index + Math.random() },\n react_1.default.createElement(formik_1.Field, { key: item.id, className: classes.select, name: item.id, label: \"Edited field\", options: editOptionsState, onValueChange: (value, event) => onSelectChange(value, index), component: RenderSelectField_1.default, value: item.header !== '' ? item.header : '', onClick: () => setFieldTouched(index, initialValues) }),\n react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(Typography_1.default, { style: { marginLeft: '0.4rem' } }, \"was updated because\"),\n react_1.default.createElement(formik_1.FastField, { component: RenderEdithTextField_1.default, name: item.idDes, label: \"Edit Reason\", className: classes.text, onBlur: (event) => onTextChange(event, index), defaultValue: item.description ? item.description : '' })),\n react_1.default.createElement(Typography_1.default, { style: { alignSelf: 'flex-end', fontWeight: 'bolder' } }, \".\"),\n react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"secondary\", onClick: (event) => removeEditItem(event, index), className: classes.deleteButton },\n react_1.default.createElement(icons_1.Delete, null))));\n })),\n react_1.default.createElement(Button_1.default, { onClick: (initialValues) => addEditItem(initialValues), startIcon: react_1.default.createElement(icons_2.AddCircleOutline, null), className: classes.addItemBtn }, \"Add Edit Item\")),\n react_1.default.createElement(DialogActions_1.default, null,\n cancelText && (react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"secondary\", onClick: onCancel, style: { maxHeight: '30px', minWidth: '160px' } }, cancelText)),\n confirmText && (react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"primary\", onClick: () => submitForm(), style: { maxHeight: '30px' } }, confirmText)))))))));\n};\nModalHistory.propTypes = {\n isVisible: prop_types_1.default.bool.isRequired,\n modalText: prop_types_1.default.any,\n titleText: prop_types_1.default.string,\n cancelText: prop_types_1.default.string,\n confirmText: prop_types_1.default.string,\n onCancel: prop_types_1.default.any,\n validationSchema: prop_types_1.default.any,\n onConfirm: prop_types_1.default.any,\n onPost: prop_types_1.default.any,\n reviewId: prop_types_1.default.string,\n setEditHistoryField: prop_types_1.default.any\n};\nexports.default = ModalHistory;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Button_1 = __importDefault(require(\"@material-ui/core/Button\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst Dialog_1 = __importDefault(require(\"@material-ui/core/Dialog\"));\nconst DialogActions_1 = __importDefault(require(\"@material-ui/core/DialogActions\"));\nconst DialogContent_1 = __importDefault(require(\"@material-ui/core/DialogContent\"));\nconst formik_1 = require(\"formik\");\nconst RenderTextField_1 = __importDefault(require(\"./RenderTextField\"));\nconst core_1 = require(\"@material-ui/core\");\nconst Email_1 = __importDefault(require(\"@material-ui/icons/Email\"));\nconst RenderCheckboxField_1 = __importDefault(require(\"./RenderCheckboxField\"));\nconst utils_1 = require(\"../utils\");\nconst useStyles = core_1.makeStyles(theme => ({\n dialogContent: {\n flexDirection: 'row',\n justifyContent: 'center',\n flexWrap: 'wrap'\n },\n icon: {\n fontSize: '45px'\n },\n selectBoard: {\n width: '100%',\n display: 'flex',\n justifyContent: 'space-evenly'\n },\n errorMessage: {\n color: '#f44336',\n fontSize: '14px'\n },\n dialogDiv: {\n maxWidth: '750',\n display: 'flex',\n justifyContent: 'center'\n },\n mailIcon: {\n width: '100%',\n display: 'flex',\n justifyContent: 'center'\n }\n}));\nconst ModalNewsLetter = (props) => {\n var _a, _b, _c, _d;\n const classes = useStyles();\n const { onCancel, isVisible, validationSchema, email, userName, submitData, preferences, } = props;\n const handleSubmit = (values) => {\n const { lwb, rboard, agree, ...dataToSent } = values;\n preferences.length > 0\n ? submitData({ ...dataToSent }, utils_1.NewsLetterSubmissionType.Update)\n : submitData({ ...dataToSent }, utils_1.NewsLetterSubmissionType.Submit);\n onCancel({ lwb, rboard }, 'success');\n };\n const handleCheckBox = (event, value, values, setFieldValue) => {\n values.options[event.target.name] = value;\n setFieldValue('options', values.options);\n };\n const termsText = react_1.default.createElement(react_1.default.Fragment, null,\n \"I have read and agree to the\",\n react_1.default.createElement(\"a\", { rel: \"noreferrer\", target: '_blank', href: process.env.GATSBY_PRIVACY_TERMS_USE_PDF_URL }, \"Terms of Use and Privacy Policy\"));\n return (react_1.default.createElement(Dialog_1.default, { open: isVisible, onClose: onCancel, fullWidth: true, maxWidth: 'md' },\n react_1.default.createElement(\"div\", { style: { display: 'flex', justifyContent: 'center' } },\n react_1.default.createElement(formik_1.Formik, { initialValues: {\n username: userName,\n email: email,\n options: {\n lwb: preferences ? ((_a = preferences[0]) === null || _a === void 0 ? void 0 : _a.lwb) === true ? true : false : false,\n rboard: preferences ? ((_b = preferences[0]) === null || _b === void 0 ? void 0 : _b.rboard) === true ? true : false : false,\n },\n agree: false,\n lwb: preferences ? ((_c = preferences[0]) === null || _c === void 0 ? void 0 : _c.lwb) === true ? true : false : false,\n rboard: preferences ? ((_d = preferences[0]) === null || _d === void 0 ? void 0 : _d.rboard) === true ? true : false : false,\n }, validationSchema: validationSchema, onSubmit: handleSubmit, enableReinitialize: true }, ({ submitForm, values, setFieldValue }) => {\n var _a, _b;\n return (react_1.default.createElement(formik_1.Form, { style: { maxWidth: '600px' } },\n react_1.default.createElement(DialogContent_1.default, null,\n react_1.default.createElement(Box_1.default, { display: \"flex\", className: classes.dialogContent },\n react_1.default.createElement(Box_1.default, { className: classes.mailIcon },\n react_1.default.createElement(Typography_1.default, { variant: \"h1\" },\n react_1.default.createElement(Email_1.default, { className: classes.icon, fontSize: 'large' }))),\n react_1.default.createElement(Typography_1.default, { variant: \"h1\", style: { fontSize: '30px', textAlign: 'center' } },\n \"Subscribe to our Newsletter and \",\n react_1.default.createElement(\"br\", null),\n \" stay up to date!\"),\n react_1.default.createElement(Box_1.default, { className: classes.selectBoard },\n react_1.default.createElement(formik_1.Field, { name: \"lwb\", text: \"Land and Water Boards (LWBs)\", checkedValue: preferences ? ((_a = preferences[0]) === null || _a === void 0 ? void 0 : _a.lwb) === true ? true : false : false, component: RenderCheckboxField_1.default, onValueChange: (event, value) => handleCheckBox(event, value, values, setFieldValue), textStyle: { paddingBottom: '0px' } }),\n react_1.default.createElement(formik_1.Field, { name: \"rboard\", text: \"Review Board\", checkedValue: preferences ? ((_b = preferences[0]) === null || _b === void 0 ? void 0 : _b.rboard) === true ? true : false : false, component: RenderCheckboxField_1.default, onValueChange: (event, value) => handleCheckBox(event, value, values, setFieldValue), textStyle: { paddingBottom: '0px' } })),\n react_1.default.createElement(Typography_1.default, { className: classes.errorMessage },\n react_1.default.createElement(formik_1.ErrorMessage, { name: 'options' })),\n react_1.default.createElement(Box_1.default, { style: { width: '75%', margin: '20px' } },\n react_1.default.createElement(formik_1.Field, { name: 'email', label: 'Email (required)', component: RenderTextField_1.default, disabled: true }),\n react_1.default.createElement(formik_1.Field, { name: 'username', label: 'Name (required)', component: RenderTextField_1.default, style: { marginTop: '0.625rem' }, disabled: true })),\n react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(formik_1.Field, { name: \"agree\", text: termsText, defaultValue: false, component: RenderCheckboxField_1.default, textStyle: { fontSize: '14px', color: 'gray', paddingBottom: '0px' }, style: { color: 'gray', transform: \"scale(1.1)\" } }),\n react_1.default.createElement(Typography_1.default, { className: classes.errorMessage },\n react_1.default.createElement(formik_1.ErrorMessage, { name: 'agree' }))))),\n react_1.default.createElement(DialogActions_1.default, { style: { marginBottom: '1rem', maxWidth: '100%' } },\n react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"secondary\", style: { maxHeight: '30px', minWidth: '160px' }, onClick: onCancel }, \"I'll think about it\"),\n react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"primary\", style: { maxHeight: '30px' }, onClick: submitForm }, \"Subscribe\"))));\n }))));\n};\nModalNewsLetter.propTypes = {\n onCancel: prop_types_1.default.any,\n isVisible: prop_types_1.default.any,\n validationSchema: prop_types_1.default.any,\n email: prop_types_1.default.string,\n userName: prop_types_1.default.string,\n submitData: prop_types_1.default.any,\n preferences: prop_types_1.default.any,\n};\nexports.default = ModalNewsLetter;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Button_1 = __importDefault(require(\"@material-ui/core/Button\"));\nconst Divider_1 = __importDefault(require(\"@material-ui/core/Divider\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst Dialog_1 = __importDefault(require(\"@material-ui/core/Dialog\"));\nconst DialogActions_1 = __importDefault(require(\"@material-ui/core/DialogActions\"));\nconst DialogContent_1 = __importDefault(require(\"@material-ui/core/DialogContent\"));\nconst core_1 = require(\"@material-ui/core\");\nconst DialogTitle_1 = __importDefault(require(\"@material-ui/core/DialogTitle\"));\nconst formik_1 = require(\"formik\");\nconst RenderEdithTextField_1 = __importDefault(require(\"./RenderEdithTextField\"));\nconst useStyles = core_1.makeStyles(() => ({\n headerSection: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n fieldsContainer: {\n marginBottom: '2rem',\n },\n}));\nconst ModalDLTracker = (props) => {\n const { isVisible, titleText, cancelText, confirmText, onCancel, onConfirm, addedUsers, removedUsers, validationSchema, } = props;\n const formRef = react_1.useRef(null);\n const classes = useStyles();\n const handleSubmit = (values) => {\n console.log(\"values\", values);\n onConfirm(values);\n };\n return (react_1.default.createElement(Dialog_1.default, { open: isVisible, onClose: onCancel, fullWidth: true, maxWidth: 'md' },\n titleText && (react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(DialogTitle_1.default, null,\n react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(Typography_1.default, { variant: \"subtitle1\" }, titleText))),\n react_1.default.createElement(Divider_1.default, null))),\n react_1.default.createElement(formik_1.Formik, { innerRef: formRef, initialValues: {\n removedUsers: removedUsers,\n newAddedUsers: addedUsers,\n emptyField: '',\n }, validationSchema: validationSchema, onSubmit: (initialValues) => handleSubmit(initialValues), enableReinitialize: true }, ({ errors, values, initialValues, submitForm, setFieldValue, setErrors }) => (react_1.default.createElement(formik_1.Form, null,\n react_1.default.createElement(DialogContent_1.default, null,\n (addedUsers === null || addedUsers === void 0 ? void 0 : addedUsers.length) > 0 && (react_1.default.createElement(Box_1.default, null,\n react_1.default.createElement(Typography_1.default, null, \"Users Added to the Distribuition List\"),\n react_1.default.createElement(core_1.Grid, { container: true, style: { marginTop: '1rem' } },\n react_1.default.createElement(core_1.Grid, { item: true, xs: 2, md: 3 },\n react_1.default.createElement(Typography_1.default, { style: { fontWeight: 'bold' } }, \"Name\")),\n react_1.default.createElement(core_1.Grid, { item: true, xs: 2, md: 3 },\n react_1.default.createElement(Typography_1.default, { style: { fontWeight: 'bold' } }, \"Email\")),\n react_1.default.createElement(core_1.Grid, { item: true, xs: 2, md: 3 },\n react_1.default.createElement(Typography_1.default, { style: { fontWeight: 'bold' } }, \"Reason\")),\n addedUsers.length > 1 &&\n react_1.default.createElement(core_1.Grid, { item: true, xs: 1, md: 3, style: { alignSelf: 'flex-end' } },\n react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"primary\", onClick: () => {\n const textToCopy = values.newAddedUsers[0].reason;\n if ((textToCopy === null || textToCopy === void 0 ? void 0 : textToCopy.length) > 0) {\n for (let x = 1; x < values.newAddedUsers.length; x++) {\n setFieldValue(`newAddedUsers[${x}].reason`, textToCopy, false);\n }\n setErrors({ emptyField: '' });\n }\n else {\n setErrors({ emptyField: 'No text on first field' });\n }\n } }, \"Copy to all\"))),\n addedUsers.map((user, index) => {\n return (react_1.default.createElement(Box_1.default, { style: { marginTop: '1.5rem' }, key: user.name },\n react_1.default.createElement(core_1.Grid, { container: true },\n react_1.default.createElement(core_1.Grid, { item: true, md: 3 },\n react_1.default.createElement(Typography_1.default, null, user.name)),\n react_1.default.createElement(core_1.Grid, { item: true, md: 3 },\n react_1.default.createElement(Typography_1.default, null, user.email)),\n react_1.default.createElement(core_1.Grid, { item: true, md: 6 },\n react_1.default.createElement(formik_1.FastField, { component: RenderEdithTextField_1.default, name: `newAddedUsers[${index}].reason`, label: \"Reason\", value: values.newAddedUsers[index].reason }),\n errors.emptyField && index === 0 &&\n react_1.default.createElement(Typography_1.default, { style: { color: 'red', fontSize: '14px' } }, \"Please Add some description to the first field to Copy to All\")))));\n }))),\n (removedUsers === null || removedUsers === void 0 ? void 0 : removedUsers.length) > 0 && (react_1.default.createElement(Box_1.default, { className: classes.fieldsContainer, style: { marginTop: '1rem' } },\n react_1.default.createElement(Typography_1.default, null, \"Users Removed from the Distribuition List\"),\n react_1.default.createElement(core_1.Grid, { container: true, style: { marginTop: '1rem' } },\n react_1.default.createElement(core_1.Grid, { item: true, xs: 2, md: 3 },\n react_1.default.createElement(Typography_1.default, { style: { fontWeight: 'bold' } }, \"Name\")),\n react_1.default.createElement(core_1.Grid, { item: true, xs: 2, md: 3 },\n react_1.default.createElement(Typography_1.default, { style: { fontWeight: 'bold' } }, \"Email\")),\n react_1.default.createElement(core_1.Grid, { item: true, xs: 2, md: 3 },\n react_1.default.createElement(Typography_1.default, { style: { fontWeight: 'bold' } }, \"Reason\")),\n removedUsers.length > 1 &&\n react_1.default.createElement(core_1.Grid, { item: true, xs: 1, md: 3 },\n react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"primary\", onClick: () => {\n const textToCopy = values.removedUsers[0].reason;\n for (let x = 1; x < values.removedUsers.length; x++) {\n setFieldValue(`removedUsers[${x}].reason`, textToCopy, false);\n }\n } }, \"Copy to all\"))),\n removedUsers.map((user, index) => {\n return (react_1.default.createElement(Box_1.default, { style: { marginTop: '1.5rem' }, key: user.name },\n react_1.default.createElement(core_1.Grid, { container: true },\n react_1.default.createElement(core_1.Grid, { item: true, md: 3 },\n react_1.default.createElement(Typography_1.default, null, user.name)),\n react_1.default.createElement(core_1.Grid, { item: true, md: 3 },\n react_1.default.createElement(Typography_1.default, null, user.email)),\n react_1.default.createElement(core_1.Grid, { item: true, md: 6 },\n react_1.default.createElement(formik_1.FastField, { component: RenderEdithTextField_1.default, name: `removedUsers[${index}].reason`, label: \"Reason\", value: values.removedUsers[index].reason })))));\n })))),\n react_1.default.createElement(Divider_1.default, null),\n react_1.default.createElement(DialogActions_1.default, null,\n cancelText && (react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"secondary\", onClick: onCancel, style: { maxHeight: '30px', minWidth: '160px' } }, cancelText)),\n confirmText && (react_1.default.createElement(Button_1.default, { variant: \"contained\", color: \"primary\", onClick: () => submitForm(), style: { maxHeight: '30px', margin: '0.5rem' } }, confirmText))))))));\n};\nModalDLTracker.propTypes = {\n isVisible: prop_types_1.default.bool.isRequired,\n titleText: prop_types_1.default.string,\n cancelText: prop_types_1.default.string,\n confirmText: prop_types_1.default.string,\n onCancel: prop_types_1.default.any,\n onConfirm: prop_types_1.default.any,\n addedUsers: prop_types_1.default.any,\n removedUsers: prop_types_1.default.any,\n validationSchema: prop_types_1.default.any,\n};\nexports.default = ModalDLTracker;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst Alert_1 = __importDefault(require(\"@material-ui/lab/Alert\"));\nconst Collapse_1 = __importDefault(require(\"@material-ui/core/Collapse\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst useStyles = styles_1.makeStyles((theme) => ({\n root: {\n borderRadius: '4px',\n },\n standardInfo: {\n border: '1px solid #91D5FF',\n backgroundColor: '#E6F7FF',\n },\n standardSuccess: {\n border: '1px solid #B7EB8F',\n backgroundColor: '#F6FFED',\n },\n standardError: {\n border: '1px solid #FFA39E',\n backgroundColor: '#FFF1F0',\n },\n standardWarning: {\n border: '1px solid #FFE58F',\n backgroundColor: '#FFFBE6',\n },\n}));\nconst ReviewAlert = (props) => {\n const { isVisible, severity, alertTitle, alertMessage, onClose } = props;\n const [visible, setIsVisible] = react_1.useState(isVisible);\n const classes = useStyles();\n return (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(Collapse_1.default, { in: visible },\n react_1.default.createElement(Alert_1.default, { classes: {\n root: classes.root,\n standardInfo: classes.standardInfo,\n standardSuccess: classes.standardSuccess,\n standardError: classes.standardError,\n standardWarning: classes.standardWarning,\n }, severity: severity, onClose: () => {\n setIsVisible(false);\n if (onClose)\n onClose();\n } },\n react_1.default.createElement(Typography_1.default, { variant: \"subtitle1\" }, alertTitle),\n alertMessage))));\n};\nReviewAlert.propTypes = {\n isVisible: prop_types_1.default.bool,\n severity: prop_types_1.default.string.isRequired,\n alertTitle: prop_types_1.default.string.isRequired,\n alertMessage: prop_types_1.default.any.isRequired,\n onClose: prop_types_1.default.any,\n};\nexports.default = ReviewAlert;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst Autocomplete_1 = __importDefault(require(\"@material-ui/lab/Autocomplete\"));\nconst TextField_1 = __importDefault(require(\"@material-ui/core/TextField\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst icons_1 = require(\"@material-ui/icons\");\nconst lodash_1 = require(\"lodash\");\nconst formik_1 = require(\"formik\");\nconst core_1 = require(\"@material-ui/core\");\nconst useStyles = styles_1.makeStyles((theme) => ({\n input: {\n padding: '12.5px 4px !important',\n backgroundColor: 'transparent',\n '&:hover': {\n backgroundColor: 'transparent',\n },\n },\n adornment: {\n height: '100%',\n marginLeft: '16px',\n marginTop: '0 !important',\n width: '24px',\n },\n icon: {\n fill: '#24d654',\n },\n}));\nconst RenderAutocompleteField = (props) => {\n const { field: { value, name, onChange }, form: { touched, errors, setFieldValue, submitCount, values, setFieldTouched }, label, placeholder, options, single, onValueChange = () => undefined, onFilterChange = () => undefined, defaultValue, parentField, Icon, ...otherProps } = props;\n const classes = useStyles();\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n const autocompleteRef = react_1.useRef(null);\n const initialValue = react_1.useRef(value || defaultValue);\n const parentFieldRef = react_1.useRef(null);\n const displayErrors = (touch || submitCount > 0) && !!error;\n const textChange = react_1.useCallback(lodash_1.throttle((event) => onFilterChange(event.target.value), 500), []);\n react_1.useEffect(() => {\n if (value) {\n if (single) {\n setFieldValue(name, value.value);\n }\n else {\n setFieldValue(name, value.map((item) => item.value));\n }\n }\n }, []);\n if (parentField) {\n react_1.useEffect(() => {\n if (parentFieldRef.current && parentFieldRef.current !== values[parentField]) {\n const clearBtn = autocompleteRef.current.querySelectorAll('button[title=\"Clear\"]')[0];\n if (clearBtn) {\n clearBtn.click();\n }\n }\n parentFieldRef.current = values[parentField];\n }, [values[parentField]]);\n }\n const onAutocompleteChange = (event, newInputValue) => {\n if (!newInputValue) {\n return;\n }\n if (single) {\n setFieldValue(name, newInputValue.value);\n }\n else {\n if (newInputValue.length === 0) {\n setFieldValue(name, []);\n }\n else {\n setFieldValue(name, newInputValue.map((item) => item.value));\n }\n }\n onChange(event);\n onValueChange(event, newInputValue);\n };\n return (react_1.default.createElement(\"div\", null,\n react_1.default.createElement(Autocomplete_1.default, Object.assign({ ref: autocompleteRef, classes: { input: classes.input }, options: options, onChange: onAutocompleteChange, multiple: !single, defaultValue: initialValue.current, getOptionLabel: (option) => option.label, popupIcon: react_1.default.createElement(icons_1.KeyboardArrowDown, null), getOptionSelected: (option, value) => {\n return value.value === option.value;\n }, onFocus: () => setFieldTouched(name, true), renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, { label: label, variant: \"filled\", placeholder: placeholder, error: touch && !!error, fullWidth: true, onChange: textChange, InputProps: {\n ...params.InputProps,\n startAdornment: (react_1.default.createElement(react_1.default.Fragment, null,\n Icon ? (react_1.default.createElement(core_1.InputAdornment, { className: classes.adornment, position: \"start\" },\n react_1.default.createElement(Icon, { iconStyle: classes.icon }))) : null,\n params.InputProps.startAdornment)),\n } }))) }, otherProps)),\n displayErrors && (react_1.default.createElement(Typography_1.default, Object.assign({ variant: \"body2\", component: \"p\", color: \"error\" }, otherProps), error))));\n};\nRenderAutocompleteField.defaultProps = {\n label: '',\n};\nRenderAutocompleteField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n label: prop_types_1.default.string,\n placeholder: prop_types_1.default.string,\n single: prop_types_1.default.bool,\n options: prop_types_1.default.array.isRequired,\n onValueChange: prop_types_1.default.func,\n onFilterChange: prop_types_1.default.func,\n defaultValue: prop_types_1.default.any,\n parentField: prop_types_1.default.string,\n Icon: prop_types_1.default.any,\n};\nexports.default = RenderAutocompleteField;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst Autocomplete_1 = __importDefault(require(\"@material-ui/lab/Autocomplete\"));\nconst TextField_1 = __importDefault(require(\"@material-ui/core/TextField\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst icons_1 = require(\"@material-ui/icons\");\nconst lodash_1 = require(\"lodash\");\nconst formik_1 = require(\"formik\");\nconst core_1 = require(\"@material-ui/core\");\n/*\n* USAGE - For a better performance, keep this in mind:\n*\n* > The options prop that you pass to this component should be\n* an array of objects with a value and label properties\n* like this [{label:\"text\", value:\"text\"},{label:\"text1\", value:\"text1\"}]\n*\n* > Please ensure that for your form value at initialValues at formik, which you will use\n* for this field is either an empty array [] or an array of objects with a value/label\n* properties like the example above\n*\n* > The AutoCompleteFieldFixed will continue saving the vale of the form at initialValues\n* in the same way as an array of objects --> [{label:\"text\", value:\"text\"},{label:\"text1\", value:\"text1\"}]\n* , so you would like to transform that array when submitting your form as your needs.\n*\n* > Single value isn't currently working at all, so avoid using it or feel free to implement it if you need it\n*/\nconst useStyles = styles_1.makeStyles((theme) => ({\n input: {\n padding: '12.5px 4px !important',\n backgroundColor: 'transparent',\n '&:hover': {\n backgroundColor: 'transparent',\n },\n },\n adornment: {\n height: '100%',\n marginLeft: '16px',\n marginTop: '0 !important',\n width: '24px',\n },\n icon: {\n fill: '#24d654',\n },\n}));\nconst RenderAutoCompleteFieldFixed = (props) => {\n const { field: { value, name, onChange }, form: { touched, errors, setFieldValue, submitCount, values, setFieldTouched }, label, placeholder, options, single, onValueChange = () => undefined, onFilterChange = () => undefined, defaultValue, parentField, Icon, ...otherProps } = props;\n const classes = useStyles();\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n const autocompleteRef = react_1.useRef(null);\n const parentFieldRef = react_1.useRef(null);\n const displayErrors = (touch || submitCount > 0) && !!error;\n const textChange = react_1.useCallback(lodash_1.throttle((event) => onFilterChange(event.target.value), 500), []);\n //Here to change single value functionality\n react_1.useEffect(() => {\n if (value) {\n if (single) {\n setFieldValue(name, value.value);\n }\n else {\n setFieldValue(name, value.map((item) => item.value));\n }\n }\n }, []);\n if (parentField) {\n react_1.useEffect(() => {\n if (parentFieldRef.current && parentFieldRef.current !== values[parentField]) {\n const clearBtn = autocompleteRef.current.querySelectorAll('button[title=\"Clear\"]')[0];\n if (clearBtn) {\n clearBtn.click();\n }\n }\n parentFieldRef.current = values[parentField];\n }, [values[parentField]]);\n }\n const onAutocompleteChange = (event, newInputValue) => {\n if (!newInputValue) {\n return;\n }\n if (single) {\n setFieldValue(name, newInputValue.value);\n }\n else {\n if (newInputValue.length === 0) {\n setFieldValue(name, []);\n }\n else {\n setFieldValue(name, newInputValue.map((item) => ({ value: item.value, label: item.value })));\n }\n }\n onChange(event);\n onValueChange(event, newInputValue);\n };\n return (react_1.default.createElement(\"div\", null,\n react_1.default.createElement(Autocomplete_1.default, Object.assign({ ref: autocompleteRef, classes: { input: classes.input }, options: options, onChange: onAutocompleteChange, multiple: !single, value: value, getOptionLabel: (option) => option.label, popupIcon: react_1.default.createElement(icons_1.KeyboardArrowDown, null), getOptionSelected: (option, value) => {\n return value.value === option.value;\n }, onFocus: () => setFieldTouched(name, true), renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, { label: label, variant: \"filled\", placeholder: placeholder, error: touch && !!error, fullWidth: true, onChange: textChange, InputProps: {\n ...params.InputProps,\n startAdornment: (react_1.default.createElement(react_1.default.Fragment, null,\n Icon ? (react_1.default.createElement(core_1.InputAdornment, { className: classes.adornment, position: \"start\" },\n react_1.default.createElement(Icon, { iconStyle: classes.icon }))) : null,\n params.InputProps.startAdornment)),\n } }))) }, otherProps)),\n displayErrors && (react_1.default.createElement(Typography_1.default, Object.assign({ variant: \"body2\", component: \"p\", color: \"error\" }, otherProps), error))));\n};\nRenderAutoCompleteFieldFixed.defaultProps = {\n label: '',\n};\nRenderAutoCompleteFieldFixed.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n label: prop_types_1.default.string,\n placeholder: prop_types_1.default.string,\n single: prop_types_1.default.bool,\n options: prop_types_1.default.array.isRequired,\n onValueChange: prop_types_1.default.func,\n onFilterChange: prop_types_1.default.func,\n defaultValue: prop_types_1.default.any,\n parentField: prop_types_1.default.string,\n Icon: prop_types_1.default.any,\n};\nexports.default = RenderAutoCompleteFieldFixed;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Autocomplete_1 = __importDefault(require(\"@material-ui/lab/Autocomplete\"));\nconst Grid_1 = __importDefault(require(\"@material-ui/core/Grid\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst TextField_1 = __importDefault(require(\"@material-ui/core/TextField\"));\nconst formik_1 = require(\"formik\");\nconst lodash_1 = require(\"lodash\");\nconst OrderedList_1 = __importDefault(require(\"./OrderedList\"));\nconst RenderOrderedAutocompleteField = (props) => {\n const { field: { value, name, onChange, onBlur }, form: { touched, errors, setFieldValue }, label, listTitleDesc, listTitleItem, isFile, placeholder, options, multiple, otherProps, onValueChange = () => undefined, onFilterChange = () => undefined, onEditItem, onOpenItem, } = props;\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n const [listItems, setListItems] = react_1.useState([]);\n const textChange = react_1.useCallback(lodash_1.throttle((event) => onFilterChange(event.target.value), 500), []);\n react_1.useEffect(() => {\n if (value) {\n setListItems(value);\n setFieldValue(name, value.map((item) => item.value));\n }\n }, []);\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(Grid_1.default, { container: true, spacing: 1 },\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },\n react_1.default.createElement(Autocomplete_1.default, Object.assign({ options: options, onChange: (event, newInputValue) => {\n if (newInputValue.length === 0) {\n setListItems([]);\n setFieldValue(name, []);\n }\n else {\n const data = listItems;\n newInputValue.forEach((element) => {\n if (!data.find((item) => item.value === element.value))\n data.push(element);\n });\n setListItems(data);\n setFieldValue(name, data.map((item) => item.value));\n }\n onChange(event);\n onValueChange(event, newInputValue);\n }, multiple: multiple, onBlur: onBlur, value: listItems, getOptionLabel: (option) => option.label, getOptionSelected: (option, value) => {\n return listItems.find((item) => item.value === option.value) ? true : false;\n }, renderTags: () => null, renderInput: (params) => (react_1.default.createElement(TextField_1.default, Object.assign({}, params, { name: name, variant: \"filled\", placeholder: placeholder, error: touch && !!error, fullWidth: true, label: label, onChange: textChange, onBlur: (event) => {\n onBlur(event);\n } }))) }, otherProps))),\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },\n react_1.default.createElement(Typography_1.default, { variant: \"subtitle1\" },\n listTitleDesc,\n \" \",\n listItems.length,\n \" \",\n listTitleItem)),\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },\n react_1.default.createElement(OrderedList_1.default, { listItems: listItems, isFile: isFile, onChange: (res) => {\n if (!res.destination)\n return;\n const items = Array.from(listItems);\n const [reorderedItem] = items.splice(res.source.index, 1);\n items.splice(res.destination.index, 0, reorderedItem);\n setFieldValue(name, items.map((item) => item.value));\n setListItems(items);\n }, onEditItem: onEditItem, onDeleteItem: (value, index) => {\n const data = listItems;\n data.splice(index, 1);\n setListItems(data);\n setFieldValue(name, data.map((item) => item.value));\n }, onOpenItem: onOpenItem })))));\n};\nRenderOrderedAutocompleteField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n label: prop_types_1.default.string.isRequired,\n placeholder: prop_types_1.default.string,\n multiple: prop_types_1.default.bool,\n onFilterChange: prop_types_1.default.func,\n options: prop_types_1.default.array.isRequired,\n onValueChange: prop_types_1.default.func,\n};\nexports.default = RenderOrderedAutocompleteField;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst Alert_1 = __importDefault(require(\"@material-ui/lab/Alert\"));\nconst Grid_1 = __importDefault(require(\"@material-ui/core/Grid\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst formik_1 = require(\"formik\");\nconst DocumentForm_1 = __importDefault(require(\"./DocumentForm\"));\nconst OrderedDocumentList_1 = __importDefault(require(\"./OrderedDocumentList\"));\nconst RenderOrderedDocumentField = (props) => {\n const { field: { value, name: fieldName }, form: { setFieldValue }, listTitleDesc, listTitleItem, isFile, addDocument, } = props;\n const [listItems, setListItems] = react_1.useState(value || []);\n const [newDocIds, setNewDocIds] = react_1.useState([]);\n const [documentError, setDocumentError] = react_1.useState(false);\n const [oldDocsRemoved, setOldDocsRemoved] = react_1.useState(false);\n const submit = async (url, name) => {\n const newDoc = {\n name,\n url,\n order: listItems.length + 1,\n };\n try {\n const newDocument = await addDocument(newDoc);\n if (newDocument) {\n const arr = listItems;\n arr.push(newDocument);\n //keeping track of new added documents\n setNewDocIds([...newDocIds, newDocument.id]);\n setFieldValue(\"editedDocument\", true);\n setListItems(arr);\n setFieldValue(fieldName, arr); //field\n }\n else {\n setDocumentError(true);\n }\n }\n catch (error) {\n setDocumentError(true);\n }\n };\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(Grid_1.default, { container: true, spacing: 1 },\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },\n react_1.default.createElement(Typography_1.default, { variant: \"subtitle1\" },\n listTitleDesc,\n \" \",\n listItems.length,\n \" \",\n listTitleItem)),\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },\n documentError && (react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },\n react_1.default.createElement(Alert_1.default, { variant: \"filled\", severity: \"error\", icon: false, onClose: () => {\n setDocumentError(false);\n } }, \"There is an error from this file submission. Please double check that it is a publicly accessible file.\"))),\n react_1.default.createElement(OrderedDocumentList_1.default, { listItems: listItems, isFile: isFile, onChange: (res) => {\n if (!res.destination)\n return;\n const items = Array.from(listItems);\n const [reorderedItem] = items.splice(res.source.index, 1);\n items.splice(res.destination.index, 0, reorderedItem);\n items.forEach((item, index) => {\n item.order = index + 1;\n });\n setListItems(items);\n setFieldValue(fieldName, items);\n }, onEditItem: (index, newName) => {\n const arr = listItems;\n arr[index] = { ...arr[index], name: newName };\n setListItems(arr);\n setFieldValue(fieldName, arr);\n }, onDeleteItem: (index) => {\n const arr = listItems;\n if (newDocIds.find((item) => { var _a; return item === ((_a = listItems.slice(index, index + 1)[0]) === null || _a === void 0 ? void 0 : _a.id); })) {\n //this checks if there are no more new documents\n const aux1 = newDocIds.filter((item) => { var _a; return item !== ((_a = listItems.slice(index, index + 1)[0]) === null || _a === void 0 ? void 0 : _a.id); });\n setNewDocIds(aux1);\n if (aux1.length === 0 && !oldDocsRemoved) {\n setFieldValue(\"editedDocument\", false);\n }\n }\n else {\n setFieldValue(\"editedDocument\", true);\n setOldDocsRemoved(true);\n }\n arr.splice(index, 1);\n setListItems(arr);\n setFieldValue(fieldName, arr);\n } })),\n react_1.default.createElement(Grid_1.default, { item: true, xs: 12 },\n react_1.default.createElement(formik_1.FieldArray, { name: fieldName, render: (items) => (react_1.default.createElement(DocumentForm_1.default, { index: listItems.length, onItemSubmit: (url, name) => submit(url, name) })) })))));\n};\nRenderOrderedDocumentField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n listTitleDesc: prop_types_1.default.string,\n listTitleItem: prop_types_1.default.string,\n isFile: prop_types_1.default.bool,\n addDocument: prop_types_1.default.func,\n};\nexports.default = RenderOrderedDocumentField;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Button_1 = __importDefault(require(\"@material-ui/core/Button\"));\nconst formik_1 = require(\"formik\");\nconst RenderButtonField = (props) => {\n const { field: { value, name, onChange, onBlur }, form: { touched, errors, setFieldValue }, label, inputValue, ...otherProps } = props;\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(Button_1.default, Object.assign({ name: name, variant: 'contained', color: 'primary', value: inputValue || '', onClick: () => setFieldValue(name, inputValue) }, otherProps), label)));\n};\nRenderButtonField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n label: prop_types_1.default.string.isRequired,\n inputValue: prop_types_1.default.string,\n};\nexports.default = RenderButtonField;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst moment_1 = __importDefault(require(\"@date-io/moment\"));\nconst moment_2 = __importDefault(require(\"moment\"));\nconst pickers_1 = require(\"@material-ui/pickers\");\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst formik_1 = require(\"formik\");\nconst useStyles = styles_1.makeStyles((theme) => ({\n root: {\n '& svg': {\n fill: theme.palette.primary.main,\n },\n },\n}));\nconst RenderDateField = (props) => {\n const { field: { value, name }, form: { touched, errors, setFieldValue, setFieldTouched }, fieldLabel, placeholder, minDate, maxDate, minDateMessage, maxDateMessage, disablePast, disableFuture, onValueChange = () => undefined, ...otherProps } = props;\n const classes = useStyles();\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(pickers_1.MuiPickersUtilsProvider, { libInstance: moment_2.default, utils: moment_1.default },\n react_1.default.createElement(pickers_1.KeyboardDatePicker, Object.assign({ name: name, format: \"LL\", InputAdornmentProps: { id: `mui-component-calendar-${name}`, classes: { root: classes.root } }, value: value || null, onChange: (value, strInput) => {\n let newVal = value;\n if (moment_2.default(strInput, 'MM/DD/YYYY', true).isValid()) {\n newVal = moment_2.default(strInput, 'MM/DD/YYYY', true);\n }\n setFieldValue(name, newVal);\n onValueChange(newVal);\n }, onBlur: () => setFieldTouched(name, true), invalidDateMessage: null, error: touch && !!error, autoOk: true, placeholder: placeholder, variant: \"inline\", inputVariant: \"filled\", fullWidth: true, disableToolbar: true, disablePast: disablePast, disableFuture: disableFuture, minDate: minDate ? moment_2.default(minDate).format('YYYY-MM-DD') : undefined, maxDate: maxDate ? moment_2.default(maxDate).format('YYYY-MM-DD') : undefined, minDateMessage: true, maxDateMessage: true, mask: \"__/__/____\", allowKeyboardControl: false, label: fieldLabel }, otherProps))),\n touch && !!error && (react_1.default.createElement(Typography_1.default, Object.assign({ variant: \"body2\", component: \"p\", color: \"error\" }, otherProps), error))));\n};\nRenderDateField.defaultProps = {\n minDate: moment_2.default().format('YYYY-MM-DD'),\n minDateMessage: '',\n maxDateMessage: '',\n disablePast: true,\n disableFuture: undefined,\n};\nRenderDateField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n fieldLabel: prop_types_1.default.string.isRequired,\n placeholder: prop_types_1.default.string,\n onValueChange: prop_types_1.default.func,\n};\nexports.default = RenderDateField;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEditorTheme = void 0;\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst mui_rte_1 = __importDefault(require(\"mui-rte\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst formik_1 = require(\"formik\");\nconst draft_js_1 = require(\"draft-js\");\nconst lodash_1 = require(\"lodash\");\nconst utils_1 = require(\"../utils\");\nexports.defaultEditorTheme = styles_1.createMuiTheme();\nObject.assign(exports.defaultEditorTheme, {\n overrides: {\n MUIRichTextEditor: {\n root: {\n height: '100%',\n },\n container: {\n display: 'flex',\n flexDirection: 'column-reverse',\n height: '100%',\n '& div:nth-child(2)': {\n width: '100%',\n height: 'calc(100% - 16px)',\n },\n },\n editor: {\n paddingLeft: 10,\n overflowY: 'auto',\n height: '100%',\n },\n toolbar: {\n backgroundColor: 'rgba(17,15,36,0.2)',\n marginBottom: 8,\n borderBottomRightRadius: '4px',\n borderBottomLeftRadius: '4px',\n },\n placeHolder: {\n paddingLeft: 10,\n width: 'inherit',\n position: 'absolute',\n top: 0,\n },\n },\n },\n});\nconst useStyles = styles_1.makeStyles((theme) => ({\n editorContainer: {\n flex: 1,\n position: 'relative',\n maxHeight: '250px',\n msOverflowY: 'scroll',\n },\n icon: {\n cursor: 'pointer',\n position: 'absolute',\n right: 0,\n bottom: 0,\n opacity: 0.5,\n },\n readOnlyText: {\n '& p': {\n fontSize: '1rem',\n lineHeight: '16px',\n },\n },\n inputLabel: {\n color: theme.palette.primary.main,\n pointerEvents: 'none',\n fontSize: '14px',\n marginLeft: '8px',\n fontWeight: 400,\n position: 'absolute',\n },\n}));\nconst RenderRichTextField = (props) => {\n const { field: { value, name }, form: { touched, errors, setFieldValue, setFieldTouched, submitCount, initialValues }, fieldLabel, placeholder, controls, defaultValue, allwaysOpen, onClick = () => undefined, ...otherProps } = props;\n const classes = useStyles();\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n const [editMode, switchEditMode] = react_1.useState(allwaysOpen);\n const [focus, setFocus] = react_1.useState(false);\n //const initialValue = useRef(value || defaultValue);\n const [textState, setTextState] = react_1.useState();\n const [initState, setInitState] = react_1.useState();\n const displayErrors = (touch || submitCount > 0) && !!error;\n react_1.useEffect(() => {\n setInitState(value || defaultValue);\n }, [value, defaultValue]);\n react_1.useEffect(() => {\n //initialValue.current = initialValues[name];\n setInitState(initialValues[name]);\n }, [initialValues[name]]);\n react_1.useEffect(() => {\n if (!editMode) {\n //initialValue.current = value;\n setInitState(value);\n }\n else {\n setFieldTouched(name, true);\n onClick();\n }\n }, [editMode]);\n const debouncedSetFieldValue = lodash_1.debounce((value) => setFieldValue(name, value), 0);\n const onValueChange = (state) => {\n setTextState(state);\n };\n const onEditorBlur = () => {\n if (!allwaysOpen) {\n switchEditMode(false);\n }\n //save the last textState value to the form (saveFieldValue) when onBlur (leave) the input \n if (textState !== undefined) {\n debouncedSetFieldValue(JSON.stringify(draft_js_1.convertToRaw(textState.getCurrentContent())));\n }\n setFieldTouched(name, true);\n onClick();\n setFocus(false);\n };\n const onEditorFocus = () => {\n switchEditMode(true);\n setFocus(true);\n };\n return (react_1.default.createElement(Box_1.default, { onClick: () => switchEditMode(true), className: classes.editorContainer },\n fieldLabel &&\n (focus || utils_1.Utils.richTextContentToPlainText(value) !== utils_1.Utils.richTextContentToPlainText(defaultValue)) && (react_1.default.createElement(Typography_1.default, { variant: \"subtitle2\", className: classes.inputLabel }, fieldLabel)),\n react_1.default.createElement(styles_1.MuiThemeProvider, { theme: exports.defaultEditorTheme },\n react_1.default.createElement(mui_rte_1.default, Object.assign({ error: touch && !!error, label: placeholder, defaultValue: /* initialValue.current */ initState, controls: editMode ? controls : [], onChange: (state) => onValueChange(state), onBlur: () => onEditorBlur(), onFocus: () => onEditorFocus(), readOnly: !editMode, inlineToolbar: false }, otherProps))),\n displayErrors && (react_1.default.createElement(Box_1.default, { mt: -1 },\n react_1.default.createElement(Typography_1.default, Object.assign({ variant: \"body2\", component: \"p\", color: \"error\" }, otherProps), error)))));\n};\nRenderRichTextField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n fieldLabel: prop_types_1.default.string,\n placeholder: prop_types_1.default.string,\n controls: prop_types_1.default.array,\n defaultValue: prop_types_1.default.any,\n allwaysOpen: prop_types_1.default.bool,\n onClick: prop_types_1.default.func,\n};\nRenderRichTextField.defaultProps = {\n fieldLabel: '',\n placeholder: '',\n defaultValue: JSON.stringify(draft_js_1.convertToRaw(draft_js_1.EditorState.createEmpty().getCurrentContent())),\n allwaysOpen: false,\n};\nexports.default = RenderRichTextField;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEditorTheme = void 0;\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst mui_rte_1 = __importDefault(require(\"mui-rte\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst formik_1 = require(\"formik\");\nconst draft_js_1 = require(\"draft-js\");\nconst lodash_1 = require(\"lodash\");\nconst utils_1 = require(\"../utils\");\nexports.defaultEditorTheme = styles_1.createMuiTheme();\nObject.assign(exports.defaultEditorTheme, {\n overrides: {\n MUIRichTextEditor: {\n root: {\n height: '100%',\n },\n container: {\n display: 'flex',\n flexDirection: 'column-reverse',\n height: '100%',\n '& div:nth-child(2)': {\n width: '100%',\n height: 'calc(100% - 16px)',\n },\n },\n editor: {\n paddingLeft: 10,\n overflowY: 'auto',\n height: '100%',\n },\n toolbar: {\n backgroundColor: 'rgba(17,15,36,0.2)',\n marginBottom: 8,\n borderBottomRightRadius: '4px',\n borderBottomLeftRadius: '4px',\n },\n placeHolder: {\n paddingLeft: 10,\n width: 'inherit',\n position: 'absolute',\n top: 0,\n },\n },\n },\n});\nconst useStyles = styles_1.makeStyles((theme) => ({\n editorContainer: {\n flex: 1,\n position: 'relative',\n maxHeight: '250px',\n msOverflowY: 'scroll',\n },\n icon: {\n cursor: 'pointer',\n position: 'absolute',\n right: 0,\n bottom: 0,\n opacity: 0.5,\n },\n readOnlyText: {\n '& p': {\n fontSize: '1rem',\n lineHeight: '16px',\n },\n },\n inputLabel: {\n color: theme.palette.primary.main,\n pointerEvents: 'none',\n fontSize: '14px',\n marginLeft: '8px',\n fontWeight: 400,\n position: 'absolute',\n },\n}));\nconst RenderRichTextFieldReview = (props) => {\n const { field: { value, name }, form: { touched, errors, setFieldValue, setFieldTouched, submitCount, initialValues }, fieldLabel, placeholder, controls, defaultValue, allwaysOpen, onClick = () => undefined, ...otherProps } = props;\n const classes = useStyles();\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n const [editMode, switchEditMode] = react_1.useState(allwaysOpen);\n const [focus, setFocus] = react_1.useState(false);\n const initialValue = react_1.useRef(value || defaultValue);\n const [textState, setTextState] = react_1.useState();\n const [initState, setInitState] = react_1.useState();\n const displayErrors = (touch || submitCount > 0) && !!error;\n react_1.useEffect(() => {\n }, [value, defaultValue]);\n react_1.useEffect(() => {\n initialValue.current = initialValues[name];\n }, [initialValues[name]]);\n react_1.useEffect(() => {\n if (!editMode) {\n initialValue.current = value;\n }\n else {\n setFieldTouched(name, true);\n onClick();\n }\n }, [editMode]);\n const debouncedSetFieldValue = lodash_1.debounce((value) => setFieldValue(name, value), 0);\n const onValueChange = (state) => {\n debouncedSetFieldValue(JSON.stringify(draft_js_1.convertToRaw(state.getCurrentContent())));\n };\n const onEditorBlur = () => {\n if (!allwaysOpen) {\n switchEditMode(false);\n }\n setFieldTouched(name, true);\n onClick();\n setFocus(false);\n };\n const onEditorFocus = () => {\n switchEditMode(true);\n setFocus(true);\n };\n return (react_1.default.createElement(Box_1.default, { onClick: () => switchEditMode(true), className: classes.editorContainer },\n fieldLabel &&\n (focus || utils_1.Utils.richTextContentToPlainText(value) !== utils_1.Utils.richTextContentToPlainText(defaultValue)) && (react_1.default.createElement(Typography_1.default, { variant: \"subtitle2\", className: classes.inputLabel }, fieldLabel)),\n react_1.default.createElement(styles_1.MuiThemeProvider, { theme: exports.defaultEditorTheme },\n react_1.default.createElement(mui_rte_1.default, Object.assign({ error: touch && !!error, label: placeholder, defaultValue: initialValue.current /* initState */, controls: editMode ? controls : [], onChange: (state) => onValueChange(state), onBlur: () => onEditorBlur(), onFocus: () => onEditorFocus(), readOnly: !editMode, inlineToolbar: false }, otherProps))),\n displayErrors && (react_1.default.createElement(Box_1.default, { mt: -1 },\n react_1.default.createElement(Typography_1.default, Object.assign({ variant: \"body2\", component: \"p\", color: \"error\" }, otherProps), error)))));\n};\nRenderRichTextFieldReview.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n fieldLabel: prop_types_1.default.string,\n placeholder: prop_types_1.default.string,\n controls: prop_types_1.default.array,\n defaultValue: prop_types_1.default.any,\n allwaysOpen: prop_types_1.default.bool,\n onClick: prop_types_1.default.func,\n};\nRenderRichTextFieldReview.defaultProps = {\n fieldLabel: '',\n placeholder: '',\n defaultValue: JSON.stringify(draft_js_1.convertToRaw(draft_js_1.EditorState.createEmpty().getCurrentContent())),\n allwaysOpen: false,\n};\nexports.default = RenderRichTextFieldReview;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst TextareaAutosize_1 = __importDefault(require(\"@material-ui/core/TextareaAutosize\"));\nconst formik_1 = require(\"formik\");\nconst useStyles = styles_1.makeStyles((theme) => ({\n root: {\n padding: '10px',\n borderColor: theme.palette.text.primary,\n fontSize: '16px',\n borderRadius: '5px',\n width: '100%',\n },\n}));\nconst RenderTextAreaField = (props) => {\n const { field: { value, name, onChange, onBlur }, form: { touched, errors, setFieldValue }, label, placeholder, rows, ...otherProps } = props;\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n const classes = useStyles();\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(Box_1.default, { paddingY: 2 },\n label && (react_1.default.createElement(Typography_1.default, Object.assign({ variant: \"subtitle2\" }, otherProps), label)),\n react_1.default.createElement(TextareaAutosize_1.default, Object.assign({ name: name, className: classes.root, value: value || '', rowsMin: rows, onChange: onChange, placeholder: placeholder, onBlur: (event) => {\n setFieldValue(name, event.target.value.trim());\n onBlur(event);\n } }, otherProps)),\n touch && !!error && (react_1.default.createElement(Typography_1.default, Object.assign({ variant: \"body2\", component: \"p\", color: \"error\" }, otherProps), error)))));\n};\nRenderTextAreaField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n label: prop_types_1.default.string.isRequired,\n placeholder: prop_types_1.default.string,\n rows: prop_types_1.default.number.isRequired,\n};\nexports.default = RenderTextAreaField;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst core_1 = require(\"@material-ui/core\");\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst lodash_1 = require(\"lodash\");\nconst formik_1 = require(\"formik\");\nconst useStyles = styles_1.makeStyles((theme) => ({\n input: {\n display: 'none',\n },\n label: {\n cursor: 'pointer',\n },\n}));\nconst RenderFileField = (props) => {\n const { field: { name }, form: { touched, errors, submitCount, setFieldValue }, label, color, variant, size, accept, multiple, ...otherProps } = props;\n const classes = useStyles();\n const error = formik_1.getIn(errors, name);\n const touch = formik_1.getIn(touched, name);\n const displayErrors = (touch || submitCount > 0) && !!error;\n const fileId = lodash_1.uniqueId('file_');\n return (react_1.default.createElement(react_1.Fragment, null,\n react_1.default.createElement(core_1.Box, null,\n react_1.default.createElement(\"input\", { type: \"file\", id: fileId, name: name, accept: accept, multiple: multiple, className: classes.input, onChange: (event) => setFieldValue(name, event.currentTarget.files[0]) }),\n react_1.default.createElement(\"label\", { htmlFor: fileId, className: classes.label },\n react_1.default.createElement(core_1.Button, Object.assign({ name: name, component: \"span\", variant: variant, color: color, size: size }, otherProps), label)),\n displayErrors && (react_1.default.createElement(core_1.Typography, Object.assign({ variant: \"body2\", component: \"p\", color: \"error\" }, otherProps), error)))));\n};\nRenderFileField.defaultProps = {\n color: 'primary',\n variant: 'outlined',\n size: 'large',\n accept: '*/*',\n multiple: false,\n};\nRenderFileField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n form: prop_types_1.default.any.isRequired,\n label: prop_types_1.default.string.isRequired,\n color: prop_types_1.default.string,\n variant: prop_types_1.default.string,\n size: prop_types_1.default.string,\n accept: prop_types_1.default.string,\n multiple: prop_types_1.default.bool,\n};\nexports.default = RenderFileField;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst core_1 = require(\"@material-ui/core\");\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst useStyles = styles_1.makeStyles(() => ({\n box: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n position: 'absolute',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n container: {\n position: 'relative',\n display: 'inline-flex',\n },\n}));\nconst CircularProgressWithLabel = (props) => {\n const classes = useStyles();\n return (react_1.default.createElement(core_1.Box, { className: classes.container },\n react_1.default.createElement(core_1.CircularProgress, Object.assign({ variant: \"determinate\" }, props, { size: 80 })),\n react_1.default.createElement(core_1.Box, { className: classes.box },\n react_1.default.createElement(core_1.Typography, { variant: \"caption\", component: \"div\" }, `${Math.round(props.value)}%`))));\n};\nexports.default = CircularProgressWithLabel;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst core_1 = require(\"@material-ui/core\");\nconst RenderRadioField = (props) => {\n const { field: { value, name }, onValueChange, text, checkedValue, defaultValue, textStyle, ...otherProps } = props;\n return (react_1.default.createElement(core_1.Box, { style: { display: 'flex', alignItems: 'center' } },\n react_1.default.createElement(core_1.Radio, Object.assign({ checked: defaultValue ? defaultValue : value === checkedValue, onChange: onValueChange, name: name, color: \"primary\" }, otherProps)),\n react_1.default.createElement(core_1.Typography, { variant: 'body1', style: textStyle }, text)));\n};\nRenderRadioField.defaultProps = {\n checkedValue: true,\n};\nRenderRadioField.propTypes = {\n field: prop_types_1.default.any.isRequired,\n onValueChange: prop_types_1.default.any.isRequired,\n text: prop_types_1.default.string.isRequired,\n checkedValue: prop_types_1.default.any,\n defaultValue: prop_types_1.default.bool,\n textStyle: prop_types_1.default.any,\n};\nexports.default = RenderRadioField;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importStar(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst formik_1 = require(\"formik\");\nconst react_google_recaptcha_1 = __importDefault(require(\"react-google-recaptcha\"));\nconst Typography_1 = __importDefault(require(\"@material-ui/core/Typography\"));\nconst RenderRecaptcha = (props) => {\n const recaptchaRef = react_1.useRef();\n const { field: { name }, form: { errors, submitCount, setFieldValue }, reset, } = props;\n const error = formik_1.getIn(errors, name);\n const displayErrors = submitCount > 0 && !!error;\n react_1.useEffect(() => {\n if (reset) {\n recaptchaRef.current.reset();\n }\n }, [reset]);\n return (react_1.default.createElement(react_1.default.Fragment, null,\n react_1.default.createElement(react_google_recaptcha_1.default, { ref: recaptchaRef, sitekey: process.env.REACT_APP_RECAPTCHA_KEY, onChange: (token) => setFieldValue(name, token) }),\n displayErrors && (react_1.default.createElement(Typography_1.default, { variant: \"body2\", component: \"p\", color: \"error\" }, error))));\n};\nRenderRecaptcha.propTypes = {\n reset: prop_types_1.default.bool,\n};\nexports.default = RenderRecaptcha;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst core_1 = require(\"@material-ui/core\");\nconst moment_1 = __importDefault(require(\"moment\"));\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst DueDateAuditTooltip = ({ dueDateFieldName, currentDate, extensionDates, ...props }) => {\n const classes = core_1.makeStyles((theme) => ({\n arrow: {\n color: theme.palette.common.black,\n },\n tooltip: {\n backgroundColor: theme.palette.common.black,\n },\n }));\n return (react_1.default.createElement(core_1.Tooltip, Object.assign({ arrow: true, classes: classes(), title: react_1.default.createElement(core_1.Box, { p: 1 },\n react_1.default.createElement(\"strong\", { color: \"inherit\" },\n dueDateFieldName,\n \"s period extended\"),\n react_1.default.createElement(core_1.Box, { style: { paddingTop: '4px' } },\n \"Extension: \",\n moment_1.default.unix(currentDate).format('LL'),\n react_1.default.createElement(\"br\", null),\n \"Original: \",\n moment_1.default.unix(extensionDates[extensionDates.length - 1].fieldValue).format('LL'))) }, props)));\n};\nDueDateAuditTooltip.propTypes = {\n dueDateFieldName: prop_types_1.default.string.isRequired,\n currentDate: prop_types_1.default.any.isRequired,\n extensionDates: prop_types_1.default.array.isRequired,\n};\nexports.default = DueDateAuditTooltip;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst padding = 10;\nconst radius = 4;\nconst SvgBox = (props) => {\n const { size, strokeColor, fillColor } = props;\n return (react_1.default.createElement(\"svg\", { width: size, height: size },\n react_1.default.createElement(\"path\", { d: `M${radius + 1},1 \n h${size - padding}\n a${radius},${radius} 0 0 1 ${radius},${radius} \n v${size - padding} \n a${radius},${radius} 0 0 1 -${radius},${radius} \n h-${size - padding} \n a${radius},${radius} 0 0 1 -${radius},-${radius} \n v-${size - padding} \n a${radius},${radius} 0 0 1 ${radius},-${radius} \n z`, fill: fillColor, stroke: strokeColor })));\n};\nSvgBox.propTypes = {\n size: prop_types_1.default.number.isRequired,\n strokeColor: prop_types_1.default.string.isRequired,\n fillColor: prop_types_1.default.string.isRequired,\n};\nexports.default = SvgBox;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEditorTheme = void 0;\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst mui_rte_1 = __importDefault(require(\"mui-rte\"));\nconst clsx_1 = __importDefault(require(\"clsx\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nexports.defaultEditorTheme = styles_1.createMuiTheme();\nObject.assign(exports.defaultEditorTheme, {\n overrides: {\n MUIRichTextEditor: {\n root: {\n height: '100%',\n },\n container: {\n display: 'flex',\n flexDirection: 'column-reverse',\n height: '100%',\n },\n editor: {\n overflowY: 'auto',\n height: '100%',\n '& ul': {\n marginLeft: 5,\n },\n '& ol': {\n marginLeft: 24,\n },\n },\n },\n },\n});\nconst useStyles = styles_1.makeStyles((theme) => ({\n editorContainer: {\n flex: 1,\n position: 'relative',\n },\n overlay: {\n backgroundColor: 'rgba(0,0,0,0.05)',\n },\n}));\nconst RichTextViewer = (props) => {\n const { value, overlay, container, ...otherProps } = props;\n const classes = useStyles();\n return (react_1.default.createElement(Box_1.default, Object.assign({}, otherProps, { className: clsx_1.default(classes.editorContainer, overlay && classes.overlay, container && container) }),\n react_1.default.createElement(styles_1.MuiThemeProvider, { theme: exports.defaultEditorTheme },\n react_1.default.createElement(mui_rte_1.default, { defaultValue: value, controls: [], readOnly: true }))));\n};\nRichTextViewer.propTypes = {\n value: prop_types_1.default.string.isRequired,\n overlay: prop_types_1.default.bool,\n container: prop_types_1.default.string,\n};\nexports.default = RichTextViewer;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst prop_types_1 = __importDefault(require(\"prop-types\"));\nconst Box_1 = __importDefault(require(\"@material-ui/core/Box\"));\nconst CircularProgress_1 = __importDefault(require(\"@material-ui/core/CircularProgress\"));\nconst styles_1 = require(\"@material-ui/core/styles\");\nconst useStyles = styles_1.makeStyles(() => ({\n container: {\n flex: 1,\n position: 'fixed',\n textAlign: 'center',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n backgroundColor: 'rgb(0,0,0,0.2)',\n zIndex: 1000,\n },\n spinner: {\n position: 'fixed',\n top: '50vh',\n },\n}));\nconst Overlay = (props) => {\n const classes = useStyles();\n const { children, loading } = props;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n children && children,\n loading && (react_1.default.createElement(Box_1.default, { className: classes.container },\n react_1.default.createElement(CircularProgress_1.default, { className: classes.spinner })))));\n};\nOverlay.defaultProps = {\n loading: false,\n};\nOverlay.propTypes = {\n loading: prop_types_1.default.bool,\n children: prop_types_1.default.any,\n};\nexports.default = Overlay;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst StaticAlert_1 = __importDefault(require(\"./StaticAlert\"));\nconst icons_1 = require(\"@material-ui/icons\");\nfunction StaticError(props) {\n const { errors = [], style = {} } = props;\n return (errors.length > 0 && (react_1.default.createElement(StaticAlert_1.default, { style: style, severity: \"error\", icon: react_1.default.createElement(icons_1.Error, null) },\n react_1.default.createElement(\"ul\", null, errors.map((e, i) => e && react_1.default.createElement(\"li\", { key: i }, e))))));\n}\nexports.default = StaticError;\n"],"sourceRoot":""}