{"version":3,"sources":["gen/clients/llts/core/ApiError.ts","gen/clients/llts/core/CancelablePromise.ts","gen/clients/llts/core/request.ts","components/AppHeader/AppHeader.module.scss","components/AppCard/AppCard.module.scss","components/AppCardContainer/AppCardContainer.module.scss","pages/PreLogin/Button/Button.module.scss","components/formikFields/DropzoneField/DropzoneField.module.scss","pages/HomePage/SubPages/IFrameViewer.module.scss","gen/clients/llts/models/CustomFieldDefinition.ts","AmplifyLogger.ts","store/userSession/types.ts","store/userSession/userSessionActions.ts","utils/LocalStorageUtils.ts","gen/clients/llts/models/CustomFieldDefinitionCategory.ts","gen/clients/llts/models/JobRequestAutoQuote.ts","gen/clients/llts/models/FileCategory.ts","gen/clients/llts/models/FilesZipStatus.ts","gen/clients/llts/models/FohQuoteType.ts","gen/clients/llts/models/JobRequestFileCategory.ts","gen/clients/llts/models/LogMessage.ts","gen/clients/llts/models/JobRequestOrigination.ts","gen/clients/llts/models/JobRequestStatus.ts","gen/clients/llts/models/JobRequestType.ts","gen/clients/llts/models/LanguageGroupScope.ts","gen/clients/llts/models/MtBillingType.ts","gen/clients/llts/models/MtLanguage.ts","gen/clients/llts/models/PaymentPreferences.ts","gen/clients/llts/models/ProjectSubmissionMode.ts","gen/clients/llts/models/ReportMetadataSummary.ts","gen/clients/llts/models/StatProjectType.ts","gen/clients/llts/models/TradeCentricCartItem.ts","gen/clients/llts/models/TradeCentricInitializeLogInResponse.ts","gen/clients/llts/models/TradeCentricPunchOutRequest.ts","gen/clients/llts/models/TradeCentricReturnCart.ts","gen/clients/llts/models/UserGroup.ts","gen/clients/llts/models/Xl8SubtitleType.ts","gen/clients/llts/services/ClientConfigsService.ts","gen/clients/llts/services/JobRequestsService.ts","gen/clients/llts/services/MachineTranslationService.ts","gen/clients/llts/services/OrganizationAdminService.ts","gen/clients/llts/services/ProjectsService.ts","gen/clients/llts/services/QuotesService.ts","gen/clients/llts/services/ReportsService.ts","gen/clients/llts/services/StatisticsService.ts","gen/clients/llts/services/TradeCentricService.ts","gen/clients/llts/services/UserAccountsService.ts","gen/clients/llts/services/UtilsService.ts","utils/constants.ts","AuthEventListener.ts","store/userSession/userSessionReducers.ts","config/logging.ts","config/config.ts","hooks/useDialogState/useDialogState.tsx","hooks/useUserSession.ts","hooks/useUserSessionOverride.ts","components/LoadingButton/LoadingButton.tsx","components/formikFields/TextInputField/TextInputField.tsx","components/ApiErrorMessage/ApiErrorMessage.tsx","components/AppHeader/components/UserMenu/ImpersonateUserDialog.tsx","components/DrawerHeader/DrawerHeader.tsx","components/LoadingPage/LoadingPage.tsx","components/DrawerBody/DrawerBody.tsx","components/ErrorPage/ErrorPage.tsx","components/DataTable/DataTable.tsx","components/formikFields/SelectManyAutocompleteField/ListBoxComponent.tsx","components/formikFields/SelectManyAutocompleteField/SelectManyAutocompleteField.tsx","components/DialogBody/DialogBody.tsx","utils/stringUtils.ts","components/AppHeader/components/UserMenu/AccountSettingsPanel/LanguageGroupsTab/AddLanguageGroupDialog.tsx","components/AppHeader/components/UserMenu/AccountSettingsPanel/LanguageGroupsTab/EditLanguageGroupDialog.tsx","components/ConfirmationDialog/ConfirmationDialog.tsx","components/AppHeader/components/UserMenu/AccountSettingsPanel/LanguageGroupsTab/LanguageGroupsTable.tsx","components/AppHeader/components/UserMenu/AccountSettingsPanel/LanguageGroupsTab/LanguageGroupsTab.tsx","components/LabelValue/LabelValue.tsx","hooks/usePasswordValidator/usePasswordValidator.ts","components/AppHeader/components/UserMenu/ChangePasswordDialog.tsx","components/SnackbarAlert/SnackbarAlert.tsx","components/AppHeader/components/UserMenu/AccountSettingsPanel/ProfileTab/MfaSettingsDialog/SetupTotp.tsx","components/AppHeader/components/UserMenu/AccountSettingsPanel/ProfileTab/MfaSettingsDialog/MfaSettingsDialog.tsx","utils/AuthUtils.ts","components/AppHeader/components/UserMenu/AccountSettingsPanel/ProfileTab/ProfileTab.tsx","components/AppHeader/components/UserMenu/AccountSettingsPanel/OrganizationUsersTab/DisableMfaDialog.tsx","components/AppHeader/components/UserMenu/AccountSettingsPanel/OrganizationUsersTab/DisableAccountDialog.tsx","components/AppHeader/components/UserMenu/AccountSettingsPanel/OrganizationUsersTab/EnableAccountDialog.tsx","components/AppHeader/components/UserMenu/AccountSettingsPanel/OrganizationUsersTab/OrganizationUsersTab.tsx","components/AppHeader/components/UserMenu/AccountSettingsPanel/AccountSettingsPanel.tsx","components/AppHeader/components/UserMenu/UserMenu.tsx","components/SessionExpirationManager/SessionExpirationManager.tsx","components/AppHeader/AppHeader.tsx","components/Breadcrumb/index.tsx","components/Breadcrumb/HomeCrumb.tsx","pages/Dashboard/resources.ts","pages/Dashboard/components/HeaderRow/HeaderRow.tsx","pages/Dashboard/ProjectManagerDetailsPage.tsx","pages/Dashboard/DetailsPage.tsx","utils.ts","pages/Dashboard/QaSpecialistDetailsPage.tsx","pages/Dashboard/FohDetailsPage.tsx","utils/dateUtils.ts","pages/AutoQuotePage/components/TermsAndConditionsDialog/TermsAndConditionsDialog.tsx","components/SnackbarApiError/SnackbarApiError.tsx","pages/AutoQuotePage/components/RejectAutoQuoteDialog/RejectAutoQuoteDialog.tsx","pages/AutoQuotePage/components/AutoQuoteAcceptanceUpdated/AutoQuoteAcceptanceUpdated.tsx","components/formikFields/CheckboxField/CheckboxField.tsx","utils/numberUtils.ts","pages/AutoQuotePage/components/AutoQuoteAcceptanceExpired/AutoQuoteAcceptanceExpired.tsx","components/formikFields/RadioGroupField/RadioGroupField.tsx","components/formikFields/SelectOneField/SelectOneField.tsx","hooks/useCountryOptions/useCountryOptions.ts","hooks/useProvinceOptions/useProvinceOptions.ts","pages/CreateProjectPage/components/PaymentSection/PaymentSection.tsx","pages/AutoQuotePage/components/PaymentDialog/PaymentDialog.tsx","pages/AutoQuotePage/AutoQuotePage.tsx","components/AppCard/AppCard.tsx","config/urls.ts","components/AppCardContainer/AppCardContainer.tsx","pages/AppCardPage/AppCardPage.tsx","pages/PreLogin/Button/index.tsx","pages/PreLogin/PreLogin.tsx","pages/HomePage/SubPages/ClientSelector.tsx","pages/HomePage/HomePage.tsx","pages/Dashboard/DashBoardComponent.tsx","pages/Dashboard/components/DashboardAccordion/DashboardAccordion.tsx","pages/Dashboard/DashboardPage.tsx","pages/HomePage/SubPages/ServiceInfoPage.tsx","config/utilities.ts","pages/SignUpPage/components/UserInfoInput/UserInfoInput.tsx","pages/SignUpPage/components/CompanySelection/CompanySelection.tsx","components/formikFields/formikUtils.ts","components/formikFields/AutocompleteField/AutocompleteField.tsx","components/formikFields/DatePickerField/DatePickerField.tsx","components/formikFields/PipeSeparatedSelectManyField/PipeSeparatedSelectManyField.tsx","components/formikFields/PersonInfoInputField/PersonInfoInputField.tsx","components/formikFields/CustomField/CustomField.tsx","components/formikFields/CustomField/CustomFieldUtils.ts","pages/SignUpPage/components/CustomFieldValuesInput/CustomFieldValuesInput.tsx","pages/SignUpPage/components/AccountCreated/AccountCreated.tsx","pages/SignUpPage/components/SignUpError/SignUpError.tsx","components/formikFields/FormFieldObserver/FormFieldObserver.tsx","pages/SignUpPage/components/UserAddressInput/UserAddressInput.tsx","pages/SignUpPage/SignUpPage.tsx","components/EmailVerificationDialog/EmailVerificationDialog.tsx","utils/S3FileUploader.ts","components/ScrollToFieldError/ScrollToFieldError.tsx","components/LinearProgressWithLabel/LinearProgressWithLabel.tsx","pages/CreateProjectPage/components/UserContactSection/UserContactSection.tsx","components/formikFields/SelectOneAutocompleteField/SelectOneAutocompleteField.tsx","components/ButtonWithOptions/StyledMenu.tsx","components/ButtonWithOptions/ButtonWithOptions.tsx","utils/arrayUtils.ts","pages/CreateProjectPage/components/ProjectInfoSection/ProjectInfoSection.tsx","components/formikFields/DropzoneField/DropzoneField.tsx","pages/CreateProjectPage/components/FileLinksField/AddFileLinkDialog.tsx","pages/CreateProjectPage/components/FileLinksField/FileLinksField.tsx","pages/CreateProjectPage/components/FilesSection/FilesSection.tsx","components/AlertDialog/AlertDialog.tsx","pages/CreateProjectPage/components/CreateProjectForm/CreateProjectForm.tsx","utils/LuckyOrangeUtils.ts","pages/CreateProjectPage/hooks/useCreateProject.ts","components/Hero/Hero.tsx","pages/CreateProjectPage/components/FormHeader/FormHeader.tsx","pages/CreateProjectPage/components/RequestSubmitted/RequestSubmitted.tsx","pages/CreateProjectPage/components/CreateProjectForm/CreateProjectFormValidator.ts","utils/projectUtils.ts","pages/CreateProjectPage/components/UnknownUserCreateProjectForm/UnknownUserCreateProjectForm.tsx","pages/CreateProjectPage/CreateProjectFromExternalLinkPage/CreateProjectFromExternalLinkPage.tsx","pages/CreateProjectPage/SignedInUserPage/components/OrganizationSelector.tsx","pages/CreateProjectPage/SignedInUserPage/components/SignedInUserForm.tsx","pages/CreateProjectPage/SignedInUserPage/SignedInUserPage.tsx","pages/CreateProjectPage/UnsignedInUserPage/components/InitialEntryForm/InitialEntryForm.tsx","pages/CreateProjectPage/UnsignedInUserPage/components/ProjectEntryForm/ProjectEntryForm.tsx","pages/CreateJobRequestPage/components/CreateJobRequestForm/CreateJobRequestForm.tsx","hooks/useS3FileUpload/useS3FileUpload.ts","utils/s3Utils.ts","pages/CreateJobRequestPage/hooks/useSubmitJobRequest.ts","pages/CreateJobRequestPage/UnknownUserCreateJobRequestPage/UnknownUserCreateJobRequestPage.tsx","pages/CreateProjectPage/UnsignedInUserPage/UnsignedInUserPage.tsx","pages/CreateProjectPage/CreateProjectPage.tsx","pages/HomePage/SubPages/AppPlaceholder.tsx","pages/EmailConfirmationPage/EmailConfirmationPage.tsx","pages/HomePage/SubPages/IFrameViewer.tsx","pages/ChangePasswordPage/ChangePasswordPage.tsx","components/Breadcrumbs/Breadcrumbs.tsx","pages/ReportsPage/ReportsPage.tsx","pages/ReportsPage/ReportDetailsPage/ExportReportData/ExportTypes.tsx","pages/ReportsPage/ReportDetailsPage/ExportReportData/CSVExporter.tsx","pages/ReportsPage/ReportDetailsPage/ExportReportData/JSONExporter.tsx","pages/ReportsPage/ReportDetailsPage/ExportReportData/ExportReportData.tsx","pages/ReportsPage/ReportDetailsPage/ExportReportData/DataExporter.tsx","pages/ReportsPage/ReportDetailsPage/ReportDetailsPage.tsx","components/CopyToClipboardButton/CopyToClipboardButton.tsx","pages/MachineTranslationPage/TextTranslationTab/TextTranslationTab.tsx","components/TokenBasedPaginator/TokenBasedPaginator.tsx","utils/jobRequestUtils.ts","pages/MachineTranslationPage/utils/MtRequestUtils.tsx","components/jobRequests/JobRequestFilter/JobRequestState.tsx","components/jobRequests/RenameJobRequestDialog/RenameJobRequestDialog.tsx","components/jobRequests/JobRequestFilter/JobRequestFilter.tsx","components/jobRequests/ArchiveJobRequestDialog/ArchiveJobRequestDialog.tsx","components/jobRequests/JobRequestList/JobRequestList.tsx","pages/MachineTranslationPage/FileTranslationTab/FileTranslationMainPage/FileTranslationMainPage.tsx","components/SelectInput/SelectInput.tsx","components/InfoIcon/InfoIcon.tsx","components/jobRequests/DownloadTranslatedFilesDialog/DownloadTranslatedFilesDialog.tsx","components/DrawerActions/DrawerActions.tsx","pages/MachineTranslationPage/components/MtJobRequestDetailsPage/RequestHumanTranslationPanel/RequestHumanTranslationPanelForm.tsx","pages/MachineTranslationPage/components/MtJobRequestDetailsPage/RequestHumanTranslationPanel/RequestHumanTranslationPanel.tsx","components/InlineEditableTextField/InlineEditableTextField.tsx","pages/MachineTranslationPage/components/MtJobRequestDetailsPage/components/JobRequestNameEditable.tsx","components/jobRequests/JobRequestFileList/JobRequestFileList.tsx","pages/MachineTranslationPage/components/MtJobRequestDetailsPage/MtJobRequestDetailsPage.tsx","pages/MachineTranslationPage/FileTranslationTab/FileTranslationTab.tsx","pages/MachineTranslationPage/MediaTranslationTab/CreateMediaTranslationPanel/CreateMediaTranlsationForm/CreateMediaTranslationForm.tsx","pages/MachineTranslationPage/MediaTranslationTab/CreateMediaTranslationPanel/CreateMediaTranslationPanel.tsx","hooks/useS3FileUpload/useS3FileUpload2.ts","pages/MachineTranslationPage/MediaTranslationTab/MediaTranslationTab.tsx","pages/MachineTranslationPage/MachineTranslationPage.tsx","components/RestrictedPage/RestrictedPage.tsx","pages/coupa/CoupaStarterPage.tsx","pages/CreateJobRequestPage/AuthenticatedCreateJobRequestPage/AuthenticatedCreateJobRequestPage.tsx","pages/coupa/CreateCoupaQuotePage/CreateCoupaQuotePage.tsx","pages/coupa/CoupaErrorPage/CoupaErrorPage.tsx","components/jobRequests/JobRequestState/JobRequestState.tsx","pages/coupa/CoupaRequestsPage/CoupaRequestsPage.tsx","pages/coupa/CoupaRequestsPage/JobRequestDetailsPage/SourceDocumentsTab/SourceFilesTab.tsx","pages/coupa/CoupaRequestsPage/JobRequestDetailsPage/QuoteTab/RejectQuoteDialog/RejectQuoteDialog.tsx","pages/coupa/CoupaRequestsPage/JobRequestDetailsPage/QuoteTab/QuoteTab.tsx","pages/coupa/CoupaRequestsPage/JobRequestDetailsPage/DelivrablesTab/DeliverablesTab.tsx","pages/coupa/CoupaRequestsPage/JobRequestDetailsPage/JobRequestDetailsPage.tsx","components/Routes.tsx","components/Footer/Footer.tsx","components/LuckyOrangeUserIdentifier/LuckyOrangeUserIdentifier.tsx","components/app/App.tsx","store/store.ts","components/app/muiTheme.ts","i18n.ts","GlobalErrorHandler.ts","index.tsx","gen/clients/llts/core/OpenAPI.ts"],"names":["ApiError","_Error","_inherits","_super","_createSuper","response","message","_this","_classCallCheck","call","url","status","statusText","body","name","_createClass","_wrapNativeSuper","Error","_isPending","_classPrivateFieldLooseKey","_isCancelled","_cancelHandlers","_promise","_resolve","_reject","_Symbol$toStringTag","Symbol","toStringTag","CancelablePromise","executor","_this2","Object","defineProperty","writable","value","_classPrivateFieldLooseBase","this","Promise","resolve","reject","onCancel","cancelHandler","push","get","_classPrivateFieldLoo","_classPrivateFieldLoo2","reason","_classPrivateFieldLoo3","_classPrivateFieldLoo4","key","onFulfilled","onRejected","then","catch","onFinally","finally","length","_step","_iterator","_createForOfIteratorHelper","s","n","done","err","e","f","error","_classPrivateFieldLoo5","_classPrivateFieldLoo6","isDefined","undefined","isString","isStringWithValue","isBlob","Blob","base64","str","btoa","Buffer","from","toString","getUrl","options","path","OpenAPI","ENCODE_PATH","concat","BASE","query","params","qs","append","encodeURIComponent","String","entries","filter","_ref","_ref2","_slicedToArray","forEach","_ref3","_ref4","Array","isArray","v","join","getQueryString","getFormData","formData","FormData","JSON","stringify","_ref5","_ref6","_ref7","_ref8","_x","_x2","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","resolver","wrap","_context2","prev","next","abrupt","stop","getHeaders","_x3","_getHeaders","_callee3","token","username","password","additionalHeaders","defaultHeaders","headers","credentials","_context3","TOKEN","sent","USERNAME","PASSWORD","HEADERS","_objectSpread","Accept","_ref10","_ref11","reduce","_ref12","_ref13","_defineProperty","Headers","mediaType","type","getRequestBody","_options$mediaType","includes","sendRequest","_x4","_x5","_x6","_x7","_x8","_x9","_sendRequest","_callee4","controller","request","_context4","AbortController","method","signal","WITH_CREDENTIALS","CREDENTIALS","abort","fetch","getResponseHeader","responseHeader","content","getResponseBody","_x10","_getResponseBody","_callee5","contentType","_context5","toLowerCase","startsWith","json","text","t0","console","catchErrors","result","errors","ok","_ref9","_callee","responseBody","_context","isCancelled","_x11","_x12","_x13","module","exports","CustomFieldDefinition","amplifyLogger","Logger","UserSessionActionType","signIn","email","roles","isFederatedSsoAccount","firstName","lastName","externalGroups","SIGN_IN","LAST_SESSION_TIMESTAMP_KEY","LocalStorageUtils","date","dateStr","toISOString","localStorage","setItem","removeItem","getItem","Date","_CustomFieldDefinition","JobRequestAutoQuote","CustomFieldDefinitionCategory","FileCategory","FilesZipStatus","FohQuoteType","_JobRequestAutoQuote","acceptanceStatus","LogMessage","JobRequestFileCategory","JobRequestOrigination","JobRequestStatus","JobRequestType","LanguageGroupScope","_LogMessage","level","MtLanguage","PaymentPreferences","_MtLanguage","direction","_PaymentPreferences","paymentType","ReportMetadataSummary","ProjectSubmissionMode","_ReportMetadataSummary","TradeCentricCartItem","TradeCentricInitializeLogInResponse","TradeCentricPunchOutRequest","TradeCentricReturnCart","StatProjectType","_TradeCentricCartItem","is_catchweight","_TradeCentricInitializeLogInResponse","action","_TradeCentricPunchOutRequest","operation","mode","_TradeCentricReturnCart","edit_mode","UserGroup","Xl8SubtitleType","ClientConfigsService","emailDomain","contactEmail","__request","clientId","category","JobRequestsService","origination","pageToken","pageSize","requestBody","jobRequestId","fileKey","inline","zipFileName","_ref14","_ref15","MachineTranslationService","OrganizationAdminService","clientContactId","includeMfaStatus","ProjectsService","projectId","QuotesService","quoteId","ReportsService","reportId","page","limit","filters","StatisticsService","projectType","quoteType","id","TradeCentricService","UserAccountsService","groupScope","UtilsService","xtrfIdExists","intentoIdExists","smartMateIdExists","azureIdExists","xl8FileTranslationIdExists","xl8SyncIdExists","xl8DubbingIdExists","sourceLanguageId","DEFAULT_COUNTRY_CODE","SUPPORTED_APPS","USER_SESSION_OVERRIDE_SESSION_STORAGE_KEY","COUPA_REQUEST_ID_SESSION_STORAGE_KEY","AuthEventListener","_init","store","listener","user","userGroups","data","payload","event","info","getUsername","getEmail","getUserGroups","getFirstName","getLastName","getExternalGroups","dispatch","storeSessionTimestamp","window","sessionStorage","location","href","stateData","customOAuthState","parse","initialPagePath","SET_INITIAL_PAGE_PATH","Hub","listen","Auth","currentAuthenticatedUser","signInUserSession","getSignInUserSession","_decodedIdToken$ident","decodedIdToken","getIdToken","decodePayload","identities","CLIENT_EMPLOYEE","externalGroupsStr","split","map","group","trim","_decodedIdToken$ident2","given_name","log","family_name","initialState","userSessionReducer","state","SIGN_OUT","DEFAULT_NAMESPACE","defaults","namespace","getDate","logging","warn","useDialogState","_React$useState","React","_React$useState2","isOpen","setIsOpen","useUserSession","useSelector","userSession","useUserSessionOverride","_useSessionStorage","useSessionStorage","_useSessionStorage2","userSessionOverride","setUserSessionOverride","clearUserSessionOverride","useCallback","LoadingButton","isLoading","_ref$variant","variant","_ref$color","color","_ref$type","children","other","_objectWithoutProperties","_excluded","_jsx","MuiLoadingButton","loading","loadingPosition","startIcon","sx","px","TextInputField","label","placeholder","required","disabled","helperText","multiline","rows","maxRows","validationRegex","validationMessage","maxLength","autoComplete","t","useTranslation","validate","match","RegExp","Field","component","TextField","fullWidth","inputProps","parseApiErrorMessage","apiError","unexpectedErrorMessage","_apiError$body","_apiError$body2","_apiError$body3","_apiError$body4","_apiError$body5","errorCode","ApiErrorMessage","Box","ImpersonateUserDialog","onClose","onSuccess","useDispatch","_useUserSessionOverri","_useUserSessionOverri2","_useQuery","useQuery","enabled","queryFn","getUserAccount","cacheTime","overrideUserAccount","onDialogClose","onSubmit","values","usernameOverride","loginName","_jsxs","Dialog","open","maxWidth","DialogTitle","Formik","initialValues","Form","noValidate","DialogContent","Stack","spacing","DialogActions","Button","onClick","DrawerHeader","title","Toolbar","Typography","flexGrow","IconButton","size","CloseIcon","LoadingPage","CssBaseline","Container","display","justifyContent","mt","CircularProgress","DrawerBody","py","ErrorPage","margin","DataTable","columns","rowKey","rowActions","onRowClick","dense","_ref$noData","noData","onSelectRows","elevation","selectedRow","setSelectedRow","_React$useState3","_React$useState4","selectedRowIndex","setSelectedRowIndex","_React$useState5","_React$useState6","rowActionMenuAnchorEl","setRowActionMenuAnchorEl","_React$useState7","_React$useState8","checkedRows","setCheckedRows","onTableRowClick","row","index","onRowActionMenuClick","rowIndex","currentTarget","stopPropagation","closeRowActionMenu","onRowActionClick","rowAction","onSelectAllClick","selectedRows","target","checked","onChangeRowCheck","_toConsumableArray","r","_Fragment","TableContainer","Paper","Table","TableHead","TableRow","TableCell","Checkbox","indeterminate","onChange","column","TableBody","colSpan","height","hover","cursor","cell","align","MoreVertIcon","Menu","anchorEl","PaperProps","style","minWidth","Divider","MenuItem","renderRow","props","dataSet","inlineStyle","top","hasOwnProperty","ListSubheader","noWrap","marginRight","selected","OuterElementContext","OuterElementType","ref","outerProps","ListboxComponent","itemData","item","theme","useTheme","smUp","useMediaQuery","breakpoints","up","noSsr","itemCount","itemSize","getChildSize","child","gridRef","current","resetAfterIndex","useResetCache","Provider","VariableSizeList","a","b","width","outerElementType","innerElementType","overscanCount","StyledPopper","styled","Popper","autocompleteClasses","listbox","boxSizing","padding","filterOptions","createFilterOptions","matchFrom","SelectManyAutocompleteField","isError","others","_useFormikContext","useFormikContext","touched","isSubmitting","isOptionEqualToValue","option","renderInput","FormControl","Autocomplete","disableListWrap","PopperComponent","renderOption","multiple","disableCloseOnSelect","DialogBody","minHeight","validateEmailFormat","sanitizeFileName","fileName","replace","slice","SELECT_OPTION_COMPARATOR","o1","o2","localeCompare","containsHTML","input","test","FieldName","AddLanguageGroupDialog","languageGroups","languageGroupScope","listLltsLanguages","languages","areLanguagesLoading","languagesError","_useMutation","useMutation","storeLanguageGroups","mutateAsync","saveError","selectedLltsLanguages","newLanguageGroup","l","find","lang","scope","languageOptions","sort","autoCorrect","EditLanguageGroupDialog","_languageGroup$langua","languageGroupIndex","languageGroup","editedLanguageGroup","newLanguageGroups","ConfirmationDialog","onConfirm","_ref$isLoading","onConfirmClick","LanguageGroupsTable","viewOnly","selectedLanguageGroup","setSelectedLanguageGroup","selectedLanguageGroupIndex","setSelectedLanguageGroupIndex","_useDialogState","_useDialogState2","isAddDialogOpen","openAddDialog","closeAddDialog","_useDialogState3","_useDialogState4","isEditDialogOpen","openEditDialog","closeEditDialog","_useDialogState5","_useDialogState6","isDeleteDialogOpen","openDeleteDialog","closeDeleteDialog","mutate","isStoringLanguageGroups","storeLanguageGroupsError","nameCell","languagesCell","_row$languages","onEditClick","onDeleteClick","onDeleteConfirm","_","i","onAddLanguageGroupSuccess","groupName","LanguageGroupsTab","_useUserSession","listLanguageGroups","isFetching","refetch","organizationLanguageGroups","ORGANIZATION","personalLanguageGroups","PERSONAL","Card","CardContent","mb","CLIENT","LabelValue","_ref$verticalAlignmen","verticalAlignment","alignItems","flexWrap","palette","grey","fontWeight","usePasswordValidator","validatePassword","minLength","ChangePasswordDialog","errorMessage","setErrorMessage","oldPassword","passwordError","newPassword","repeatNewPassword","changePassword","red","textAlign","SnackbarAlert","_ref$severity","severity","_ref$horizontal","horizontal","_ref$vertical","vertical","_ref$autoHideDuration","autoHideDuration","close","Snackbar","anchorOrigin","disableWindowBlurListener","ClickAwayListenerProps","onClickAway","Alert","SetupTotp","totpSecret","authCode","setAuthCode","mutationFn","_mutationFn","code","verifyTotpToken","setPreferredMFA","isVerifyTotpTokenLoading","verifyTotpTokenError","submitAuthCode","QRCodeCanvas","MfaScreen","MfaSettingsDialog","SUMMARY","mfaScreen","setMfaScreen","isDisableTotpDialogOpen","openDisableTotpDialog","closeDisableTotpDialog","_queryFn","preferredMfa","getPreferredMFA","userAndMfa","refetchUser","isUserAndMfaLoading","userAndMfaError","setupTOTP","setupTotp","isSetupTotpLoading","setupTotpError","_useMutation2","mfaMethod","isSetPreferredMFALoading","setPreferredMFAError","isTotpEnabled","Switch","TOTP_SETUP","AuthUtils","_refreshSessionPromise","refreshToken","refreshSession","_refreshCurrentSession","session","currentSession","refreshSessionPromise","getRefreshToken","ProfileTab","_userAccount$clientCo","userAccount","isChangePasswordOpen","openChangePassword","closeChangePassword","isSuccessPasswordChangeOpen","openSuccessPasswordChange","closeSuccessPasswordChange","isMfaSettingsOpen","openMfaSettings","closeMfaSettings","isMfaEnabled","onChangePasswordSuccess","onCloseMfaSettings","refreshCurrentSession","onChangePasswordClick","clientConfig","DisableMfaDialog","disableMfa","onDisableMfaClick","DisableAccountDialog","disableAccount","onDisableAccountClick","EnableAccountDialog","enableAccount","onEnableAccountClick","OrganizationUsersTab","rowsPerPage","setRowsPerPage","currentPage","setCurrentPage","searchInputBaseValue","setSearchInputBaseValue","userFilter","setUserFilter","_React$useState9","_React$useState10","selectedUserIndex","setSelectedUserIndex","isDisableMfaDialogOpen","openDisableMfaDialog","closeDisableMfaDialog","isDisableAccountDialogOpen","openDisableAccountDialog","closeDisableAccountDialog","isEnableAccountDialogOpen","openEnableAccountDialog","closeEnableAccountDialog","listOrganizationClientContacts","filteredData","items","contact","_contact$email","_contact$firstName","_contact$lastName","pageData","identitySettingsResults","useQueries","clientContactSummary","queryKey","getIdentitySettings","retry","retryOnMount","accountStatusCell","findIndex","c","_identitySettingsResu","identitySettings","Skeleton","animation","isAccountEnabled","mfaEnabledCell","_identitySettingsResu2","onPageChange","newPage","onRowsPerPageChange","_identitySettingsResu3","actions","selectedUser","selectedIdentitySettings","_identitySettingsResu4","onUserIdentityChangeSuccess","selectedUserIdentitySettingsResult","p","my","InputBase","ml","flex","SearchIcon","TablePagination","count","showFirstButton","showLastButton","rowsPerPageOptions","TabId","AccountSettingsPanel","isSmallScreen","down","profile","selectedTab","setSelectedTab","isUserAccountLoading","userAccountError","Drawer","anchor","borderBottom","borderColor","Tabs","newValue","Tab","isOrgManagementEnabled","organizationUsers","UserMenu","history","useHistory","useState","userMenuAnchor","setUserMenuAnchor","isAccountSettingsOpen","openAccountSettings","closeAccountSettings","isLogInAsOpen","openLogInAs","closeLogInAs","useEffect","onUserMenuButtonClick","closeUserMenu","signOut","isUserOverrideAllowed","useMemo","ADMIN","onTurnOffLogInAsClick","onAccountSettingsClick","onImpersonateUserClick","Avatar","disableElevation","endIcon","KeyboardArrowDownIcon","textTransform","transformOrigin","SESSION_TIMEOUT_MS","logoutUser","SessionExpirationManager","_useState","_useState2","isActive","setIsActive","_useState3","_useState4","openDialog","setOpenDialog","sessionTimeoutId","setSessionTimeoutId","confirmationTimeoutId","setConfirmationTimeoutId","lastSessionTimestamp","readSessionTimestamp","now","getTime","clearTimeout","resetSessionTimeout","timeoutId","setTimeout","prevSessionTimeoutId","clearConfirmationTimeout","onActivity","addEventListener","removeEventListener","InfoOutlinedIcon","fontSize","DialogContentText","AppHeader","federatedSignIn","provider","CognitoHostedUIIdentityProvider","Cognito","onSignUpClick","className","styles","headerDiv","logo","src","alt","loginService","StyledBreadcrumb","Chip","backgroundColor","primary","typography","fontWeightRegular","emphasize","boxShadow","shadows","BreadCrumb","crumbText","crumbIcon","click","Breadcrumbs","icon","HomeCrumb","HomeIcon","INHOUSE_ROLES","CLIENT_MANAGER","DESKTOP_PUBLISHER","ENGINEER","PROJECT_COORDINATOR","QA","QUOTER","POWER_USER","HeaderRow","resourceKey","tableHeadList","langFunc","head","getTableHeads","ProjectManagerDetailsPage","useParams","getStatisticsById","projectManagerStats","marginBottom","pt","Grid","container","CardHeader","_row$projectDeadline","border","process","rel","internalProjectId","projectDeadline","projectName","client","totalAgreed","rateType","toLocaleUpperCase","projectGroupName","projectGroupId","DetailsPage","pageId","isPastDue","getPastDueStatisticsById","getDueTodayStatisticsById","theStats","pastDue","formatIso","dayTime","dayjs","format","QaSpecialistDetailsPage","getQaSpecialistStatisticsById","qaSpecialistStats","projectNumber","assignedTo","jobAssignmentId","projectJobId","jobStartDate","projectManager","jobStatus","qaType","extend","duration","FohDetailsPage","reportType","isCompletedReport","isUnassignedReport","getProjectCoordinatorCurrentUnassignedStatistics","getProjectCoordinatorCompletedStatisticsById","getProjectCoordinatorCurrentStatisticsById","theQuoteStats","startDate","diff","asHours","DATE_FORMAT","formatDate","TermsAndConditionsDialog","dividers","paragraph","gutterBottom","marginTop","SnackbarApiError","RejectAutoQuoteDialog","rejectionReason","setRejectionReason","rejectAutoQuote","AutoQuoteAcceptanceUpdated","ACCEPTED","AlertTitle","REJECTED","RouterLink","to","CheckboxField","CheckboxWithLabel","FormHelperText","formatPrice","price","Intl","NumberFormat","currency","minimumFractionDigits","maximumFractionDigits","AutoQuoteAcceptanceExpired","RadioGroupField","FormLabel","RadioGroup","FormControlLabel","control","Radio","SelectOneField","_ref$size","select","useCountryOptions","listCountries","countries","isCountriesLoading","countriesError","countryOptions","l1","l2","useProvinceOptions","countryId","listProvinces","provinces","isProvincesLoading","provincesError","provinceOptions","PaymentField","paymentOptions","CREDIT_CARD","BILL_TO_ACCOUNT","PaymentSection","setFieldValue","_useCountryOptions","country","_useProvinceOptions","contactProvince","stateName","contactCountry","countryName","paymentOption","pb","titleTypographyProps","xs","address1","address2","sm","city","zip","clientIdNumber","personalCode","INVOICE_DIRECTLY","phone","PaymentDialog","acceptAutoQuote","paymentPreferences","billingContact","province","zipCode","billingAccount","phoneNumber","validateOnBlur","validateOnMount","sameAddressAsContact","mx","FieldNames","AutoQuotePage","_summary$sourceLangua","_summary$targetLangua","setAcceptanceStatus","isTermsDialogOpen","openTermsDialog","closeTermsDialog","isRejectDialogOpen","openRejectDialog","closeRejectDialog","isPaymentDialogOpen","openPaymentDialog","closePaymentDialog","getAutoQuote","summary","summaryError","requestAutoQuote","autoQuote","autoQuoteStatus","allowClientReview","QUOTE_READY_FOR_CLIENT_REVIEW","acceptanceDeadlineExpired","QUOTE_EXPIRED","acceptanceDeadline","translationPairs","sourceLanguage","targetLanguages","pairs","source","agreementChk","formikHelpers","setSubmitting","pagesPerLanguage","totalPages","creationDate","_summary$targetLangua2","_summary$targetLangua3","whiteSpace","pair","Accordion","AccordionSummary","expandIcon","ExpandMoreIcon","pricePerPage","AccordionDetails","pageCount","Label","componentsProps","mr","Link","AppCard","rootResource","isMouseOver","setMouseOver","imgAlt","theImage","cardFocusStyle","tool","onMouseOver","onMouseOut","maxHeight","dangerouslySetInnerHTML","__html","fontStyle","LLS_HOME_URL","AppCardContainer","appCardNames","resp","xtrfClientPortalAuthData","authUrl","appCards","toolsWrapper","AppCardPage","_props$name","paddingBottom","_props$backgroundColo","_props$hoverBackgroun","hoverBackgroundColor","buttonWrapper","buttonStateObject","outline","textDecoration","getButtonState","onFocus","onBlur","PreLogin","loginButtonSpan","document","getElementById","setAttribute","testClick","requestSubject","loginButton","hidden","toggleHeaderLogin","ClientSelector","substring","indexOf","listClientConfigs","clientConfigs","areClientConfigsLoading","clientConfigsError","assignClient","assignClientError","organizationOptions","companyName","formValues","organization","CLIENT_ROLES","HomePage","_useUserSession$roles","isUserAccountFetching","refetchUserAccount","isInHouseRole","isInHouse","cardItems","applications","theNames","appName","DashboardTableType","DashBoardComponent","link","_props$tableType","tableType","STAT","renderTableData","_row$projectCoordinat","projectCoordinatorId","projectCoordinator","needsReassignment","TAT","projectManagerId","standard","rush","totals","FOH","quotes","FOHPENDING","quoteReviewStatus","projectCount","qaSpecialist","contactPersonId","assignedJobs","DashboardAccordion","panel","_props$dashboardComps","dashboardComps","onChangeListener","expansionState","MUIAccordion","isExpanded","expanded","handleExpansionState","TransitionProps","unmountOnExit","comp","DashboardPage","_sessionStorage$getIt","accordionState","setAccordionState","showCollapseButton","setShowCollapseButton","_useSelector","showCollapseAllButton","openAccordions","accordion","show","panelId","x","accordionChange","prevAccordions","handleChange","getStatisticsByType","COMPREHENSION","comprehensionStats","healthStats","HEALTHCARE","insuranceStats","INSURANCE","techStats","TECHNICAL","govStats","GOVERNMENT","taiwanStats","TAIWAN","compPastDueStats","COMPREHENSIONPASTDUE","healthPastDueStats","HEALTHCAREPASTDUE","insurancePastDueStats","INSURANCEPASTDUE","technicalPastDueStats","TECHNICALPASTDUE","govPastDueStats","GOVERNMENTPASTDUE","taiwanPastDueStats","TAIWANPASTDUE","compDueTodayStats","COMPREHENSIONDUETODAY","healthDueTodayStats","HEALTHCAREDUETODAY","insuranceDueTodayStats","INSURANCEDUETODAY","technicalDueTodayStats","TECHNICALDUETODAY","govDueTodayStats","GOVERNMENTDUETODAY","taiwanDueTodayStats","TAIWANDUETODAY","tatComp","TATCOMP","tatHealth","TATHEALTH","tatInsurance","TATINSURANCE","tatTech","TATTECH","tatGov","TATGOVERMENT","tatTaiwan","TATTAIWAN","qaStats","getQaStats","fohCurrentStats","getFohCurrentStatistics","fohCompletedStats","getFohCompletedStatistics","fohPendingReviewStats","getFohPendingStatistics","fohTechnicalPastDueStats","getFohPcStatisticsByType","FOHTECHNICALPASTDUE","fohTechnicalDueTodayStats","FOHTECHNICALDUETODAY","fohComprehensionPastDueStats","FOHCOMPREHENSIONPASTDUE","fohComprehensionDueTodayStats","FOHCOMPREHENSIONDUETODAY","fohHealthPastDueStats","FOHHEALTHCAREPASTDUE","fohHealthDueTodayStats","FOHHEALTHCAREDUETODAY","fohGovernmentPastDueStats","FOHGOVERNMENTPASTDUE","fohGovernmentDueTodayStats","FOHGOVERNMENTDUETODAY","fohTaiwanPastDueStats","FOHTAIWANPASTDUE","fohTaiwanDueTodayStats","FOHTAIWANDUETODAY","fohUnassignedPastDueStats","UNASSIGNEDPASTDUE","fohUnassignedDueTodayStats","UNASSIGNEDDUETODAY","mainDashboardComps","compDashboardComps","healthDashboardComps","insuranceDashboardComps","technicalDashboardComps","governmentDashboardComps","taiwanDashboardComps","qaDashBoardComps","fohDashBoardComps","fohTechnicalDashboardComps","fohComprehensionDashboardComps","fohHealthDashboardComps","fohGovernmentDashboardComps","fohTaiwanDashboardComps","fohUnassignedDashboardComps","isLoggedIn","showDashBoards","_sessionStorage$getIt2","ServiceInfoPage","_getPageData","idName","imgKey","imgRef","titleKey","bodyKey","descriptionKey","description","getPageData","marginLeft","UserInfoInput","logoUrl","repeatPassword","flexDirection","m","bgcolor","LockOutlinedIcon","CompanySelection","onSelection","companyOptions","option1","option2","selectedClientId","company","selectedClientConfig","sanitizeFieldName","replaceAll","AutocompleteField","validationError","setValidationError","freeSolo","DatePickerField","LocalizationProvider","dateAdapter","AdapterDayjs","DatePicker","PipeSeparatedSelectManyField","render","defaultValue","SelectProps","pipedValue","renderValue","v1","v2","ListItemText","PersonInfoInputField","setFieldTouched","firstNameError","setFirstNameError","lastNameError","setLastNameError","emailError","setEmailError","parsedValue","isValid","handleInputChange","currentData","updatedData","CustomField","customFieldDefinition","fieldName","INPUT_TEXT","TEXT_AREA","LISTONLY","LIST","SELECT_MANY_LIST","DATE","CHECKBOX","PERSON_INFO","CustomFieldUtils","visible","visibleIf","CustomFieldValuesInput","customFieldDefinitions","onValuesEntry","customFieldValues","keys","mapping","fieldDefinition","isCustomFieldVisible","AccountCreated","SignUpError","FormFieldObserver","UserAddressInput","countryValue","setCountryValue","_provinceOptions$find","_countryOptions$find","o","addressLine1","addressLine2","SignUpPhase","SignUpPage","_useParams","encodedClientId","USER_INFO_INPUT","signUpPhase","setSignUpPhase","userInfo","setUserInfo","userAddress","setUserAddress","setClientConfig","setCustomFieldValues","decodedClientId","atob","decodeURIComponent","providedClientConfig","getClientConfig","_useQuery2","clientConfigsFetching","_useQuery3","getCustomFieldDefinitions","USER","customFieldDefinitionsFetching","customFieldDefinitionsError","creatUserAccount","createUserAccount","createUserAccountError","createUserAccountSuccessful","isSuccess","createUserAccountLoading","COMPANY_NOT_FOUND","config","INVALID_CLIENT_ID","signUpToken","INVALID_TOKEN","COMPANY_SELECTION","USER_ADDRESS_INPUT","CUSTOM_FIELD_VALUES_INPUT","ACCOUNT_CREATED","role","address","EmailVerificationDialog","verificationCode","setVerificationCode","validateEmailVerificationCode","emailValidationResult","isValidationInProgress","sendEmailVerificationCode","sendEmailError","onResendClick","onVerifyClick","OTPInput","numInputs","inputStyle","inputType","renderSeparator","shouldAutoFocus","S3FileUploader","_upload","files","presignedPost","onUploadProgress","promises","file","uploadFile","fields","all","_uploadFile","k","axios","post","progressEvent","delta","loaded","bytes","ScrollToFieldError","submitCount","fieldErrorNames","element","querySelector","scrollIntoView","behavior","block","LinearProgressWithLabel","LinearProgress","Math","round","UserContactSectionField","UserContactSection","userCustomFieldDefinitions","showCompanyName","disableEmail","SelectOneAutocompleteField","StyledMenu","borderRadius","secondary","alpha","main","selectedOpacity","ButtonWithOptions","onSelect","buttonProps","setAnchorEl","Boolean","handleClose","MenuListProps","disableRipple","onOptionClick","intersect","LANGUAGE_COMPARATOR","preferred","WORKFLOW_COMPARATOR","w1","w2","ProjectInfoFieldName","ProjectInfoSection","projectCustomFieldDefinitions","workflowOptions","isProjectNameVisible","hideLanguages","hideSourceLanguage","disableSourceLanguage","hideTargetLanguages","disableTargetLanguages","sourceLanguagesDisplayAll","setSourceLanguagesDisplayAll","targetLanguagesDisplayAll","setTargetLanguagesDisplayAll","selectedSourceLanguage","setSelectedSourceLanguage","selectedTargetLanguages","setSelectedTargetLanguages","listLanguages","isLanguagesLoading","getAvailableLanguages","availableLanguages","isAvailableLanguagesLoading","languageGroupOptions","lg","selectableWorkflowOptions","w","xtrfServiceId","sourceLanguageOptions","targetLanguageOptions","isSameLanguageSelected","currentTargetLanguages","onLanguageGroupSelect","languageGroupName","groupLanguageOptions","xtrfId","_languages$find","newTargetLanguages","arr","propertyName","uniqueValues","Set","has","add","removeDuplicatesByProperty","prevState","notes","DropzoneField","dropzoneText","fileUploadLimits","validateField","isInitialValidation","setIsInitialValidation","uniqueFileNames","maxTotalSize","acc","maxTotalSizeMb","DropzoneArea","updatedFiles","filesLimit","maxFileCount","maxFileSize","showFileNames","showPreviews","showFileNamesInPreview","useChipsForPreview","dropzoneClass","dropzone","dropzoneProps","showAlerts","acceptedFiles","AddFileLinkDialog","uniqueLinks","onAdd","SOURCE_DOCUMENT","FileLinksField","setFieldError","isAddFileLinkDialogOpen","openAddFileLinkDialog","closeAddFileLinkDialog","fileLinkList","updateFileLinkList","fileLinks","fileLink","urlCell","indexOfSelectedFilelink","splice","onAddFileLink","DEFAULT_FILE_UPLOAD_LIMITS","FilesSectionFieldNames","ContentInputMethod","FilesSection","_ref$fileUploadLimits","dropzoneHelperText","maxFileSizeMb","inputMethod","FILES","TEXT","FILELINKS","marginY","includeReferenceFiles","referenceFiles","textInput","AlertDialog","buttonText","SubmitType","CreateProjectForm","hideContactSection","contactSectionTitle","documentInfoTitle","projectInfoTitle","_ref$hideSubmitForEst","hideSubmitForEstimation","_ref$hideSubmitForTra","hideSubmitForTranslation","footerMessage","submissionProgress","submitForm","validateForm","onSendForEstimationClick","submitType","ESTIMATE","line","PROJECT","LOEvent","LuckyOrangeUtils","_window$LO","_window$LO$visitor","LO","visitor","identify","eventName","eventProperties","_window$LO2","_window$LO2$events","events","track","useCreateProject","_formRef$current2","_formRef$current3","_formRef$current4","_formRef$current5","_formRef$current7","formRef","uploadedBytes","setUploadedBytes","addProjectFiles","isAddProjectFilesSubmitting","addQuoteFiles","isAddQuoteFilesSubmitting","getFiles","_formRef$current","File","getReferenceFiles","_formRef$current6","bytesToUpload","oldValue","uploadProjectFiles","_uploadProjectFiles","isQuote","filesCategory","logUiMessage","INFO","details","upload","fileNames","_useMutation3","createProject","_onSuccess2","variables","_variables$requestBod","_variables$requestBod2","_variables$requestBod3","_variables$requestBod4","_response","trackEvent","PROJECT_CREATED","contactInfo","REFERENCE","ERROR","stack","isCreateProjectSubmitting","createProjectError","_useMutation4","createQuote","_onSuccess3","_variables$requestBod5","_variables$requestBod6","_variables$requestBod7","_variables$requestBod8","QUOTE_CREATED","isCreateQuoteSubmitting","createQuoteError","startCreateProject","startCreateQuote","isInProgress","Hero","overTitleContent","paddingTop","FormHeader","bannerUrl","RequestSubmitted","signUpData","isAccountCreateSuccess","accountCreateError","mailingAddress","CreateProjectFormValidator","projectFileNames","referenceFileNames","links","makeTwoDigitNumber","createProjectName","projectNamePrefix","getFullYear","getMonth","getHours","getMinutes","getSeconds","UnknownUserCreateProjectForm","_formikRef$current3","isEmailVerificationDialogOpen","openEmailVerificationDialog","closeEmailVerificationDialog","requestSubmitted","setRequestSubmitted","setSubmitType","setSignUpData","formikRef","_useCreateProject","areCustomFieldDefinitionsLoading","cfd","form","onEmailVerificationCancel","_formikRef$current","onEmailVerificationSuccess","_formikRef$current2","projectCustomFieldValues","userCustomFieldValues","customFields","targetLanguageIds","emailVerificationCode","emailValue","allowedEmailDomains","documentInputErrors","_clientConfig$createP","_clientConfig$createP2","_clientConfig$createP3","_clientConfig$createP4","_clientConfig$createP5","_clientConfig$createP6","_clientConfig$createP7","_clientConfig$createP8","_standardFieldValues","standardFieldValues","createProjectSettings","defaultLanguage","defaultLanguages","disableSelfRegistration","instructionalText","validateOnChange","innerRef","_clientConfig$createP9","_clientConfig$createP10","_clientConfig$createP11","_clientConfig$createP12","_clientConfig$createP13","_clientConfig$createP14","_clientConfig$createP15","_clientConfig$createP16","_clientConfig$createP17","_clientConfig$createP18","_clientConfig$createP19","_clientConfig$createP20","_clientConfig$createP21","_clientConfig$createP22","_clientConfig$createP23","_clientConfig$createP24","selectableWorkflows","isHidden","isDisabled","projectSubmissionMode","SUBMIT_FOR_TRANSLATION","SUBMIT_FOR_ESTIMATION_EXCEPT","submissionModeConditions","some","SUBMIT_FOR_TRANSLATION_EXCEPT","SUBMIT_FOR_ESTIMATION","projectSubmissionFooterMessage","CreateProjectFromExternalLinkPage","isClientConfigLoading","clientConfigError","createProjectToken","OrganizationSelector","SignedInUserForm","_clientConfig$createP25","_clientConfig$createP26","_clientConfig$createP27","_clientConfig$createP28","SignedInUserPage","setSelectedClientId","listLinkedClients","linkedClients","areLinkedClientsLoading","linkedClientsError","externalGroupsClientConfigs","areExternalGroupsClientConfigsLoading","externalGroupsClientConfigsError","_useQuery4","activeLinkedClients","_userAccount$clientCo2","_userAccount$clientCo3","clientName","activeExternalGroupsClientConfigs","InitialEntryForm","clientValidationMessage","setClientValidationMessage","clientConfs","activeClientConfs","Header","ProjectEntryForm","CreateJobRequestForm","disableEmailInput","useS3FileUpload","isUploading","setIsUploading","setIsSuccess","setError","totalBytesToUpload","setTotalBytesToUpload","uploadProgress","invoke","reset","createFileKey","useSubmitJobRequest","requestType","externalReferenceId","createTempFileUploadPresignedPost","createPresignedPost","createPresignedPostError","_useS3FileUpload","uploadFiles","areFilesUploaded","filesUploadError","createJobRequest","jobRequest","isCreatingJobRequest","createJobRequestError","jobRequestCreated","unauthenticatedCreateJobRequest","unauthenticatedJobRequest","isUnauthenticatedCreatingJobRequest","unauthenticatedCreateJobRequestError","unauthenticatedJobRequestCreated","contactProvinceOptions","contentInputMethod","documentFiles","_formValues$FilesSect","_formValues$FilesSect2","sourceLanguageSelectedOption","createJobRequestPayload","unauthenticatedCreateJobRequestPayload","requestorEmail","requestorFirstName","requestorLastName","contactAddress","submitJobRequest","success","progress","UnknownUserCreateJobRequestPage","allowSendToTranslation","setRequestType","_useSubmitJobRequest","submitJobRequestError","validatedverificationCode","TRANSLATION_REQUEST","QUOTE_REQUEST","UnsignedInUserPage","setEmail","onInitialEntrySuccess","providedEmail","loadedClientConfig","WEBFORM","CreateProjectPage","position","AppPlaceholder","EmailConfirmationPage","search","useLocation","queryParams","URLSearchParams","confirmEmail","IFrameViewer","fileReference","iframeContainer","ChangePasswordPage","isChangePasswordDialogOpen","closeChangePasswordDialog","isSuccessDialogOpen","openSuccessDialog","closeSuccessDialog","_signIn","onSuccessDialogClose","breadcrumbs","onBreadcrumbItemClick","MuiBreadcrumbs","breadcrumbItem","active","underline","ReportsPage","listReports","reports","reportSections","QUOTE","TASK","CLIENT_CONTACT","onViewReportClick","reportSection","List","disablePadding","report","ListItem","ListItemButton","ListItemIcon","primaryTypographyProps","ReportExportType","CSVExporter","reportData","csvData","convertToCSV","blob","filename","csvHeader","columnId","writer","csvWriter","header","alwaysQuote","getHeaderString","records","stringifyRecords","JSONExporter","jsonData","convertToJSON","ExportReportData","exportType","getReportRows","exporter","CSV","createExporter","_exporter$exportData","exportData","createElement","appendChild","URL","createObjectURL","download","onExport","SaveAltIcon","filterValuesToFiltersQueryString","_report$filters","reportFilterValues","filterId","filterValue","parseXtrfFromDateValue","commaIndex","fromValue","fromDate","ReportDetailsPage","_report$filters3","setPage","currentFilterValues","setCurrentFilterValues","prevFilterValues","setPrevFilterValues","getReport","isReportLoading","reportError","ALL_OPTION","defaultFilterValues","_report$filters2","reportRows","areReportRowsLoading","reportRowsError","refetchReportRows","selectedPage","_id","initValues","columnSpacing","md","rowSpacing","totalRows","CopyToClipboardButton","textToCopy","successMessage","isSuccessMessageOpen","openSuccessMessage","closeSuccessMessage","navigator","clipboard","writeText","AUTODETECT_LANGUAGE","TextTranslationTab","sourceTextLength","setSourceTextLength","translatedText","setTranslatedText","isInputChanged","setInputChanged","getMachineTranslationSettings","mtSettings","areMtSettingsLoading","mtSettingsError","lltsLanguages","areLltsLanguagesLoading","lltsLanguagesError","lltsLanguageById","prevValue","currentValue","_mtSettings$supported","supportedLltsLanguages","langId","_lltsLanguageById$lan","translateText","translate","translation","isTranslating","translateError","languageDetectedLabel","detectedLanguage","language","targetLanguage","sourceText","sourceLanguageCode","targetLanguageCode","onSourceTextChange","onSourceLanguageChanged","sourceTextHelper","maxCharactersPerRequest","toLocaleString","_values$FieldNames$so","order","WebkitTextFillColor","TokenBasedPaginator","onPageTokenChange","nextPageToken","currentPageDataRows","resetRef","setPageToken","prevPageTokens","setPrevPageTokens","updatedPrevPageTokens","newPageToken","pop","handleRowsPerPageChange","labelDisplayedRows","pageNumber","nextIconButtonProps","JobRequestUtils","CREATED","ANALYZING","CANCELLING","SCREENING","SUBMITTING_TO_XTRF","TRANSLATING","MtRequestStatus","mtStatusToJobRequestStatusesMap","_mtStatusToJobRequest","COMPLETED","ARCHIVED","SUBMITTING_TO_HUMAN_EXPERT","SUBMITTED_TO_HUMAN_EXPERT","SUBMITTED_TO_XTRF","FAILED","CANCELLED","PROCESSING","READY_FOR_INTERNAL_REVIEW","REJECTED_BY_SCREENING","jobRequestStatusToClientStatusMap","clientStatus","MtRequestUtils","UNKNOWN","mtStatus","_statusTranslationMap","StatusComp","inProgress","JobRequestState","_excluded2","getMtRequestStatus","getColorForStatus","RenameJobRequestDialog","oldName","renameJobRequest","newName","mtRequestStatuses","JobRequestFilter","_initialValues$status","onSearch","optionsRequestStatus","describeMtRequestStatus","statuses","flatMap","getJobRequestStatuses","onFormFieldObserverChange","el","ArchiveJobRequestDialog","archiveJobRequest","JobRequestList","cacheId","refetchRef","getDetailsPagePath","setNextPageToken","selectedJobRequest","setSelectedJobRequest","isRenameDialogOpen","openRenameDialog","closeRenameDialog","isArchiveJobRequestDialogOpen","openArchiveJobRequestDialog","closeArchiveJobRequestDialog","filterParams","setFilterParams","paginatorResetRef","_filterParams$statuse","listJobRequests","collection","refetchInterval","jrCollection","jr","refetchOnMount","refetchOnWindowFocus","preventDefault","sourceLanguageCell","_jobRequest$sourceLan","targetLanguagesCell","_jobRequest$targetLan","submittedOnCell","createTime","statusCell","newRowsPerChange","onRenameActionClick","onRenameSuccess","onArchiveActionClick","onArchiveJobRequestSuccess","onFilterSearch","searchParams","SUPPORTED_FILE_TYPES","FileTranslationMainPage","listRefetchRef","isTargetLanguageDisabled","setTargetLanguageDisabled","timestamp","setTimestamp","isCreatingPresignedPost","resetPresignedPost","areFilesUploading","resetS3FileUpload","translateFiles","submitTranslationRequest","jobRequestInfo","isSubmittingTranslationRequest","submitTranslationRequestError","translationRequestSubmitted","_formValues$FieldName","_formValues$FieldName2","requestName","_formikRef$current2$s","_formikRef$current4","_formikRef$current5","setValues","_values$FieldNames$ta","targetLanguageCodes","currentFile","onSourceLanguageChange","_formikRef$current6","submissionError","_formikRef$current7","maxFilesPerRequest","maxFileSizeMB","MT","SelectInput","selectedValue","InfoIcon","tooltip","Tooltip","placement","arrow","MuiInfoIcon","DownloadTranslatedFilesDialog","firstQuery","setFirstQuery","shouldQuery","setShouldQuery","getZipTranslatedFilesStatus","zipStatus","zipJobRequestTranslatedFiles","NOT_STARTED","handleLinkClick","IN_PROGRESS","downloadUrl","DrawerActions","RequestReason","RequestHumanTranslationPanelForm","submitToXtrf","humanTranslationReasonOptions","FORMATTING","TRANSLATION","selectedSourceLanguageOption","selectedTargetLanguageOptions","selectedTargetLanguageIds","filesToSubmit","TRANSLATED_DOCUMENT","languageId","OTHER","RequestHumanTranslationPanel","InlineEditableTextField","initialValue","onSave","editing","setEditing","mouseOver","_useState5","_useState6","setValue","inputRef","useRef","focus","handleSaveClick","_inputRef$current","blur","handleCancelClick","_inputRef$current2","handleTextClick","handleKeyDown","A100","_event$relatedTarget","relatedTarget","onKeyDown","edge","CheckIcon","CancelIcon","JobRequestNameEditable","onError","JobRequestFileList","onFileLinkClick","downloadUrlResponse","getJobRequestFileDownloadUrl","MtJobRequestDetailsPage","_jobRequest$sourceLan3","_jobRequest$targetLan3","_jobRequest$sourceLan4","_jobRequest$sourceLan5","onReturnClick","humanTranslationInfoMessage","translatedFilesHeader","otherFilesLabel","selectedTargetLanguageId","setSelectedTargetLanguageId","isRequestHumanTranslationPanelOpen","openRequestHumanTranslationPanel","closeRequestHumanTranslationPanel","isDownloadTranslatedFilesDialogOpen","openDownloadTranslatedFilesDialog","closeDownloadTranslatedFilesDialog","getJobRequest","_jobRequest$files","_jobRequest$sourceLan2","_jobRequest$targetLan2","sourceFiles","_jobRequest$files2","_jobRequest$files2$fi","f1","f2","lastIndexOf","otherFiles","_jobRequest$files3","_jobRequest$files3$fi","translatedFiles","_jobRequest$files4","_jobRequest$files4$fi","onDownloadAllClick","onRequestHumanTranslationSuccess","justifyItems","ArrowBackIosIcon","xtrfInternalId","xtrfName","overflowY","DownloadIcon","native","disableHumanEscalation","FileTranslationTab","onReturnFromDetailsClick","SUBTITLE_TYPE_OPTIONS","CreateMediaTranslationForm","_values$FieldName$sou","areXl8DubbingVoicesLoading","dubbingVoicesByTargetLanguage","onTargetLanguagesChange","onRequestDubbingChange","requestDubbing","dubbingVoiceByVoiceName","flat","voice","voiceName","subtitlesType","_dubbingVoiceByVoiceN","_dubbingVoiceByVoiceN2","voices","dubbingVoicePrefix","displayName","sampleUrl","controls","CreateMediaTranslationPanel","selectedSourceLanguageId","setSelectedSourceLanguageId","setSelectedTargetLanguageIds","isDubbingSelected","setDubbingSelected","_React$useState11","_React$useState12","setUploadProgress","_fileKeys","fileKeys","getXl8FileTranslationLanguageCombinations","xl8TransLanguageCombinations","areXl8TransLangCombinationsLoading","xl8TransLanguageCombinationsError","getXl8DubbingVoices","xl8DubbingVoices","xl8DubbingVoicesError","_React$useMemo","lltsLanguageByXl8FileTranslationId","lltsLang","xl8FileTranslationId","sourceLanguageXl8TransId","sourceLanguageOption","sourceLanguageXl8Id","xl8LangId","Map","lltsLanguage","xl8DubLangCode","xl8DubbingId","set","_initVals","initVals","SRT","_values$FieldName$tar","maxAudioFileSizeMB","maxVideoFileSizeMB","voiceLanguageLltsIds","languagesNotSupportingDubbing","targetLangOption","jobRequestFiles","isDubbingRequested","dubbingVoices","_values$FieldName$sou2","translateMediaFiles","MediaTranslationTab","isCreatePanelOpen","openCreatePanel","closeCreatePanel","onCreateSuccess","MEDIAAI","MachineTranslationTabId","MachineTranslationPage","selectedTabId","tabId","disableTextTranslation","disableFileTranslation","mediaTranslation","fileTranslation","textTranslation","Icon","TranslateIcon","iconPosition","wrapped","DescriptionIcon","disableMediaTranslation","MovieIcon","RestrictedPage","allowedRoles","requiredApplications","roleSatisfied","applicationAccessSatisfied","_userAccount$applicat","pathname","customState","CoupaStarterPage","requestId","storeRequestId","initializeLogIn","AuthenticatedCreateJobRequestPage","hideSubmitForEstimate","isPageLoading","pageError","BOTH","CreateCoupaQuotePage","COUPA","CoupaErrorPage","AbstractJobRequestState","submittingToXtrfStatus","submittedToXtrfStatus","createdStatus","QUOTE_REJECTED","QUOTE_ACCEPTED","ProjectStatus","_excluded3","QuoteStatus","_excluded4","_excluded5","CoupaRequestsPage","_useSessionStorage3","_useSessionStorage4","SourceFilesTab","_jobRequest$files$fil","sourceFileLinks","_jobRequest$fileLinks","RejectQuoteDialog","rejectQuote","QuoteTab","refetchJobRequest","quoteFile","QUOTE_CONFIRMATION_DOCUMENT","acceptQuote","redirectUrl","isAcceptQuoteSubmitting","acceptQuoteError","DeliverablesTab","selectedLanguageFiles","_targetLanguageOption","JobRequestDetailsPage","sourceDocuments","isQuoteTabVisible","quote","deliverables","Routes","Route","exact","Footer","background","teleperformancePrivacy","llsDotCom","fullYear","LuckyOrangeUserIdentifier","identifyUser","awsconfig","aws_user_pools_id","aws_user_pools_web_client_id","oauth","domain","redirectSignIn","origin","redirectSignOut","responseType","federationTarget","Amplify","configure","rootReducer","combineReducers","router","connectRouter","createStore","applyMiddleware","thunk","routerMiddleware","configureStore","createBrowserHistory","init","createTheme","components","MuiCssBaseline","styleOverrides","html","fontFamily","App","StoreContext","ThemeProvider","BrowserRouter","initI18n","i18n","use","LanguageDetector","initReactI18next","lng","fallbackLng","debug","resources","en","strings","interpolation","escapeValue","GlobalErrorHandler","errorName","stackTrace","cause","initThis","queryClient","QueryClient","defaultOptions","queries","staleTime","getJwtToken","userSessionOverrideStoredValue","ReactDOM","StrictMode","QueryClientProvider","VERSION"],"mappings":"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","file":"static/js/main.b47e6f82.chunk.js","sourcesContent":["/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n\n constructor(response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n }\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(reason: string = 'Promise was canceled') {\n super(reason);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isPending: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise implements Promise {\n readonly [Symbol.toStringTag]: string;\n\n #isPending: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise;\n #resolve?: (value: T | PromiseLike) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isPending = true;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike): void => {\n if (!this.#isCancelled) {\n this.#isPending = false;\n this.#resolve?.(value);\n }\n };\n\n const onReject = (reason?: any): void => {\n this.#isPending = false;\n this.#reject?.(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isPending) {\n this.#cancelHandlers.push(cancelHandler);\n }\n };\n\n Object.defineProperty(onCancel, 'isPending', {\n get: (): boolean => this.#isPending,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n public then(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike) | null\n ): Promise {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch(\n onRejected?: ((reason: any) => TResult | PromiseLike) | null\n ): Promise {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (!this.#isPending || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n this.#reject?.(error);\n return;\n }\n }\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport { OpenAPI } from './OpenAPI';\n\nfunction isDefined(value: T | null | undefined): value is Exclude {\n return value !== undefined && value !== null;\n}\n\nfunction isString(value: any): value is string {\n return typeof value === 'string';\n}\n\nfunction isStringWithValue(value: any): value is string {\n return isString(value) && value !== '';\n}\n\nfunction isBlob(value: any): value is Blob {\n return value instanceof Blob;\n}\n\nfunction base64(str: string): string {\n try {\n return btoa(str);\n } catch (err) {\n return Buffer.from(str).toString('base64');\n }\n}\n\nfunction getQueryString(params: Record): string {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n Object.entries(params)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => append(key, v));\n } else {\n append(key, value);\n }\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n}\n\nfunction getUrl(options: ApiRequestOptions): string {\n const path = OpenAPI.ENCODE_PATH ? OpenAPI.ENCODE_PATH(options.path) : options.path;\n const url = `${OpenAPI.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n\n return url;\n}\n\nfunction getFormData(options: ApiRequestOptions): FormData | undefined {\n if (options.formData) {\n const formData = new FormData();\n\n const append = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => append(key, v));\n } else {\n append(key, value);\n }\n });\n\n return formData;\n }\n return;\n}\n\ntype Resolver = (options: ApiRequestOptions) => Promise;\n\nasync function resolve(options: ApiRequestOptions, resolver?: T | Resolver): Promise {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)(options);\n }\n return resolver;\n}\n\nasync function getHeaders(options: ApiRequestOptions): Promise {\n const token = await resolve(options, OpenAPI.TOKEN);\n const username = await resolve(options, OpenAPI.USERNAME);\n const password = await resolve(options, OpenAPI.PASSWORD);\n const additionalHeaders = await resolve(options, OpenAPI.HEADERS);\n\n const defaultHeaders = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record);\n\n const headers = new Headers(defaultHeaders);\n\n if (isStringWithValue(token)) {\n headers.append('Authorization', `Bearer ${token}`);\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers.append('Authorization', `Basic ${credentials}`);\n }\n\n if (options.body) {\n if (options.mediaType) {\n headers.append('Content-Type', options.mediaType);\n } else if (isBlob(options.body)) {\n headers.append('Content-Type', options.body.type || 'application/octet-stream');\n } else if (isString(options.body)) {\n headers.append('Content-Type', 'text/plain');\n } else {\n headers.append('Content-Type', 'application/json');\n }\n }\n\n return headers;\n}\n\nfunction getRequestBody(options: ApiRequestOptions): BodyInit | undefined {\n if (options.body) {\n if (options.mediaType?.includes('/json')) {\n return JSON.stringify(options.body)\n } else if (isString(options.body) || isBlob(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return;\n}\n\nasync function sendRequest(\n options: ApiRequestOptions,\n url: string,\n formData: FormData | undefined,\n body: BodyInit | undefined,\n headers: Headers,\n onCancel: OnCancel\n): Promise {\n const controller = new AbortController();\n\n const request: RequestInit = {\n headers,\n body: body || formData,\n method: options.method,\n signal: controller.signal,\n };\n\n if (OpenAPI.WITH_CREDENTIALS) {\n request.credentials = OpenAPI.CREDENTIALS;\n }\n\n onCancel(() => controller.abort());\n\n return await fetch(url, request);\n}\n\nfunction getResponseHeader(response: Response, responseHeader?: string): string | undefined {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return;\n}\n\nasync function getResponseBody(response: Response): Promise {\n if (response.status !== 204) {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const isJSON = contentType.toLowerCase().startsWith('application/json');\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n return;\n}\n\nfunction catchErrors(options: ApiRequestOptions, result: ApiResult): void {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(result, error);\n }\n\n if (!result.ok) {\n throw new ApiError(result, 'Generic Error');\n }\n}\n\n/**\n * Request using fetch client\n * @param options The request options from the the service\n * @returns CancelablePromise\n * @throws ApiError\n */\nexport function request(options: ApiRequestOptions): CancelablePromise {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(options);\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest(options, url, formData, body, headers, onCancel);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader || responseBody,\n };\n\n catchErrors(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"headerDividerContainer\":\"AppHeader_headerDividerContainer__1ARzV\",\"headerDividerBox\":\"AppHeader_headerDividerBox__2Epit\",\"llsLogoImage\":\"AppHeader_llsLogoImage__2wGe2\",\"headerDiv\":\"AppHeader_headerDiv__zPvLr\",\"loginService\":\"AppHeader_loginService__3xjqJ\",\"logo\":\"AppHeader_logo__18Yiy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tool\":\"AppCard_tool__4VpJd\",\"wrap\":\"AppCard_wrap__1wk1b\",\"title\":\"AppCard_title__3A7gG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toolsWrapper\":\"AppCardContainer_toolsWrapper__3WjaH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonWrapper\":\"Button_buttonWrapper__yEY1N\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropzone\":\"DropzoneField_dropzone__1UBu-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"iframeContainer\":\"IFrameViewer_iframeContainer__30tdV\"};","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nimport type { CustomFieldDefinitionCategory } from './CustomFieldDefinitionCategory';\n\nexport type CustomFieldDefinition = {\n name: string;\n category?: CustomFieldDefinitionCategory;\n type: CustomFieldDefinition.type;\n required?: boolean;\n defaultValue?: string;\n options?: Array<{\n label: string;\n value: string;\n }>;\n mapping: (string | Array);\n externalClientId?: string;\n visible?: boolean;\n visibleIf?: Array<{\n fieldName: string;\n value: string;\n }>;\n disabled?: boolean;\n validationRegex?: string;\n validationMessage?: string;\n description?: string;\n}\n\nexport namespace CustomFieldDefinition {\n\n export enum type {\n INPUT_TEXT = 'INPUT_TEXT',\n LISTONLY = 'LISTONLY',\n LIST = 'LIST',\n SELECT_MANY_LIST = 'SELECT_MANY_LIST',\n DATE = 'DATE',\n TEXT_AREA = 'TEXT_AREA',\n CHECKBOX = 'CHECKBOX',\n PERSON_INFO = 'PERSON_INFO',\n }\n\n\n}\n","import { Logger } from \"aws-amplify\";\n\n// eslint-disable-next-line\nexport const amplifyLogger = new Logger(\"LLTS-Logger\", \"VERBOSE\");\n","import { Action } from \"redux\";\nimport { UserGroup } from \"../../gen/clients/llts\";\n\nexport interface UserSessionState {\n username?: string;\n email?: string;\n roles?: (UserGroup | string)[];\n isFederatedSsoAccount?: boolean;\n firstName?: string | null;\n lastName?: string | null;\n initialPagePath?: string;\n externalGroups?: string[];\n}\n\nexport enum UserSessionActionType {\n SIGN_IN = \"USER_SESSION/SIGN_IN\",\n SIGN_OUT = \"USER_SESSION/SIGN_OUT\",\n SET_INITIAL_PAGE_PATH = \"USER_SESSION/SET_INITIAL_PAGE_PATH\"\n}\n\nexport interface SignInAction extends Action {\n type: UserSessionActionType.SIGN_IN;\n username: string;\n email: string;\n roles: (UserGroup | string)[];\n isFederatedSsoAccount?: boolean;\n firstName?: string | null;\n lastName?: string | null;\n externalGroups?: string[];\n}\n\nexport interface SignOutAction extends Action {\n type: UserSessionActionType.SIGN_OUT;\n}\n\nexport interface SetInitialPagePathAction extends Action {\n type: UserSessionActionType.SET_INITIAL_PAGE_PATH;\n initialPagePath: string;\n}\n\nexport type UserSessionActions = SignInAction | SignOutAction | SetInitialPagePathAction;\n","import { SetInitialPagePathAction, SignInAction, SignOutAction, UserSessionActionType } from \"./types\";\nimport { UserGroup } from \"../../gen/clients/llts\";\n\nexport const signIn = (\n username: string,\n email: string,\n roles: (UserGroup | string)[],\n isFederatedSsoAccount?: boolean,\n firstName?: string | null,\n lastName?: string | null,\n externalGroups?: string[]\n): SignInAction => ({\n username,\n email,\n roles,\n isFederatedSsoAccount,\n firstName,\n lastName,\n type: UserSessionActionType.SIGN_IN,\n externalGroups\n});\n\nexport const signOut = (): SignOutAction => ({\n type: UserSessionActionType.SIGN_OUT\n});\n\nexport const setInitialPagePath = (initialPagePath: string): SetInitialPagePathAction => ({\n initialPagePath,\n type: UserSessionActionType.SET_INITIAL_PAGE_PATH\n});\n","const LAST_SESSION_TIMESTAMP_KEY = \"llts.portal.session.timestamp\";\n\nexport class LocalStorageUtils {\n public static storeSessionTimestamp(date: Date | null): void {\n if (!date) {\n localStorage.removeItem(LAST_SESSION_TIMESTAMP_KEY);\n } else {\n const dateStr = date.toISOString();\n localStorage.setItem(LAST_SESSION_TIMESTAMP_KEY, dateStr);\n }\n }\n\n public static readSessionTimestamp(): Date | null {\n const dateStr = localStorage.getItem(LAST_SESSION_TIMESTAMP_KEY);\n return dateStr ? new Date(dateStr) : null;\n }\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum CustomFieldDefinitionCategory {\n PROJECT = 'PROJECT',\n USER = 'USER',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type JobRequestAutoQuote = {\n pricePerPage: number;\n /**\n * Total number of pages\n */\n totalPages?: number;\n /**\n * Page count for each file by file name\n */\n pageCountByFileName?: Record;\n /**\n * Total price\n */\n price?: number;\n /**\n * Reason for rejection of the quote\n */\n rejectionReason?: string;\n /**\n * Acceptance status of the quote\n */\n acceptanceStatus?: JobRequestAutoQuote.acceptanceStatus;\n acceptanceDeadline: string;\n creationDate: string;\n acceptanceDate?: string;\n}\n\nexport namespace JobRequestAutoQuote {\n\n /**\n * Acceptance status of the quote\n */\n export enum acceptanceStatus {\n ACCEPTED = 'ACCEPTED',\n REJECTED = 'REJECTED',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum FileCategory {\n SOURCE_DOCUMENT = 'SOURCE_DOCUMENT',\n REFERENCE = 'REFERENCE',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum FilesZipStatus {\n NOT_STARTED = 'NOT_STARTED',\n IN_PROGRESS = 'IN_PROGRESS',\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum FohQuoteType {\n FOHCOMPREHENSIONPASTDUE = 'FOHCOMPREHENSIONPASTDUE',\n FOHHEALTHCAREPASTDUE = 'FOHHEALTHCAREPASTDUE',\n FOHTECHNICALPASTDUE = 'FOHTECHNICALPASTDUE',\n FOHGOVERNMENTPASTDUE = 'FOHGOVERNMENTPASTDUE',\n FOHTAIWANPASTDUE = 'FOHTAIWANPASTDUE',\n UNASSIGNEDPASTDUE = 'UNASSIGNEDPASTDUE',\n FOHCOMPREHENSIONDUETODAY = 'FOHCOMPREHENSIONDUETODAY',\n FOHHEALTHCAREDUETODAY = 'FOHHEALTHCAREDUETODAY',\n FOHTECHNICALDUETODAY = 'FOHTECHNICALDUETODAY',\n FOHGOVERNMENTDUETODAY = 'FOHGOVERNMENTDUETODAY',\n FOHTAIWANDUETODAY = 'FOHTAIWANDUETODAY',\n UNASSIGNEDDUETODAY = 'UNASSIGNEDDUETODAY',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum JobRequestFileCategory {\n SOURCE_DOCUMENT = 'SOURCE_DOCUMENT',\n REFERENCE = 'REFERENCE',\n TRANSLATED_DOCUMENT = 'TRANSLATED_DOCUMENT',\n QUOTE_CONFIRMATION_DOCUMENT = 'QUOTE_CONFIRMATION_DOCUMENT',\n OTHER = 'OTHER',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type LogMessage = {\n level: LogMessage.level;\n message: string;\n details?: any;\n}\n\nexport namespace LogMessage {\n\n export enum level {\n DEBUG = 'DEBUG',\n INFO = 'INFO',\n WARN = 'WARN',\n ERROR = 'ERROR',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum JobRequestOrigination {\n EMAIL = 'EMAIL',\n WEBFORM = 'WEBFORM',\n MT = 'MT',\n COUPA = 'COUPA',\n MEDIAAI = 'MEDIAAI',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum JobRequestStatus {\n CREATED = 'CREATED',\n SCREENING = 'SCREENING',\n REJECTED_BY_SCREENING = 'REJECTED_BY_SCREENING',\n ANALYZING = 'ANALYZING',\n TRANSLATING = 'TRANSLATING',\n READY_FOR_INTERNAL_REVIEW = 'READY_FOR_INTERNAL_REVIEW',\n QUOTE_READY_FOR_CLIENT_REVIEW = 'QUOTE_READY_FOR_CLIENT_REVIEW',\n QUOTE_REJECTED = 'QUOTE_REJECTED',\n QUOTE_ACCEPTED = 'QUOTE_ACCEPTED',\n QUOTE_EXPIRED = 'QUOTE_EXPIRED',\n SUBMITTING_TO_XTRF = 'SUBMITTING_TO_XTRF',\n SUBMITTED_TO_XTRF = 'SUBMITTED_TO_XTRF',\n COMPLETED = 'COMPLETED',\n ARCHIVED = 'ARCHIVED',\n FAILED = 'FAILED',\n CANCELLING = 'CANCELLING',\n CANCELLED = 'CANCELLED',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum JobRequestType {\n TRANSLATION_REQUEST = 'TRANSLATION_REQUEST',\n QUOTE_REQUEST = 'QUOTE_REQUEST',\n JUNK_REQUEST = 'JUNK_REQUEST',\n OTHER_REQUEST = 'OTHER_REQUEST',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum LanguageGroupScope {\n ORGANIZATION = 'ORGANIZATION',\n PERSONAL = 'PERSONAL',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum MtBillingType {\n MONTHLY = 'MONTHLY',\n PER_WORD = 'PER_WORD',\n FREE_TRIAL = 'FREE_TRIAL',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type MtLanguage = {\n name: string;\n code: string;\n direction?: MtLanguage.direction;\n}\n\nexport namespace MtLanguage {\n\n export enum direction {\n LTR = 'ltr',\n RTL = 'rtl',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nimport type { Address } from './Address';\nimport type { BillingAccount } from './BillingAccount';\n\nexport type PaymentPreferences = {\n paymentType: PaymentPreferences.paymentType;\n billingAccount?: BillingAccount;\n billingContact?: Address;\n}\n\nexport namespace PaymentPreferences {\n\n export enum paymentType {\n CREDIT_CARD = 'CREDIT_CARD',\n BILL_TO_ACCOUNT = 'BILL_TO_ACCOUNT',\n INVOICE_DIRECTLY = 'INVOICE_DIRECTLY',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum ProjectSubmissionMode {\n SUBMIT_FOR_ESTIMATION = 'SUBMIT_FOR_ESTIMATION',\n SUBMIT_FOR_TRANSLATION = 'SUBMIT_FOR_TRANSLATION',\n BOTH = 'BOTH',\n SUBMIT_FOR_ESTIMATION_EXCEPT = 'SUBMIT_FOR_ESTIMATION_EXCEPT',\n SUBMIT_FOR_TRANSLATION_EXCEPT = 'SUBMIT_FOR_TRANSLATION_EXCEPT',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type ReportMetadataSummary = {\n id: string;\n name: string;\n description?: string;\n type: ReportMetadataSummary.type;\n}\n\nexport namespace ReportMetadataSummary {\n\n export enum type {\n PROJECT = 'PROJECT',\n QUOTE = 'QUOTE',\n TASK = 'TASK',\n CLIENT_CONTACT = 'CLIENT_CONTACT',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum StatProjectType {\n COMPREHENSION = 'COMPREHENSION',\n HEALTHCARE = 'HEALTHCARE',\n INSURANCE = 'INSURANCE',\n TECHNICAL = 'TECHNICAL',\n GOVERNMENT = 'GOVERNMENT',\n TAIWAN = 'TAIWAN',\n TATCOMP = 'TATCOMP',\n TATHEALTH = 'TATHEALTH',\n TATINSURANCE = 'TATINSURANCE',\n TATTECH = 'TATTECH',\n TATGOVERMENT = 'TATGOVERMENT',\n TATTAIWAN = 'TATTAIWAN',\n COMPREHENSIONPASTDUE = 'COMPREHENSIONPASTDUE',\n HEALTHCAREPASTDUE = 'HEALTHCAREPASTDUE',\n INSURANCEPASTDUE = 'INSURANCEPASTDUE',\n TECHNICALPASTDUE = 'TECHNICALPASTDUE',\n GOVERNMENTPASTDUE = 'GOVERNMENTPASTDUE',\n TAIWANPASTDUE = 'TAIWANPASTDUE',\n COMPREHENSIONDUETODAY = 'COMPREHENSIONDUETODAY',\n HEALTHCAREDUETODAY = 'HEALTHCAREDUETODAY',\n INSURANCEDUETODAY = 'INSURANCEDUETODAY',\n TECHNICALDUETODAY = 'TECHNICALDUETODAY',\n GOVERNMENTDUETODAY = 'GOVERNMENTDUETODAY',\n TAIWANDUETODAY = 'TAIWANDUETODAY',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type TradeCentricCartItem = {\n quantity: number;\n /**\n * The SKU or product number identifying the product in the supplier catalog.\n */\n supplierid: string;\n /**\n * A unique identifier identifying this particular item in this particular cart. If the buyer decides to submit this cart item as part of a purchase order request, TradeCentric will include this identifier in the purchase order line item.\n */\n supplierauxid: string;\n /**\n * The human-readable product name or title that will be returned to the buyer's procurement system to describe the line item.\n */\n description: string;\n /**\n * The contracted per-unit price of the line item after all discounts and special pricing logic has been applied.\n */\n unitprice: number;\n /**\n * The currency of this line item's unit price. Some buyers' procurement system can support multi-currency carts but this will typically invalidate the cart-level total.\n */\n currency: string;\n /**\n * The supplier's unit of measure code for this line item. TradeCentric will be responsible for mapping this to a code that the buyer's procurement system can accept.\n */\n uom: string;\n /**\n * The supplier's classification code for this line item, often based on the UNSPSC schema (www.unspsc.org). TradeCentric will be responsible for mapping this to a code that the buyer's procurement system can accept.\n */\n classification: string;\n /**\n * The supplier's classification schema.\n */\n classdomain?: string;\n /**\n * The localized ISO language code defining the language used in the item description field.\n */\n language?: string;\n /**\n * Any additional product attributes should be included within the data array. Manufacturer and manufacturer ID are the two most common. Typically TradeCentric will concatenate extra product details like color or style options into the description value based on the buyer's requirements.\n */\n data?: {\n /**\n * The original manufacturer, not the vendor or wholesaler, of this item.\n */\n manufacturer?: string;\n /**\n * The manufacturer-assigned identifier for this product, not the vendor or wholesaler-assigned SKU.\n */\n manufacturer_id?: string;\n /**\n * Expected delivery time of the item in days.\n */\n lead_time?: number;\n /**\n * A public-facing URL of an image of the product.\n */\n image_url?: string;\n /**\n * A flag to indicate whether this line item is priced according to the exact weight of the item that is shipped. The buyer should expect a small difference between the ordered weight and shipped weight.\n */\n is_catchweight?: TradeCentricCartItem.is_catchweight;\n };\n}\n\nexport namespace TradeCentricCartItem {\n\n /**\n * A flag to indicate whether this line item is priced according to the exact weight of the item that is shipped. The buyer should expect a small difference between the ordered weight and shipped weight.\n */\n export enum is_catchweight {\n '_0' = 0,\n '_1' = 1,\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type TradeCentricInitializeLogInResponse = {\n username: string;\n token: string;\n action: TradeCentricInitializeLogInResponse.action;\n punchOutSessionId: string;\n}\n\nexport namespace TradeCentricInitializeLogInResponse {\n\n export enum action {\n CREATE = 'create',\n EDIT = 'edit',\n INSPECT = 'inspect',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nimport type { TradeCentricPunchOutItem } from './TradeCentricPunchOutItem';\n\nexport type TradeCentricPunchOutRequest = {\n /**\n * The shared secret for TradeCentric transactions\n */\n sharedSecret: string;\n /**\n * The unique key for this PunchOut session.\n */\n pos: string;\n /**\n * For the 'create' operation, the buyer expects to be given a new empty cart. For the 'edit' and 'inspect' operations, the buyer will send an array of item data in body.data.cart_items with the expectation that the supplier will rebuild or retrieve a cart defined by that item data and will redirect the buyer to the cart page. The difference between 'edit' and 'inspect' is that a buyer should only be allowed to make changes to the cart if they initiated the PunchOut as an 'edit' session.\n */\n operation?: TradeCentricPunchOutRequest.operation;\n /**\n * Location for the cart to be posted to which is unique per punchout session. This can be server side or client side request. Please confirm with you Project Manager\n */\n return_url: string;\n /**\n * The object containing all parameters defining the user's PunchOut request.\n */\n params: {\n /**\n * This can be ignored.\n */\n header?: any;\n /**\n * Static value.\n */\n type?: string;\n /**\n * This can be ignored.\n */\n mode?: TradeCentricPunchOutRequest.mode;\n body: {\n /**\n * Any user-level identifiers or other data fields are added here.\n */\n data?: any;\n contact: {\n /**\n * The user's email address is passed from the buyer's procurement system where provided. Should the buyer not provide a email address the TradeCentric will either provide a default address for all user connecting from that Trading Partner or implement our round robin solution for an array of addresses to be used.\n */\n email: string;\n name?: string;\n unique?: string;\n };\n /**\n * Can be ignored.\n */\n buyercookie?: string;\n /**\n * The URL to which TradeCentric will return the cart. Can be ignored.\n */\n postform?: string;\n shipping?: {\n data?: {\n address_name?: string;\n shipping_id?: string;\n shipping_business?: string;\n shipping_to?: string;\n shipping_street?: string;\n shipping_city?: string;\n shipping_state?: string;\n shipping_zip?: string;\n shipping_country?: string;\n country_id?: string;\n };\n };\n /**\n * The set of item data that defines a cart that the buyer wishes to be rebuilt or retrieved on the supplier's storefront. Only attempt to rebuild or retrieve this cart if operation is 'edit' or 'inspect'.\n */\n items?: Array;\n };\n custom?: {\n /**\n * Name to represent the buying organisation\n */\n organisation_name?: string;\n /**\n * ID to represent the buying organisation like an account number.\n */\n organisation_id?: string;\n };\n };\n}\n\nexport namespace TradeCentricPunchOutRequest {\n\n /**\n * For the 'create' operation, the buyer expects to be given a new empty cart. For the 'edit' and 'inspect' operations, the buyer will send an array of item data in body.data.cart_items with the expectation that the supplier will rebuild or retrieve a cart defined by that item data and will redirect the buyer to the cart page. The difference between 'edit' and 'inspect' is that a buyer should only be allowed to make changes to the cart if they initiated the PunchOut as an 'edit' session.\n */\n export enum operation {\n CREATE = 'create',\n EDIT = 'edit',\n INSPECT = 'inspect',\n }\n\n /**\n * This can be ignored.\n */\n export enum mode {\n PRODUCTION = 'production',\n TEST = 'test',\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nimport type { TradeCentricCartItem } from './TradeCentricCartItem';\n\nexport type TradeCentricReturnCart = {\n body: {\n /**\n * The sum of all item row totals plus the tax and shipping estimates, if present.\n */\n total: number;\n /**\n * The ISO currency code for the cart.\n */\n currency: string;\n /**\n * Any additional cart-level attributes should be included within the data array. Tax, tax description, shipping, and shipping description are the most common. Note that most buyer-side eProcurement systems cannot receive any cart-level attributes beyond total, currency, tax, and shipping.\n */\n data?: {\n /**\n * Defines whether the supplier's storefront can accept an edit-cart request against this cart object.\n */\n edit_mode?: TradeCentricReturnCart.edit_mode;\n /**\n * An estimate of the shipping charge that would be calculated against this cart if it were to be converted to a purchase order.\n */\n shipping?: number;\n /**\n * A human-readable description of the estimated shipping charge and/or a code identifying it.\n */\n shipping_description?: string;\n /**\n * An estimate of the tax that would be calculated against this cart if it were to be converted to a purchase order.\n */\n tax?: number;\n /**\n * A human-readable description of the estimated tax and/or a code identifying it.\n */\n tax_description?: string;\n };\n items: Array;\n };\n}\n\nexport namespace TradeCentricReturnCart {\n\n /**\n * Defines whether the supplier's storefront can accept an edit-cart request against this cart object.\n */\n export enum edit_mode {\n '_1' = 1,\n '_0' = 0,\n }\n\n\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum UserGroup {\n ADMIN = 'ADMIN',\n SUPER_USER = 'SUPER_USER',\n OPERATOR = 'OPERATOR',\n POWER_USER = 'POWER_USER',\n CLIENT = 'CLIENT',\n CLIENT_EMPLOYEE = 'CLIENT_EMPLOYEE',\n LINGUIST = 'LINGUIST',\n PROJECT_COORDINATOR = 'PROJECT_COORDINATOR',\n CLIENT_MANAGER = 'CLIENT_MANAGER',\n DESKTOP_PUBLISHER = 'DESKTOP_PUBLISHER',\n ENGINEER = 'ENGINEER',\n QA = 'QA',\n QUOTER = 'QUOTER',\n EXECUTIVE = 'EXECUTIVE',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum Xl8SubtitleType {\n JSON = 'json',\n IYUNO_JSON = 'iyuno.json',\n XL8_JSON = 'xl8.json',\n SENTENCES_JSON = 'sentences.json',\n PAC = 'pac',\n SCC = 'scc',\n SRT = 'srt',\n DFXP = 'dfxp',\n TTML = 'ttml',\n IMSC = 'imsc',\n ITT = 'itt',\n VTT = 'vtt',\n XIF = 'xif',\n STL = 'stl',\n EBU_STL = 'ebu.stl',\n SPRUCE_STL = 'spruce.stl',\n SMI = 'smi',\n XLSX = 'xlsx',\n TXT = 'txt',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ClientConfig } from '../models/ClientConfig';\nimport type { CustomFieldDefinition } from '../models/CustomFieldDefinition';\nimport type { CustomFieldDefinitionCategory } from '../models/CustomFieldDefinitionCategory';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class ClientConfigsService {\n\n /**\n * Returns client configs matching filter criteria\n * @returns ClientConfig Returns client configs matching filter criteria\n * @throws ApiError\n */\n public static listClientConfigs({\n emailDomain,\n contactEmail,\n externalGroups,\n }: {\n emailDomain: string,\n contactEmail?: string,\n externalGroups?: string,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/clientConfigs`,\n query: {\n 'emailDomain': emailDomain,\n 'contactEmail': contactEmail,\n 'externalGroups': externalGroups,\n },\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Returns a client config by client ID\n * @returns ClientConfig Returns client config.\n * @throws ApiError\n */\n public static getClientConfig({\n clientId,\n }: {\n /** Client ID. **/\n clientId: string,\n }): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/clientConfigs/${clientId}`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches project custom field definitions for a client that the user belongs to\n * @returns CustomFieldDefinition Returns project custom field definitions.\n * @throws ApiError\n */\n public static getCustomFieldDefinitions({\n clientId,\n category,\n }: {\n /** Client ID. **/\n clientId: string,\n /** Type of custom field definitions. Supported values are PROJECT and USER. **/\n category?: CustomFieldDefinitionCategory,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/clientConfigs/${clientId}/customFieldDefinitions`,\n query: {\n 'category': category,\n },\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * get client specific languages\n * @returns number Successful operation.\n * @throws ApiError\n */\n public static getAvailableLanguages({\n clientId,\n }: {\n /** Client ID. **/\n clientId: string,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/clientConfigs/${clientId}/availableLanguages`,\n });\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AcceptAutoQuotePayload } from '../models/AcceptAutoQuotePayload';\nimport type { AcceptQuoteResponse } from '../models/AcceptQuoteResponse';\nimport type { CreateJobRequestPayload } from '../models/CreateJobRequestPayload';\nimport type { GetJobRequestFileDownloadUrlResponse } from '../models/GetJobRequestFileDownloadUrlResponse';\nimport type { JobRequest } from '../models/JobRequest';\nimport type { JobRequestAutoQuoteSummary } from '../models/JobRequestAutoQuoteSummary';\nimport type { JobRequestCollection } from '../models/JobRequestCollection';\nimport type { RejectQuotePayload } from '../models/RejectQuotePayload';\nimport type { RenameJobRequestPayload } from '../models/RenameJobRequestPayload';\nimport type { SubmitJobRequestToXtrfPayload } from '../models/SubmitJobRequestToXtrfPayload';\nimport type { UnauthenticatedCreateJobRequestPayload } from '../models/UnauthenticatedCreateJobRequestPayload';\nimport type { ZipJobRequestTranslatedFilesStatusResponse } from '../models/ZipJobRequestTranslatedFilesStatusResponse';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class JobRequestsService {\n\n /**\n * Lists job requests for an authenticated current user\n * @returns JobRequestCollection Successful response\n * @throws ApiError\n */\n public static listJobRequests({\n origination,\n pageToken,\n pageSize,\n status,\n }: {\n /** Origination of queried job requests **/\n origination: any,\n /** Page token **/\n pageToken?: any,\n /** Page size **/\n pageSize?: any,\n status?: string,\n }): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/jobRequests`,\n query: {\n 'origination': origination,\n 'pageToken': pageToken,\n 'pageSize': pageSize,\n 'status': status,\n },\n errors: {\n 403: `Forbidden`,\n 404: `Not found`,\n },\n });\n }\n\n /**\n * Creates a new job request\n * @returns JobRequest Successfully created job request\n * @throws ApiError\n */\n public static createJobRequest({\n requestBody,\n }: {\n /** Payload for creating a job request **/\n requestBody?: CreateJobRequestPayload,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/jobRequests`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n /**\n * Creates a new job request. Should be used for public/unauthenticated users.\n * @returns JobRequest Successfully created job request\n * @throws ApiError\n */\n public static unauthenticatedCreateJobRequest({\n requestBody,\n }: {\n /** Payload for creating a job request **/\n requestBody?: UnauthenticatedCreateJobRequestPayload,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/jobRequests/actions/unauthenticatedCreateJobRequest`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n /**\n * Fetches a job request\n * @returns JobRequest Successful response\n * @throws ApiError\n */\n public static getJobRequest({\n jobRequestId,\n }: {\n /** Job request ID **/\n jobRequestId: any,\n }): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/jobRequests/${jobRequestId}`,\n errors: {\n 403: `Forbidden`,\n 404: `Not found`,\n },\n });\n }\n\n /**\n * Fetches an auto quote summary\n * @returns JobRequestAutoQuoteSummary Successful response\n * @throws ApiError\n */\n public static getAutoQuote({\n jobRequestId,\n }: {\n /** Job request ID **/\n jobRequestId: any,\n }): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/autoQuotes/${jobRequestId}`,\n errors: {\n 404: `Not found`,\n },\n });\n }\n\n /**\n * Submits job request to XTRF\n * @returns any Successfuly accepted request\n * @throws ApiError\n */\n public static submitToXtrf({\n jobRequestId,\n requestBody,\n }: {\n /** Job request ID **/\n jobRequestId: any,\n /** Payload for submitting a job request to XTRF **/\n requestBody?: SubmitJobRequestToXtrfPayload,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/jobRequests/${jobRequestId}/actions/submitToXtrf`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 403: `Forbidden`,\n 404: `Not found`,\n },\n });\n }\n\n /**\n * Renames job request\n * @returns any Successful operation\n * @throws ApiError\n */\n public static renameJobRequest({\n jobRequestId,\n requestBody,\n }: {\n /** Job request ID **/\n jobRequestId: any,\n /** Payload for renaming job request **/\n requestBody?: RenameJobRequestPayload,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/jobRequests/${jobRequestId}/actions/renameJobRequest`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 403: `Forbidden`,\n 404: `Not found`,\n },\n });\n }\n\n /**\n * Archive the job request\n * @returns void\n * @throws ApiError\n */\n public static archiveJobRequest({\n jobRequestId,\n }: {\n jobRequestId: string,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/jobRequests/${jobRequestId}/actions/archive`,\n errors: {\n 400: `Invalid request origination`,\n 404: `Job request not found`,\n },\n });\n }\n\n /**\n * Return temporary download url of job request file\n * @returns GetJobRequestFileDownloadUrlResponse successful operation\n * @throws ApiError\n */\n public static getJobRequestFileDownloadUrl({\n jobRequestId,\n fileKey,\n inline,\n }: {\n jobRequestId: string,\n fileKey: string,\n inline?: boolean,\n }): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/jobRequests/${jobRequestId}/files/${fileKey}/downloadUrl`,\n query: {\n 'inline': inline,\n },\n errors: {\n 400: `Invalid request`,\n 404: `Not found`,\n },\n });\n }\n\n /**\n * Zip job request translated files\n * @returns void\n * @throws ApiError\n */\n public static zipJobRequestTranslatedFiles({\n jobRequestId,\n zipFileName,\n }: {\n /** Job request ID **/\n jobRequestId: any,\n /** Zip file name **/\n zipFileName: string,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/jobRequests/${jobRequestId}/actions/zipTranslatedFiles`,\n query: {\n 'zipFileName': zipFileName,\n },\n errors: {\n 403: `Forbidden`,\n 404: `Not found`,\n },\n });\n }\n\n /**\n * Get status of job request translated files zipping operation\n * @returns ZipJobRequestTranslatedFilesStatusResponse Successful operation\n * @throws ApiError\n */\n public static getZipTranslatedFilesStatus({\n jobRequestId,\n }: {\n /** Job request ID **/\n jobRequestId: any,\n }): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/jobRequests/${jobRequestId}/actions/zipTranslatedFiles/status`,\n errors: {\n 403: `Forbidden`,\n 404: `Not found`,\n },\n });\n }\n\n /**\n * Accepts job request's quote\n * @returns AcceptQuoteResponse Successful operation\n * @throws ApiError\n */\n public static acceptQuote({\n jobRequestId,\n }: {\n /** Job request ID **/\n jobRequestId: any,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/jobRequests/${jobRequestId}/actions/acceptQuote`,\n errors: {\n 403: `Forbidden`,\n 404: `Not found`,\n 409: `Conflict error`,\n },\n });\n }\n\n /**\n * Rejects job request's quote\n * @returns void\n * @throws ApiError\n */\n public static rejectQuote({\n jobRequestId,\n requestBody,\n }: {\n /** Job request ID **/\n jobRequestId: any,\n /** Payload for creating a job request **/\n requestBody?: RejectQuotePayload,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/jobRequests/${jobRequestId}/actions/rejectQuote`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 403: `Forbidden`,\n 404: `Not found`,\n 409: `Conflict error`,\n },\n });\n }\n\n /**\n * Accepts job request's auto quote\n * @returns void\n * @throws ApiError\n */\n public static acceptAutoQuote({\n jobRequestId,\n requestBody,\n }: {\n /** Job request ID **/\n jobRequestId: any,\n requestBody?: AcceptAutoQuotePayload,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/jobRequests/${jobRequestId}/actions/acceptAutoQuote`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 404: `Not found`,\n 409: `Conflict error`,\n },\n });\n }\n\n /**\n * Rejects job request's auto quote\n * @returns void\n * @throws ApiError\n */\n public static rejectAutoQuote({\n jobRequestId,\n requestBody,\n }: {\n /** Job request ID **/\n jobRequestId: any,\n /** Payload of a job request **/\n requestBody?: RejectQuotePayload,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/jobRequests/${jobRequestId}/actions/rejectAutoQuote`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 404: `Not found`,\n 409: `Conflict error`,\n },\n });\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { MachineTranslationSettings } from '../models/MachineTranslationSettings';\nimport type { MtTranslateFilesRequest } from '../models/MtTranslateFilesRequest';\nimport type { MtTranslateFilesResponse } from '../models/MtTranslateFilesResponse';\nimport type { MtTranslateTextRequest } from '../models/MtTranslateTextRequest';\nimport type { MtTranslateTextResponse } from '../models/MtTranslateTextResponse';\nimport type { TranslateMediaFilesRequest } from '../models/TranslateMediaFilesRequest';\nimport type { TranslateMediaFilesResponse } from '../models/TranslateMediaFilesResponse';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class MachineTranslationService {\n\n /**\n * Returns text machine translation settings for an authenticated user\n * @returns MachineTranslationSettings Returns machine translation settings\n * @throws ApiError\n */\n public static getMachineTranslationSettings(): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/machineTranslation/settings`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * translates provided text\n * @returns MtTranslateTextResponse Successful operation\n * @throws ApiError\n */\n public static translateText({\n requestBody,\n }: {\n requestBody?: MtTranslateTextRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/machineTranslation/actions/translateText`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `bad input parameters`,\n },\n });\n }\n\n /**\n * creates a job request for translating files via MT\n * @returns MtTranslateFilesResponse Successful operation\n * @throws ApiError\n */\n public static translateFiles({\n requestBody,\n }: {\n requestBody?: MtTranslateFilesRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/machineTranslation/actions/translateFiles`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `bad input parameters`,\n },\n });\n }\n\n /**\n * creates a job request for translating media files\n * @returns TranslateMediaFilesResponse Successful operation\n * @throws ApiError\n */\n public static translateMediaFiles({\n requestBody,\n }: {\n requestBody?: TranslateMediaFilesRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/machineTranslation/actions/translateMediaFiles`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `bad input parameters`,\n },\n });\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ClientContactCollection } from '../models/ClientContactCollection';\nimport type { DisableClientContactAccountRequest } from '../models/DisableClientContactAccountRequest';\nimport type { DisableClientContactMfaRequest } from '../models/DisableClientContactMfaRequest';\nimport type { EnableClientContactAccountRequest } from '../models/EnableClientContactAccountRequest';\nimport type { IdentitySettings } from '../models/IdentitySettings';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class OrganizationAdminService {\n\n /**\n * Returns all users in an organization of the current user. To have access to this endpoint, the current user must be an admin of the organization.\n * @returns ClientContactCollection A successful response.\n * @throws ApiError\n */\n public static listOrganizationClientContacts(): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/userAccount/organizationClientContacts`,\n });\n }\n\n /**\n * Returns a client contact's identity settings\n * @returns IdentitySettings A successful response.\n * @throws ApiError\n */\n public static getIdentitySettings({\n clientContactId,\n email,\n includeMfaStatus,\n }: {\n /** Client contact ID **/\n clientContactId: number,\n /** client contact's email **/\n email: string,\n /** indicates if mfa status should be included into the response **/\n includeMfaStatus?: boolean,\n }): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/userAccount/organizationClientContacts/${clientContactId}/indentitySettings`,\n query: {\n 'email': email,\n 'includeMfaStatus': includeMfaStatus,\n },\n });\n }\n\n /**\n * Disable MFA for a client contact\n * @returns any A successful response.\n * @throws ApiError\n */\n public static disableMfa({\n clientContactId,\n requestBody,\n }: {\n /** client contact ID **/\n clientContactId: number,\n requestBody?: DisableClientContactMfaRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/userAccount/organizationClientContacts/${clientContactId}/actions/disableMfa`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n /**\n * Enable account access for a client contact\n * @returns any A successful response.\n * @throws ApiError\n */\n public static enableAccount({\n clientContactId,\n requestBody,\n }: {\n /** client contact ID **/\n clientContactId: number,\n requestBody?: EnableClientContactAccountRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/userAccount/organizationClientContacts/${clientContactId}/actions/enableAccount`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n /**\n * Disable account access for a client contact\n * @returns any A successful response.\n * @throws ApiError\n */\n public static disableAccount({\n clientContactId,\n requestBody,\n }: {\n /** client contact ID **/\n clientContactId: number,\n requestBody?: DisableClientContactAccountRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/userAccount/organizationClientContacts/${clientContactId}/actions/disableAccount`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AddFilesRequest } from '../models/AddFilesRequest';\nimport type { CreateProjectRequest } from '../models/CreateProjectRequest';\nimport type { CreateProjectResponse } from '../models/CreateProjectResponse';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class ProjectsService {\n\n /**\n * Creates a project\n * @returns CreateProjectResponse Returns an object with project ID\n * @throws ApiError\n */\n public static createProject({\n requestBody,\n }: {\n /** Create project request parameters **/\n requestBody?: CreateProjectRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/projects`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n /**\n * Registers files that were previously uploaded to S3 in XTRF\n * @returns any Successfully accepted request.\n * @throws ApiError\n */\n public static addProjectFiles({\n projectId,\n requestBody,\n }: {\n /** Project ID. **/\n projectId: string,\n /** File names **/\n requestBody?: AddFilesRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/projects/${projectId}/actions/addFiles`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AddFilesRequest } from '../models/AddFilesRequest';\nimport type { CreateQuoteRequest } from '../models/CreateQuoteRequest';\nimport type { CreateQuoteResponse } from '../models/CreateQuoteResponse';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class QuotesService {\n\n /**\n * Creates a quote\n * @returns CreateQuoteResponse Returns an object with quote ID\n * @throws ApiError\n */\n public static createQuote({\n requestBody,\n }: {\n /** Create quote request parameters **/\n requestBody?: CreateQuoteRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/quotes`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n /**\n * Registers files that were previously uploaded to S3 in XTRF\n * @returns any Successfully accepted request.\n * @throws ApiError\n */\n public static addQuoteFiles({\n quoteId,\n requestBody,\n }: {\n /** Quote ID. **/\n quoteId: string,\n /** File names **/\n requestBody?: AddFilesRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/quotes/${quoteId}/actions/addFiles`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ReportMetadata } from '../models/ReportMetadata';\nimport type { ReportMetadataSummary } from '../models/ReportMetadataSummary';\nimport type { ReportRowCollection } from '../models/ReportRowCollection';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class ReportsService {\n\n /**\n * Lists reports\n * @returns ReportMetadataSummary Returns list of reports\n * @throws ApiError\n */\n public static listReports(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/reports`,\n });\n }\n\n /**\n * Returns report\n * @returns ReportMetadata Returns report metadata\n * @throws ApiError\n */\n public static getReport({\n reportId,\n }: {\n /** report Id **/\n reportId: string,\n }): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/reports/${reportId}`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Return paginated report rows\n * @returns ReportRowCollection Returns report row collection\n * @throws ApiError\n */\n public static getReportRows({\n reportId,\n page,\n limit,\n filters,\n }: {\n /** report Id **/\n reportId: string,\n /** Sets current page index **/\n page?: number,\n /** Sets the page size **/\n limit?: number,\n /** filters query **/\n filters?: string,\n }): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/reports/${reportId}/rows`,\n query: {\n 'page': page,\n 'limit': limit,\n 'filters': filters,\n },\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { FohPendingReviewQuoteStat } from '../models/FohPendingReviewQuoteStat';\nimport type { FohProjectsByIdStat } from '../models/FohProjectsByIdStat';\nimport type { FohProjectStat } from '../models/FohProjectStat';\nimport type { FohQuoteType } from '../models/FohQuoteType';\nimport type { ProjectsByManagerIdStat } from '../models/ProjectsByManagerIdStat';\nimport type { ProjectsByQaSpecialistIdStat } from '../models/ProjectsByQaSpecialistIdStat';\nimport type { ProjectsPastDueByManagerIdStat } from '../models/ProjectsPastDueByManagerIdStat';\nimport type { ProjectStat } from '../models/ProjectStat';\nimport type { QaProjectStat } from '../models/QaProjectStat';\nimport type { StatProjectType } from '../models/StatProjectType';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class StatisticsService {\n\n /**\n * Fetches project count by project manager\n * @returns ProjectStat Returns statistics data\n * @throws ApiError\n */\n public static getStatisticsByType({\n projectType,\n }: {\n /** Type of project **/\n projectType: StatProjectType,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/projectStats/${projectType}`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches quote count by project coordinator\n * @returns FohProjectStat Returns statistics data\n * @throws ApiError\n */\n public static getFohPcStatisticsByType({\n quoteType,\n }: {\n /** Type of quote **/\n quoteType: FohQuoteType,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/quoteStats/${quoteType}`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches pending review quotes count by project coordinator.\n * @returns FohPendingReviewQuoteStat Returns statistics data\n * @throws ApiError\n */\n public static getFohPendingStatistics(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/fohPendingReviewStats`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches current quote count by project coordinator.\n * @returns FohProjectStat Returns statistics data\n * @throws ApiError\n */\n public static getFohCurrentStatistics(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/fohCurrentProjectStats`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches completed quote count by project coordinator.\n * @returns FohProjectStat Returns statistics data\n * @throws ApiError\n */\n public static getFohCompletedStatistics(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/fohCompletedProjectStats`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches QA stats for all QA specialist\n * @returns QaProjectStat Returns statistics data\n * @throws ApiError\n */\n public static getQaStats(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/qaStats`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches projects for QA specialist by Id\n * @returns ProjectsByQaSpecialistIdStat Returns statistics data\n * @throws ApiError\n */\n public static getQaSpecialistStatisticsById({\n id,\n }: {\n /** ID of QA specialist **/\n id: string,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/qaSpecialistStats/${id}`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches projects for project manager by Id\n * @returns ProjectsByManagerIdStat Returns statistics data\n * @throws ApiError\n */\n public static getStatisticsById({\n id,\n }: {\n /** ID of project manager **/\n id: string,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/projectManagerStats/${id}`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches current projects for project coordinator by Id\n * @returns FohProjectsByIdStat Returns statistics data\n * @throws ApiError\n */\n public static getProjectCoordinatorCurrentStatisticsById({\n id,\n }: {\n /** ID of project coordinator **/\n id: string,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/projectCoordinatorCurrentStats/${id}`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches current Unassigned projects\n * @returns FohProjectsByIdStat Returns statistics data\n * @throws ApiError\n */\n public static getProjectCoordinatorCurrentUnassignedStatistics(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/projectCoordinatorCurrentUnassignedStats`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches completed projects for project coordinator by Id\n * @returns FohProjectsByIdStat Returns statistics data\n * @throws ApiError\n */\n public static getProjectCoordinatorCompletedStatisticsById({\n id,\n }: {\n /** ID of project coordinator **/\n id: string,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/projectCoordinatorCompletedStats/${id}`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches past due projects for project manager by Id\n * @returns ProjectsPastDueByManagerIdStat Returns statistics data\n * @throws ApiError\n */\n public static getPastDueStatisticsById({\n id,\n }: {\n /** ID of project manager **/\n id: string,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/statsPastDue/${id}`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Fetches due today projects for project manager by Id\n * @returns ProjectsPastDueByManagerIdStat Returns statistics data\n * @throws ApiError\n */\n public static getDueTodayStatisticsById({\n id,\n }: {\n /** ID of project manager **/\n id: string,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/statistics/statsDueToday/${id}`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { TradeCentricInitializeLogInRequest } from '../models/TradeCentricInitializeLogInRequest';\nimport type { TradeCentricInitializeLogInResponse } from '../models/TradeCentricInitializeLogInResponse';\nimport type { TradeCentricPunchOutRequest } from '../models/TradeCentricPunchOutRequest';\nimport type { TradeCentricStartUrl } from '../models/TradeCentricStartUrl';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class TradeCentricService {\n\n /**\n * Processes a PunchOut request from TradeCentric\n * This request contains all necessary data for the supplier to (1) search its database for an existing customer account; (2) if the account does not exist, auto-provision it; (3) generate a new session for this user; and (4) respond with a tokenized URL to which the user's browser will be redirected.\n * @returns TradeCentricStartUrl customer account exists for this user; user may be redirected to the provided URL to begin their PunchOut session\n * @throws ApiError\n */\n public static createPunchOutRequest({\n requestBody,\n }: {\n requestBody?: TradeCentricPunchOutRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/tradeCentric/punchout`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `some error occurred while attempting to authenticate or auto-provision this customer account; redirect the user to an appropriate user-friendly error page on the supplier's storefront`,\n },\n });\n }\n\n /**\n * Returns everything necessary to sing user in and redirect to a needed page based on punch out request ID.\n * @returns TradeCentricInitializeLogInResponse successful authentication response\n * @throws ApiError\n */\n public static initializeLogIn({\n requestBody,\n }: {\n requestBody?: TradeCentricInitializeLogInRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/tradeCentric/punchout/actions/initializeLogIn`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `some error occurred while attempting to authenticate`,\n },\n });\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { AssignClientRequest } from '../models/AssignClientRequest';\nimport type { CreateUserAccount } from '../models/CreateUserAccount';\nimport type { EmailConfirmation } from '../models/EmailConfirmation';\nimport type { LanguageGroup } from '../models/LanguageGroup';\nimport type { LanguageGroupScope } from '../models/LanguageGroupScope';\nimport type { LinkedClient } from '../models/LinkedClient';\nimport type { SendEmailVerificationRequest } from '../models/SendEmailVerificationRequest';\nimport type { UserAccount } from '../models/UserAccount';\nimport type { ValidateEmailVerificationCodeRequest } from '../models/ValidateEmailVerificationCodeRequest';\nimport type { ValidateEmailVerificationCodeResponse } from '../models/ValidateEmailVerificationCodeResponse';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class UserAccountsService {\n\n /**\n * Fetches user account information for current principal\n * @returns UserAccount A 200 response.\n * @throws ApiError\n */\n public static getUserAccount(): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/userAccount`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Creates a new user account\n * @returns UserAccount A 200 response.\n * @throws ApiError\n */\n public static creatUserAccount({\n requestBody,\n }: {\n /** New user account payload **/\n requestBody?: CreateUserAccount,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/userAccount`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `bad input parameter`,\n 403: `Forbidden`,\n },\n });\n }\n\n /**\n * Confirms user account's email address\n * @returns void\n * @throws ApiError\n */\n public static confirmEmail({\n requestBody,\n }: {\n /** New user account payload **/\n requestBody?: EmailConfirmation,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/userAccount/actions/confirmEmail`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `confirmation failed`,\n },\n });\n }\n\n /**\n * Assigns a client to a client contact account\n * @returns void\n * @throws ApiError\n */\n public static assignClient({\n requestBody,\n }: {\n requestBody?: AssignClientRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/userAccount/actions/assignClient`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `invalid parameter`,\n },\n });\n }\n\n /**\n * Send email verification code request\n * @returns void\n * @throws ApiError\n */\n public static sendEmailVerificationCode({\n requestBody,\n }: {\n requestBody?: SendEmailVerificationRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/userAccount/actions/sendEmailVerificationCode`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `invalid parameter`,\n },\n });\n }\n\n /**\n * Validate email verification code\n * @returns ValidateEmailVerificationCodeResponse Successful operation.\n * @throws ApiError\n */\n public static validateEmailVerificationCode({\n requestBody,\n }: {\n requestBody?: ValidateEmailVerificationCodeRequest,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/userAccounts/actions/validateEmailVerificationCode`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n /**\n * Returns user account's language groups\n * @returns LanguageGroup A successful response.\n * @throws ApiError\n */\n public static listLanguageGroups(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/userAccount/languageGroups`,\n errors: {\n 400: `bad input parameter`,\n },\n });\n }\n\n /**\n * Stores language groups belonging to a scope. Overwrites existing groups.\n * @returns LanguageGroup A successful response.\n * @throws ApiError\n */\n public static storeLanguageGroups({\n groupScope,\n requestBody,\n }: {\n /** Language group scope **/\n groupScope: LanguageGroupScope,\n requestBody?: Array,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/userAccount/languageGroups/${groupScope}`,\n body: requestBody,\n mediaType: 'application/json',\n errors: {\n 400: `Bad input parameter`,\n },\n });\n }\n\n /**\n * Returns an array of linked clients for a client contact\n * @returns LinkedClient A successful response.\n * @throws ApiError\n */\n public static listLinkedClients(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/userAccount/linkedClients`,\n });\n }\n\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { Country } from '../models/Country';\nimport type { GetXl8DubbingVoicesResponse } from '../models/GetXl8DubbingVoicesResponse';\nimport type { Language } from '../models/Language';\nimport type { LltsLanguage } from '../models/LltsLanguage';\nimport type { LogMessage } from '../models/LogMessage';\nimport type { PresignedPost } from '../models/PresignedPost';\nimport type { Province } from '../models/Province';\nimport type { Xl8LanguageCombinations } from '../models/Xl8LanguageCombinations';\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { request as __request } from '../core/request';\n\nexport class UtilsService {\n\n /**\n * Returns a list of languages available in XTRF\n * @returns Language Returns a list of all languages\n * @throws ApiError\n */\n public static listLanguages(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/languages`,\n });\n }\n\n /**\n * Returns a list of languages available in LLTS\n * @returns LltsLanguage Returns a list of Llts languages\n * @throws ApiError\n */\n public static listLltsLanguages({\n xtrfIdExists,\n intentoIdExists,\n smartMateIdExists,\n azureIdExists,\n xl8FileTranslationIdExists,\n xl8SyncIdExists,\n xl8DubbingIdExists,\n }: {\n /** is Xtrf mapping configured **/\n xtrfIdExists?: boolean,\n /** is Intento mapping configured **/\n intentoIdExists?: boolean,\n /** is SmartMate mapping configured **/\n smartMateIdExists?: boolean,\n /** is Azure Translator mapping configured **/\n azureIdExists?: boolean,\n /** is XL8 File Translation mapping configured **/\n xl8FileTranslationIdExists?: boolean,\n /** is XL8 Sync mapping configured **/\n xl8SyncIdExists?: boolean,\n /** is XL8 Dubbing mapping configured **/\n xl8DubbingIdExists?: boolean,\n }): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/lltsLanguages`,\n query: {\n 'xtrfIdExists': xtrfIdExists,\n 'intentoIdExists': intentoIdExists,\n 'smartMateIdExists': smartMateIdExists,\n 'azureIdExists': azureIdExists,\n 'xl8FileTranslationIdExists': xl8FileTranslationIdExists,\n 'xl8SyncIdExists': xl8SyncIdExists,\n 'xl8DubbingIdExists': xl8DubbingIdExists,\n },\n });\n }\n\n /**\n * Returns a list of countries available in XTRF\n * @returns Country Returns a list of countries\n * @throws ApiError\n */\n public static listCountries(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/countries`,\n });\n }\n\n /**\n * Returns a list of provinces available in XTRF\n * @returns Province Returns a list of provinces\n * @throws ApiError\n */\n public static listProvinces(): CancelablePromise> {\n return __request({\n method: 'GET',\n path: `/provinces`,\n });\n }\n\n /**\n * Returns a map where a key is a XL8 translation language code and value is an array of XL8 trans language codes\n * @returns Xl8LanguageCombinations A map where a key is a XL8 translation language code and value is an array of XL8 trans language codes\n * @throws ApiError\n */\n public static getXl8FileTranslationLanguageCombinations({\n sourceLanguageId,\n }: {\n /** XL8 file translation code of the source language **/\n sourceLanguageId?: string,\n }): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/xl8/fileTranslation/languageCombinations`,\n query: {\n 'sourceLanguageId': sourceLanguageId,\n },\n });\n }\n\n /**\n * Returns a map where a key is a XL8 dubbing language code and value is an array of voices\n * @returns GetXl8DubbingVoicesResponse A map where a key is a XL8 dubbing language code and value is an array of voices\n * @throws ApiError\n */\n public static getXl8DubbingVoices(): CancelablePromise {\n return __request({\n method: 'GET',\n path: `/xl8/dubbing/dubbingVoices`,\n });\n }\n\n /**\n * Creates a log record in CloudWatch. Intended for logging UI event on the server.\n * @returns any Successfully accepted request.\n * @throws ApiError\n */\n public static logUiMessage({\n requestBody,\n }: {\n /** log message **/\n requestBody?: LogMessage,\n }): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/uiLogs`,\n body: requestBody,\n mediaType: 'application/json',\n });\n }\n\n /**\n * Creates a presigned URL for uploading files to temp S3 bucket\n * @returns PresignedPost successful operation\n * @throws ApiError\n */\n public static createTempFileUploadPresignedPost(): CancelablePromise {\n return __request({\n method: 'POST',\n path: `/tempFiles/actions/createPresignedPost`,\n });\n }\n\n}","export const DEFAULT_COUNTRY_CODE = \"227\"; // USA\n\nexport const SUPPORTED_APPS = [\n \"createProject\",\n \"xtrfDashboard\",\n \"invoices\",\n \"llsInterpretingService\",\n \"languageLineConnect\",\n \"websiteProxy\",\n \"connector\",\n \"machineTranslation\",\n \"quickTranslation\",\n \"consoleHelp\",\n \"reports\",\n \"coupa\"\n];\n\nexport const USER_SESSION_OVERRIDE_SESSION_STORAGE_KEY = \"llts.portal.user_session_override\";\n\nexport const COUPA_REQUEST_ID_SESSION_STORAGE_KEY = \"llts.portal.coupa_request_id\";\n","import { Hub } from \"aws-amplify\";\nimport { HubCapsule } from \"@aws-amplify/core\";\nimport { Auth, CognitoUser } from \"@aws-amplify/auth\";\nimport { Store } from \"redux\";\nimport { amplifyLogger } from \"./AmplifyLogger\";\nimport { setInitialPagePath, signIn } from \"./store/userSession/userSessionActions\";\nimport { CustomOAuthState } from \"./types/CustomOAuthState\";\nimport { LocalStorageUtils } from \"./utils/LocalStorageUtils\";\nimport { UserGroup } from \"./gen/clients/llts\";\nimport { USER_SESSION_OVERRIDE_SESSION_STORAGE_KEY } from \"./utils/constants\";\n\nconst COUPA_USERS_GROUP_NAME = \"CoupaUser\";\n\nexport class AuthEventListener {\n public static async init(store: Store): Promise {\n const listener = (data: HubCapsule) => {\n switch (data.payload.event) {\n case \"signIn\":\n {\n amplifyLogger.info(\"user signed in\");\n const user: CognitoUser = data.payload.data;\n const username = user.getUsername();\n const email = this.getEmail(user);\n const userGroups = this.getUserGroups(user);\n const isFederatedSsoAccount = this.isFederatedSsoAccount(user, userGroups);\n const firstName = this.getFirstName(user);\n const lastName = this.getLastName(user);\n const externalGroups = this.getExternalGroups(user);\n store.dispatch(\n signIn(username, email || \"\", userGroups, isFederatedSsoAccount, firstName, lastName, externalGroups)\n );\n // Clear session timestamp when a new session starts.\n LocalStorageUtils.storeSessionTimestamp(null);\n }\n break;\n case \"signUp\":\n amplifyLogger.info(\"user signed up\");\n break;\n case \"signOut\":\n window.sessionStorage.removeItem(USER_SESSION_OVERRIDE_SESSION_STORAGE_KEY);\n window.location.href = \"/\";\n break;\n case \"oAuthSignOut\":\n window.sessionStorage.removeItem(USER_SESSION_OVERRIDE_SESSION_STORAGE_KEY);\n amplifyLogger.info(\"user signed out\");\n break;\n case \"signIn_failure\":\n amplifyLogger.error(\"user sign in failed\");\n break;\n case \"tokenRefresh\":\n amplifyLogger.info(\"token refresh succeeded\");\n break;\n case \"tokenRefresh_failure\":\n amplifyLogger.error(\"token refresh failed\");\n break;\n case \"configured\":\n amplifyLogger.info(\"the Auth module is configured\");\n break;\n case \"customOAuthState\": {\n const stateData = data.payload.data;\n if (stateData) {\n const customOAuthState: CustomOAuthState = JSON.parse(stateData);\n if (customOAuthState.initialPagePath) {\n store.dispatch(setInitialPagePath(customOAuthState.initialPagePath));\n }\n }\n break;\n }\n default: {\n // do nothing\n }\n }\n };\n\n Hub.listen(\"auth\", listener);\n\n try {\n const user: CognitoUser = await Auth.currentAuthenticatedUser();\n if (user) {\n const userGroups = this.getUserGroups(user);\n const email = this.getEmail(user);\n const isFederatedSsoAccount = this.isFederatedSsoAccount(user, userGroups);\n const firstName = this.getFirstName(user);\n const lastName = this.getLastName(user);\n const externalGroups = this.getExternalGroups(user);\n store.dispatch(\n signIn(\n user.getUsername(),\n email || \"\",\n userGroups,\n isFederatedSsoAccount,\n firstName,\n lastName,\n externalGroups\n )\n );\n }\n } catch (e) {\n amplifyLogger.info(\"User is not authenticated.\", e);\n }\n }\n\n private static getUserGroups(user: CognitoUser): (UserGroup | string)[] {\n const signInUserSession = user.getSignInUserSession();\n if (signInUserSession) {\n // If the user is authenticated using a 3-rd party identity provider, then assume it is a client employee.\n const decodedIdToken = signInUserSession.getIdToken().decodePayload();\n if (decodedIdToken.identities?.length > 0) {\n return [UserGroup.CLIENT_EMPLOYEE];\n }\n return decodedIdToken[\"cognito:groups\"] || [];\n }\n return [];\n }\n\n private static getExternalGroups(user: CognitoUser): string[] | undefined {\n const signInUserSession = user.getSignInUserSession();\n if (signInUserSession) {\n const decodedIdToken = signInUserSession.getIdToken().decodePayload();\n const externalGroupsStr = decodedIdToken[\"custom:externalGroups\"] as string | undefined;\n if (externalGroupsStr) {\n return externalGroupsStr.split(\",\").map(group => group.trim());\n }\n }\n return undefined;\n }\n\n private static getEmail(user: CognitoUser): string | undefined {\n const signInUserSession = user.getSignInUserSession();\n const email = signInUserSession?.getIdToken().decodePayload().email;\n if (!email) {\n amplifyLogger.error(\"Email is not provided.\");\n }\n return email;\n }\n\n private static isFederatedSsoAccount(user: CognitoUser, userGroups: (UserGroup | string)[] = []): boolean {\n const signInUserSession = user.getSignInUserSession();\n const decodedIdToken = signInUserSession?.getIdToken().decodePayload();\n return decodedIdToken?.identities?.length > 0 || userGroups.includes(COUPA_USERS_GROUP_NAME);\n }\n\n private static getFirstName(user: CognitoUser): string | undefined {\n const signInUserSession = user.getSignInUserSession();\n const firstName = signInUserSession?.getIdToken().decodePayload().given_name;\n if (!firstName) {\n window.console.log(\"given_name not found\");\n }\n return firstName;\n }\n\n private static getLastName(user: CognitoUser): string | undefined {\n const signInUserSession = user.getSignInUserSession();\n const lastName = signInUserSession?.getIdToken().decodePayload().family_name;\n if (!lastName) {\n window.console.log(\"family_name not found\");\n }\n return lastName;\n }\n}\n\nexport default AuthEventListener;\n","import { UserSessionActions, UserSessionActionType, UserSessionState } from \"./types\";\n\nconst initialState: UserSessionState = {\n username: undefined,\n roles: undefined,\n email: undefined,\n firstName: undefined,\n lastName: undefined,\n initialPagePath: undefined,\n isFederatedSsoAccount: undefined,\n externalGroups: undefined\n};\n\nconst userSessionReducer = (state = initialState, action: UserSessionActions): UserSessionState => {\n switch (action.type) {\n case UserSessionActionType.SIGN_IN:\n return {\n ...state,\n username: action.username,\n email: action.email,\n roles: action.roles,\n isFederatedSsoAccount: action.isFederatedSsoAccount,\n firstName: action.firstName,\n lastName: action.lastName,\n externalGroups: action.externalGroups\n };\n case UserSessionActionType.SIGN_OUT:\n return {\n ...state,\n username: undefined,\n email: undefined,\n roles: undefined,\n isFederatedSsoAccount: undefined,\n firstName: undefined,\n lastName: undefined,\n externalGroups: undefined\n };\n case UserSessionActionType.SET_INITIAL_PAGE_PATH:\n return {\n ...state,\n initialPagePath: action.initialPagePath\n };\n default:\n return state;\n }\n};\n\nexport default userSessionReducer;\n","/* eslint-disable no-console,@typescript-eslint/explicit-module-boundary-types,@typescript-eslint/no-explicit-any */\nimport config from \"./config\";\n\nconst DEFAULT_NAMESPACE = config.defaults.namespace;\n\nconst getDate = () => new Date().toISOString();\n\nconst info = (message: any, namespace?: string) => {\n if (typeof message === \"string\") {\n console.log(`[${getDate()}] [${namespace || DEFAULT_NAMESPACE}] [INFO] ${message}`);\n } else {\n console.log(`[${getDate()}] [${namespace || DEFAULT_NAMESPACE}] [INFO]`, message);\n }\n};\n\nconst warn = (message: any, namespace?: string) => {\n if (typeof message === \"string\") {\n console.log(`[${getDate()}] [${namespace || DEFAULT_NAMESPACE}] [WARN] ${message}`);\n } else {\n console.log(`[${getDate()}] [${namespace || DEFAULT_NAMESPACE}] [WARN]`, message);\n }\n};\n\nconst error = (message: any, namespace?: string) => {\n if (typeof message === \"string\") {\n console.log(`[${getDate()}] [${namespace || DEFAULT_NAMESPACE}] [ERROR] ${message}`);\n } else {\n console.log(`[${getDate()}] [${namespace || DEFAULT_NAMESPACE}] [ERROR]`, message);\n }\n};\n\nconst logging = {\n info,\n warn,\n error\n};\n\nexport default logging;\n","const config = {\n defaults: {\n namespace: \"Application\"\n }\n};\n\nexport default config;\n","import * as React from \"react\";\n\n/**\n * Hook simplifying state management of dialogs and panels.\n * @param initialState\n */\nexport const useDialogState = (initialState = false): [boolean, () => void, () => void] => {\n const [isOpen, setIsOpen] = React.useState(initialState);\n\n const open = React.useCallback(() => {\n setIsOpen(true);\n }, []);\n\n const close = React.useCallback(() => {\n setIsOpen(false);\n }, []);\n\n return [isOpen, open, close];\n};\n","import { useSelector } from \"react-redux\";\nimport { ApplicationState } from \"../store/store\";\nimport { UserSessionState } from \"../store/userSession/types\";\n\n/**\n * Helper hook for getting current user session information.\n */\nexport const useUserSession = (): UserSessionState => {\n const { userSession } = useSelector((state: ApplicationState) => ({\n userSession: state.userSession\n }));\n return userSession;\n};\n","import { useSessionStorage } from \"usehooks-ts\";\nimport React, { Dispatch, SetStateAction } from \"react\";\nimport { USER_SESSION_OVERRIDE_SESSION_STORAGE_KEY } from \"../utils/constants\";\nimport { UserGroup } from \"../gen/clients/llts\";\n\nexport interface UserSessionOverride {\n username: string;\n email?: string;\n roles?: UserGroup[];\n}\n\ntype UseUserSessionOverrideType = [\n UserSessionOverride | undefined,\n Dispatch>,\n () => void\n];\n\n/**\n * Retrieves the user session override value from session storage and provides functions to manipulate it.\n */\nexport const useUserSessionOverride = (): UseUserSessionOverrideType => {\n const [userSessionOverride, setUserSessionOverride] = useSessionStorage(\n USER_SESSION_OVERRIDE_SESSION_STORAGE_KEY,\n undefined\n );\n\n const clearUserSessionOverride = React.useCallback(() => {\n setUserSessionOverride(undefined);\n window.sessionStorage.removeItem(USER_SESSION_OVERRIDE_SESSION_STORAGE_KEY);\n }, [setUserSessionOverride]);\n return [userSessionOverride, setUserSessionOverride, clearUserSessionOverride];\n};\n","import * as React from \"react\";\nimport { LoadingButton as MuiLoadingButton } from \"@mui/lab\";\nimport { ButtonProps } from \"@mui/material\";\n\ninterface Props extends ButtonProps {\n isLoading: boolean;\n}\n\nconst LoadingButton: React.FC = ({\n isLoading,\n variant = \"contained\",\n color = \"primary\",\n type = \"submit\",\n children,\n ...other\n}) => (\n }\n sx={{ px: 5 }}\n {...other}\n >\n {children}\n \n);\n\nexport { LoadingButton };\n","import * as React from \"react\";\nimport { Field } from \"formik\";\nimport { TextField } from \"formik-mui\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface Props {\n name: string;\n label?: string;\n placeholder?: string;\n required?: boolean;\n disabled?: boolean;\n type?: string;\n multiline?: boolean;\n rows?: number;\n maxRows?: number;\n helperText?: string;\n validationRegex?: string;\n validationMessage?: string;\n variant?: \"outlined\" | \"filled\" | \"standard\";\n maxLength?: number;\n autoComplete?: string;\n}\n\nconst TextInputField: React.FC = ({\n name,\n label,\n placeholder,\n required,\n disabled,\n helperText,\n multiline,\n rows,\n maxRows,\n type,\n validationRegex,\n validationMessage,\n variant = \"standard\",\n maxLength,\n autoComplete\n}) => {\n const { t } = useTranslation();\n const validate = React.useCallback(\n (value: string | undefined) => {\n if (required && !value) {\n return t(\"common.validation.required\");\n }\n if (validationRegex && value && !value.match(new RegExp(validationRegex))) {\n return validationMessage || \"Invalid format\";\n }\n return undefined;\n },\n [required, validationRegex, t, validationMessage]\n );\n return (\n \n );\n};\nexport { TextInputField };\n","import * as React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport { ApiError } from \"../../gen/clients/llts\";\n\ninterface Props {\n apiError: unknown;\n}\n\nconst parseApiErrorMessage = (apiError: unknown, unexpectedErrorMessage: string): string => {\n if (apiError instanceof ApiError) {\n if (apiError.body?.message) {\n return apiError.body?.errorCode\n ? `${apiError.body?.message} [Error code: ${apiError.body?.errorCode}]`\n : apiError.body?.message;\n }\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return apiError?.message || unexpectedErrorMessage;\n};\n\nconst ApiErrorMessage: React.FC = ({ apiError }) => {\n const { t } = useTranslation();\n\n return {parseApiErrorMessage(apiError, t(\"common.unexpectedError\"))};\n};\n\nexport { ApiErrorMessage, parseApiErrorMessage };\n","import * as React from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport Button from \"@mui/material/Button\";\nimport Stack from \"@mui/material/Stack\";\nimport { Form, Formik } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\nimport { useQuery } from \"react-query\";\nimport { useUserSessionOverride } from \"hooks/useUserSessionOverride\";\nimport { LoadingButton } from \"../../../LoadingButton/LoadingButton\";\nimport { TextInputField } from \"../../../formikFields/TextInputField/TextInputField\";\nimport { signIn } from \"../../../../store/userSession/userSessionActions\";\nimport { UserAccountsService } from \"../../../../gen/clients/llts\";\nimport { ApiErrorMessage } from \"../../../ApiErrorMessage/ApiErrorMessage\";\n\ninterface Props {\n onClose: () => void;\n onSuccess: () => void;\n}\n\nconst ImpersonateUserDialog: React.FC = ({ onClose, onSuccess }) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [userSessionOverride, setUserSessionOverride, clearUserSessionOverride] = useUserSessionOverride();\n\n const {\n data: overrideUserAccount,\n isLoading,\n error\n } = useQuery(\"getImpersonatedUser\", {\n enabled: !!userSessionOverride,\n queryFn: UserAccountsService.getUserAccount,\n cacheTime: 0\n });\n\n const onDialogClose = React.useCallback(\n (event, reason) => {\n if (reason !== \"backdropClick\") {\n onClose();\n }\n },\n [onClose]\n );\n\n const onSubmit = React.useCallback(\n async values => {\n const usernameOverride: string = values.usernameOverride;\n setUserSessionOverride({ username: usernameOverride });\n },\n [setUserSessionOverride]\n );\n\n React.useEffect(() => {\n if (!overrideUserAccount) {\n return;\n }\n dispatch(\n signIn(\n overrideUserAccount.loginName,\n overrideUserAccount.email,\n overrideUserAccount.roles,\n undefined,\n undefined,\n undefined\n )\n );\n setUserSessionOverride({\n username: overrideUserAccount.loginName,\n email: overrideUserAccount.email,\n roles: overrideUserAccount.roles\n });\n onSuccess();\n }, [dispatch, onSuccess, overrideUserAccount, setUserSessionOverride]);\n\n React.useEffect(() => {\n if (error) {\n clearUserSessionOverride();\n }\n }, [clearUserSessionOverride, error]);\n\n return (\n \n {t(\"appHeader.userMenu.impersonateUser.title\")}\n \n
\n \n \n {error && }\n \n \n \n\n \n {t(\"appHeader.userMenu.impersonateUser.submit\")}\n \n \n
\n \n
\n );\n};\n\nexport { ImpersonateUserDialog };\n","import * as React from \"react\";\nimport { Box, IconButton, Toolbar, Typography } from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface Props {\n title: string;\n onClose: () => void;\n}\n\nconst DrawerHeader: React.FC = ({ title, onClose }) => (\n \n {title}\n \n \n \n \n \n);\n\nexport { DrawerHeader };\n","import * as React from \"react\";\nimport { Box, CircularProgress, Container, CssBaseline } from \"@mui/material\";\n\nconst LoadingPage: React.FC = () => (\n
\n \n \n \n \n \n \n
\n);\n\nexport { LoadingPage };\n","import * as React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { LoadingPage } from \"../LoadingPage/LoadingPage\";\nimport { ApiErrorMessage } from \"../ApiErrorMessage/ApiErrorMessage\";\n\ninterface Props {\n children: React.ReactNode;\n isLoading?: boolean;\n error?: any;\n}\n\nconst DrawerBody: React.FC = ({ isLoading, error, children }) => {\n if (isLoading) {\n return (\n \n \n \n );\n }\n\n if (error) {\n return (\n \n \n \n );\n }\n\n return {children};\n};\n\nexport { DrawerBody };\n","import * as React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport { parseApiErrorMessage } from \"../ApiErrorMessage/ApiErrorMessage\";\n\ninterface Props {\n apiError: unknown;\n}\n\nconst ErrorPage: React.FC = ({ apiError }) => {\n const { t } = useTranslation();\n return (\n \n

{t(\"common.errorTitle\")}

\n

{parseApiErrorMessage(apiError, t(\"common.unexpectedError\"))}

\n
\n );\n};\n\nexport { ErrorPage };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from \"react\";\nimport Box from \"@mui/material/Box\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Menu from \"@mui/material/Menu\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Paper from \"@mui/material/Paper\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TableRow from \"@mui/material/TableRow\";\nimport MoreVertIcon from \"@mui/icons-material/MoreVert\";\nimport Divider from \"@mui/material/Divider\";\nimport { DataTableColumn, DataTableRowAction } from \"./types\";\n\ninterface Props {\n columns: DataTableColumn[];\n data: any[];\n rowKey: (row: any) => string;\n isLoading?: boolean;\n error?: React.ReactNode;\n rowActions?: DataTableRowAction[] | ((row: any, index: number) => DataTableRowAction[]);\n onRowClick?: (row: any, rowIndex: number) => void;\n dense?: boolean;\n noData?: React.ReactNode;\n onSelectRows?: (rows: any[]) => void;\n elevation?: number;\n}\n\nconst DataTable: React.FC = ({\n data,\n columns,\n rowKey,\n isLoading,\n error,\n rowActions,\n onRowClick,\n dense,\n noData = \"No data\",\n onSelectRows,\n elevation\n}) => {\n const [selectedRow, setSelectedRow] = React.useState();\n const [selectedRowIndex, setSelectedRowIndex] = React.useState();\n const [rowActionMenuAnchorEl, setRowActionMenuAnchorEl] = React.useState(null);\n const [checkedRows, setCheckedRows] = React.useState([]);\n\n React.useEffect(() => {\n setCheckedRows([]);\n if (onSelectRows) {\n onSelectRows([]);\n }\n }, [data, onSelectRows]);\n\n const onTableRowClick = React.useCallback(\n (row: any, index: number) => {\n setSelectedRow(row);\n setSelectedRowIndex(index);\n if (onRowClick) {\n onRowClick(row, index);\n }\n },\n [setSelectedRow, onRowClick]\n );\n\n const onRowActionMenuClick = React.useCallback(\n (event: React.MouseEvent, row: any, rowIndex) => {\n setRowActionMenuAnchorEl(event.currentTarget);\n setSelectedRow(row);\n setSelectedRowIndex(rowIndex);\n event.stopPropagation();\n },\n [setRowActionMenuAnchorEl, setSelectedRow, setSelectedRowIndex]\n );\n\n const closeRowActionMenu = () => {\n setRowActionMenuAnchorEl(null);\n };\n\n const onRowActionClick = React.useCallback(\n (rowAction: DataTableRowAction) => {\n if (rowAction.action) {\n rowAction.action(selectedRow, selectedRowIndex ?? -1);\n }\n closeRowActionMenu();\n },\n [selectedRow, selectedRowIndex]\n );\n\n const onSelectAllClick = React.useCallback(\n (event: React.ChangeEvent) => {\n let selectedRows;\n if (event.target.checked) {\n selectedRows = data;\n } else {\n selectedRows = [];\n }\n setCheckedRows(selectedRows);\n if (onSelectRows) {\n onSelectRows(selectedRows);\n }\n },\n [data, onSelectRows]\n );\n\n const onChangeRowCheck = React.useCallback(\n (event: React.ChangeEvent, row: any) => {\n let selectedRows = [...checkedRows];\n if (event.target.checked) {\n selectedRows.push(row);\n } else {\n selectedRows = selectedRows.filter(r => r !== row);\n }\n setCheckedRows(selectedRows);\n if (onSelectRows) {\n onSelectRows(selectedRows);\n }\n },\n [checkedRows, onSelectRows]\n );\n\n return (\n <>\n \n \n \n \n {onSelectRows && (\n \n 0 && checkedRows.length < data.length}\n checked={data.length > 0 && checkedRows.length === data.length}\n onChange={onSelectAllClick}\n />\n \n )}\n {columns.map(column => (\n {column.title}\n ))}\n {rowActions && }\n \n \n \n {isLoading && (\n \n \n \n \n \n \n \n )}\n {error && (\n \n {error}\n \n )}\n {!isLoading && !error && data.length === 0 && (\n \n {noData}\n \n )}\n {!isLoading &&\n !error &&\n data.length > 0 &&\n data.map((row, index) => (\n onTableRowClick(row, index)}\n hover={!!onRowClick}\n sx={{ cursor: onRowClick ? \"pointer\" : undefined }}\n >\n {onSelectRows && (\n \n onChangeRowCheck(event, row)}\n onClick={e => e.stopPropagation()}\n />\n \n )}\n {columns.map(column => (\n {column.cell(row)}\n ))}\n {rowActions && (\n \n onRowActionMenuClick(event, row, index)}>\n \n \n \n )}\n \n ))}\n \n
\n
\n {rowActions && selectedRow && selectedRowIndex !== undefined && (\n \n {(typeof rowActions === \"function\" ? rowActions(selectedRow, selectedRowIndex) : rowActions).map(rowAction =>\n rowAction.type === \"DIVIDER\" ? (\n \n ) : (\n onRowActionClick(rowAction)}\n sx={{ color: rowAction.color }}\n disabled={rowAction.disabled}\n >\n {rowAction.title}\n \n )\n )}\n \n )}\n \n );\n};\n\nexport { DataTable };\n","import * as React from \"react\";\nimport { autocompleteClasses } from \"@mui/material/Autocomplete\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport ListSubheader from \"@mui/material/ListSubheader\";\nimport Popper from \"@mui/material/Popper\";\nimport { useTheme, styled } from \"@mui/material/styles\";\nimport { VariableSizeList, ListChildComponentProps } from \"react-window\";\nimport Typography from \"@mui/material/Typography\";\nimport { Checkbox } from \"@mui/material\";\n\nconst LISTBOX_PADDING = 8; // px\n\nfunction renderRow(props: ListChildComponentProps) {\n const { data, index, style } = props;\n const dataSet = data[index];\n const inlineStyle = {\n ...style,\n top: (style.top as number) + LISTBOX_PADDING\n };\n\n // eslint-disable-next-line no-prototype-builtins\n if (dataSet.hasOwnProperty(\"group\")) {\n return (\n \n {dataSet.group}\n \n );\n }\n\n return (\n \n \n {dataSet[1].label}\n \n );\n}\n\nconst OuterElementContext = React.createContext({});\n\nconst OuterElementType = React.forwardRef((props, ref) => {\n const outerProps = React.useContext(OuterElementContext);\n return
;\n});\n\nfunction useResetCache(data: unknown) {\n const ref = React.useRef(null);\n React.useEffect(() => {\n if (ref.current !== null) {\n ref.current.resetAfterIndex(0, true);\n }\n }, [data]);\n return ref;\n}\n\n// Adapter for react-window\nexport const ListboxComponent = React.forwardRef>((props, ref) => {\n const { children, ...other } = props;\n const itemData: React.ReactChild[] = [];\n (children as React.ReactChild[]).forEach((item: React.ReactChild & { children?: React.ReactChild[] }) => {\n itemData.push(item);\n itemData.push(...(item.children || []));\n });\n\n const theme = useTheme();\n const smUp = useMediaQuery(theme.breakpoints.up(\"sm\"), {\n noSsr: true\n });\n const itemCount = itemData.length;\n const itemSize = smUp ? 36 : 48;\n\n const getChildSize = (child: React.ReactChild) => {\n // eslint-disable-next-line no-prototype-builtins\n if (child.hasOwnProperty(\"group\")) {\n return 48;\n }\n\n return itemSize;\n };\n\n const getHeight = () => {\n if (itemCount > 8) {\n return 8 * itemSize;\n }\n return itemData.map(getChildSize).reduce((a, b) => a + b, 0);\n };\n\n const gridRef = useResetCache(itemCount);\n\n return (\n
\n \n getChildSize(itemData[index])}\n overscanCount={5}\n itemCount={itemCount}\n >\n {renderRow}\n \n \n
\n );\n});\n\nexport const StyledPopper = styled(Popper)({\n [`& .${autocompleteClasses.listbox}`]: {\n boxSizing: \"border-box\",\n \"& ul\": {\n padding: 0,\n margin: 0\n }\n }\n});\n","import * as React from \"react\";\nimport { createFilterOptions, FormControl, TextField, TextFieldProps } from \"@mui/material\";\nimport { Field, useFormikContext } from \"formik\";\nimport { Autocomplete, AutocompleteRenderInputParams } from \"formik-mui\";\nimport { useTranslation } from \"react-i18next\";\nimport { SelectOption } from \"@mui/base\";\nimport { ListboxComponent, StyledPopper } from \"./ListBoxComponent\";\n\ninterface LocalProps {\n name: string;\n label: string;\n options: SelectOption[];\n required?: boolean;\n isLoading?: boolean;\n isError?: boolean;\n}\n\ntype Props = TextFieldProps & LocalProps;\n\nconst filterOptions = createFilterOptions({\n matchFrom: \"start\",\n trim: true\n});\n\nconst SelectManyAutocompleteField: React.FC = ({\n name,\n label,\n options,\n required,\n disabled,\n isLoading,\n isError,\n variant = \"standard\",\n ...others\n}) => {\n const { t } = useTranslation();\n const { errors, touched, isSubmitting } = useFormikContext>();\n\n const validate = React.useCallback(\n (value: SelectOption[] | null) =>\n required && (!value || value.length === 0) ? t(\"common.validation.required\") : undefined,\n [required, t]\n );\n\n const isOptionEqualToValue = React.useCallback(\n (option: SelectOption, value: string | SelectOption) => {\n return option === value || option.value === value || option.value === (value as SelectOption).value;\n },\n []\n );\n\n const renderInput = React.useCallback(\n (params: AutocompleteRenderInputParams) => (\n \n ),\n [name, touched, errors, isError, others.helperText, label, variant, required, isSubmitting]\n );\n\n return (\n \n , { selected }: { selected: boolean }) =>\n [props, { selected, label: option.label }] as React.ReactNode\n }\n disabled={disabled || isLoading || isError || isSubmitting}\n required={required}\n validate={validate}\n isOptionEqualToValue={isOptionEqualToValue}\n multiple={true}\n disableCloseOnSelect={true}\n filterOptions={filterOptions}\n />\n \n );\n};\n\nexport { SelectManyAutocompleteField };\n","import * as React from \"react\";\nimport { LoadingPage } from \"../LoadingPage/LoadingPage\";\nimport { ErrorPage } from \"../ErrorPage/ErrorPage\";\nimport { Box } from \"@mui/material\";\n\ninterface Props {\n isLoading?: boolean;\n error?: any;\n children?: React.ReactNode;\n}\n\nconst DialogBody: React.FC = ({ isLoading, error, children }) => {\n if (isLoading) {\n return (\n \n \n \n );\n }\n\n if (error) {\n return ;\n }\n\n return <>{children};\n};\n\nexport { DialogBody };\n","import { SelectOption } from \"@mui/base\";\n\n/**\n * Validates email format.\n * @param email\n * @return true if email is in a valid email format.\n */\nexport function validateEmailFormat(email: string): boolean {\n return !!email.match(\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n );\n}\n\n/**\n * Validates URL format.\n * @param url\n * @return true if URL is in a valid URL format.\n */\nexport function validateURLFormat(url: string): boolean {\n // Regular expression pattern to match URL format\n const urlPattern = /^(?:\\w+:)?\\/\\/([^\\s.]+\\.\\S{2}|localhost[:?\\d]*)\\S*$/;\n // Test the URL against the pattern\n return urlPattern.test(url);\n}\n\n/**\n * Removes illegal characters from a file name and makes it compliant with most systems.\n * @param fileName\n */\nexport function sanitizeFileName(fileName: string): string {\n // Define a regular expression to match illegal characters\n const illegalCharactersRegex = /[#%&{}\\\\<>*?/ $!'\":@+`|=]/g;\n\n // Replace illegal characters with hyphens\n const sanitizedName = fileName.replace(illegalCharactersRegex, \"-\");\n\n // Remove leading and trailing spaces, periods, hyphens, and underscores\n const trimmedName = sanitizedName.replace(/^[ .\\-_]+|[ .\\-_]+$/g, \"\");\n\n // Ensure the filename is under 255 characters (are there any XTRF limit?)\n const limitedName = trimmedName.slice(0, 255);\n\n // // Convert the filename to lowercase\n // const lowercaseName = limitedName.toLowerCase();\n return limitedName;\n}\n\nexport const SELECT_OPTION_COMPARATOR = (o1: SelectOption, o2: SelectOption): number =>\n (o1.label as string).localeCompare(o2.label as string);\n\nexport function formatBytes(bytes: number): string {\n if (bytes === 0) {\n return \"0 Bytes\";\n }\n const k = 1024;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return `${parseFloat((bytes / k ** i).toFixed(2))} ${sizes[i]}`;\n}\n\n/**\n * Checks if a string contains HTML code.\n * @param input\n * @return true if the input contains HTML code.\n */\nexport function containsHTML(input: string): boolean {\n const htmlRegex = /<\\/?[a-z][\\s\\S]*>/i;\n return htmlRegex.test(input);\n}\n","import * as React from \"react\";\nimport { LanguageGroup, LanguageGroupScope, LltsLanguage, UserAccountsService, UtilsService } from \"gen/clients/llts\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport { Form, Formik } from \"formik\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport Stack from \"@mui/material/Stack\";\nimport { TextInputField } from \"components/formikFields/TextInputField/TextInputField\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\nimport Button from \"@mui/material/Button\";\nimport { SelectManyAutocompleteField } from \"components/formikFields/SelectManyAutocompleteField/SelectManyAutocompleteField\";\nimport { useMutation, useQuery } from \"react-query\";\nimport { DialogBody } from \"components/DialogBody/DialogBody\";\nimport { SELECT_OPTION_COMPARATOR } from \"utils/stringUtils\";\nimport { useTranslation } from \"react-i18next\";\nimport { SelectOption } from \"@mui/base\";\nimport { ApiErrorMessage } from \"components/ApiErrorMessage/ApiErrorMessage\";\n\ninterface Props {\n languageGroups: LanguageGroup[];\n languageGroupScope: LanguageGroupScope;\n onClose: () => void;\n onSuccess: () => void;\n}\n\nenum FieldName {\n name = \"name\",\n languages = \"languages\"\n}\n\ninterface FormValues {\n [FieldName.name]: string;\n [FieldName.languages]: SelectOption[];\n}\n\nconst AddLanguageGroupDialog: React.FC = ({ languageGroups, languageGroupScope, onClose, onSuccess }) => {\n const { t } = useTranslation();\n\n const {\n data: languages,\n isLoading: areLanguagesLoading,\n error: languagesError\n } = useQuery([\"listLltsLanguages\"], {\n queryFn: () => UtilsService.listLltsLanguages({})\n });\n\n const { mutateAsync, error: saveError } = useMutation(UserAccountsService.storeLanguageGroups);\n\n const onSubmit = React.useCallback(\n async (values: FormValues) => {\n const selectedLltsLanguages: LltsLanguage[] = values[FieldName.languages]\n .map(l => languages?.find(lang => lang.id === l.value))\n .filter(l => l !== undefined) as LltsLanguage[];\n const newLanguageGroup: LanguageGroup = {\n name: values[FieldName.name],\n scope: languageGroupScope,\n languages: selectedLltsLanguages\n };\n await mutateAsync(\n {\n groupScope: languageGroupScope,\n requestBody: [...languageGroups, newLanguageGroup]\n },\n { onSuccess }\n );\n },\n [languageGroupScope, languageGroups, languages, mutateAsync, onSuccess]\n );\n\n const languageOptions = React.useMemo(\n () => languages?.map(l => ({ label: l.name, value: `${l.id}` })).sort(SELECT_OPTION_COMPARATOR) || [],\n [languages]\n );\n\n return (\n \n {t(\"accountSettings.languageGroups.addDialog.title\")}\n \n \n {({ isSubmitting }) => (\n
\n \n \n \n \n {saveError && }\n \n \n\n \n \n {t(\"accountSettings.languageGroups.addDialog.add\")}\n \n \n \n
\n )}\n \n
\n
\n );\n};\n\nexport { AddLanguageGroupDialog };\n","import * as React from \"react\";\nimport { LanguageGroup, LltsLanguage, UserAccountsService, UtilsService } from \"gen/clients/llts\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport { Form, Formik } from \"formik\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport Stack from \"@mui/material/Stack\";\nimport { TextInputField } from \"components/formikFields/TextInputField/TextInputField\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\nimport Button from \"@mui/material/Button\";\nimport { SelectManyAutocompleteField } from \"components/formikFields/SelectManyAutocompleteField/SelectManyAutocompleteField\";\nimport { useMutation, useQuery } from \"react-query\";\nimport { DialogBody } from \"components/DialogBody/DialogBody\";\nimport { SELECT_OPTION_COMPARATOR } from \"utils/stringUtils\";\nimport { useTranslation } from \"react-i18next\";\nimport { SelectOption } from \"@mui/base\";\nimport { ApiErrorMessage } from \"components/ApiErrorMessage/ApiErrorMessage\";\n\ninterface Props {\n languageGroupIndex: number;\n languageGroups: LanguageGroup[];\n onClose: () => void;\n onSuccess: () => void;\n}\n\nenum FieldName {\n name = \"name\",\n languages = \"languages\"\n}\n\ninterface FormValues {\n [FieldName.name]: string;\n [FieldName.languages]: SelectOption[];\n}\n\nconst EditLanguageGroupDialog: React.FC = ({ languageGroupIndex, languageGroups, onClose, onSuccess }) => {\n const { t } = useTranslation();\n\n const languageGroup = React.useMemo(() => languageGroups[languageGroupIndex], [languageGroupIndex, languageGroups]);\n\n const {\n data: languages,\n isLoading: areLanguagesLoading,\n error: languagesError\n } = useQuery([\"listLltsLanguages\"], {\n queryFn: () => UtilsService.listLltsLanguages({})\n });\n\n const { mutateAsync, error: saveError } = useMutation(UserAccountsService.storeLanguageGroups);\n\n const onSubmit = React.useCallback(\n async (values: FormValues) => {\n const selectedLltsLanguages: LltsLanguage[] = values[FieldName.languages]\n .map(l => languages?.find(lang => lang.id === l.value))\n .filter(l => l !== undefined) as LltsLanguage[];\n const editedLanguageGroup: LanguageGroup = {\n name: values[FieldName.name],\n scope: languageGroup.scope,\n languages: selectedLltsLanguages\n };\n const newLanguageGroups = [...languageGroups];\n newLanguageGroups[languageGroupIndex] = editedLanguageGroup;\n await mutateAsync(\n {\n groupScope: languageGroup.scope,\n requestBody: newLanguageGroups\n },\n { onSuccess }\n );\n },\n [languageGroup.scope, languageGroupIndex, languageGroups, languages, mutateAsync, onSuccess]\n );\n\n const languageOptions = React.useMemo(\n () => languages?.map(l => ({ label: l.name, value: `${l.id}` })).sort(SELECT_OPTION_COMPARATOR) || [],\n [languages]\n );\n\n return (\n \n {t(\"accountSettings.languageGroups.editDialog.title\")}\n \n ({ label: l.name, value: `${l.id}` })) || []\n }}\n onSubmit={onSubmit}\n >\n {({ isSubmitting }) => (\n
\n \n \n \n \n {saveError && }\n \n \n\n \n \n {t(\"accountSettings.languageGroups.editDialog.apply\")}\n \n \n \n
\n )}\n \n
\n
\n );\n};\n\nexport { EditLanguageGroupDialog };\n","import * as React from \"react\";\nimport { Button, Dialog, DialogActions, DialogContent, DialogTitle } from \"@mui/material\";\nimport { LoadingButton } from \"../LoadingButton/LoadingButton\";\nimport Box from \"@mui/material/Box\";\n\ninterface Props {\n title?: React.ReactNode;\n content: React.ReactNode;\n onClose: () => void;\n onConfirm: () => void;\n isLoading?: boolean;\n error?: React.ReactNode;\n}\n\nconst ConfirmationDialog: React.FC = ({ title, content, onConfirm, onClose, isLoading = false, error }) => {\n const onConfirmClick = React.useCallback(() => {\n onConfirm();\n }, [onConfirm]);\n\n return (\n \n {title}\n \n {content}\n {error && {error}}\n \n \n \n OK\n \n \n \n \n );\n};\n\nexport { ConfirmationDialog };\n","import * as React from \"react\";\nimport { LanguageGroup, LanguageGroupScope, UserAccountsService } from \"gen/clients/llts\";\nimport { DataTable } from \"components/DataTable/DataTable\";\nimport { useDialogState } from \"hooks/useDialogState/useDialogState\";\nimport Stack from \"@mui/material/Stack\";\nimport Button from \"@mui/material/Button\";\nimport { AddLanguageGroupDialog } from \"./AddLanguageGroupDialog\";\nimport { EditLanguageGroupDialog } from \"./EditLanguageGroupDialog\";\nimport { ConfirmationDialog } from \"components/ConfirmationDialog/ConfirmationDialog\";\nimport { useMutation } from \"react-query\";\nimport { useTranslation } from \"react-i18next\";\nimport { ApiErrorMessage } from \"components/ApiErrorMessage/ApiErrorMessage\";\n\ninterface Props {\n languageGroups: LanguageGroup[];\n languageGroupScope: LanguageGroupScope;\n viewOnly?: boolean;\n onChange: () => void;\n}\n\nconst LanguageGroupsTable: React.FC = ({ languageGroups, languageGroupScope, viewOnly, onChange }) => {\n const { t } = useTranslation();\n const [selectedLanguageGroup, setSelectedLanguageGroup] = React.useState(null);\n const [selectedLanguageGroupIndex, setSelectedLanguageGroupIndex] = React.useState(-1);\n const [isAddDialogOpen, openAddDialog, closeAddDialog] = useDialogState();\n const [isEditDialogOpen, openEditDialog, closeEditDialog] = useDialogState();\n const [isDeleteDialogOpen, openDeleteDialog, closeDeleteDialog] = useDialogState();\n\n const {\n mutate: storeLanguageGroups,\n isLoading: isStoringLanguageGroups,\n error: storeLanguageGroupsError\n } = useMutation(UserAccountsService.storeLanguageGroups);\n\n const nameCell = React.useCallback((row: LanguageGroup) => {\n return
{row.name}
;\n }, []);\n\n const languagesCell = React.useCallback((row: LanguageGroup) => {\n return (\n
\n {row.languages\n ?.map(l => l.name)\n .sort((a, b) => a.localeCompare(b))\n .join(\", \")}\n
\n );\n }, []);\n\n const onEditClick = React.useCallback(\n (languageGroup: LanguageGroup, index: number) => {\n setSelectedLanguageGroup(languageGroup);\n setSelectedLanguageGroupIndex(index);\n openEditDialog();\n },\n [openEditDialog]\n );\n\n const onDeleteClick = React.useCallback(\n (languageGroup: LanguageGroup, index: number) => {\n setSelectedLanguageGroup(languageGroup);\n setSelectedLanguageGroupIndex(index);\n openDeleteDialog();\n },\n [openDeleteDialog]\n );\n\n const onDeleteConfirm = React.useCallback(() => {\n if (selectedLanguageGroup && selectedLanguageGroupIndex >= 0) {\n storeLanguageGroups(\n {\n groupScope: selectedLanguageGroup.scope,\n requestBody: languageGroups.filter((_, i) => i !== selectedLanguageGroupIndex)\n },\n {\n onSuccess: () => {\n onChange();\n closeDeleteDialog();\n }\n }\n );\n }\n }, [\n selectedLanguageGroup,\n selectedLanguageGroupIndex,\n storeLanguageGroups,\n languageGroups,\n onChange,\n closeDeleteDialog\n ]);\n\n const onAddLanguageGroupSuccess = React.useCallback(() => {\n onChange();\n closeAddDialog();\n }, [onChange, closeAddDialog]);\n\n return (\n <>\n \n {!viewOnly && (\n
\n \n
\n )}\n {t(\"accountSettings.languageGroups.groupName\")},\n cell: nameCell\n },\n {\n id: \"languages\",\n title: {t(\"accountSettings.languageGroups.languages\")},\n cell: languagesCell\n }\n ]}\n data={languageGroups}\n rowKey={(row: LanguageGroup) => row.name}\n rowActions={\n viewOnly\n ? undefined\n : [\n {\n title: t(\"accountSettings.languageGroups.edit\"),\n color: \"primary.main\",\n action: onEditClick\n },\n {\n title: t(\"accountSettings.languageGroups.delete\"),\n color: \"error.main\",\n action: onDeleteClick\n }\n ]\n }\n dense={true}\n elevation={0}\n noData={t(\"accountSettings.languageGroups.noLanguageGroups\")}\n />\n
\n {isAddDialogOpen && (\n \n )}\n {isEditDialogOpen && selectedLanguageGroupIndex >= 0 && (\n \n )}\n {isDeleteDialogOpen && selectedLanguageGroup && selectedLanguageGroupIndex >= 0 && (\n : undefined}\n />\n )}\n \n );\n};\n\nexport { LanguageGroupsTable };\n","import * as React from \"react\";\nimport { useUserSession } from \"hooks/useUserSession\";\nimport { useQuery } from \"react-query\";\nimport { LanguageGroupScope, UserAccountsService, UserGroup } from \"gen/clients/llts\";\nimport { LoadingPage } from \"components/LoadingPage/LoadingPage\";\nimport { ErrorPage } from \"components/ErrorPage/ErrorPage\";\nimport { LanguageGroupsTable } from \"./LanguageGroupsTable\";\nimport Stack from \"@mui/material/Stack\";\nimport Typography from \"@mui/material/Typography\";\nimport Card from \"@mui/material/Card\";\nimport CardContent from \"@mui/material/CardContent\";\nimport { useTranslation } from \"react-i18next\";\n\nconst LanguageGroupsTab: React.FC = () => {\n const { t } = useTranslation();\n const { username, roles } = useUserSession();\n const {\n data: languageGroups,\n isFetching,\n error,\n refetch\n } = useQuery([\"listLanguageGroups\", username], {\n queryFn: UserAccountsService.listLanguageGroups,\n cacheTime: 0\n });\n\n const organizationLanguageGroups = React.useMemo(\n () =>\n languageGroups\n ?.filter(group => group.scope === LanguageGroupScope.ORGANIZATION)\n .sort((a, b) => a.name.localeCompare(b.name)) || [],\n [languageGroups]\n );\n\n const personalLanguageGroups = React.useMemo(\n () =>\n languageGroups\n ?.filter(group => group.scope === LanguageGroupScope.PERSONAL)\n .sort((a, b) => a.name.localeCompare(b.name)) || [],\n [languageGroups]\n );\n\n if (isFetching) {\n return ;\n }\n\n if (error) {\n return ;\n }\n\n return (\n \n \n \n \n {t(\"accountSettings.languageGroups.personalLanguageGroups\")}\n \n \n \n \n {(organizationLanguageGroups.length > 0 || roles?.includes(UserGroup.CLIENT)) && (\n \n \n \n {t(\"accountSettings.languageGroups.organizationWideLanguageGroups\")}\n \n \n \n \n )}\n \n );\n};\n\nexport { LanguageGroupsTab };\n","import * as React from \"react\";\nimport { Box, Typography } from \"@mui/material\";\nimport Stack from \"@mui/material/Stack\";\n\ninterface Props {\n label: string | React.ReactNode;\n value?: string | React.ReactNode;\n verticalAlignment?: \"top\" | \"bottom\" | \"center\";\n}\n\nconst LabelValue: React.FC = ({ label, value, verticalAlignment = \"center\" }) => (\n \n ({ color: theme.palette.grey[\"700\"], fontWeight: 600 })}>{label}:\n {value}\n \n);\n\nexport { LabelValue };\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst PASSWORD_MIN_LENGTH = 8;\nconst MIN_DIGITS = 1;\nconst MIN_UPPER_CASE_LETTERS = 1;\nconst MIN_LOWER_CASE_LETTERS = 1;\n\ninterface UsePasswordValidatorResponse {\n validatePassword: (password: string) => string | undefined;\n}\n\nexport const usePasswordValidator = (): UsePasswordValidatorResponse => {\n const { t } = useTranslation();\n\n const validatePassword = React.useCallback(\n (password: string): string | undefined => {\n if (!password) {\n return t(\"common.validation.required\");\n }\n if (password.length < PASSWORD_MIN_LENGTH) {\n return t(\"common.validation.password.minLength\", { minLength: PASSWORD_MIN_LENGTH });\n }\n if (password.replace(/[^0-9]/g, \"\").length < MIN_DIGITS) {\n return t(\"common.validation.password.minDigits\");\n }\n if (password.replace(/[^A-Z]/g, \"\").length < MIN_UPPER_CASE_LETTERS) {\n return t(\"common.validation.password.minUpperCaseLetters\");\n }\n if (password.replace(/[^a-z]/g, \"\").length < MIN_LOWER_CASE_LETTERS) {\n return t(\"common.validation.password.minLowerCaseLetters\");\n }\n return undefined;\n },\n [t]\n );\n\n return {\n validatePassword\n };\n};\n","import * as React from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport Button from \"@mui/material/Button\";\nimport Stack from \"@mui/material/Stack\";\nimport Box from \"@mui/material/Box\";\nimport { Form, Formik } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { Auth } from \"@aws-amplify/auth\";\nimport { red } from \"@mui/material/colors\";\nimport { LoadingButton } from \"../../../LoadingButton/LoadingButton\";\nimport { TextInputField } from \"../../../formikFields/TextInputField/TextInputField\";\nimport { usePasswordValidator } from \"../../../../hooks/usePasswordValidator/usePasswordValidator\";\n\ninterface Props {\n onClose: () => void;\n onSuccess: () => void;\n}\n\nconst ChangePasswordDialog: React.FC = ({ onClose, onSuccess }) => {\n const { t } = useTranslation();\n const { validatePassword } = usePasswordValidator();\n const [errorMessage, setErrorMessage] = React.useState();\n\n const validate = React.useCallback(\n values => {\n const errors: Record = {};\n if (!values.oldPassword) {\n errors.oldPassword = t(\"common.validation.required\");\n }\n const passwordError = validatePassword(values.newPassword);\n if (passwordError) {\n errors.newPassword = passwordError;\n }\n if (values.newPassword !== values.repeatNewPassword) {\n errors.repeatNewPassword = t(\"appHeader.userMenu.changePassword.repeatNotMatching\");\n }\n return errors;\n },\n [t, validatePassword]\n );\n\n const onDialogClose = React.useCallback(\n (event, reason) => {\n if (reason !== \"backdropClick\") {\n onClose();\n }\n },\n [onClose]\n );\n\n const onSubmit = React.useCallback(\n async values => {\n setErrorMessage(undefined);\n try {\n const user = await Auth.currentAuthenticatedUser();\n await Auth.changePassword(user, values.oldPassword, values.newPassword);\n onSuccess();\n } catch (e) {\n if ((e as Error).name === \"NotAuthorizedException\") {\n setErrorMessage(t(\"appHeader.userMenu.changePassword.invalidOldPassword\"));\n } else {\n setErrorMessage((e as Error).message);\n }\n }\n },\n [onSuccess, t]\n );\n\n return (\n \n Change Password\n \n {({ isSubmitting }) => (\n
\n \n {errorMessage && {errorMessage}}\n \n \n \n \n \n \n\n \n \n {t(\"appHeader.userMenu.changePassword.changePasswordBtn\")}\n \n \n \n
\n )}\n \n
\n );\n};\n\nexport { ChangePasswordDialog };\n","import * as React from \"react\";\nimport { Alert, AlertColor, Snackbar } from \"@mui/material\";\nimport { useDialogState } from \"../../hooks/useDialogState/useDialogState\";\n\ninterface Props {\n message: string;\n severity?: AlertColor;\n horizontal?: \"left\" | \"center\" | \"right\";\n vertical?: \"top\" | \"bottom\";\n autoHideDuration?: number | undefined;\n}\n\nconst SnackbarAlert: React.FC = ({\n message,\n severity = \"info\",\n horizontal = \"center\",\n vertical = \"top\",\n autoHideDuration = 15000\n}) => {\n const [isOpen, , close] = useDialogState(true);\n\n return (\n {\n // do nothing\n }\n }}\n >\n \n {message}\n \n \n );\n};\n\nexport { SnackbarAlert };\n","import * as React from \"react\";\nimport Stack from \"@mui/material/Stack\";\nimport { QRCodeCanvas } from \"qrcode.react\";\nimport Typography from \"@mui/material/Typography\";\nimport { TextField } from \"@mui/material\";\nimport Button from \"@mui/material/Button\";\nimport { useUserSession } from \"hooks/useUserSession\";\nimport { useMutation } from \"react-query\";\nimport { Auth, CognitoUser } from \"@aws-amplify/auth\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\n\ninterface Props {\n user: CognitoUser;\n totpSecret: string;\n onSuccess: () => void;\n onClose: () => void;\n}\n\nconst SetupTotp: React.FC = ({ user, totpSecret, onSuccess, onClose }) => {\n const { username } = useUserSession();\n const [authCode, setAuthCode] = React.useState();\n\n const {\n mutate: verifyTotpToken,\n isLoading: isVerifyTotpTokenLoading,\n error: verifyTotpTokenError\n } = useMutation({\n mutationFn: async ({ user, code }: { user: any; code: string }) => {\n await Auth.verifyTotpToken(user, code);\n await Auth.setPreferredMFA(user, \"TOTP\");\n },\n onSuccess\n });\n\n const submitAuthCode = React.useCallback(() => {\n if (!authCode) {\n return;\n }\n window.console.log(\"Calling submitAuthCode\");\n verifyTotpToken({ user, code: authCode });\n }, [authCode, user, verifyTotpToken]);\n\n return (\n \n Set up Authenticator App\n \n 1. Download an Authenticator Application\n \n Install an Authenticator application on your smartphone. Search for 'authenticator' in your Application Store.\n \n \n \n 2. Scan the QR Code\n \n Use the installed authenticator application to scan the barcode below.\n \n \n \n \n \n \n 3. Enter The Authentication Code\n Enter the 6-digit code displayed by your authenticator application\n \n \n setAuthCode(e.target.value)}\n />\n {verifyTotpTokenError && (\n \n Invalid code. Please try again or wait for the code to change and try then.\n \n )}\n \n \n Submit\n \n \n \n \n \n );\n};\n\nexport { SetupTotp };\n","import * as React from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport { useMutation, useQuery } from \"react-query\";\nimport { Auth, CognitoUser } from \"@aws-amplify/auth\";\nimport { useUserSession } from \"hooks/useUserSession\";\nimport { DialogBody } from \"components/DialogBody/DialogBody\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport Stack from \"@mui/material/Stack\";\nimport Typography from \"@mui/material/Typography\";\nimport { IconButton } from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Switch from \"@mui/material/Switch\";\nimport { SetupTotp } from \"./SetupTotp\";\nimport { useDialogState } from \"../../../../../../../hooks/useDialogState/useDialogState\";\nimport { ConfirmationDialog } from \"../../../../../../ConfirmationDialog/ConfirmationDialog\";\n\nexport type MfaMethod = \"TOTP\" | \"SMS\" | \"NOMFA\" | \"SMS_MFA\" | \"SOFTWARE_TOKEN_MFA\";\n\ninterface Props {\n onClose: () => void;\n}\n\nenum MfaScreen {\n SUMMARY = \"SUMMARY\",\n TOTP_SETUP = \"TOTP_SETUP\"\n}\n\nconst MfaSettingsDialog: React.FC = ({ onClose }) => {\n const { username } = useUserSession();\n const [mfaScreen, setMfaScreen] = React.useState(MfaScreen.SUMMARY);\n const [isDisableTotpDialogOpen, openDisableTotpDialog, closeDisableTotpDialog] = useDialogState();\n const {\n data: userAndMfa,\n refetch: refetchUser,\n isLoading: isUserAndMfaLoading,\n error: userAndMfaError\n } = useQuery([\"gerUserAndPreferredMfa\", username], {\n queryFn: async () => {\n window.console.log(\"Calling Auth.currentAuthenticatedUser\");\n const user = await Auth.currentAuthenticatedUser();\n const preferredMfa = await Auth.getPreferredMFA(user);\n return { user, preferredMfa };\n },\n cacheTime: 0\n });\n\n const user = userAndMfa?.user as CognitoUser;\n const preferredMfa = userAndMfa?.preferredMfa as MfaMethod;\n\n const {\n mutate: setupTotp,\n data: totpSecret,\n isLoading: isSetupTotpLoading,\n error: setupTotpError\n } = useMutation(Auth.setupTOTP);\n\n const {\n mutate: setPreferredMFA,\n isLoading: isSetPreferredMFALoading,\n error: setPreferredMFAError\n } = useMutation({\n mutationFn: ({ user, mfaMethod }: { user: any; mfaMethod: MfaMethod }) => Auth.setPreferredMFA(user, mfaMethod),\n onSuccess: () => {\n refetchUser();\n closeDisableTotpDialog();\n }\n });\n\n const isTotpEnabled = preferredMfa === \"TOTP\" || preferredMfa === \"SOFTWARE_TOKEN_MFA\";\n\n return (\n \n \n \n Multi-Factor Authentication Settings\n \n \n \n \n \n \n \n {mfaScreen === MfaScreen.SUMMARY && (\n \n \n Authenticator App\n \n You enter a 6 digit code (TOTP) generated by an authenticator application such as Microsoft\n Authenticator or Google Authenticator.\n \n \n \n {\n if (checked) {\n setupTotp(user, { onSuccess: () => setMfaScreen(MfaScreen.TOTP_SETUP) });\n } else {\n openDisableTotpDialog();\n }\n }}\n />\n {isTotpEnabled ? \"Enabled\" : \"Disabled\"}\n \n \n )}\n\n {mfaScreen === MfaScreen.TOTP_SETUP && totpSecret && (\n {\n refetchUser();\n setMfaScreen(MfaScreen.SUMMARY);\n }}\n onClose={() => setMfaScreen(MfaScreen.SUMMARY)}\n />\n )}\n\n {isDisableTotpDialogOpen && (\n Are you sure you want to disable the Authenticator App MFA?
}\n onClose={closeDisableTotpDialog}\n onConfirm={() => setPreferredMFA({ user, mfaMethod: \"NOMFA\" })}\n isLoading={isSetPreferredMFALoading}\n error={setPreferredMFAError}\n />\n )}\n \n \n \n );\n};\n\nexport { MfaSettingsDialog };\n","import { Auth } from \"@aws-amplify/auth\";\n\nexport class AuthUtils {\n private static async refreshSessionPromise(refreshToken: any) {\n const user = await Auth.currentAuthenticatedUser();\n return new Promise((resolve, reject) => {\n return user.refreshSession(refreshToken, async (err: any, data: any) => {\n if (err) {\n reject(err);\n } else {\n resolve(data); // THIS IS YOUR REFRESHED ATTRIBUTES/GROUPS\n }\n });\n });\n }\n public static async refreshCurrentSession() {\n const session = await Auth.currentSession();\n return this.refreshSessionPromise(session.getRefreshToken());\n }\n}\n","import * as React from \"react\";\nimport Stack from \"@mui/material/Stack\";\nimport { useUserSession } from \"hooks/useUserSession\";\nimport { LabelValue } from \"components/LabelValue/LabelValue\";\nimport Button from \"@mui/material/Button\";\nimport { ChangePasswordDialog } from \"../../ChangePasswordDialog\";\nimport { useDialogState } from \"hooks/useDialogState/useDialogState\";\nimport { SnackbarAlert } from \"components/SnackbarAlert/SnackbarAlert\";\nimport { useTranslation } from \"react-i18next\";\nimport { Auth } from \"aws-amplify\";\nimport { useQuery } from \"react-query\";\nimport { MfaMethod, MfaSettingsDialog } from \"./MfaSettingsDialog/MfaSettingsDialog\";\nimport Typography from \"@mui/material/Typography\";\nimport { AuthUtils } from \"utils/AuthUtils\";\nimport { UserAccount } from \"gen/clients/llts\";\n\ninterface Props {\n userAccount: UserAccount;\n}\n\nconst ProfileTab: React.FC = ({ userAccount }) => {\n const { t } = useTranslation();\n const { username, email, firstName, lastName, isFederatedSsoAccount } = useUserSession();\n const [isChangePasswordOpen, openChangePassword, closeChangePassword] = useDialogState();\n const [isSuccessPasswordChangeOpen, openSuccessPasswordChange, closeSuccessPasswordChange] = useDialogState();\n const [isMfaSettingsOpen, openMfaSettings, closeMfaSettings] = useDialogState();\n\n const { data: userAndMfa, refetch: refetchUser } = useQuery([\"gerUserAndPreferredMfa\", username], {\n queryFn: async () => {\n window.console.log(\"Calling Auth.currentAuthenticatedUser\");\n const user = await Auth.currentAuthenticatedUser();\n const preferredMfa = await Auth.getPreferredMFA(user);\n return { user, preferredMfa };\n },\n cacheTime: 0\n });\n const preferredMfa = userAndMfa?.preferredMfa as MfaMethod;\n\n const isMfaEnabled = preferredMfa && preferredMfa !== \"NOMFA\";\n\n const onChangePasswordSuccess = React.useCallback(() => {\n closeChangePassword();\n openSuccessPasswordChange();\n }, [closeChangePassword, openSuccessPasswordChange]);\n\n const onCloseMfaSettings = React.useCallback(async () => {\n await AuthUtils.refreshCurrentSession();\n refetchUser();\n closeMfaSettings();\n }, [closeMfaSettings, refetchUser]);\n\n const onChangePasswordClick = React.useCallback(() => {\n openChangePassword();\n closeSuccessPasswordChange();\n }, [openChangePassword, closeSuccessPasswordChange]);\n return (\n <>\n \n \n \n
*********
\n {!isFederatedSsoAccount && (\n \n )}\n
\n }\n />\n {!isFederatedSsoAccount && userAccount.clientConfig?.isMfaEnabled && (\n \n \n {isMfaEnabled ? t(\"accountSettings.profile.mfa.enabled\") : t(\"accountSettings.profile.mfa.disabled\")}\n \n \n \n }\n />\n )}\n {email && }\n {firstName && }\n {lastName && }\n \n {isChangePasswordOpen && (\n \n )}\n {isMfaSettingsOpen && }\n {isSuccessPasswordChangeOpen && (\n \n )}\n \n );\n};\n\nexport { ProfileTab };\n","import * as React from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport Typography from \"@mui/material/Typography\";\nimport Stack from \"@mui/material/Stack\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport Button from \"@mui/material/Button\";\nimport { useMutation } from \"react-query\";\nimport { OrganizationAdminService } from \"gen/clients/llts\";\nimport { ApiErrorMessage } from \"components/ApiErrorMessage/ApiErrorMessage\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\n\ninterface Props {\n firstName?: string;\n lastName?: string;\n username: string;\n clientContactId: number;\n onClose: () => void;\n onSuccess: () => void;\n}\n\nconst DisableMfaDialog: React.FC = ({ username, clientContactId, firstName, lastName, onClose, onSuccess }) => {\n const { mutate, isLoading, error } = useMutation(OrganizationAdminService.disableMfa);\n\n const onDisableMfaClick = React.useCallback(() => {\n mutate(\n {\n clientContactId,\n requestBody: {\n username\n }\n },\n { onSuccess }\n );\n }, [clientContactId, mutate, onSuccess, username]);\n\n return (\n \n Disable MFA\n \n \n \n Are you sure you want to disable MFA for {firstName} {lastName}?\n \n {error && }\n \n \n \n \n \n Disable MFA\n \n \n \n );\n};\n\nexport { DisableMfaDialog };\n","import * as React from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport Typography from \"@mui/material/Typography\";\nimport Stack from \"@mui/material/Stack\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport Button from \"@mui/material/Button\";\nimport { useMutation } from \"react-query\";\nimport { OrganizationAdminService } from \"gen/clients/llts\";\nimport { ApiErrorMessage } from \"components/ApiErrorMessage/ApiErrorMessage\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\n\ninterface Props {\n firstName?: string;\n lastName?: string;\n username: string;\n clientContactId: number;\n onClose: () => void;\n onSuccess: () => void;\n}\n\nconst DisableAccountDialog: React.FC = ({\n username,\n clientContactId,\n firstName,\n lastName,\n onClose,\n onSuccess\n}) => {\n const { mutate, isLoading, error } = useMutation(OrganizationAdminService.disableAccount);\n\n const onDisableAccountClick = React.useCallback(() => {\n mutate(\n {\n clientContactId,\n requestBody: {\n username\n }\n },\n { onSuccess }\n );\n }, [clientContactId, mutate, onSuccess, username]);\n\n return (\n \n Disable Account\n \n \n \n Are you sure you want to disable the account for {firstName} {lastName}?\n \n {error && }\n \n \n \n \n \n Disable Account\n \n \n \n );\n};\n\nexport { DisableAccountDialog };\n","import * as React from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport Typography from \"@mui/material/Typography\";\nimport Stack from \"@mui/material/Stack\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport Button from \"@mui/material/Button\";\nimport { useMutation } from \"react-query\";\nimport { OrganizationAdminService } from \"gen/clients/llts\";\nimport { ApiErrorMessage } from \"components/ApiErrorMessage/ApiErrorMessage\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\n\ninterface Props {\n firstName?: string;\n lastName?: string;\n username: string;\n clientContactId: number;\n onClose: () => void;\n onSuccess: () => void;\n}\n\nconst EnableAccountDialog: React.FC = ({\n username,\n clientContactId,\n firstName,\n lastName,\n onClose,\n onSuccess\n}) => {\n const { mutate, isLoading, error } = useMutation(OrganizationAdminService.enableAccount);\n\n const onEnableAccountClick = React.useCallback(() => {\n mutate(\n {\n clientContactId,\n requestBody: {\n username\n }\n },\n { onSuccess }\n );\n }, [clientContactId, mutate, onSuccess, username]);\n\n return (\n \n Enable Account\n \n \n \n Are you sure you want to enable the account for {firstName} {lastName}?\n \n {error && }\n \n \n \n \n \n Enable Account\n \n \n \n );\n};\n\nexport { EnableAccountDialog };\n","import * as React from \"react\";\nimport { useQueries, useQuery } from \"react-query\";\nimport { ClientContactSummary, OrganizationAdminService } from \"gen/clients/llts\";\nimport Stack from \"@mui/material/Stack\";\nimport { DataTable } from \"components/DataTable/DataTable\";\nimport { ApiErrorMessage } from \"components/ApiErrorMessage/ApiErrorMessage\";\nimport TablePagination from \"@mui/material/TablePagination\";\nimport { IconButton, InputBase, Skeleton } from \"@mui/material\";\nimport { DataTableRowAction } from \"components/DataTable/types\";\nimport { useDialogState } from \"hooks/useDialogState/useDialogState\";\nimport { DisableMfaDialog } from \"./DisableMfaDialog\";\nimport { useUserSession } from \"hooks/useUserSession\";\nimport { DisableAccountDialog } from \"./DisableAccountDialog\";\nimport { Form, Formik } from \"formik\";\nimport Paper from \"@mui/material/Paper\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport { EnableAccountDialog } from \"./EnableAccountDialog\";\n\nconst OrganizationUsersTab: React.FC = () => {\n const { username } = useUserSession();\n const [rowsPerPage, setRowsPerPage] = React.useState(10);\n const [currentPage, setCurrentPage] = React.useState(0);\n const [searchInputBaseValue, setSearchInputBaseValue] = React.useState(\"\");\n const [userFilter, setUserFilter] = React.useState(\"\");\n const [selectedUserIndex, setSelectedUserIndex] = React.useState();\n const [isDisableMfaDialogOpen, openDisableMfaDialog, closeDisableMfaDialog] = useDialogState();\n const [isDisableAccountDialogOpen, openDisableAccountDialog, closeDisableAccountDialog] = useDialogState();\n const [isEnableAccountDialogOpen, openEnableAccountDialog, closeEnableAccountDialog] = useDialogState();\n const { data, isLoading, error } = useQuery([\"listOrganizationUsers\"], {\n queryFn: OrganizationAdminService.listOrganizationClientContacts\n });\n\n const filteredData = React.useMemo(() => {\n if (!data) {\n return [];\n }\n return data.items.filter(\n contact =>\n contact.email?.toLowerCase().includes(userFilter.toLowerCase()) ||\n contact.firstName?.toLowerCase().includes(userFilter.toLowerCase()) ||\n contact.lastName?.toLowerCase().includes(userFilter.toLowerCase())\n );\n }, [data, userFilter]);\n\n const pageData = React.useMemo(() => {\n const sortedData = filteredData.sort((a, b) =>\n `${a.firstName} ${a.lastName}`.localeCompare(`${b.firstName} ${b.lastName}`)\n );\n return sortedData.slice(currentPage * rowsPerPage, (currentPage + 1) * rowsPerPage);\n }, [filteredData, currentPage, rowsPerPage]);\n\n const identitySettingsResults = useQueries(\n pageData.map(clientContactSummary => ({\n queryKey: [\"getIdentitySettings\", clientContactSummary.id],\n queryFn: () =>\n OrganizationAdminService.getIdentitySettings({\n clientContactId: clientContactSummary.id,\n email: clientContactSummary.email,\n includeMfaStatus: true //TODO: make this configurable\n }),\n retry: 0,\n retryOnMount: false\n }))\n );\n\n const accountStatusCell = React.useCallback(\n (contact: ClientContactSummary) => {\n const index = pageData.findIndex(c => c.id === contact.id);\n const { data: identitySettings, isLoading: areIdentitySettingsLoading } = identitySettingsResults[index];\n if (areIdentitySettingsLoading) {\n return ;\n }\n return identitySettings?.isAccountEnabled ? \"Enabled\" : \"Disabled\";\n },\n [identitySettingsResults, pageData]\n );\n\n const mfaEnabledCell = React.useCallback(\n (contact: ClientContactSummary) => {\n const index = pageData.findIndex(c => c.id === contact.id);\n const { data: identitySettings, isLoading: areIdentitySettingsLoading } = identitySettingsResults[index];\n if (areIdentitySettingsLoading) {\n return ;\n }\n return identitySettings?.isMfaEnabled ? \"Yes\" : \"No\";\n },\n [identitySettingsResults, pageData]\n );\n\n const onPageChange = React.useCallback((_, newPage) => {\n setCurrentPage(newPage);\n }, []);\n\n const onRowsPerPageChange = React.useCallback((event: React.ChangeEvent) => {\n setRowsPerPage(+event.target.value);\n }, []);\n\n const rowActions = React.useCallback(\n (row: ClientContactSummary, index: number): DataTableRowAction[] => {\n const identitySettings = identitySettingsResults[index]?.data;\n const isMfaEnabled = identitySettings?.isMfaEnabled;\n const isAccountEnabled = identitySettings?.isAccountEnabled;\n\n const actions: DataTableRowAction[] = [\n {\n title: \"Disable MFA\",\n disabled: !isMfaEnabled || !isAccountEnabled || identitySettings?.username === username,\n action: (_, index) => {\n setSelectedUserIndex(index);\n openDisableMfaDialog();\n }\n }\n ];\n\n if (isAccountEnabled && identitySettings?.username !== username) {\n actions.push({\n title: \"Disable Account\",\n action: (_, index) => {\n setSelectedUserIndex(index);\n openDisableAccountDialog();\n },\n disabled: false,\n color: \"error.main\"\n });\n }\n\n if (!isAccountEnabled && identitySettings?.username !== username) {\n actions.push({\n title: \"Enable Account\",\n action: (_, index) => {\n setSelectedUserIndex(index);\n openEnableAccountDialog();\n },\n disabled: false,\n color: \"primary.main\"\n });\n }\n\n return actions;\n },\n [identitySettingsResults, openDisableAccountDialog, openEnableAccountDialog, openDisableMfaDialog, username]\n );\n\n const selectedUser = React.useMemo(() => {\n if (selectedUserIndex === undefined) {\n return undefined;\n }\n return pageData[selectedUserIndex];\n }, [pageData, selectedUserIndex]);\n\n const selectedIdentitySettings = React.useMemo(() => {\n if (selectedUserIndex === undefined) {\n return undefined;\n }\n return identitySettingsResults[selectedUserIndex]?.data;\n }, [identitySettingsResults, selectedUserIndex]);\n\n const onUserIdentityChangeSuccess = React.useCallback(() => {\n if (selectedUserIndex) {\n const selectedUserIdentitySettingsResult = identitySettingsResults[selectedUserIndex];\n window.console.log(\"Calling selectedUserIdentitySettingsResult.refetch\", selectedUserIdentitySettingsResult);\n if (selectedUserIdentitySettingsResult) {\n selectedUserIdentitySettingsResult.refetch();\n }\n }\n closeDisableMfaDialog();\n closeDisableAccountDialog();\n closeEnableAccountDialog();\n }, [\n closeDisableAccountDialog,\n closeEnableAccountDialog,\n closeDisableMfaDialog,\n identitySettingsResults,\n selectedUserIndex\n ]);\n\n return (\n <>\n \n {\n setCurrentPage(0);\n setUserFilter(searchInputBaseValue);\n }}\n >\n
\n \n setSearchInputBaseValue(event.currentTarget.value)}\n />\n \n \n \n \n
\n \n `${row.id}`}\n isLoading={isLoading}\n error={!!error && }\n columns={[\n {\n id: \"name\",\n title: Name,\n cell: (row: ClientContactSummary) => `${row.firstName} ${row.lastName}`\n },\n {\n id: \"email\",\n title: Email,\n cell: (row: ClientContactSummary) => row.email\n },\n {\n id: \"accountStatus\",\n title: Account Status,\n cell: accountStatusCell\n },\n {\n id: \"mfaEnabled\",\n title: MFA Enabled,\n cell: mfaEnabledCell\n }\n ]}\n rowActions={rowActions}\n />\n {data && (\n \n )}\n
\n\n {isDisableMfaDialogOpen && selectedUser && selectedIdentitySettings && (\n \n )}\n {isDisableAccountDialogOpen && selectedUser && selectedIdentitySettings && (\n \n )}\n {isEnableAccountDialogOpen && selectedUser && selectedIdentitySettings && (\n \n )}\n \n );\n};\n\nexport { OrganizationUsersTab };\n","import * as React from \"react\";\nimport { Box, Drawer } from \"@mui/material\";\nimport { DrawerHeader } from \"components/DrawerHeader/DrawerHeader\";\nimport { DrawerBody } from \"components/DrawerBody/DrawerBody\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { useTranslation } from \"react-i18next\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport { LanguageGroupsTab } from \"./LanguageGroupsTab/LanguageGroupsTab\";\nimport { ProfileTab } from \"./ProfileTab/ProfileTab\";\nimport { useUserSession } from \"../../../../../hooks/useUserSession\";\nimport { OrganizationUsersTab } from \"./OrganizationUsersTab/OrganizationUsersTab\";\nimport { UserAccountsService, UserGroup } from \"../../../../../gen/clients/llts\";\nimport { useQuery } from \"react-query\";\n\ninterface Props {\n onClose: () => void;\n}\n\nenum TabId {\n profile = \"profile\",\n languageGroups = \"languageGroups\",\n organizationUsers = \"organizationUsers\"\n}\n\nconst AccountSettingsPanel: React.FC = ({ onClose }) => {\n const { t } = useTranslation();\n const { roles, isFederatedSsoAccount, username } = useUserSession();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n const [selectedTab, setSelectedTab] = React.useState(TabId.profile);\n\n const {\n data: userAccount,\n isLoading: isUserAccountLoading,\n error: userAccountError\n } = useQuery([\"getUserAccount\", username], {\n queryFn: UserAccountsService.getUserAccount\n });\n\n const onTabChange = (event: React.SyntheticEvent, newValue: string) => {\n setSelectedTab(newValue);\n };\n\n return (\n \n \n \n \n \n \n \n {!isFederatedSsoAccount &&\n userAccount?.clientConfig?.isOrgManagementEnabled &&\n roles?.includes(UserGroup.CLIENT) && (\n \n )}\n \n \n {selectedTab === TabId.profile && userAccount && }\n {selectedTab === TabId.languageGroups && }\n {selectedTab === TabId.organizationUsers && }\n \n \n );\n};\n\nexport { AccountSettingsPanel };\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport Button from \"@mui/material/Button\";\nimport Menu from \"@mui/material/Menu\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport Divider from \"@mui/material/Divider\";\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\nimport { Auth } from \"@aws-amplify/auth\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { IconButton } from \"@mui/material\";\nimport Avatar from \"@mui/material/Avatar\";\nimport { useHistory } from \"react-router-dom\";\nimport { useDispatch } from \"react-redux\";\nimport { useDialogState } from \"../../../../hooks/useDialogState/useDialogState\";\nimport { useUserSession } from \"../../../../hooks/useUserSession\";\nimport { ImpersonateUserDialog } from \"./ImpersonateUserDialog\";\nimport { UserGroup } from \"../../../../gen/clients/llts\";\nimport { signIn } from \"../../../../store/userSession/userSessionActions\";\nimport { useUserSessionOverride } from \"../../../../hooks/useUserSessionOverride\";\nimport { AccountSettingsPanel } from \"./AccountSettingsPanel/AccountSettingsPanel\";\n\ninterface Props {\n username: string;\n}\n\nconst UserMenu: React.FC = ({ username }) => {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const history = useHistory();\n const { roles } = useUserSession();\n const [userMenuAnchor, setUserMenuAnchor] = React.useState(null);\n const [isAccountSettingsOpen, openAccountSettings, closeAccountSettings] = useDialogState();\n const [isLogInAsOpen, openLogInAs, closeLogInAs] = useDialogState();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n const [userSessionOverride, , clearUserSessionOverride] = useUserSessionOverride();\n\n React.useEffect(() => {\n if (!userSessionOverride?.username || isLogInAsOpen) {\n return;\n }\n dispatch(\n signIn(\n userSessionOverride.username,\n userSessionOverride.email || \"\",\n userSessionOverride.roles || [],\n undefined,\n undefined,\n undefined\n )\n );\n }, [dispatch, isLogInAsOpen, userSessionOverride]);\n\n const onUserMenuButtonClick = React.useCallback(\n (event: React.MouseEvent) => {\n setUserMenuAnchor(event.currentTarget);\n },\n [setUserMenuAnchor]\n );\n\n const closeUserMenu = React.useCallback(() => setUserMenuAnchor(null), [setUserMenuAnchor]);\n\n const signOut = React.useCallback(() => {\n Auth.signOut();\n }, []);\n\n const isUserOverrideAllowed = React.useMemo(() => !!roles?.includes(UserGroup.ADMIN), [roles]);\n\n const onTurnOffLogInAsClick = React.useCallback(() => {\n clearUserSessionOverride();\n window.location.href = \"/\";\n }, [clearUserSessionOverride]);\n\n const onAccountSettingsClick = React.useCallback(() => {\n openAccountSettings();\n closeUserMenu();\n }, [closeUserMenu, openAccountSettings]);\n\n const onImpersonateUserClick = React.useCallback(() => {\n openLogInAs();\n closeUserMenu();\n }, [closeUserMenu, openLogInAs]);\n\n return (\n <>\n {username && (\n <>\n {isSmallScreen ? (\n \n \n \n ) : (\n }\n onClick={onUserMenuButtonClick}\n sx={{ textTransform: \"unset\" }}\n >\n {`${username} ${userSessionOverride ? \"(Impersonation Mode)\" : \"\"}`}\n \n )}\n \n {t(\"appHeader.userMenu.accountSettings\")}\n {!userSessionOverride && isUserOverrideAllowed && (\n {t(\"appHeader.userMenu.startImpersonateUser\")}\n )}\n {userSessionOverride && (\n {t(\"appHeader.userMenu.endImpersonateUser\")}\n )}\n \n {t(\"appHeader.userMenu.signOut\")}\n \n \n )}\n\n {isAccountSettingsOpen && }\n\n {isLogInAsOpen && (\n {\n closeLogInAs();\n history.push(\"/\");\n }}\n />\n )}\n \n );\n};\n\nexport default UserMenu;\n","import React, { useEffect, useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogContentText from \"@mui/material/DialogContentText\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport Button from \"@mui/material/Button\";\nimport InfoOutlinedIcon from \"@mui/icons-material/InfoOutlined\"; // import icon\nimport { Box } from \"@mui/material\";\nimport { Auth } from \"aws-amplify\";\nimport { useTranslation } from \"react-i18next\";\nimport { LocalStorageUtils } from \"../../utils/LocalStorageUtils\";\n\nconst SESSION_TIMEOUT_MS: number = 60 * 60 * 1000; // 1 hour\nconst PRESENCE_CONFIRMATION_TIMEOUT_MS: number = 30 * 1000; // Set timer for logging out\n\nconst logoutUser = async () => {\n try {\n await Auth.signOut();\n window.console.log(\"User successfully logged out\");\n } catch (error) {\n window.console.log(\"Error signing out: \", error);\n }\n};\n\n/**\n * SessionExpirationManager is a React function component that manages the expiration of a session.\n * It includes a dialog that will be displayed to the user when the session is about to expire.\n *\n * @returns {ReactElement} - The component that manages the session expiration and displays the dialog.\n */\nconst SessionExpirationManager: React.FC = () => {\n const { t } = useTranslation();\n const [isActive, setIsActive] = useState(true);\n const [openDialog, setOpenDialog] = useState(false);\n const [sessionTimeoutId, setSessionTimeoutId] = React.useState(null); // Identifier for session expiration timer\n const [confirmationTimeoutId, setConfirmationTimeoutId] = React.useState(null); // Identifier for confirmation timer\n\n React.useEffect(() => {\n // check if the session timestamp exists and if the current time exceeds session timeout\n const lastSessionTimestamp = LocalStorageUtils.readSessionTimestamp();\n const now = new Date();\n if (lastSessionTimestamp && now.getTime() - lastSessionTimestamp.getTime() > SESSION_TIMEOUT_MS) {\n logoutUser();\n }\n // executed once before unmounting the component\n return () => {\n LocalStorageUtils.storeSessionTimestamp(now);\n if (sessionTimeoutId) {\n clearTimeout(sessionTimeoutId);\n }\n if (confirmationTimeoutId) {\n clearTimeout(confirmationTimeoutId);\n }\n };\n }, [confirmationTimeoutId, sessionTimeoutId]);\n\n const resetSessionTimeout = React.useCallback(() => {\n setIsActive(true);\n const timeoutId = setTimeout(() => setIsActive(false), SESSION_TIMEOUT_MS);\n setSessionTimeoutId(prevSessionTimeoutId => {\n if (prevSessionTimeoutId) {\n clearTimeout(prevSessionTimeoutId);\n }\n return timeoutId;\n });\n }, []);\n\n const clearConfirmationTimeout = React.useCallback(() => {\n if (confirmationTimeoutId) {\n clearTimeout(confirmationTimeoutId);\n }\n setConfirmationTimeoutId(null);\n }, [confirmationTimeoutId]);\n\n const onActivity = React.useCallback(() => {\n setIsActive(true);\n resetSessionTimeout();\n }, [resetSessionTimeout]);\n\n const handleButtonClick = () => {\n resetSessionTimeout();\n clearConfirmationTimeout();\n setOpenDialog(false);\n };\n\n const onDialogClose = React.useCallback((event, reason) => {\n if (reason !== \"backdropClick\") {\n setOpenDialog(false);\n }\n }, []);\n\n useEffect(() => {\n window.addEventListener(\"mousedown\", onActivity, false);\n window.addEventListener(\"keypress\", onActivity, false);\n window.addEventListener(\"DOMMouseScroll\", onActivity, false);\n window.addEventListener(\"mousewheel\", onActivity, false);\n window.addEventListener(\"beforeunload\", () => {\n LocalStorageUtils.storeSessionTimestamp(new Date());\n });\n\n return () => {\n window.removeEventListener(\"mousedown\", onActivity, false);\n window.removeEventListener(\"keypress\", onActivity, false);\n window.removeEventListener(\"DOMMouseScroll\", onActivity, false);\n window.removeEventListener(\"mousewheel\", onActivity, false);\n };\n }, [onActivity]);\n\n useEffect(() => {\n if (!isActive) {\n setOpenDialog(true);\n const timeoutId = setTimeout(logoutUser, PRESENCE_CONFIRMATION_TIMEOUT_MS);\n setConfirmationTimeoutId(timeoutId);\n } else if (!openDialog) {\n resetSessionTimeout();\n setOpenDialog(false);\n }\n }, [isActive, openDialog, resetSessionTimeout]);\n\n return (\n \n \n \n \n {t(\"sessionExpirationDialog.title\")}\n \n \n \n {t(\"sessionExpirationDialog.text\")}\n \n \n \n \n \n );\n};\n\nexport { SessionExpirationManager };\n","import React, { FC, useCallback } from \"react\";\nimport { Auth, CognitoHostedUIIdentityProvider } from \"@aws-amplify/auth\";\nimport { useTranslation } from \"react-i18next\";\nimport Button from \"@mui/material/Button\";\nimport { useHistory } from \"react-router-dom\";\nimport styles from \"./AppHeader.module.scss\";\nimport UserMenu from \"./components/UserMenu/UserMenu\";\nimport { useUserSession } from \"../../hooks/useUserSession\";\nimport { SessionExpirationManager } from \"../SessionExpirationManager/SessionExpirationManager\";\n\nconst AppHeader: FC = () => {\n const { username, email, isFederatedSsoAccount } = useUserSession();\n const history = useHistory();\n\n const signIn = useCallback(() => {\n Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Cognito });\n }, []);\n\n const onSignUpClick = useCallback(() => {\n history.push(\"/signUp\");\n }, [history]);\n\n const { t } = useTranslation();\n\n return (\n
\n {username && }\n
\n
\n {t(\"configuration.logoUrl.altText\")}\n
\n
\n {!username && (\n \n \n \n {t(\"appHeader.or\")}\n \n \n \n )}\n {username && }\n
\n
\n
\n );\n};\n\nexport default AppHeader;\n","import React, { FC, ReactElement } from \"react\";\nimport Breadcrumbs from \"@mui/material/Breadcrumbs\";\nimport { emphasize, styled } from \"@mui/material/styles\";\nimport Chip from \"@mui/material/Chip\";\n\nexport interface IBreadCrumb {\n crumbText: string;\n crumbIcon: ReactElement | undefined;\n click: React.MouseEventHandler;\n}\n\nexport const StyledBreadcrumb = styled(Chip)(({ theme }) => {\n const backgroundColor = theme.palette.mode === \"light\" ? theme.palette.grey[100] : theme.palette.grey[800];\n return {\n backgroundColor,\n height: theme.spacing(3),\n color: theme.palette.text.primary,\n fontWeight: theme.typography.fontWeightRegular,\n \"&:hover, &:focus\": {\n backgroundColor: emphasize(backgroundColor, 0.06)\n },\n \"&:active\": {\n boxShadow: theme.shadows[1],\n backgroundColor: emphasize(backgroundColor, 0.12)\n },\n \"&:hover\": {\n cursor: \"pointer\"\n }\n };\n});\n\nconst BreadCrumb: FC = props => {\n const { crumbText, crumbIcon, click } = props;\n\n return (\n
\n \n \n \n
\n );\n};\n\nexport default BreadCrumb;\n","import React, { FC } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport HomeIcon from \"@mui/icons-material/Home\";\nimport BreadCrumb from \".\";\n\nconst HomeCrumb: FC = () => {\n const history = useHistory();\n const { t } = useTranslation();\n\n return (\n
\n history.push(\"/\")}\n crumbIcon={}\n crumbText={`${t(\"crumbText.home\")}`}\n />\n
\n );\n};\n\nexport default HomeCrumb;\n","import { TFunction } from \"react-i18next\";\nimport { UserGroup } from \"../../gen/clients/llts\";\n\nexport const INHOUSE_ROLES = [\n UserGroup.CLIENT_MANAGER,\n UserGroup.DESKTOP_PUBLISHER,\n UserGroup.ADMIN,\n UserGroup.ENGINEER,\n UserGroup.PROJECT_COORDINATOR,\n UserGroup.QA,\n UserGroup.QUOTER,\n UserGroup.POWER_USER\n];\n\nexport const getTableHeads = (langFunc: TFunction, resourceKey: string): string[] => {\n const headerMap = langFunc(`DASHBOARD.${resourceKey}.headers`).split(\",\");\n return headerMap.map((head: string) => langFunc(`DASHBOARD.headers.${head}`));\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const showDashBoards = (roles: (UserGroup | string)[], isLoggedIn: boolean, username: string | undefined) =>\n (isLoggedIn && username) || INHOUSE_ROLES.filter(value => roles.includes(value)).length > 0;\n","import React, { FC } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { TableCell } from \"@mui/material\";\r\nimport { getTableHeads } from \"../../resources\";\r\n\r\nexport interface IHeaderRow {\r\n resourceKey: string;\r\n}\r\n\r\nconst HeaderRow: FC = props => {\r\n const { resourceKey } = props;\r\n const { t } = useTranslation();\r\n\r\n const tableHeadList = getTableHeads(t, resourceKey);\r\n\r\n return (\r\n <>\r\n {tableHeadList.map(head => (\r\n {head}\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default HeaderRow;\r\n","import * as React from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport {\n Card,\n CardContent,\n CardHeader,\n CircularProgress,\n Grid,\n Table,\n TableHead,\n TableRow,\n TableCell,\n TableBody,\n Container,\n Box\n} from \"@mui/material\";\n\nimport { useQuery } from \"react-query\";\nimport { useTranslation } from \"react-i18next\";\nimport { StatisticsService } from \"../../gen/clients/llts\";\nimport HomeCrumb from \"../../components/Breadcrumb/HomeCrumb\";\nimport IDashBoardDetailPage from \"../../interfaces/dashboardPage\";\nimport HeaderRow from \"./components/HeaderRow/HeaderRow\";\n\nconst ProjectManagerDetailsPage: React.FC = props => {\n const { id } = useParams<{ id: string }>();\n const { name } = useParams<{ name: string }>();\n const { resourceKey } = props;\n const { t } = useTranslation();\n\n const {\n data: projectManagerStats,\n isLoading,\n isError\n } = useQuery([\"projectManagerStats\", id], {\n queryFn: () => StatisticsService.getStatisticsById({ id })\n });\n\n if (isError) {\n return

{t(\"common.systemError\")}

;\n }\n\n return (\n <>\n
\n \n
\n \n \n \n \n \n \n \n {isLoading && }\n {projectManagerStats && (\n \n \n \n \n \n \n \n {projectManagerStats.map(row => (\n \n \n \n {row.internalProjectId}\n \n \n {row.projectDeadline?.slice(0, 10)}\n {row.projectName}\n {row.client}\n {row.languages}\n {row.totalAgreed}\n \n {row.rateType === \"Rush\" ? row.rateType.toLocaleUpperCase() : row.rateType}\n \n {row.projectGroupName}\n {row.projectGroupId}\n \n ))}\n \n
\n )}\n
\n
\n
\n
\n
\n
\n \n );\n};\n\nexport default ProjectManagerDetailsPage;\n","import * as React from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport {\n Card,\n CardContent,\n CircularProgress,\n Grid,\n Table,\n TableHead,\n TableRow,\n TableCell,\n TableBody,\n Container,\n CardHeader,\n Box\n} from \"@mui/material\";\nimport { useQuery } from \"react-query\";\nimport { useTranslation } from \"react-i18next\";\nimport IDashBoardDetailPage from \"interfaces/dashboardPage\";\nimport { StatisticsService } from \"../../gen/clients/llts\";\nimport HomeCrumb from \"../../components/Breadcrumb/HomeCrumb\";\nimport HeaderRow from \"./components/HeaderRow/HeaderRow\";\n\nconst DetailsPage: React.FC = props => {\n const pageId = props.id;\n const { resourceKey } = props;\n const { id } = useParams<{ id: string }>();\n const { name } = useParams<{ name: string }>();\n const { t } = useTranslation();\n\n const isPastDue = pageId === \"pastDueDetails\";\n\n const {\n data: theStats,\n isLoading,\n isError\n } = useQuery([pageId, id], {\n queryFn: () =>\n isPastDue\n ? StatisticsService.getPastDueStatisticsById({ id })\n : StatisticsService.getDueTodayStatisticsById({ id })\n });\n\n if (isError) {\n return

{t(\"common.systemError\")}

;\n }\n\n /* If past due column exists */\n const insertPastDue = (pastDue: string) => (\n <>\n {pastDue}\n \n );\n\n const generateRows = () =>\n theStats?.map(row => (\n \n \n \n {row.internalProjectId}\n \n \n {isPastDue && insertPastDue(row.pastDue)}\n {row.projectDeadline?.slice(0, 10)}\n {row.status}\n {row.projectName}\n {row.client}\n {row.languages}\n {row.totalAgreed}\n {row.rateType}\n {row.projectGroupName}\n {row.projectGroupId}\n \n ));\n\n const title = isPastDue ? t(\"DASHBOARD.pastDueQuotes\", { name }) : t(\"DASHBOARD.dueTodayQuotes\", { name });\n\n return (\n <>\n
\n \n
\n \n \n \n \n \n \n \n {isLoading && }\n \n \n \n \n \n \n {generateRows()}\n
\n
\n
\n
\n
\n
\n
\n \n );\n};\n\nexport default DetailsPage;\n","import dayjs from \"dayjs\";\n\nexport const formatIso = (dayTime: string): string => dayjs(dayTime).format(\"MM-DD-YY h:mm:ss A\");\n","import * as React from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport {\n Card,\n CardContent,\n CardHeader,\n CircularProgress,\n Grid,\n Table,\n TableHead,\n TableRow,\n TableCell,\n TableBody,\n Container,\n Box\n} from \"@mui/material\";\n\nimport { useQuery } from \"react-query\";\nimport { useTranslation } from \"react-i18next\";\nimport { formatIso } from \"utils\";\nimport { StatisticsService } from \"../../gen/clients/llts\";\nimport HomeCrumb from \"../../components/Breadcrumb/HomeCrumb\";\nimport IDashBoardDetailPage from \"../../interfaces/dashboardPage\";\nimport HeaderRow from \"./components/HeaderRow/HeaderRow\";\n\nconst QaSpecialistDetailsPage: React.FC = props => {\n const { resourceKey } = props;\n const { id } = useParams<{ id: string }>();\n const { name } = useParams<{ name: string }>();\n const { t } = useTranslation();\n\n const {\n data: qaSpecialistStats,\n isLoading,\n isError\n } = useQuery([\"qaSpecialistStats\", id], {\n queryFn: () => StatisticsService.getQaSpecialistStatisticsById({ id })\n });\n\n if (isError) {\n return

{t(\"common.systemError\")}

;\n }\n\n return (\n <>\n
\n \n
\n \n \n \n \n \n \n \n {isLoading && }\n {qaSpecialistStats && (\n \n \n \n \n \n \n \n {qaSpecialistStats.map(row => (\n \n \n \n {row.projectNumber}\n \n \n {row.assignedTo}\n \n \n {row.projectJobId}\n \n \n {formatIso(row.jobStartDate)}\n {row.projectManager}\n {row.languages}\n {row.client}\n {formatIso(row.projectDeadline)}\n {row.jobStatus}\n {row.qaType}\n {row.projectGroupName}\n {row.projectGroupId}\n \n ))}\n \n
\n )}\n
\n
\n
\n
\n
\n
\n \n );\n};\n\nexport default QaSpecialistDetailsPage;\n","import * as React from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport {\n Card,\n CardContent,\n CircularProgress,\n Grid,\n Table,\n TableHead,\n TableRow,\n TableCell,\n TableBody,\n Container,\n CardHeader,\n Box\n} from \"@mui/material\";\nimport { useQuery } from \"react-query\";\nimport dayjs from \"dayjs\";\nimport duration from \"dayjs/plugin/duration\";\nimport { formatIso } from \"utils\";\nimport { useTranslation } from \"react-i18next\";\nimport { StatisticsService } from \"../../gen/clients/llts\";\nimport HeaderRow from \"./components/HeaderRow/HeaderRow\";\nimport HomeCrumb from \"../../components/Breadcrumb/HomeCrumb\";\nimport IDashBoardDetailPage from \"../../interfaces/dashboardPage\";\n\ndayjs.extend(duration);\n\nconst FohDetailsPage: React.FC = props => {\n const { resourceKey } = props;\n const reportType = props.id;\n\n const isCompletedReport = reportType === \"completedQuotesStats\";\n\n const { id } = useParams<{ id: string }>();\n const { name } = useParams<{ name: string }>();\n const isUnassignedReport = id === \"null\";\n const { t } = useTranslation();\n\n const {\n data: theQuoteStats,\n isLoading,\n isError\n } = useQuery([reportType, id], {\n queryFn: () =>\n // eslint-disable-next-line no-nested-ternary\n isUnassignedReport\n ? StatisticsService.getProjectCoordinatorCurrentUnassignedStatistics()\n : isCompletedReport\n ? StatisticsService.getProjectCoordinatorCompletedStatisticsById({ id })\n : StatisticsService.getProjectCoordinatorCurrentStatisticsById({ id })\n });\n\n if (isError) {\n return

{t(\"common.systemError\")}

;\n }\n\n /**\n * If the start date exceed 24 hours, we need to flag it in red for higher visibility.\n * @param startDate\n */\n const insertStartDate = (startDate: string) => (\n <>\n = 24\n ? {\n backgroundColor: \"red\"\n }\n : { backgroundColor: \"#f5f5f5\" }\n }\n >\n {formatIso(startDate)}\n \n \n );\n\n /**\n * The completed report has an extra Start Date column in the 2nd column position.\n * Also, the link text to the xtrf project id between the completed and current is different\n * for some odd reason.\n */\n const generateRows = () =>\n theQuoteStats?.map(row => (\n \n \n \n {isCompletedReport ? row.quoteId : row.internalProjectId}\n \n \n {isCompletedReport && insertStartDate(row.startDate)}\n {row.projectDeadline?.slice(0, 10)}\n {row.projectName}\n {row.client}\n {row.languages}\n {row.totalAgreed}\n {row.rateType}\n \n ));\n\n const title = isCompletedReport ? t(\"DASHBOARD.completedQuotes\", { name }) : t(\"DASHBOARD.currentQuotes\", { name });\n\n return (\n <>\n
\n \n
\n \n \n \n \n \n \n \n {isLoading && }\n \n \n \n \n \n \n {generateRows()}\n
\n
\n
\n
\n
\n
\n
\n \n );\n};\n\nexport default FohDetailsPage;\n","import { default as dayjs } from \"dayjs\";\n\nconst DATE_FORMAT = \"MMM DD, YYYY HH:mm:ss\";\n\nexport function formatEpoch(epochDate: number | undefined): string {\n if (epochDate === undefined) {\n return \"\";\n }\n return dayjs.unix(epochDate).format(DATE_FORMAT);\n}\n\nexport function formatDate(date: Date | string | undefined): string {\n if (!date) {\n return \"\";\n }\n return dayjs(date).format(DATE_FORMAT);\n}\n\n/**\n * Converts a Date to Unix epoch time.\n * @param date\n */\nexport function dateToEpoch(date: Date): number {\n return Math.floor(date.getTime() / 1000);\n}\n\n/**\n * Converts Unix epoch time to Date\n * @param epochTime\n */\nexport function epochToDate(epochTime: number): Date {\n return new Date(epochTime * 1000);\n}\n","import React from \"react\";\nimport { Button, Dialog, DialogActions, DialogContent, DialogTitle, Typography } from \"@mui/material\";\n\ninterface TermsDialogProps {\n onClose: () => void;\n}\n\nconst TermsAndConditionsDialog: React.FC = ({ onClose }) => (\n \n Terms and Conditions\n \n \n The following terms and conditions apply to the professional services specified in the attached quote from\n LanguageLine. These Terms of Service along with the accompanying Estimate, constitutes the entire Agreement\n between LanguageLine and you (the "Customer") and supersedes all prior oral or written understanding\n or statement with respect to the subject matter of this Agreement.\n \n \n Terms of Service\n \n \n 1. Pricing: Prices for the Services shall be as specified in this Estimate. Estimates are based\n upon (i) the documents or files provided by Customer, (ii) specifications and information originally submitted\n by Customer, and (iii) the delivery requirements requested by Customer. Adjustments to the Estimate may be\n necessary if specifications are changed or added, or if work not covered in the original quotation is requested\n by Customer. Estimates are only valid for thirty days or as otherwise specified in writing.\n \n \n 2. Orders: Orders authorized by Customer may only be canceled by Customer if Customer pays for\n all of the work performed by LanguageLine, including all fees, costs and expenses incurred by LanguageLine in\n connection with the order prior to cancellation. If Customer changes the original text, alters specifications,\n or adds new specifications after Customer has authorized LanguageLine to begin work, the changes, alterations,\n or additions may result in additional charges and adjustments of deadlines.\n \n \n 3. Terminology: Unless Customer provides terminological reference material like glossaries or\n terminology lists, LanguageLine will use its best judgment in the selection of terms pertinent to a given field.\n Customer will be charged for and will pay for all changes to such terms. Any changes to terminology in raw\n machine translations may result in additional charges to Customer.\n \n \n 4. Appearance: When the Services include formatting, typesetting, page layout, or artwork,\n LanguageLine will seek the closest match practicable between the appearance of the original and that of the\n finished product or will layout as Customer specifies. Unless the Estimate states otherwise, LanguageLine does\n not guarantee that the format, fonts, typefaces, point sizes, text density, artwork, colors, paper, and other\n elements of printed documents it chooses and those of the original will be identical. Translated documents are\n sometimes longer or shorter than the original, and technical or other considerations may result in elements of\n appearance different from the original.\n \n \n 5. Editing: Any editing or alteration of the delivered product required by Customer in cases\n where the style or other matter had been left to the judgment of LanguageLine, including stylistic or\n preferential linguistic changes, may result in additional charges to Customer. For human translation or machine\n translation with post editing projects, translation errors will be corrected at no extra charge.\n \n \n 6. Change Orders: Change order requests from Customer will be analyzed by LanguageLine for cost\n and schedule impact. If, in LanguageLine's reasonable judgment, the requested changes can be implemented\n without requiring additional time or resources and without affecting LanguageLine's ability to maintain the\n project schedule, LanguageLine will implement the change at no additional cost to Customer. Otherwise, prior to\n proceeding with any changes, LanguageLine will provide Customer with a written change order quote for the\n additional work that includes (1) price change and (2) impact on schedule. Customer may, at its discretion,\n accept or reject LanguageLine's change order proposal. Change orders shall be considered effective upon\n written approval. Each party shall use its best efforts to respond as expeditiously as possible to such change\n requests and change order proposals.\n \n \n 7. Payment: Unless otherwise stated in an Estimate, invoices will be issued at the end of the\n month in which the project is delivered. (b) All errors, claims, or requests for adjustment must be presented\n within thirty (30) days after the date of delivery or such work will be deemed to have been accepted. (c)\n Charges due and unpaid thirty (30) days after invoice shall bear interest from the date payment is due at the\n rate of one and one-half percent (1 1/2 %) per month (eighteen percent (18%) per annum).\n \n \n 8. Customer Property: At Customer's request, Customer property delivered to LanguageLine\n for use in the providing of the Services will be returned to Customer upon completion of the work by\n LanguageLine without any liability for loss or damage.\n \n \n ADDITIONAL Limited Warranty for Human Translation and post-edited Machine Translation: In\n addition to any other Limited Warranty that may exist between the parties, LanguageLine's sole obligation\n for Services is the re-performance, at no additional charge to Customer, of that portion of those Services that\n LanguageLine and Customer agree to be defective. Defects include translation errors, but do not include\n subjective elements of style. LanguageLine shall correct any agreed upon defect within thirty (30) days of\n notice from Customer.\n \n \n 10. No Raw Machine Translation Warranties: There are no warranties of any kind for machine\n translation that has not been post-edited (i.e., "raw" machine translation).\n \n \n \n \n \n \n);\n\nexport default TermsAndConditionsDialog;\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { parseApiErrorMessage } from \"../ApiErrorMessage/ApiErrorMessage\";\nimport { SnackbarAlert } from \"../SnackbarAlert/SnackbarAlert\";\n\ninterface Props {\n error: unknown;\n}\n\nconst SnackbarApiError: React.FC = ({ error }) => {\n const { t } = useTranslation();\n\n return ;\n};\n\nexport { SnackbarApiError };\n","import * as React from \"react\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport { Button, Stack, TextField, Typography } from \"@mui/material\";\nimport { SnackbarApiError } from \"components/SnackbarApiError/SnackbarApiError\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\nimport Dialog from \"@mui/material/Dialog\";\nimport { useMutation } from \"react-query\";\nimport { useTranslation } from \"react-i18next\";\nimport { JobRequestsService } from \"gen/clients/llts\";\n\ninterface Props {\n jobRequestId: string;\n onClose: () => void;\n onSuccess: () => void;\n}\n\nconst RejectAutoQuoteDialog: React.FC = ({ jobRequestId, onSuccess, onClose }) => {\n const { t } = useTranslation();\n const [rejectionReason, setRejectionReason] = React.useState();\n const { mutate, isLoading, error } = useMutation(JobRequestsService.rejectAutoQuote);\n\n const onRejectQuoteClick = () => {\n mutate(\n {\n jobRequestId,\n requestBody: {\n rejectionReason: rejectionReason?.trim() || undefined\n }\n },\n { onSuccess }\n );\n };\n\n return (\n \n Reject Quote\n \n \n Please provide the reason for rejecting the quote:\n setRejectionReason(e.target.value)}\n />\n \n {!!error && }\n \n \n \n \n Reject Quote\n \n \n \n );\n};\n\nexport { RejectAutoQuoteDialog };\n","import React from \"react\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { JobRequestAutoQuote } from \"gen/clients/llts\";\nimport { CssBaseline, Container, Alert, AlertTitle } from \"@mui/material\";\n\ninterface Props {\n status: JobRequestAutoQuote.acceptanceStatus;\n}\n\nconst AutoQuoteAcceptanceUpdated: React.FC = ({ status }) => {\n const { t } = useTranslation();\n\n return (\n
\n \n \n \n {status === JobRequestAutoQuote.acceptanceStatus.ACCEPTED && (\n <>\n {t(\"autoQuote.accepted.title\")}\n

{t(\"autoQuote.accepted.paragraph1\")}

\n

{t(\"autoQuote.accepted.paragraph2\")}

\n \n )}\n {status === JobRequestAutoQuote.acceptanceStatus.REJECTED && (\n <>\n {t(\"autoQuote.rejected.title\")}\n

{t(\"autoQuote.rejected.paragraph1\")}

\n \n )}\n

\n {t(\"autoQuote.returnHome\")}\n

\n
\n
\n
\n );\n};\n\nexport default AutoQuoteAcceptanceUpdated;\n","import * as React from \"react\";\nimport { CheckboxWithLabel, CheckboxWithLabelProps } from \"formik-mui\";\nimport { Field, useFormikContext } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\nimport { FormHelperText } from \"@mui/material\";\nimport Stack from \"@mui/material/Stack\";\n\ninterface Props extends Omit {\n name: string;\n helperText?: string;\n}\n\nconst CheckboxField: React.FC = ({ name, helperText, required, ...props }) => {\n const { t } = useTranslation();\n const { errors, touched } = useFormikContext>();\n\n const validate = React.useCallback(\n (value: string | undefined) => {\n if (required && !value) {\n return t(\"common.validation.required\");\n }\n return undefined;\n },\n [required, t]\n );\n\n return (\n \n \n \n {(touched[name] && errors[name]) || helperText}\n \n \n );\n};\n\nexport { CheckboxField };\n","/**\n * Formats a price value into a human-readable string with two decimal places.\n * @param price - The price value to be formatted.\n * @returns A string representing the formatted price.\n */\nexport function formatPrice(price: number): string {\n return new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n minimumFractionDigits: 2, // Minimum fraction digits (for cents)\n maximumFractionDigits: 2 // Maximum fraction digits (for cents)\n }).format(price);\n}\n","import React from \"react\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { CssBaseline, Container, Alert, AlertTitle } from \"@mui/material\";\n\nconst AutoQuoteAcceptanceExpired: React.FC = () => {\n const { t } = useTranslation();\n\n return (\n
\n \n \n \n {t(\"autoQuote.expired.title\")}\n

{t(\"autoQuote.expired.paragraph1\")}

\n

\n {t(\"autoQuote.returnHome\")}\n

\n
\n
\n
\n );\n};\n\nexport default AutoQuoteAcceptanceExpired;\n","import * as React from \"react\";\nimport FormControl from \"@mui/material/FormControl\";\nimport FormLabel from \"@mui/material/FormLabel\";\nimport { Field, useFormikContext } from \"formik\";\nimport { RadioGroup } from \"formik-mui\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio from \"@mui/material/Radio\";\nimport { SelectOption } from \"@mui/base\";\nimport { useTranslation } from \"react-i18next\";\nimport { FormHelperText } from \"@mui/material\";\n\ninterface Props {\n name: string;\n options: SelectOption[];\n label?: React.ReactNode;\n row?: boolean;\n required?: boolean;\n}\n\nconst RadioGroupField: React.FC = ({ name, label, options, row, required }) => {\n const { t } = useTranslation();\n const { errors, touched, isSubmitting } = useFormikContext>();\n return (\n \n {label}\n (required && !value ? t(\"common.validation.required\") : undefined)}\n disabled={isSubmitting}\n >\n {options.map(option => (\n }\n label={(option.label as string | undefined) || \"\"}\n />\n ))}\n \n {touched[name] && !!errors[name] && {errors[name]}}\n \n );\n};\n\nexport { RadioGroupField };\n","import * as React from \"react\";\nimport { FormControl, MenuItem } from \"@mui/material\";\nimport { Field } from \"formik\";\nimport { TextField } from \"formik-mui\";\nimport { useTranslation } from \"react-i18next\";\nimport { SelectOption } from \"@mui/base\";\n\ninterface Props {\n name: string;\n label: string;\n options: SelectOption[];\n required?: boolean;\n disabled?: boolean;\n isLoading?: boolean;\n isError?: boolean;\n helperText?: string;\n variant?: \"outlined\" | \"filled\" | \"standard\";\n size?: \"small\" | \"medium\";\n}\n\nconst SelectOneField: React.FC = ({\n name,\n label,\n options,\n required,\n disabled,\n isLoading,\n isError,\n helperText,\n variant = \"standard\",\n size = \"medium\"\n}) => {\n const { t } = useTranslation();\n\n return (\n \n (required && !value ? t(\"common.validation.required\") : undefined)}\n size={size}\n >\n {options.map(option => (\n \n {option.label}\n \n ))}\n \n \n );\n};\n\nexport { SelectOneField };\n","import { useQuery } from \"react-query\";\nimport { Country, UtilsService } from \"gen/clients/llts\";\nimport * as React from \"react\";\nimport { SelectOption } from \"@mui/base\";\n\ninterface Response {\n countries?: Country[];\n countryOptions: SelectOption[];\n isCountriesLoading: boolean;\n countriesError: unknown;\n}\n\nexport const useCountryOptions = (): Response => {\n const {\n data: countries,\n isLoading: isCountriesLoading,\n error: countriesError\n } = useQuery(\"listCountries\", {\n queryFn: UtilsService.listCountries\n });\n const countryOptions = React.useMemo(\n () => countries?.sort((l1, l2) => l1.name.localeCompare(l2.name)).map(l => ({ label: l.name, value: l.id })) || [],\n [countries]\n );\n\n return {\n countries,\n countryOptions,\n isCountriesLoading,\n countriesError\n };\n};\n","import * as React from \"react\";\nimport { useQuery } from \"react-query\";\nimport { Province, UtilsService } from \"gen/clients/llts\";\nimport { SelectOption } from \"@mui/base\";\n\ninterface Response {\n provinces?: Province[];\n provinceOptions: SelectOption[];\n isProvincesLoading: boolean;\n provincesError?: unknown;\n}\n\nexport const useProvinceOptions = (countryId: number | undefined): Response => {\n const {\n data: provinces,\n isLoading: isProvincesLoading,\n error: provincesError\n } = useQuery(\"listProvinces\", {\n queryFn: UtilsService.listProvinces\n });\n const provinceOptions = React.useMemo(\n () =>\n provinces\n ?.filter(p => p.countryId === countryId)\n .sort((l1, l2) => l1.name.localeCompare(l2.name))\n .map(l => ({ label: l.name, value: l.id })) || [],\n [provinces, countryId]\n );\n return {\n provinces,\n provinceOptions,\n isProvincesLoading,\n provincesError\n };\n};\n","import * as React from \"react\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport { useFormikContext } from \"formik\";\nimport { SelectOption } from \"@mui/base\";\nimport Stack from \"@mui/material/Stack\";\nimport { RadioGroupField } from \"components/formikFields/RadioGroupField/RadioGroupField\";\nimport { TextInputField } from \"components/formikFields/TextInputField/TextInputField\";\nimport { Card, CardContent, CardHeader, Grid } from \"@mui/material\";\nimport { SelectOneField } from \"components/formikFields/SelectOneField/SelectOneField\";\nimport { useCountryOptions } from \"hooks/useCountryOptions/useCountryOptions\";\nimport { PaymentPreferences } from \"gen/clients/llts\";\nimport { useProvinceOptions } from \"hooks/useProvinceOptions/useProvinceOptions\";\nimport { UserContactSectionFormValues } from \"../UserContactSection/UserContactSection\";\n\nexport enum PaymentField {\n paymentOption = \"pmtPaymentOption\",\n clientIdNumber = \"pmtClientIdNumber\",\n personalCode = \"pmtPersonalCode\",\n sameAddressAsContact = \"pmtSameAddressAsContact\",\n address1 = \"pmtAddress1\",\n address2 = \"pmtAddress2\",\n city = \"pmtCity\",\n state = \"pmtState\",\n stateName = \"pmtStateName\",\n country = \"pmtCountry\",\n countryName = \"pmtCountryName\",\n zip = \"pmtZip\",\n email = \"pmtEmail\",\n phone = \"pmtPhone\"\n}\n\nexport interface PaymentFormValues {\n [PaymentField.paymentOption]: PaymentPreferences.paymentType | \"\";\n [PaymentField.clientIdNumber]: string;\n [PaymentField.personalCode]: string;\n [PaymentField.address1]: string;\n [PaymentField.address2]: string;\n [PaymentField.city]: string;\n [PaymentField.state]: string;\n [PaymentField.stateName]: string;\n [PaymentField.country]: string;\n [PaymentField.countryName]: string;\n [PaymentField.zip]: string;\n [PaymentField.email]: string;\n [PaymentField.phone]: string;\n}\n\nconst paymentOptions: SelectOption[] = [\n {\n label: \"Credit Card\",\n value: PaymentPreferences.paymentType.CREDIT_CARD\n },\n {\n label: \"Bill to my LanguageLine Solutions Account\",\n value: PaymentPreferences.paymentType.BILL_TO_ACCOUNT\n }\n /* Removed per LLTS-2041\n {\n label: \"Invoice Directly\",\n value: PaymentPreferences.paymentType.INVOICE_DIRECTLY\n }\n*/\n];\n\nconst PaymentSection: React.FC = () => {\n const { values, setFieldValue } = useFormikContext();\n const { countryOptions, isCountriesLoading } = useCountryOptions();\n const country = values[PaymentField.country];\n const { provinceOptions, isProvincesLoading, provincesError } = useProvinceOptions(country ? +country : undefined);\n\n const state = values[PaymentField.state];\n React.useEffect(() => {\n const contactProvince = provinceOptions.find(p => p.value === +state);\n setFieldValue(PaymentField.stateName, contactProvince?.label as string);\n }, [state, provinceOptions, setFieldValue]);\n\n React.useEffect(() => {\n const contactCountry = countryOptions.find(c => c.value === +country);\n setFieldValue(PaymentField.countryName, contactCountry?.label as string, false);\n }, [country, countryOptions, setFieldValue]);\n\n return (\n <>\n \n \n \n {values[PaymentField.paymentOption] === PaymentPreferences.paymentType.CREDIT_CARD && (\n \n \n If you choose this option, you will receive the Payment Information required to use our{\" \"}\n Online Bill Pay system.\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 {values[PaymentField.paymentOption] === PaymentPreferences.paymentType.BILL_TO_ACCOUNT && (\n \n \n \n \n )}\n {values[PaymentField.paymentOption] === PaymentPreferences.paymentType.INVOICE_DIRECTLY && (\n \n Billing Contact\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n );\n};\n\nexport { PaymentSection };\n","import * as React from \"react\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport Dialog from \"@mui/material/Dialog\";\nimport Stack from \"@mui/material/Stack\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport Button from \"@mui/material/Button\";\nimport { Form, Formik } from \"formik\";\nimport { JobRequestsService, PaymentPreferences } from \"gen/clients/llts\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\nimport { DEFAULT_COUNTRY_CODE } from \"utils/constants\";\nimport Typography from \"@mui/material/Typography\";\nimport { useMutation } from \"react-query\";\nimport { ApiErrorMessage } from \"components/ApiErrorMessage/ApiErrorMessage\";\nimport {\n PaymentField,\n PaymentFormValues,\n PaymentSection\n} from \"../../../CreateProjectPage/components/PaymentSection/PaymentSection\";\n\ninterface Props {\n jobRequestId: string;\n onClose: () => void;\n onSuccess: () => void;\n}\n\nconst PaymentDialog: React.FC = ({ jobRequestId, onClose, onSuccess }) => {\n const { mutateAsync, error } = useMutation(JobRequestsService.acceptAutoQuote);\n\n const onSubmit = async (values: PaymentFormValues) => {\n const paymentType = values[PaymentField.paymentOption];\n let paymentPreferences: PaymentPreferences;\n switch (paymentType) {\n case PaymentPreferences.paymentType.CREDIT_CARD: {\n paymentPreferences = {\n paymentType: PaymentPreferences.paymentType.CREDIT_CARD,\n billingContact: {\n address1: values[PaymentField.address1].trim() || undefined,\n address2: values[PaymentField.address2].trim() || undefined,\n city: values[PaymentField.city].trim() || undefined,\n province: values[PaymentField.state]\n ? {\n id: +values[PaymentField.state],\n name: values[PaymentField.stateName]\n }\n : undefined,\n country: values[PaymentField.country]\n ? {\n id: +values[PaymentField.country],\n name: values[PaymentField.countryName]\n }\n : undefined,\n zipCode: values[PaymentField.zip].trim() || undefined\n }\n };\n break;\n }\n case PaymentPreferences.paymentType.BILL_TO_ACCOUNT: {\n paymentPreferences = {\n paymentType: PaymentPreferences.paymentType.BILL_TO_ACCOUNT,\n billingAccount: {\n clientIdNumber: values[PaymentField.clientIdNumber],\n personalCode: values[PaymentField.personalCode]\n }\n };\n break;\n }\n case PaymentPreferences.paymentType.INVOICE_DIRECTLY: {\n paymentPreferences = {\n paymentType: PaymentPreferences.paymentType.INVOICE_DIRECTLY,\n billingContact: {\n email: values[PaymentField.email].trim() || undefined,\n phoneNumber: values[PaymentField.phone],\n address1: values[PaymentField.address1].trim() || undefined,\n address2: values[PaymentField.address2].trim() || undefined,\n city: values[PaymentField.city].trim() || undefined,\n province: values[PaymentField.state]\n ? {\n id: +values[PaymentField.state],\n name: values[PaymentField.stateName]\n }\n : undefined,\n country: values[PaymentField.country]\n ? {\n id: +values[PaymentField.country],\n name: values[PaymentField.countryName]\n }\n : undefined,\n zipCode: values[PaymentField.zip].trim() || undefined\n }\n };\n break;\n }\n default: {\n throw new Error(`Unknown payment type: ${paymentType}`);\n }\n }\n await mutateAsync(\n {\n jobRequestId,\n requestBody: {\n paymentPreferences\n }\n },\n { onSuccess }\n );\n };\n\n return (\n \n Payment Options\n \n {({ isSubmitting }) => (\n
\n \n Please select your preferred payment option:\n \n {error && }\n \n \n Submit\n \n \n
\n )}\n \n
\n );\n};\n\nexport { PaymentDialog };\n","import { Formik, Form } from \"formik\";\nimport * as React from \"react\";\nimport {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Button,\n Card,\n CardContent,\n Container,\n Grid,\n Link,\n Typography\n} from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport { JobRequestAutoQuote, JobRequestLanguage, JobRequestStatus, JobRequestsService } from \"gen/clients/llts\";\nimport { useQuery } from \"react-query\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { useDialogState } from \"hooks/useDialogState/useDialogState\";\nimport { ErrorPage } from \"components/ErrorPage/ErrorPage\";\nimport { LoadingPage } from \"components/LoadingPage/LoadingPage\";\nimport Stack from \"@mui/material/Stack\";\nimport { formatDate } from \"../../utils/dateUtils\";\nimport TermsAndConditionsDialog from \"./components/TermsAndConditionsDialog/TermsAndConditionsDialog\";\nimport { RejectAutoQuoteDialog } from \"./components/RejectAutoQuoteDialog/RejectAutoQuoteDialog\";\nimport AutoQuoteAcceptanceUpdated from \"./components/AutoQuoteAcceptanceUpdated/AutoQuoteAcceptanceUpdated\";\nimport { CheckboxField } from \"../../components/formikFields/CheckboxField/CheckboxField\";\nimport { formatPrice } from \"../../utils/numberUtils\";\nimport AutoQuoteAcceptanceExpired from \"./components/AutoQuoteAcceptanceExpired/AutoQuoteAcceptanceExpired\";\nimport HomeCrumb from \"../../components/Breadcrumb/HomeCrumb\";\nimport { PaymentDialog } from \"./components/PaymentDialog/PaymentDialog\";\n\ninterface PathParams {\n jobRequestId: string;\n}\n\nenum FieldNames {\n agreementChk = \"agreementChk\"\n}\n\nconst AutoQuotePage: React.FC = () => {\n const { t } = useTranslation();\n const { jobRequestId } = useParams();\n\n const [acceptanceStatus, setAcceptanceStatus] = useState();\n const [isTermsDialogOpen, openTermsDialog, closeTermsDialog] = useDialogState();\n const [isRejectDialogOpen, openRejectDialog, closeRejectDialog] = useDialogState();\n const [isPaymentDialogOpen, openPaymentDialog, closePaymentDialog] = useDialogState();\n\n const {\n data: summary,\n isLoading,\n error: summaryError\n } = useQuery([\"getAutoQuote\", jobRequestId], {\n queryFn: () => JobRequestsService.getAutoQuote({ jobRequestId })\n });\n\n const requestAutoQuote = useMemo(() => summary?.autoQuote, [summary]);\n\n const autoQuoteStatus = useMemo(() => requestAutoQuote?.acceptanceStatus, [requestAutoQuote]);\n\n const allowClientReview = useMemo(\n () => summary?.status === JobRequestStatus.QUOTE_READY_FOR_CLIENT_REVIEW,\n [summary]\n );\n\n const acceptanceDeadlineExpired = useMemo(\n () =>\n summary?.status === JobRequestStatus.QUOTE_EXPIRED ||\n (requestAutoQuote ? new Date(requestAutoQuote.acceptanceDeadline) < new Date() : false),\n [requestAutoQuote, summary?.status]\n );\n\n const translationPairs = useMemo(() => {\n const sourceLanguage = summary?.sourceLanguage;\n if (!summary || !sourceLanguage || !summary.targetLanguages) {\n return [];\n }\n\n const pairs: { source: JobRequestLanguage; target: JobRequestLanguage }[] = [];\n summary.targetLanguages\n .sort((l1, l2) => l1.name.localeCompare(l2.name))\n .forEach(l => {\n pairs.push({\n source: sourceLanguage,\n target: l\n });\n });\n return pairs;\n }, [summary]);\n\n const validate = useCallback(values => {\n const errors: { [key: string]: string } = {};\n if (!values[FieldNames.agreementChk]) {\n errors.agreementChk =\n \"Please check the box to acknowledge the Terms of Service and Privacy Policy before accepting the quote.\";\n }\n return errors;\n }, []);\n\n const onSubmit = useCallback(\n (_, formikHelpers) => {\n openPaymentDialog();\n formikHelpers.setSubmitting(false);\n },\n [openPaymentDialog]\n );\n\n const pagesPerLanguage = useMemo(() => {\n if (!requestAutoQuote || !requestAutoQuote?.totalPages) {\n return 0;\n }\n if (!summary?.targetLanguages) {\n return 0;\n }\n return requestAutoQuote?.totalPages / summary?.targetLanguages.length;\n }, [requestAutoQuote, summary?.targetLanguages]);\n\n const onPaymentSuccess = () => {\n closePaymentDialog();\n setAcceptanceStatus(JobRequestAutoQuote.acceptanceStatus.ACCEPTED);\n };\n\n const onRejectSuccess = () => {\n closeRejectDialog();\n setAcceptanceStatus(JobRequestAutoQuote.acceptanceStatus.REJECTED);\n };\n\n if (summaryError) {\n return ;\n }\n\n if (isLoading || !summary) {\n return ;\n }\n\n if (acceptanceStatus) {\n return ;\n }\n\n if (acceptanceDeadlineExpired) {\n return ;\n }\n\n return (\n <>\n {summary?.status && (\n <>\n \n \n \n \n \n {t(\"autoQuote.ballparkerEstimate\", { name: summary?.name || \"N/A\" })}\n \n \n \n \n \n {t(\"autoQuote.date\")}: {formatDate(requestAutoQuote?.creationDate)}\n \n \n {t(\"autoQuote.sourceLanguage\")}: {summary?.sourceLanguage?.name}\n \n \n {t(\"autoQuote.languages\")}:{\" \"}\n {summary?.targetLanguages\n ?.sort((l1, l2) => l1.name.localeCompare(l2.name))\n .map((l, index) => (\n <>\n \n {l.name}\n {(summary.targetLanguages?.length || 0) > 1 &&\n index < (summary.targetLanguages?.length || 0) - 1\n ? \",\"\n : \"\"}\n {\" \"}\n \n ))}\n \n \n \n \n \n {requestAutoQuote?.acceptanceStatus && (\n \n {t(\"autoQuote.statusLabel\")}:{\" \"}\n {t(`autoQuote.status.${requestAutoQuote.acceptanceStatus}`)}\n \n )}\n \n {t(\"autoQuote.referenceId\")}: {jobRequestId}\n \n \n \n \n \n {t(\"autoQuote.projectSummary\")}:\n \n {translationPairs.map((pair, index) => (\n \n }>\n \n \n \n {pair.source.name} to {pair.target.name}\n \n \n \n \n {t(\"autoQuote.languageTotal\", {\n price: formatPrice((requestAutoQuote?.pricePerPage || 0) * pagesPerLanguage)\n })}\n \n \n \n \n \n \n \n {t(\"autoQuote.professionalServices\")}\n \n \n {t(\"autoQuote.units\")}\n \n \n {t(\"autoQuote.cost\")}\n \n \n {t(\"autoQuote.translationAndEditing\")}\n \n \n {t(\"autoQuote.pageCount\", { pageCount: pagesPerLanguage })}\n \n \n \n {formatPrice((requestAutoQuote?.pricePerPage || 0) * pagesPerLanguage)}\n \n \n \n \n \n ))}\n \n \n \n {t(\"autoQuote.totalProjectCost\", { price: formatPrice(requestAutoQuote?.price || 0) })}\n \n \n \n \n \n\n {!autoQuoteStatus && allowClientReview && (\n \n
\n \n \n \n \n \n \n \n \n \n
\n \n )}\n {/* Contact Information */}\n \n \n \n {t(\"autoQuote.lls\")}\n \n \n {t(\"autoQuote.llsAddress\")}\n \n \n \n {t(\"autoQuote.termsAndConditionsLink\")}\n \n \n \n \n {isPaymentDialogOpen && (\n \n )}\n {isTermsDialogOpen && }\n {isRejectDialogOpen && (\n \n )}\n
\n \n )}\n \n );\n};\n\nexport { AutoQuotePage };\n","import React, { FC, useState } from \"react\";\nimport { IAppCardProps } from \"interfaces/appCard\";\nimport { useTranslation } from \"react-i18next\";\nimport styles from \"./AppCard.module.scss\";\n\nconst AppCard: FC = props => {\n const { t } = useTranslation();\n const focusBackgroundColor = \"#5a97cc\";\n\n const { rootResource, onClick } = props;\n\n const [isMouseOver, setMouseOver] = useState(false);\n const imgAlt = `${rootResource}_img`;\n const theImage = `/images/services/${rootResource}.svg`;\n const boxMouseOverHandler = () => {\n setMouseOver(true);\n };\n\n const boxMouseOutHandler = () => {\n setMouseOver(false);\n };\n const cardFocusStyle = { backgroundColor: focusBackgroundColor };\n const imageFocusStyle = { maxWidth: \"65%\", maxHeight: \"70%\" };\n const imageTitleStyle = { fontWeight: \"bolder\", fontStyle: \"italic\" };\n\n return (\n <>\n {/* eslint-disable-next-line */}\n
\n
\n {imgAlt}\n
\n \n
\n \n );\n};\n\nexport default AppCard;\n","export const REACT_APP_MY_LLS_PORTAL = \"https://my.languageline.com/portal\";\r\nexport const LLS_HOME_URL = \"https://www.languageline.com\";\r\nexport const TELEPERFORMANCE_PRIVACY_URL =\r\n \"https://www.teleperformance.com/en-us/data-privacy-information-and-inquires\";\r\n","import React, { FC, MouseEvent } from \"react\";\r\nimport { useQuery } from \"react-query\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { ApplicationState } from \"../../store/store\";\r\nimport styles from \"./AppCardContainer.module.scss\";\r\nimport AppCard from \"../AppCard/AppCard\";\r\nimport { IAppCardContainer } from \"../../interfaces/appCard\";\r\nimport { LLS_HOME_URL, REACT_APP_MY_LLS_PORTAL } from \"../../config/urls\";\r\n\r\nconst AppCardContainer: FC = props => {\r\n const { appCardNames } = props;\r\n const history = useHistory();\r\n\r\n const { username } = useSelector((state: ApplicationState) => ({\r\n roles: state.userSession.roles || [],\r\n username: state.userSession.username\r\n }));\r\n\r\n const { data: xtrfClientPortalAuthData } = useQuery(\"getXtrfAuthUrl\", {\r\n enabled: !!username, // TODO: roles.includes(LingoNetRole.CLIENT) || roles.includes(LingoNetRole.CLIENT_EMPLOYEE),\r\n queryFn: async () => {\r\n const resp = await window.fetch(process.env.REACT_APP_XTRF_CLIENT_PORTAL_AUTH_URL || \"\");\r\n return (await resp.json()) as Promise<{ authUrl: string }>;\r\n }\r\n });\r\n\r\n const onClick = (e: MouseEvent) => {\r\n const { id } = e.currentTarget;\r\n switch (id) {\r\n case \"invoices\":\r\n window.open(REACT_APP_MY_LLS_PORTAL);\r\n break;\r\n case \"llsInterpretingService\":\r\n window.open(`${LLS_HOME_URL}/interpreting`);\r\n break;\r\n case \"xtrfDashboard\":\r\n if (xtrfClientPortalAuthData) {\r\n window.open(xtrfClientPortalAuthData.authUrl);\r\n }\r\n break;\r\n default:\r\n history.push(`/${id}`);\r\n }\r\n };\r\n\r\n const appCards = appCardNames.map(name => );\r\n\r\n return
{appCards}
;\r\n};\r\n\r\nexport default AppCardContainer;\r\n","import React, { FC } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { IAppCardPage } from \"../../interfaces/appCard\";\r\nimport AppCardContainer from \"../../components/AppCardContainer/AppCardContainer\";\r\nimport \"./cardPage.css\";\r\n\r\nconst AppCardPage: FC = props => {\r\n const { appCardNames, name = \"Unknown\" } = props;\r\n const { t } = useTranslation();\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

\r\n {t(\"appCardPage.welcomeBack\", { name })}\r\n

\r\n

\r\n {t(\"appCardPage.yourTools\")}\r\n

\r\n
\r\n
\r\n {appCardNames.length > 0 ? (\r\n \r\n ) : (\r\n t(\"appCardPage.noApplications\")\r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default AppCardPage;\r\n","import React, { FC, useState } from \"react\";\r\nimport styles from \"./Button.module.scss\";\r\n\r\nexport interface IButton {\r\n children?: React.ReactNode;\r\n backgroundColor?: string;\r\n hoverBackgroundColor?: string;\r\n onClick: (event: React.MouseEvent) => void;\r\n id: string;\r\n}\r\n\r\nconst Button: FC = props => {\r\n const { children, onClick, id, backgroundColor = \"#0057a0\", hoverBackgroundColor = \"#004077\" } = props;\r\n\r\n const [isMouseOver, setMouseOver] = useState(false);\r\n const boxMouseOverHandler = () => {\r\n setMouseOver(true);\r\n };\r\n\r\n const boxMouseOutHandler = () => {\r\n setMouseOver(false);\r\n };\r\n\r\n const getButtonState = () => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const buttonStateObject: any = {};\r\n if (!isMouseOver) {\r\n buttonStateObject.backgroundColor = backgroundColor;\r\n } else {\r\n buttonStateObject.outline = \"0\";\r\n buttonStateObject.backgroundColor = hoverBackgroundColor;\r\n buttonStateObject.textDecoration = \"underline\";\r\n }\r\n return buttonStateObject;\r\n };\r\n\r\n return (\r\n
\r\n 0}\r\n onBlur={() => 0}\r\n >\r\n {children}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Button;\r\n","// noinspection HtmlUnknownTarget\r\n\r\nimport React, { FC, useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Button from \"./Button\";\r\nimport \"./welcome.scss\";\r\n\r\n// noinspection HtmlUnknownTarget\r\nconst PreLogin: FC = () => {\r\n useEffect(() => {\r\n const loginButtonSpan = document.getElementById(\"sign-in-button-span\");\r\n\r\n if (loginButtonSpan) {\r\n loginButtonSpan.setAttribute(\"hidden\", \"\");\r\n }\r\n });\r\n\r\n const toggleHeaderLogin = () => {\r\n const loginButtonSpan = document.getElementById(\"sign-in-button-span\");\r\n if (loginButtonSpan) {\r\n loginButtonSpan.hidden = !loginButtonSpan.hidden;\r\n }\r\n };\r\n\r\n const { t } = useTranslation();\r\n const history = useHistory();\r\n const testClick = (event: React.MouseEvent) => {\r\n const requestSubject = event.currentTarget.id;\r\n if (requestSubject === \"sign-in\") {\r\n const loginButton = document.getElementById(\"sign-in-button\");\r\n if (loginButton) {\r\n loginButton.click();\r\n }\r\n } else if (requestSubject === \"request-quote\") {\r\n toggleHeaderLogin();\r\n history.push(\"/createProject\");\r\n }\r\n };\r\n const requestAQuoteButton = { backgroundColor: \"#fa9b0e\", hoverBackgroundColor: \"#aa6b0b\" };\r\n const signInButton = { backgroundColor: \"#0057a0\", hoverBackgroundColor: \"#004077\" };\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

{t(\"preLogin.getStarted\")}

\r\n
\r\n \r\n \r\n
\r\n

{t(\"preLogin.challenges\")}

\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PreLogin;\r\n","import * as React from \"react\";\nimport Container from \"@mui/material/Container\";\nimport Box from \"@mui/material/Box\";\nimport { useMutation, useQuery } from \"react-query\";\nimport { ClientConfigsService, UserAccountsService } from \"gen/clients/llts\";\nimport { SnackbarApiError } from \"components/SnackbarApiError/SnackbarApiError\";\nimport { Form, Formik } from \"formik\";\nimport { SelectOneField } from \"components/formikFields/SelectOneField/SelectOneField\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\nimport { LoadingPage } from \"components/LoadingPage/LoadingPage\";\nimport { SelectOption } from \"@mui/base\";\nimport { useTranslation } from \"react-i18next\";\nimport Stack from \"@mui/material/Stack\";\nimport Alert from \"@mui/material/Alert\";\nimport { useUserSession } from \"../../../hooks/useUserSession\";\n\ninterface Props {\n email: string;\n onSuccess: () => void;\n}\n\ninterface FormValues {\n organization: string;\n}\n\nconst ClientSelector: React.FC = ({ email, onSuccess }) => {\n const { t } = useTranslation();\n const { externalGroups } = useUserSession();\n const emailDomain = email.substring(email.indexOf(\"@\") + 1);\n\n const {\n data: clientConfigs,\n isLoading: areClientConfigsLoading,\n error: clientConfigsError\n } = useQuery([\"listClientConfigs\", emailDomain], {\n queryFn: () =>\n ClientConfigsService.listClientConfigs({\n emailDomain,\n externalGroups: externalGroups && externalGroups.length > 0 ? externalGroups.join(\",\") : undefined\n })\n });\n\n const { mutateAsync: assignClient, error: assignClientError } = useMutation(UserAccountsService.assignClient);\n\n const organizationOptions: SelectOption[] = React.useMemo(\n () => clientConfigs?.map(c => ({ label: c.companyName, value: c.clientId })) || [],\n [clientConfigs]\n );\n\n const onSubmit = React.useCallback(\n async (formValues: FormValues) => {\n const clientId = formValues.organization;\n await assignClient({ requestBody: { clientId } }, { onSuccess });\n },\n [assignClient, onSuccess]\n );\n\n if (areClientConfigsLoading) {\n return ;\n }\n\n const error = clientConfigsError || assignClientError;\n\n return (\n \n {error && }\n \n {({ isSubmitting }) => (\n
\n \n {t(\"homePage.selectOrganization\")}\n \n \n \n {t(\"common.continue\")}\n \n \n \n
\n )}\n \n
\n );\n};\n\nexport { ClientSelector };\n","import React, { FC, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useQuery } from \"react-query\";\nimport { useHistory } from \"react-router-dom\";\nimport { useUserSession } from \"../../hooks/useUserSession\";\nimport { type IPage } from \"../../interfaces/page\";\nimport logging from \"../../config/logging\";\nimport AppCardPage from \"../AppCardPage/AppCardPage\";\nimport PreLogin from \"../PreLogin/PreLogin\";\nimport { INHOUSE_ROLES } from \"../Dashboard/resources\";\nimport { LoadingPage } from \"../../components/LoadingPage/LoadingPage\";\nimport { UserAccountsService, UserGroup } from \"../../gen/clients/llts\";\nimport { ErrorPage } from \"../../components/ErrorPage/ErrorPage\";\nimport { SUPPORTED_APPS } from \"../../utils/constants\";\nimport { ClientSelector } from \"./SubPages/ClientSelector\";\n\nconst CLIENT_ROLES = [UserGroup.CLIENT, UserGroup.CLIENT_EMPLOYEE];\n\nconst HomePage: FC = props => {\n const { t } = useTranslation();\n const history = useHistory();\n const { id } = props;\n const name = t(`${id}.title`);\n\n const { username, email, isFederatedSsoAccount, roles = [], initialPagePath } = useUserSession();\n\n const {\n data: userAccount,\n isLoading: isUserAccountLoading,\n isFetching: isUserAccountFetching,\n error: userAccountError,\n refetch: refetchUserAccount\n } = useQuery([\"getUserAccount\", username], {\n enabled: !!username,\n queryFn: UserAccountsService.getUserAccount\n });\n\n useEffect(() => {\n logging.info(`Loading ${name}`);\n }, [name]);\n\n useEffect(() => {\n sessionStorage.removeItem(\"accordionData\");\n }, []);\n\n useEffect(() => {\n if (initialPagePath) {\n history.push(initialPagePath);\n }\n }, [history, initialPagePath]);\n\n const isInHouseRole = React.useMemo(() => {\n let isInHouse = false;\n if (username && INHOUSE_ROLES.filter(value => roles.includes(value)).length > 0) {\n isInHouse = true;\n }\n return isInHouse;\n }, [roles, username]);\n\n const cardItems = React.useMemo(() => {\n const applications = userAccount?.applications;\n\n let theNames: string[] = [];\n if (applications && applications.length) {\n theNames = SUPPORTED_APPS.filter(appName => applications.includes(appName));\n }\n\n if (isInHouseRole) {\n theNames.push(\"DASHBOARD\");\n }\n return theNames;\n }, [isInHouseRole, userAccount?.applications]);\n\n if (isUserAccountLoading || isUserAccountFetching) {\n return ;\n }\n\n if (userAccountError) {\n return ;\n }\n\n // For client/client contacts, if clientConfig is not set, display client selector.\n if (\n userAccount &&\n email &&\n !userAccount.clientConfig &&\n CLIENT_ROLES.filter(value => roles.includes(value)).length > 0\n ) {\n return ;\n }\n\n return (\n <>\n {email ? (\n \n ) : (\n \n )}\n \n );\n};\n\nexport default HomePage;\n","/* eslint-disable no-nested-ternary */\nimport React, { FC } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport {\n Card,\n CardContent,\n CardHeader,\n CircularProgress,\n Grid,\n Table,\n TableHead,\n TableRow,\n TableCell,\n TableBody\n} from \"@mui/material\";\n\nimport { FohPendingReviewQuoteStat, FohProjectStat, ProjectStat, QaProjectStat } from \"gen/clients/llts\";\nimport { useTranslation } from \"react-i18next\";\n\nexport enum DashboardTableType {\n TAT,\n STAT,\n QA,\n FOH,\n FOHPENDING\n}\n\nexport type DashboardType = {\n data: ProjectStat[] | undefined | QaProjectStat[] | FohProjectStat[] | FohPendingReviewQuoteStat[];\n isLoading: boolean;\n title: string;\n link: string;\n tableType: DashboardTableType;\n};\n\nconst DashBoardComponent: FC = props => {\n const { title, data, isLoading, link, tableType = DashboardTableType.STAT } = props;\n\n const { t } = useTranslation();\n\n const renderTableHeads = (type: DashboardTableType) => {\n if (type === DashboardTableType.TAT) {\n return (\n <>\n {t(\"DASHBOARD.projectManager\")}\n {t(\"DASHBOARD.standard\")}\n {t(\"DASHBOARD.rush\")}\n {t(\"DASHBOARD.totals\")}\n \n );\n }\n if (type === DashboardTableType.FOH) {\n return (\n <>\n {t(\"DASHBOARD.projectCoordinator\")}\n {t(\"DASHBOARD.quotes\")}\n \n );\n }\n if (type === DashboardTableType.FOHPENDING) {\n return (\n <>\n {t(\"DASHBOARD.quoteReviewStatus\")}\n {t(\"DASHBOARD.quotes\")}\n \n );\n }\n if (type === DashboardTableType.STAT) {\n return (\n <>\n {t(\"DASHBOARD.projectManager\")}\n {t(\"DASHBOARD.project\")}\n \n );\n }\n if (type === DashboardTableType.QA) {\n return (\n <>\n {t(\"DASHBOARD.qaSpecialist\")}\n {t(\"DASHBOARD.assignedJobs\")}\n \n );\n }\n return null;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const renderTableData = (type: DashboardTableType, row: any) => {\n const isUnassignedReport = !row.projectCoordinatorId && !row.projectCoordinator;\n const needsReassignment = !row.projectCoordinator;\n\n if (type === DashboardTableType.TAT) {\n return (\n <>\n \n {row.projectManager}\n \n {row.standard}\n {row.rush}\n {row.totals}\n \n );\n }\n if (type === DashboardTableType.FOH) {\n return (\n <>\n \n \n {isUnassignedReport\n ? t(\"DASHBOARD.unassigned\")\n : needsReassignment\n ? t(\"DASHBOARD.needsReassignment\")\n : row.projectCoordinator}\n \n \n {row.quotes}\n \n );\n }\n if (type === DashboardTableType.FOHPENDING) {\n return (\n <>\n \n {row.quoteReviewStatus}\n \n {row.quotes}\n \n );\n }\n if (type === DashboardTableType.STAT) {\n return (\n <>\n \n {row.projectManager}\n \n {row.projectCount}\n \n );\n }\n if (type === DashboardTableType.QA) {\n return (\n <>\n \n {row.qaSpecialist}\n \n {row.assignedJobs}\n \n );\n }\n return null;\n };\n\n return (\n <>\n \n \n \n \n {isLoading && }\n {data && (\n \n \n {renderTableHeads(tableType)}\n \n \n {data.map((row, index) => (\n \n {renderTableData(tableType, row)}\n \n ))}\n \n
\n )}\n
\n
\n
\n \n );\n};\n\nexport default DashBoardComponent;\n","import React, { FC } from \"react\";\nimport {\n Accordion as MUIAccordion,\n AccordionDetails,\n AccordionSummary,\n Container,\n Grid,\n Typography\n} from \"@mui/material\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport DashBoardComponent, { DashboardType } from \"../../DashBoardComponent\";\n\nexport type AccordionType = {\n title: string;\n dashboardComps?: null | DashboardType[];\n embeddedAccordion?: null | AccordionType;\n id: string;\n onChangeListener: (expanded: boolean, id: string) => void;\n expansionState: (id: string) => boolean;\n};\n\nexport const DashboardAccordion: FC = props => {\n const { title, dashboardComps = null, onChangeListener, id, expansionState } = props;\n\n const handleChange = (panel: string) => (event: React.SyntheticEvent, isExpanded: boolean) => {\n onChangeListener(isExpanded, panel);\n };\n\n const handleExpansionState = (panel: string) => expansionState(panel);\n\n return (\n <>\n \n }>\n {title}\n \n \n {dashboardComps && (\n <>\n \n \n {dashboardComps.map((comp, index) => (\n \n ))}\n \n \n \n )}\n \n \n \n );\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n// noinspection JSUnusedLocalSymbols\n\nimport * as React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { Accordion, AccordionDetails, AccordionSummary, Button, Typography } from \"@mui/material\";\nimport { useHistory } from \"react-router-dom\";\nimport ExpandMoreIcon from \"@mui/icons-material/ExpandMore\";\nimport { useQuery } from \"react-query\";\nimport { useTranslation } from \"react-i18next\";\nimport { ApplicationState } from \"store/store\";\nimport { useSelector } from \"react-redux\";\nimport { IPage } from \"../../interfaces/page\";\nimport { FohQuoteType, StatisticsService, StatProjectType } from \"../../gen/clients/llts\";\nimport logging from \"../../config/logging\";\nimport { DashboardTableType, DashboardType } from \"./DashBoardComponent\";\nimport { DashboardAccordion } from \"./components/DashboardAccordion/DashboardAccordion\";\nimport HomeCrumb from \"../../components/Breadcrumb/HomeCrumb\";\nimport { showDashBoards } from \"./resources\";\n\ninterface IAccordionObj {\n id: string;\n show: boolean;\n}\n\nconst DashboardPage: React.FC = props => {\n const [accordionState, setAccordionState] = useState(\n JSON.parse(sessionStorage.getItem(\"accordionData\") ?? \"[]\")\n );\n const [showCollapseButton, setShowCollapseButton] = useState(false);\n\n const { id } = props;\n const { t } = useTranslation();\n const name = t(`${id}.title`);\n\n const { username, roles } = useSelector((state: ApplicationState) => ({\n roles: state.userSession.roles || [],\n username: state.userSession.username\n }));\n\n useEffect(() => {\n logging.info(`Loading ${name}`);\n }, [name]);\n\n useEffect(() => {\n sessionStorage.setItem(\"accordionData\", JSON.stringify(accordionState));\n }, [accordionState]);\n\n const showCollapseAllButton = React.useCallback(() => {\n const openAccordions = accordionState.filter(accordion => accordion.show);\n\n setShowCollapseButton(openAccordions.length > 0);\n }, [accordionState]);\n\n useEffect(() => {\n showCollapseAllButton();\n }, [accordionState, showCollapseAllButton]);\n\n const expansionState = (panelId: string): boolean => {\n if (accordionState.length) {\n const index = accordionState.findIndex(x => x.id === panelId);\n if (index > -1) {\n return accordionState[index].show;\n }\n }\n return false;\n };\n\n const accordionChange = (expanded: boolean, panelId: string) => {\n // nothing here... add it.\n if (!accordionState.length) {\n setAccordionState(current => [...current, { id: panelId, show: expanded }]);\n } else {\n const index = accordionState.findIndex(x => x.id === panelId);\n if (index === -1) {\n // add it...\n setAccordionState(current => [...current, { id: panelId, show: expanded }]);\n } else {\n // toggle state.\n setAccordionState(prevAccordions =>\n prevAccordions.map(accordion =>\n accordion.id === panelId ? { ...accordion, show: !accordion.show } : accordion\n )\n );\n }\n }\n };\n\n const handleClick = () => {\n const data = JSON.parse(sessionStorage.getItem(\"accordionData\") ?? \"[]\");\n\n setAccordionState(data.map((accordion: any) => ({ ...accordion, show: false })));\n };\n\n const handleChange = (panel: string) => (event: React.SyntheticEvent, isExpanded: boolean) => {\n accordionChange(isExpanded, panel);\n };\n\n const {\n data: comprehensionStats,\n isLoading,\n isError\n } = useQuery(\"compProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.COMPREHENSION\n })\n });\n\n const { data: healthStats } = useQuery(\"healthProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.HEALTHCARE\n })\n });\n const { data: insuranceStats } = useQuery(\"insuranceProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.INSURANCE\n })\n });\n const { data: techStats } = useQuery(\"techProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TECHNICAL\n })\n });\n const { data: govStats } = useQuery(\"govProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.GOVERNMENT\n })\n });\n const { data: taiwanStats } = useQuery(\"taiwanProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TAIWAN\n })\n });\n const { data: compPastDueStats } = useQuery(\"compPastDueProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.COMPREHENSIONPASTDUE\n })\n });\n const { data: healthPastDueStats } = useQuery(\"healthPastDueProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.HEALTHCAREPASTDUE\n })\n });\n const { data: insurancePastDueStats } = useQuery(\"insurancePastDueProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.INSURANCEPASTDUE\n })\n });\n const { data: technicalPastDueStats } = useQuery(\"technicalPastDueProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TECHNICALPASTDUE\n })\n });\n const { data: govPastDueStats } = useQuery(\"governmentPastDueProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.GOVERNMENTPASTDUE\n })\n });\n const { data: taiwanPastDueStats } = useQuery(\"taiwanPastDueProjectStats\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TAIWANPASTDUE\n })\n });\n const { data: compDueTodayStats } = useQuery(\"compProjectsDueToday\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.COMPREHENSIONDUETODAY\n })\n });\n const { data: healthDueTodayStats } = useQuery(\"healthProjectsDueToday\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.HEALTHCAREDUETODAY\n })\n });\n const { data: insuranceDueTodayStats } = useQuery(\"insuranceProjectsDueToday\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.INSURANCEDUETODAY\n })\n });\n const { data: technicalDueTodayStats } = useQuery(\"technicalProjectsDueToday\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TECHNICALDUETODAY\n })\n });\n const { data: govDueTodayStats } = useQuery(\"governmentProjectsDueToday\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.GOVERNMENTDUETODAY\n })\n });\n const { data: taiwanDueTodayStats } = useQuery(\"taiwanProjectsDueToday\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TAIWANDUETODAY\n })\n });\n const { data: tatComp } = useQuery(\"tatComp\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TATCOMP\n })\n });\n const { data: tatHealth } = useQuery(\"tatHealth\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TATHEALTH\n })\n });\n const { data: tatInsurance } = useQuery(\"tatInsurance\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TATINSURANCE\n })\n });\n const { data: tatTech } = useQuery(\"tatTech\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TATTECH\n })\n });\n const { data: tatGov } = useQuery(\"tatGov\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TATGOVERMENT\n })\n });\n const { data: tatTaiwan } = useQuery(\"tatTaiwan\", {\n queryFn: () =>\n StatisticsService.getStatisticsByType({\n projectType: StatProjectType.TATTAIWAN\n })\n });\n const { data: qaStats } = useQuery(\"qaStats\", {\n queryFn: () => StatisticsService.getQaStats()\n });\n const { data: fohCurrentStats } = useQuery(\"fohCurrentStats\", {\n queryFn: () => StatisticsService.getFohCurrentStatistics()\n });\n const { data: fohCompletedStats } = useQuery(\"fohCompletedStats\", {\n queryFn: () => StatisticsService.getFohCompletedStatistics()\n });\n const { data: fohPendingReviewStats } = useQuery(\"fohPendingReviewStats\", {\n queryFn: () => StatisticsService.getFohPendingStatistics()\n });\n const { data: fohTechnicalPastDueStats } = useQuery(\"fohTechnicalPastDueStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.FOHTECHNICALPASTDUE\n })\n });\n const { data: fohTechnicalDueTodayStats } = useQuery(\"fohTechnicalDueTodayStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.FOHTECHNICALDUETODAY\n })\n });\n const { data: fohComprehensionPastDueStats } = useQuery(\"fohComprehensionPastDueStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.FOHCOMPREHENSIONPASTDUE\n })\n });\n const { data: fohComprehensionDueTodayStats } = useQuery(\"fohComprehensionDueTodayStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.FOHCOMPREHENSIONDUETODAY\n })\n });\n const { data: fohHealthPastDueStats } = useQuery(\"fohHealthPastDueStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.FOHHEALTHCAREPASTDUE\n })\n });\n const { data: fohHealthDueTodayStats } = useQuery(\"fohHealthDueTodayStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.FOHHEALTHCAREDUETODAY\n })\n });\n const { data: fohGovernmentPastDueStats } = useQuery(\"fohGovernmentPastDueStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.FOHGOVERNMENTPASTDUE\n })\n });\n const { data: fohGovernmentDueTodayStats } = useQuery(\"fohGovernmentDueTodayStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.FOHGOVERNMENTDUETODAY\n })\n });\n const { data: fohTaiwanPastDueStats } = useQuery(\"fohTaiwanPastDueStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.FOHTAIWANPASTDUE\n })\n });\n const { data: fohTaiwanDueTodayStats } = useQuery(\"fohTaiwanDueTodayStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.FOHTAIWANDUETODAY\n })\n });\n const { data: fohUnassignedPastDueStats } = useQuery(\"fohUnassignedPastDueStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.UNASSIGNEDPASTDUE\n })\n });\n const { data: fohUnassignedDueTodayStats } = useQuery(\"fohUnassignedDueTodayStats\", {\n queryFn: () =>\n StatisticsService.getFohPcStatisticsByType({\n quoteType: FohQuoteType.UNASSIGNEDDUETODAY\n })\n });\n\n const mainDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.verticals.compAndCompliance\"),\n link: \"pmdetails\",\n data: comprehensionStats,\n isLoading,\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.verticals.healthcare\"),\n link: \"pmdetails\",\n data: healthStats,\n isLoading,\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.verticals.insurance\"),\n link: \"pmdetails\",\n data: insuranceStats,\n isLoading,\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.verticals.technical\"),\n link: \"pmdetails\",\n data: techStats,\n isLoading,\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.verticals.government\"),\n data: govStats,\n isLoading,\n link: \"pmdetails\",\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.verticals.taiwan\"),\n data: taiwanStats,\n isLoading,\n link: \"pmdetails\",\n tableType: DashboardTableType.STAT\n }\n ];\n\n const compDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.tat\"),\n data: tatComp,\n isLoading,\n link: \"pmdetails\",\n tableType: DashboardTableType.TAT\n },\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: compPastDueStats,\n isLoading,\n link: \"pastdue\",\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: compDueTodayStats,\n isLoading,\n link: \"duetoday\",\n tableType: DashboardTableType.STAT\n }\n ];\n const healthDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.tat\"),\n data: tatHealth,\n isLoading,\n link: \"pmdetails\",\n tableType: DashboardTableType.TAT\n },\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: healthPastDueStats,\n isLoading,\n link: \"pastdue\",\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: healthDueTodayStats,\n isLoading,\n link: \"duetoday\",\n tableType: DashboardTableType.STAT\n }\n ];\n const insuranceDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.tat\"),\n data: tatInsurance,\n isLoading,\n link: \"pmdetails\",\n tableType: DashboardTableType.TAT\n },\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: insurancePastDueStats,\n isLoading,\n link: \"pastdue\",\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: insuranceDueTodayStats,\n isLoading,\n link: \"duetoday\",\n tableType: DashboardTableType.STAT\n }\n ];\n\n const technicalDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.tat\"),\n data: tatTech,\n isLoading,\n link: \"pmdetails\",\n tableType: DashboardTableType.TAT\n },\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: technicalPastDueStats,\n isLoading,\n link: \"pastdue\",\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: technicalDueTodayStats,\n isLoading,\n link: \"duetoday\",\n tableType: DashboardTableType.STAT\n }\n ];\n\n const governmentDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.tat\"),\n data: tatGov,\n isLoading,\n link: \"pmdetails\",\n tableType: DashboardTableType.TAT\n },\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: govPastDueStats,\n isLoading,\n link: \"pastdue\",\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: govDueTodayStats,\n isLoading,\n link: \"duetoday\",\n tableType: DashboardTableType.STAT\n }\n ];\n\n const taiwanDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.tat\"),\n data: tatTaiwan,\n isLoading,\n link: \"pmdetails\",\n tableType: DashboardTableType.TAT\n },\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: taiwanPastDueStats,\n isLoading,\n link: \"pastdue\",\n tableType: DashboardTableType.STAT\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: taiwanDueTodayStats,\n isLoading,\n link: \"duetoday\",\n tableType: DashboardTableType.STAT\n }\n ];\n\n const qaDashBoardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.dashboards.qa\"),\n data: qaStats,\n isLoading,\n link: \"qadetails\",\n tableType: DashboardTableType.QA\n }\n ];\n\n const fohDashBoardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.fohCurrent\"),\n data: fohCurrentStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n },\n {\n title: t(\"DASHBOARD.topics.fohCompleted\"),\n data: fohCompletedStats,\n isLoading,\n link: \"completedquotes\",\n tableType: DashboardTableType.FOH\n },\n {\n title: t(\"DASHBOARD.topics.fohPendingReview\"),\n data: fohPendingReviewStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOHPENDING\n }\n ];\n\n const fohTechnicalDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: fohTechnicalPastDueStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: fohTechnicalDueTodayStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n }\n ];\n const fohComprehensionDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: fohComprehensionPastDueStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: fohComprehensionDueTodayStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n }\n ];\n const fohHealthDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: fohHealthPastDueStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: fohHealthDueTodayStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n }\n ];\n const fohGovernmentDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: fohGovernmentPastDueStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: fohGovernmentDueTodayStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n }\n ];\n const fohTaiwanDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: fohTaiwanPastDueStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: fohTaiwanDueTodayStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n }\n ];\n const fohUnassignedDashboardComps: DashboardType[] = [\n {\n title: t(\"DASHBOARD.topics.pastdue\"),\n data: fohUnassignedPastDueStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n },\n {\n title: t(\"DASHBOARD.topics.duetoday\"),\n data: fohUnassignedDueTodayStats,\n isLoading,\n link: \"currentquotes\",\n tableType: DashboardTableType.FOH\n }\n ];\n\n const history = useHistory();\n const isLoggedIn = username !== undefined;\n if (!showDashBoards(roles, isLoggedIn, username)) {\n history.push(\"/\");\n }\n\n if (isError) {\n return

{t(\"common.systemError\")}

;\n }\n\n return (\n <>\n
\n
\n \n
\n
\n
\n

{name}

\n
\n
\n \n \n \n }>\n {t(\"DASHBOARD.dashboards.pm-sv\")}\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 {t(\"DASHBOARD.dashboards.foh-pc\")}\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 DashboardPage;\n","import React, { FC, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { IPage } from \"../../../interfaces/page\";\nimport logging from \"../../../config/logging\";\nimport { getPageData } from \"../../../config/utilities\";\nimport HomeCrumb from \"../../../components/Breadcrumb/HomeCrumb\";\n\nconst ServiceInfoPage: FC = props => {\n const { id } = props;\n const { t } = useTranslation();\n const name = t(`${id}.title`);\n\n useEffect(() => {\n logging.info(`Loading ${name}`);\n }, [name]);\n\n const { imgRef, title, body } = getPageData(id, t);\n\n return (\n
\n \n
\n

\n This is the {title} page with the id of {id}!\n

\n
\n {id}\n

{body}

\n
\n
\n
\n );\n};\n\nexport default ServiceInfoPage;\n","import { TFunction } from \"i18next\";\n\nexport const getPageData = (\n idName: string,\n t: TFunction\n): { imgRef: string; title: string; body: string; description: string } => {\n const imgKey = `${idName}.img`;\n const imgRef = `${t(imgKey)}`;\n const titleKey = `${idName}.title`;\n const title = `${t(titleKey)}`;\n const bodyKey = `${idName}.long`;\n const body = `${t(bodyKey)}`;\n const descriptionKey = `${idName}.short`;\n const description = `${t(descriptionKey)}`;\n return { imgRef, title, body, description };\n};\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Auth, CognitoHostedUIIdentityProvider } from \"@aws-amplify/auth\";\nimport {\n Avatar,\n Box,\n Checkbox,\n Container,\n CssBaseline,\n FormControl,\n FormControlLabel,\n FormHelperText,\n Grid,\n Link,\n Typography\n} from \"@mui/material\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport { Field, Form, Formik } from \"formik\";\nimport { TextField } from \"formik-mui\";\nimport { validateEmailFormat } from \"../../../../utils/stringUtils\";\nimport { SnackbarApiError } from \"../../../../components/SnackbarApiError/SnackbarApiError\";\nimport { LoadingButton } from \"../../../../components/LoadingButton/LoadingButton\";\nimport { usePasswordValidator } from \"../../../../hooks/usePasswordValidator/usePasswordValidator\";\n\nenum FieldNames {\n firstName = \"firstName\",\n lastName = \"lastName\",\n email = \"email\",\n password = \"password\",\n repeatPassword = \"repeatPassword\",\n agreementChk = \"agreementChk\"\n}\n\nexport interface FormValues {\n [FieldNames.email]: string;\n [FieldNames.firstName]: string;\n [FieldNames.lastName]: string;\n [FieldNames.agreementChk]: boolean;\n [FieldNames.password]: string;\n [FieldNames.repeatPassword]: string;\n}\n\nexport interface UserInfo {\n firstName: string;\n lastName: string;\n email: string;\n password: string;\n}\n\ninterface Props {\n logoUrl?: string;\n onSuccess: (signUpData: UserInfo) => void;\n isLoading: boolean;\n error: unknown;\n}\n\nconst UserInfoInput: React.FC = ({ logoUrl, onSuccess, isLoading, error }) => {\n const { t } = useTranslation();\n const { validatePassword } = usePasswordValidator();\n const signIn = React.useCallback(() => {\n Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Cognito });\n }, []);\n\n const onSubmit = React.useCallback(\n (values: FormValues) => {\n onSuccess({\n email: values.email,\n firstName: values.firstName,\n lastName: values.lastName,\n password: values.password\n });\n },\n [onSuccess]\n );\n\n const validate = React.useCallback(\n values => {\n const errors: Record = {};\n if (!values[FieldNames.firstName].trim()) {\n errors[FieldNames.firstName] = t(\"common.validation.required\");\n }\n if (!values[FieldNames.lastName].trim()) {\n errors[FieldNames.lastName] = t(\"common.validation.required\");\n }\n const email = values[FieldNames.email];\n if (!email.trim()) {\n errors[FieldNames.email] = t(\"common.validation.required\");\n } else if (!validateEmailFormat(email)) {\n errors[FieldNames.email] = \"Invalid email address\";\n }\n const password = values[FieldNames.password];\n const passwordError = validatePassword(password);\n if (passwordError) {\n errors[FieldNames.password] = passwordError;\n }\n if (password !== values[FieldNames.repeatPassword]) {\n errors[FieldNames.repeatPassword] = t(\"signUp.repeatPassword.validationMsg\");\n }\n if (!values[FieldNames.agreementChk]) {\n errors[FieldNames.agreementChk] = t(\"common.validation.required\");\n }\n return errors;\n },\n [t, validatePassword]\n );\n\n return (\n \n \n {error && }\n \n {logoUrl && {t(\"signUp.logo.alt\")}}\n {!logoUrl && (\n \n \n \n )}\n \n {t(\"signUp.signUp\")}\n \n \n {({ errors, handleChange }) => (\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n onChange={handleChange}\n label={t(\"signUp.agreement\") as string}\n sx={{ alignItems: \"start\" }}\n componentsProps={{ typography: { fontSize: 12 } }}\n disabled={isLoading}\n />\n {errors[FieldNames.agreementChk] && (\n {errors[FieldNames.agreementChk]}\n )}\n \n \n \n \n Continue\n \n \n \n \n {t(\"signUp.signInLink\")}\n \n \n \n
\n
\n )}\n \n \n
\n );\n};\n\nexport { UserInfoInput };\n","import * as React from \"react\";\nimport Container from \"@mui/material/Container\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport Avatar from \"@mui/material/Avatar\";\nimport Typography from \"@mui/material/Typography\";\nimport { ClientConfig } from \"gen/clients/llts\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport { useTranslation } from \"react-i18next\";\nimport Box from \"@mui/material/Box\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport { Form, Formik } from \"formik\";\nimport { SelectOneField } from \"components/formikFields/SelectOneField/SelectOneField\";\nimport { SelectOption } from \"@mui/base\";\nimport { LoadingButton } from \"../../../../components/LoadingButton/LoadingButton\";\nimport { SnackbarApiError } from \"../../../../components/SnackbarApiError/SnackbarApiError\";\n\ninterface Props {\n clientConfigs: ClientConfig[];\n onSelection: (selectedClientConfig: ClientConfig) => void;\n onCancel: () => void;\n isLoading: boolean;\n error: unknown;\n}\n\nconst CompanySelection: React.FC = ({ clientConfigs, onSelection, onCancel, isLoading, error }) => {\n const { t } = useTranslation();\n\n const companyOptions: SelectOption[] = React.useMemo(\n () =>\n clientConfigs\n .filter(c => c.status === \"ACTIVE\")\n .map(c => ({ label: c.companyName, value: c.clientId }))\n .sort((option1, option2) => option1.label.localeCompare(option2.label)),\n [clientConfigs]\n );\n\n const onSubmit = React.useCallback(\n values => {\n const selectedClientId = values.company;\n const selectedClientConfig = clientConfigs.find(clientConfig => clientConfig.clientId === selectedClientId);\n if (!selectedClientConfig) {\n throw new Error(`Cannot find ClientConfig with id [${selectedClientId}]`);\n }\n onSelection(selectedClientConfig);\n },\n [clientConfigs, onSelection]\n );\n\n return (\n \n \n {error && }\n \n \n \n \n \n {t(\"signUp.signUp\")}\n \n \n We found several organizations that match your email address. Please select your organization.\n \n \n \n
\n \n \n \n \n \n \n \n {t(\"common.continue\")}\n \n \n \n \n \n
\n );\n};\n\nexport { CompanySelection };\n","/**\n * Sanitizes a formik field name. Removes periods that cause problems.\n * @param name filed name\n * @return formik safe name\n */\nexport function sanitizeFieldName(name: string): string {\n return name.replaceAll(\".\", \"\");\n}\n","import * as React from \"react\";\nimport { Field, useFormikContext } from \"formik\";\nimport { AutocompleteRenderInputParams, Autocomplete } from \"formik-mui\";\nimport { TextField } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\n\ntype Option = { label: string; value: string };\n\ninterface Props {\n name: string;\n label: string;\n options: Option[];\n required?: boolean;\n disabled?: boolean;\n isLoading?: boolean;\n isError?: boolean;\n helperText?: string;\n variant?: \"outlined\" | \"filled\" | \"standard\";\n}\n\nconst AutocompleteField: React.FC = ({\n name,\n label,\n options,\n required,\n disabled,\n isLoading,\n isError,\n helperText,\n variant = \"standard\"\n}) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n const [validationError, setValidationError] = React.useState();\n\n return (\n option.value === value}\n disabled={disabled || isLoading || isError}\n onChange={(event: React.SyntheticEvent, value: Option, reason: string) => {\n if (reason === \"selectOption\") {\n setFieldValue(name, value.value);\n }\n }}\n validate={(value: string) => {\n const valid = required ? value : true;\n if (!valid) {\n setValidationError(t(\"common.validation.required\"));\n return t(\"common.validation.required\");\n }\n setValidationError(undefined);\n return undefined;\n }}\n freeSolo={true}\n renderInput={(params: AutocompleteRenderInputParams) => (\n setFieldValue(name, event.target.value)}\n />\n )}\n />\n );\n};\n\nexport { AutocompleteField };\n","import * as React from \"react\";\nimport { DatePicker, LocalizationProvider } from \"@mui/x-date-pickers\";\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\nimport { Field, useFormikContext } from \"formik\";\nimport { Dayjs } from \"dayjs\";\nimport { TextField } from \"formik-mui\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface Props {\n name: string;\n label?: string;\n required?: boolean;\n disabled?: boolean;\n helperText?: string;\n variant?: \"outlined\" | \"filled\" | \"standard\";\n validationRegex?: string;\n validationMessage?: string;\n}\n\nconst DatePickerField: React.FC = ({\n name,\n label,\n required,\n disabled,\n helperText,\n variant,\n validationRegex,\n validationMessage\n}) => {\n const { t } = useTranslation();\n const { setFieldValue, values } = useFormikContext>();\n const onChange = React.useCallback(\n (dayjs: Dayjs | null) => {\n setFieldValue(name, dayjs?.format(\"MM/DD/YYYY\"));\n },\n [name, setFieldValue]\n );\n const validate = React.useCallback(\n (value: Dayjs | null) => {\n if (required && !value) {\n return t(\"common.validation.required\");\n }\n if (validationRegex && value && !value.format(\"MM/DD/YYYY\").match(new RegExp(validationRegex))) {\n return validationMessage || \"Invalid format\";\n }\n return undefined;\n },\n [required, validationRegex, t, validationMessage]\n );\n\n return (\n \n {\n if (error) {\n window.console.log(\"Ignoring component's error value\", error);\n }\n return (\n \n );\n }}\n />\n \n );\n};\n\nexport { DatePickerField };\n","import * as React from \"react\";\nimport { Checkbox, FormControl, ListItemText, MenuItem, SelectChangeEvent, TextField } from \"@mui/material\";\nimport { Field, useFormikContext } from \"formik\";\n\ninterface Props {\n name: string;\n label: string;\n options: { label: string; value: string }[];\n required?: boolean;\n disabled?: boolean;\n isLoading?: boolean;\n isError?: boolean;\n helperText?: string;\n}\n\nconst PipeSeparatedSelectManyField: React.FC = ({\n name,\n label,\n options,\n disabled,\n isLoading,\n isError,\n helperText,\n required\n}) => {\n const { values, setFieldValue } = useFormikContext>();\n\n return (\n \n (\n v.length > 0)}\n select={true}\n SelectProps={{\n multiple: true,\n onChange: (event: SelectChangeEvent) => {\n const eventValue = event.target.value as string[];\n const pipedValue = eventValue.join(\"|\");\n setFieldValue(name, pipedValue);\n },\n renderValue: selected => (selected as string[]).sort((v1, v2) => v1.localeCompare(v2)).join(\", \")\n }}\n >\n {options.map(option => (\n \n \n \n \n ))}\n \n )}\n />\n \n );\n};\n\nexport { PipeSeparatedSelectManyField };\n","import * as React from \"react\";\nimport { Field, useFormikContext } from \"formik\";\nimport { Box, FormHelperText, TextField } from \"@mui/material\";\nimport Stack from \"@mui/material/Stack\";\nimport { validateEmailFormat } from \"../../../utils/stringUtils\";\n\ninterface Props {\n name: string;\n label?: string;\n required?: boolean;\n disabled?: boolean;\n variant?: \"outlined\" | \"filled\" | \"standard\";\n helperText?: string;\n validationRegex?: string;\n validationMessage?: string;\n}\n\nconst PersonInfoInputField: React.FC = ({\n name,\n label,\n required,\n disabled,\n variant = \"standard\",\n helperText,\n validationRegex,\n validationMessage\n}) => {\n const { values, setFieldValue, setFieldTouched, touched } = useFormikContext>();\n const [firstNameError, setFirstNameError] = React.useState();\n const [lastNameError, setLastNameError] = React.useState();\n const [emailError, setEmailError] = React.useState();\n\n const validate = React.useCallback(\n (value: string | undefined) => {\n // Only validate if the field has been touched\n if (!touched[name]) {\n return undefined;\n }\n const parsedValue = JSON.parse(value || \"{}\");\n const firstName = parsedValue.firstName;\n const lastName = parsedValue.lastName;\n const email = parsedValue.email;\n if (!required && !firstName && !lastName && !email) {\n setFirstNameError(undefined);\n setLastNameError(undefined);\n setEmailError(undefined);\n return undefined;\n }\n let isValid = true;\n if (!firstName || firstName.trim().length === 0) {\n setFirstNameError(\"First name is required.\");\n isValid = false;\n } else {\n setFirstNameError(undefined);\n }\n if (!lastName || lastName.trim().length === 0) {\n setLastNameError(\"Last name is required.\");\n isValid = false;\n } else {\n setLastNameError(undefined);\n }\n if (!email || !validateEmailFormat(email)) {\n setEmailError(\"A valid email address is required.\");\n isValid = false;\n } else if (validationRegex && !email.match(new RegExp(validationRegex))) {\n setEmailError(validationMessage || \"Invalid format\");\n } else {\n setEmailError(undefined);\n }\n return isValid ? undefined : \"Invalid input\";\n },\n [name, required, touched, validationMessage, validationRegex]\n );\n\n const handleInputChange = (key: string, value: string) => {\n const currentData = JSON.parse(values[name] || \"{}\");\n const updatedData = { ...currentData, [key]: value };\n setFieldValue(name, JSON.stringify(updatedData));\n };\n\n const currentData = JSON.parse(values[name] || \"{}\");\n\n return (\n (\n \n {label && (\n \n \n \n )}\n \n handleInputChange(\"firstName\", e.target.value)}\n onBlur={() => setFieldTouched(name, true, false)}\n fullWidth\n variant={variant}\n name={name}\n disabled={disabled}\n />\n handleInputChange(\"lastName\", e.target.value)}\n onBlur={() => setFieldTouched(name, true, false)}\n fullWidth\n variant={variant}\n disabled={disabled}\n />\n handleInputChange(\"email\", e.target.value)}\n onBlur={() => setFieldTouched(name, true, false)}\n fullWidth\n variant={variant}\n disabled={disabled}\n />\n \n {helperText && {helperText}}\n \n )}\n />\n );\n};\n\nexport { PersonInfoInputField };\n","import * as React from \"react\";\nimport { CustomFieldDefinition } from \"gen/clients/llts\";\nimport { TextInputField } from \"../TextInputField/TextInputField\";\nimport { SelectOneField } from \"../SelectOneField/SelectOneField\";\nimport { AutocompleteField } from \"../AutocompleteField/AutocompleteField\";\nimport { DatePickerField } from \"../DatePickerField/DatePickerField\";\nimport { sanitizeFieldName } from \"../formikUtils\";\nimport { PipeSeparatedSelectManyField } from \"../PipeSeparatedSelectManyField/PipeSeparatedSelectManyField\";\nimport { CheckboxField } from \"../CheckboxField/CheckboxField\";\nimport { useFormikContext } from \"formik\";\nimport { useEffect } from \"react\";\nimport { PersonInfoInputField } from \"../PersonInfoInputField/PersonInfoInputField\";\n\ninterface Props {\n customFieldDefinition: CustomFieldDefinition;\n variant?: \"outlined\" | \"filled\" | \"standard\";\n}\n\nconst CustomField: React.FC = ({ customFieldDefinition, variant = \"standard\" }) => {\n const { setFieldValue } = useFormikContext();\n const fieldName = sanitizeFieldName(customFieldDefinition.name);\n\n useEffect(() => {\n return () => {\n setFieldValue(fieldName, \"\");\n };\n }, [fieldName, setFieldValue]);\n\n switch (customFieldDefinition.type) {\n case CustomFieldDefinition.type.INPUT_TEXT:\n return (\n \n );\n case CustomFieldDefinition.type.TEXT_AREA:\n return (\n \n );\n case CustomFieldDefinition.type.LISTONLY:\n return (\n \n );\n case CustomFieldDefinition.type.LIST:\n return (\n \n );\n case CustomFieldDefinition.type.SELECT_MANY_LIST:\n return (\n \n );\n case CustomFieldDefinition.type.DATE:\n return (\n \n );\n case CustomFieldDefinition.type.CHECKBOX:\n return (\n \n );\n case CustomFieldDefinition.type.PERSON_INFO:\n return (\n \n );\n default:\n return
Unknown custom field type: {customFieldDefinition.type}
;\n }\n};\n\nexport { CustomField };\n","import { CustomFieldDefinition } from \"../../../gen/clients/llts\";\nimport { sanitizeFieldName } from \"../formikUtils\";\n\nexport class CustomFieldUtils {\n /**\n * Determines the visibility of a custom field based on its definition and the current form values.\n *\n * @param {CustomFieldDefinition} customFieldDefinition - The definition of the custom field, including visibility rules.\n * @param {Record} formValues - The current values of the form fields, used for conditional visibility checks.\n * @return {boolean} True if the custom field is visible, otherwise false.\n */\n public static isCustomFieldVisible(customFieldDefinition: CustomFieldDefinition, formValues: Record) {\n if (customFieldDefinition.visible) {\n return true;\n }\n if (customFieldDefinition.visibleIf && customFieldDefinition.visibleIf.length > 0) {\n const visibleIf = customFieldDefinition.visibleIf[0];\n return formValues[sanitizeFieldName(visibleIf.fieldName)] === visibleIf.value;\n }\n return false;\n }\n}\n","import * as React from \"react\";\nimport { CustomFieldDefinition, CustomFieldValue } from \"gen/clients/llts\";\nimport Container from \"@mui/material/Container\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport Box from \"@mui/material/Box\";\nimport Avatar from \"@mui/material/Avatar\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport Typography from \"@mui/material/Typography\";\nimport { Form, Formik } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport { sanitizeFieldName } from \"components/formikFields/formikUtils\";\nimport { CustomField } from \"components/formikFields/CustomField/CustomField\";\nimport { SnackbarApiError } from \"components/SnackbarApiError/SnackbarApiError\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\nimport { CustomFieldUtils } from \"components/formikFields/CustomField/CustomFieldUtils\";\n\ninterface Props {\n logoUrl?: string;\n customFieldDefinitions: CustomFieldDefinition[];\n onValuesEntry: (values: CustomFieldValue[]) => void;\n onCancel: () => void;\n isLoading: boolean;\n error: unknown;\n}\n\nconst CustomFieldValuesInput: React.FC = ({\n logoUrl,\n customFieldDefinitions,\n onValuesEntry,\n onCancel,\n isLoading,\n error\n}) => {\n const { t } = useTranslation();\n\n const initialValues = React.useMemo(() => {\n const values: Record = {};\n customFieldDefinitions\n .filter(f => f.visible)\n .forEach(f => {\n values[sanitizeFieldName(f.name)] = f.defaultValue || \"\";\n });\n return values;\n }, [customFieldDefinitions]);\n\n const onSubmit = React.useCallback(\n (formValues: Record) => {\n const customFieldValues: CustomFieldValue[] = [];\n Object.keys(formValues).forEach(fieldName => {\n const customFieldDefinition = customFieldDefinitions.find(f => sanitizeFieldName(f.name) === fieldName);\n if (!customFieldDefinition) {\n throw new Error(`Cannot find customFieldDefinition with name [${fieldName}]`);\n }\n customFieldValues.push({\n fieldName: customFieldDefinition.name,\n value: formValues[fieldName],\n mapping: customFieldDefinition.mapping\n });\n });\n onValuesEntry(customFieldValues);\n },\n [customFieldDefinitions, onValuesEntry]\n );\n\n return (\n \n \n {error && }\n \n {logoUrl && {t(\"signUp.logo.alt\")}}\n {!logoUrl && (\n \n \n \n )}\n \n {t(\"signUp.signUp\")}\n \n \n {t(\"signUp.customFieldsInput.title\")}\n \n \n \n {({ values }) => (\n
\n {customFieldDefinitions\n .filter(fieldDefinition => CustomFieldUtils.isCustomFieldVisible(fieldDefinition, values))\n .map(fieldDefinition => (\n \n \n \n ))}\n\n \n \n \n \n \n \n {t(\"signUp.signUpBtn\")}\n \n \n \n
\n )}\n
\n
\n );\n};\n\nexport { CustomFieldValuesInput };\n","import * as React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport Box from \"@mui/material/Box\";\nimport Avatar from \"@mui/material/Avatar\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport Container from \"@mui/material/Container\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface Props {\n logoUrl?: string;\n}\n\nconst AccountCreated: React.FC = ({ logoUrl }) => {\n const { t } = useTranslation();\n\n return (\n \n \n \n {logoUrl && {t(\"signUp.logo.alt\")}}\n {!logoUrl && (\n \n \n \n )}\n \n {t(\"signUp.signUp\")}\n \n \n \n \n );\n};\n\nexport { AccountCreated };\n","import * as React from \"react\";\nimport Container from \"@mui/material/Container\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport Box from \"@mui/material/Box\";\nimport Avatar from \"@mui/material/Avatar\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport Typography from \"@mui/material/Typography\";\nimport { useTranslation } from \"react-i18next\";\nimport Button from \"@mui/material/Button\";\n\ninterface Props {\n message: string;\n logoUrl?: string;\n onCancel: () => void;\n}\n\nconst SignUpError: React.FC = ({ message, logoUrl, onCancel }) => {\n const { t } = useTranslation();\n return (\n \n \n \n {logoUrl && {t(\"signUp.logo.alt\")}}\n {!logoUrl && (\n \n \n \n )}\n \n {t(\"signUp.signUp\")}\n \n \n {message}\n \n \n \n \n \n \n );\n};\n\nexport { SignUpError };\n","import * as React from \"react\";\nimport { useFormikContext } from \"formik\";\nimport { useEffect } from \"react\";\n\ninterface Props {\n fieldName: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChange: (newValue: any) => void;\n}\n\nconst FormFieldObserver: React.FC = ({ fieldName, onChange }) => {\n const { values } = useFormikContext>();\n\n useEffect(() => {\n onChange(values[fieldName]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [values[fieldName]]);\n return null;\n};\n\nexport { FormFieldObserver };\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Avatar, Box, Button, Container, CssBaseline, Grid, Typography } from \"@mui/material\";\nimport LockOutlinedIcon from \"@mui/icons-material/LockOutlined\";\nimport { Field, Form, Formik } from \"formik\";\nimport { TextField } from \"formik-mui\";\nimport { SelectOneField } from \"components/formikFields/SelectOneField/SelectOneField\";\nimport { useCountryOptions } from \"hooks/useCountryOptions/useCountryOptions\";\nimport { useProvinceOptions } from \"hooks/useProvinceOptions/useProvinceOptions\";\nimport { FormFieldObserver } from \"components/formikFields/FormFieldObserver/FormFieldObserver\";\nimport { Address } from \"gen/clients/llts/models/Address\";\nimport { DEFAULT_COUNTRY_CODE } from \"utils/constants\";\nimport { SnackbarApiError } from \"../../../../components/SnackbarApiError/SnackbarApiError\";\nimport { LoadingButton } from \"../../../../components/LoadingButton/LoadingButton\";\n\nenum FieldNames {\n addressLine1 = \"addressLine1\",\n addressLine2 = \"addressLine2\",\n city = \"city\",\n country = \"country\",\n province = \"province\",\n zip = \"zip\"\n}\n\nexport interface FormValues {\n [FieldNames.addressLine1]: string;\n [FieldNames.addressLine2]: string;\n [FieldNames.city]: string;\n [FieldNames.zip]: string;\n [FieldNames.province]: string;\n [FieldNames.country]: string;\n}\n\ninterface Props {\n logoUrl?: string;\n onSuccess: (signUpData: Address) => void;\n onCancel: () => void;\n isLoading: boolean;\n error: unknown;\n}\n\nconst UserAddressInput: React.FC = ({ logoUrl, onSuccess, onCancel, isLoading, error }) => {\n const { t } = useTranslation();\n const [countryValue, setCountryValue] = React.useState(+DEFAULT_COUNTRY_CODE);\n const { countryOptions, isCountriesLoading, countriesError } = useCountryOptions();\n const { provinceOptions, isProvincesLoading, provincesError } = useProvinceOptions(countryValue);\n\n const onSubmit = React.useCallback(\n (values: FormValues) => {\n const province = values[FieldNames.province]\n ? {\n name: (provinceOptions.find(o => o.value === +values[FieldNames.province])?.label as string) || \"\",\n id: +values[FieldNames.province]\n }\n : undefined;\n onSuccess({\n province,\n country: {\n name: (countryOptions.find(o => o.value === +values[FieldNames.country])?.label as string) || \"\",\n id: +values[FieldNames.country]\n },\n city: values[FieldNames.city].trim() || undefined,\n address1: values[FieldNames.addressLine1].trim() || undefined,\n address2: values[FieldNames.addressLine2].trim() || undefined,\n zipCode: values[FieldNames.zip].trim() || undefined\n });\n },\n [countryOptions, onSuccess, provinceOptions]\n );\n\n const validate = React.useCallback(\n values => {\n const errors: Record = {};\n if (!values[FieldNames.addressLine1].trim()) {\n errors[FieldNames.addressLine1] = t(\"common.validation.required\");\n }\n if (!values[FieldNames.city].trim()) {\n errors[FieldNames.city] = t(\"common.validation.required\");\n }\n if (!values[FieldNames.zip].trim()) {\n errors[FieldNames.zip] = t(\"common.validation.required\");\n }\n if (!values[FieldNames.country]) {\n errors[FieldNames.country] = t(\"common.validation.required\");\n }\n return errors;\n },\n [t]\n );\n\n return (\n \n \n {error && }\n \n {logoUrl && {t(\"signUp.logo.alt\")}}\n {!logoUrl && (\n \n \n \n )}\n \n {t(\"signUp.signUp\")}\n \n \n {t(\"signUp.provideAddress\")}\n \n \n \n
\n setCountryValue(+value)} />\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 {t(\"common.continue\")}\n \n \n \n \n
\n \n \n
\n );\n};\n\nexport { UserAddressInput };\n","import * as React from \"react\";\nimport { useMutation, useQuery } from \"react-query\";\nimport {\n Address,\n ClientConfig,\n ClientConfigsService,\n CustomFieldDefinitionCategory,\n CustomFieldValue,\n UserAccountsService,\n UserGroup\n} from \"gen/clients/llts\";\nimport { useParams } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { UserInfo, UserInfoInput } from \"./components/UserInfoInput/UserInfoInput\";\nimport { CompanySelection } from \"./components/CompanySelection/CompanySelection\";\nimport { CustomFieldValuesInput } from \"./components/CustomFieldValuesInput/CustomFieldValuesInput\";\nimport { AccountCreated } from \"./components/AccountCreated/AccountCreated\";\nimport { SignUpError } from \"./components/SignUpError/SignUpError\";\nimport { UserAddressInput } from \"./components/UserAddressInput/UserAddressInput\";\n\nenum SignUpPhase {\n USER_INFO_INPUT = \"USER_INFO_INPUT\",\n USER_ADDRESS_INPUT = \"USER_ADDRESS_INPUT\",\n COMPANY_NOT_FOUND = \"COMPANY_NOT_FOUND\",\n INVALID_CLIENT_ID = \"INVALID_CLIENT_ID\",\n INVALID_TOKEN = \"INVALID_TOKEN\",\n COMPANY_SELECTION = \"COMPANY-SELECTION\",\n CUSTOM_FIELD_VALUES_INPUT = \"CUSTOM_FIELD_VALUES_INPUT\",\n ACCOUNT_CREATED = \"ACCOUNT_CREATED\"\n}\n\ninterface RouterParams {\n clientId?: string;\n token?: string;\n}\n\nconst SignUpPage: React.FC = () => {\n const { t } = useTranslation();\n const { clientId: encodedClientId, token } = useParams();\n const [signUpPhase, setSignUpPhase] = React.useState(SignUpPhase.USER_INFO_INPUT);\n const [userInfo, setUserInfo] = React.useState();\n const [userAddress, setUserAddress] = React.useState
();\n const [clientConfig, setClientConfig] = React.useState();\n const [customFieldValues, setCustomFieldValues] = React.useState();\n const decodedClientId = encodedClientId ? atob(decodeURIComponent(encodedClientId)) : undefined;\n\n const { data: providedClientConfig } = useQuery([\"getClientConfig\", decodedClientId], {\n enabled: !!decodedClientId,\n queryFn: () => ClientConfigsService.getClientConfig({ clientId: decodedClientId || \"\" })\n });\n\n const {\n data: clientConfigs,\n isFetching: clientConfigsFetching,\n error: clientConfigsError\n } = useQuery([\"listClientConfigs\", userInfo?.email], {\n enabled: !!userInfo?.email,\n queryFn: () =>\n ClientConfigsService.listClientConfigs({\n emailDomain: userInfo?.email.substring(userInfo?.email.indexOf(\"@\") + 1) || \"\"\n })\n });\n\n const {\n data: customFieldDefinitions,\n isFetching: customFieldDefinitionsFetching,\n error: customFieldDefinitionsError\n } = useQuery([\"getCustomFieldDefinitions\", clientConfig?.clientId], {\n enabled: !!clientConfig?.clientId,\n queryFn: () =>\n ClientConfigsService.getCustomFieldDefinitions({\n clientId: clientConfig?.clientId || \"\",\n category: CustomFieldDefinitionCategory.USER\n })\n });\n\n const {\n mutate: createUserAccount,\n error: createUserAccountError,\n isSuccess: createUserAccountSuccessful,\n isLoading: createUserAccountLoading\n } = useMutation(\"createUserAccount\", {\n mutationFn: UserAccountsService.creatUserAccount\n });\n\n const isLoading = clientConfigsFetching || customFieldDefinitionsFetching || createUserAccountLoading;\n const apiError = clientConfigsError || customFieldDefinitionsError || createUserAccountError;\n\n const onCancel = React.useCallback(() => {\n setUserInfo(undefined);\n setUserAddress(undefined);\n setClientConfig(undefined);\n setCustomFieldValues(undefined);\n setSignUpPhase(SignUpPhase.USER_INFO_INPUT);\n }, []);\n\n React.useEffect(() => {\n if (!clientConfigs) {\n return;\n }\n if (!userAddress) {\n setSignUpPhase(SignUpPhase.USER_ADDRESS_INPUT);\n return;\n }\n if (clientConfigs.length === 0) {\n setSignUpPhase(SignUpPhase.COMPANY_NOT_FOUND);\n }\n if (clientConfigs.length === 1) {\n const config = clientConfigs[0];\n if (decodedClientId && decodedClientId !== config.clientId) {\n setSignUpPhase(SignUpPhase.INVALID_CLIENT_ID);\n } else if (decodedClientId && token !== config.signUpToken) {\n setSignUpPhase(SignUpPhase.INVALID_TOKEN);\n } else {\n setClientConfig(config);\n }\n }\n if (clientConfigs.length > 1) {\n if (decodedClientId) {\n const config = clientConfigs.find(c => c.clientId === decodedClientId);\n if (!config) {\n setSignUpPhase(SignUpPhase.INVALID_CLIENT_ID);\n } else if (token !== config.signUpToken) {\n setSignUpPhase(SignUpPhase.INVALID_TOKEN);\n } else {\n setClientConfig(config);\n }\n } else {\n setSignUpPhase(SignUpPhase.COMPANY_SELECTION);\n }\n }\n }, [clientConfigs, decodedClientId, token, userAddress]);\n\n React.useEffect(() => {\n if (!customFieldDefinitions) {\n return;\n }\n if (customFieldDefinitions.length === 0) {\n setCustomFieldValues([]);\n } else if (customFieldDefinitions.length > 0) {\n setSignUpPhase(SignUpPhase.CUSTOM_FIELD_VALUES_INPUT);\n }\n }, [customFieldDefinitions]);\n\n React.useEffect(() => {\n if (createUserAccountSuccessful) {\n setSignUpPhase(SignUpPhase.ACCOUNT_CREATED);\n }\n }, [createUserAccountSuccessful]);\n\n React.useEffect(() => {\n if (!userInfo || !userAddress || !clientConfig || !customFieldValues) {\n return;\n }\n createUserAccount({\n requestBody: {\n clientId: clientConfig.clientId,\n email: userInfo.email,\n firstName: userInfo.firstName,\n lastName: userInfo.lastName,\n password: userInfo.password,\n role: UserGroup.CLIENT_EMPLOYEE,\n address: userAddress,\n customFieldValues\n }\n });\n }, [userInfo, userAddress, clientConfig, customFieldValues, createUserAccount]);\n\n switch (signUpPhase) {\n case SignUpPhase.USER_INFO_INPUT:\n return (\n \n );\n case SignUpPhase.USER_ADDRESS_INPUT:\n return (\n \n );\n case SignUpPhase.COMPANY_SELECTION:\n return (\n \n );\n case SignUpPhase.CUSTOM_FIELD_VALUES_INPUT:\n return (\n \n );\n case SignUpPhase.ACCOUNT_CREATED:\n return ;\n case SignUpPhase.COMPANY_NOT_FOUND:\n return (\n \n );\n case SignUpPhase.INVALID_CLIENT_ID:\n return (\n \n );\n case SignUpPhase.INVALID_TOKEN:\n return (\n \n );\n default:\n throw new Error(`Unknown SignUpPhase [${signUpPhase}]`);\n }\n};\n\nexport { SignUpPage };\n","import * as React from \"react\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport { useTranslation } from \"react-i18next\";\nimport { Button, Stack, Typography } from \"@mui/material\";\nimport { UserAccountsService } from \"gen/clients/llts\";\nimport { useMutation } from \"react-query\";\nimport OTPInput from \"react-otp-input\";\nimport { SnackbarApiError } from \"../SnackbarApiError/SnackbarApiError\";\nimport { LoadingButton } from \"../LoadingButton/LoadingButton\";\n\ninterface Props {\n email: string;\n onSuccess: (code: string) => void;\n onClose: () => void;\n}\n\nconst VERIFICATION_CODE_LENGTH = 6;\n\nconst EmailVerificationDialog: React.FC = ({ email, onSuccess, onClose }) => {\n const { t } = useTranslation();\n const [verificationCode, setVerificationCode] = React.useState(\"\");\n\n const {\n mutate: validateEmailVerificationCode,\n data: emailValidationResult,\n isLoading: isValidationInProgress,\n error: validationError\n } = useMutation(UserAccountsService.validateEmailVerificationCode);\n\n const { mutate: sendEmailVerificationCode, error: sendEmailError } = useMutation(\n UserAccountsService.sendEmailVerificationCode\n );\n\n const apiError = validationError || sendEmailError;\n\n React.useEffect(() => {\n sendEmailVerificationCode({\n requestBody: {\n email\n }\n });\n }, [email, sendEmailVerificationCode]);\n\n React.useEffect(() => {\n if (emailValidationResult?.isValid) {\n onSuccess(verificationCode);\n }\n }, [emailValidationResult, onSuccess, verificationCode]);\n\n const onResendClick = React.useCallback(() => {\n setVerificationCode(\"\");\n sendEmailVerificationCode({\n requestBody: {\n email\n }\n });\n }, [email, sendEmailVerificationCode]);\n\n const onVerifyClick = React.useCallback(() => {\n validateEmailVerificationCode({\n requestBody: {\n email,\n verificationCode\n }\n });\n }, [email, validateEmailVerificationCode, verificationCode]);\n\n const onDialogClose = React.useCallback(\n (event, reason) => {\n if (reason !== \"backdropClick\") {\n onClose();\n }\n },\n [onClose]\n );\n\n return (\n \n {t(\"emailVerification.dialogTitle\")}\n \n \n {t(\"emailVerification.emailSentMessage\")}\n {\n setVerificationCode(code);\n }}\n value={verificationCode}\n numInputs={VERIFICATION_CODE_LENGTH}\n inputStyle={{ fontSize: 30, marginLeft: 8, marginRight: 8 }}\n inputType=\"text\"\n renderSeparator={}\n renderInput={props => }\n shouldAutoFocus\n />\n {emailValidationResult?.isValid === false && (\n \n {t(\"emailVerification.invalidCode\")}\n \n )}\n \n {t(\"emailVerification.didntReceiveCode\")}\n \n \n \n {!!apiError && }\n \n \n \n {t(\"emailVerification.verifyBtn\")}\n \n \n \n \n );\n};\n\nexport { EmailVerificationDialog };\n","import { PresignedPost } from \"gen/clients/llts\";\nimport axios from \"axios\";\n\nexport type UploadProgressCallback = (delta: number) => void;\n\nexport class S3FileUploader {\n public static async upload(\n files: File[],\n presignedPost: PresignedPost,\n onUploadProgress?: UploadProgressCallback\n ): Promise {\n const url = presignedPost.url;\n if (!url) {\n throw new Error(\"url in presigned post is not set\");\n }\n const promises = files.map(file => this.uploadFile(url || \"\", presignedPost.fields || {}, file, onUploadProgress));\n await Promise.all(promises);\n }\n\n private static async uploadFile(\n url: string,\n fields: Record,\n file: File,\n onUploadProgress?: UploadProgressCallback\n ): Promise {\n const formData = new FormData();\n Object.entries(fields).forEach(([k, v]) => {\n formData.append(k, v);\n });\n formData.append(\"file\", file);\n\n await axios.post(url, formData, {\n onUploadProgress: progressEvent => {\n if (onUploadProgress) {\n const delta =\n progressEvent.loaded > file.size\n ? progressEvent.bytes - (progressEvent.loaded - file.size)\n : progressEvent.bytes;\n onUploadProgress(delta);\n }\n }\n });\n }\n}\n","import * as React from \"react\";\nimport { useFormikContext } from \"formik\";\n\nexport const ScrollToFieldError: React.FC = () => {\n const { submitCount, isValid, errors } = useFormikContext();\n\n React.useEffect(() => {\n if (isValid) {\n return;\n }\n\n const fieldErrorNames = Object.keys(errors);\n if (fieldErrorNames.length <= 0) {\n return;\n }\n\n let element = document.querySelector(`input[name='${fieldErrorNames[0]}']`);\n if (!element) {\n element = document.getElementById(fieldErrorNames[0]);\n }\n if (!element) {\n return;\n }\n\n // Scroll to first known error into view\n element.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [submitCount]);\n\n return null;\n};\n","import * as React from \"react\";\nimport LinearProgress, { LinearProgressProps } from \"@mui/material/LinearProgress\";\nimport Typography from \"@mui/material/Typography\";\nimport Box from \"@mui/material/Box\";\n\nexport function LinearProgressWithLabel(props: LinearProgressProps & { value: number }) {\n return (\n \n \n \n \n \n {`${Math.round(props.value)}%`}\n \n \n );\n}\n","import * as React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { TextInputField } from \"components/formikFields/TextInputField/TextInputField\";\nimport { SelectOneField } from \"components/formikFields/SelectOneField/SelectOneField\";\nimport { CustomField } from \"components/formikFields/CustomField/CustomField\";\nimport { useTranslation } from \"react-i18next\";\nimport { CustomFieldDefinition } from \"gen/clients/llts\";\nimport { useCountryOptions } from \"hooks/useCountryOptions/useCountryOptions\";\nimport { useProvinceOptions } from \"hooks/useProvinceOptions/useProvinceOptions\";\nimport { useFormikContext } from \"formik\";\nimport { CustomFieldUtils } from \"components/formikFields/CustomField/CustomFieldUtils\";\n\ninterface Props {\n userCustomFieldDefinitions?: CustomFieldDefinition[];\n showCompanyName?: boolean;\n disableEmail?: boolean;\n}\n\nexport enum UserContactSectionField {\n companyName = \"companyName\",\n email = \"email\",\n firstName = \"firstName\",\n lastName = \"lastName\",\n address1 = \"address1\",\n address2 = \"address2\",\n city = \"city\",\n province = \"province\",\n country = \"country\",\n zip = \"zip\",\n phone = \"phone\"\n}\n\nexport interface UserContactSectionFormValues {\n [UserContactSectionField.companyName]: string;\n [UserContactSectionField.email]: string;\n [UserContactSectionField.firstName]: string;\n [UserContactSectionField.lastName]: string;\n [UserContactSectionField.address1]: string;\n [UserContactSectionField.address2]: string;\n [UserContactSectionField.city]: string;\n [UserContactSectionField.zip]: string;\n [UserContactSectionField.phone]: string;\n [UserContactSectionField.province]: string;\n [UserContactSectionField.country]: string;\n}\n\nconst UserContactSection: React.FC = ({ userCustomFieldDefinitions, showCompanyName, disableEmail }) => {\n const { t } = useTranslation();\n const { values } = useFormikContext();\n const { countryOptions, isCountriesLoading, countriesError } = useCountryOptions();\n const { provinceOptions, isProvincesLoading, provincesError } = useProvinceOptions(\n values[UserContactSectionField.country] ? +values[UserContactSectionField.country] : undefined\n );\n\n return (\n \n {showCompanyName && (\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 {/* User custom fields */}\n {userCustomFieldDefinitions &&\n userCustomFieldDefinitions.map(customFieldDefinition => (\n \n {CustomFieldUtils.isCustomFieldVisible(customFieldDefinition, values) && (\n \n \n \n )}\n \n ))}\n \n );\n};\n\nexport { UserContactSection };\n","import * as React from \"react\";\nimport { createFilterOptions, FormControl, TextField } from \"@mui/material\";\nimport { Field, useFormikContext } from \"formik\";\nimport { Autocomplete, AutocompleteRenderInputParams } from \"formik-mui\";\nimport { useTranslation } from \"react-i18next\";\nimport { SelectOption } from \"@mui/base\";\n\ninterface Props {\n name: string;\n label: string;\n options: SelectOption[];\n required?: boolean;\n disabled?: boolean;\n isLoading?: boolean;\n isError?: boolean;\n helperText?: string;\n variant?: \"outlined\" | \"filled\" | \"standard\";\n size?: \"small\" | \"medium\";\n}\n\nconst filterOptions = createFilterOptions({\n matchFrom: \"start\",\n trim: true\n});\n\nconst SelectOneAutocompleteField: React.FC = ({\n name,\n label,\n options,\n required,\n disabled,\n isLoading,\n isError,\n helperText,\n variant = \"standard\",\n size\n}) => {\n const { t } = useTranslation();\n const { errors, touched, isSubmitting } = useFormikContext>();\n\n const validate = React.useCallback(\n (value: string) => (required && !value ? t(\"common.validation.required\") : undefined),\n [required, t]\n );\n\n const isOptionEqualToValue = React.useCallback(\n (option: SelectOption, value: string | SelectOption) =>\n option === value || option.value === value || option.value === (value as SelectOption).value,\n []\n );\n\n return (\n \n (\n \n )}\n />\n \n );\n};\n\nexport { SelectOneAutocompleteField };\n","import { alpha, styled } from \"@mui/material/styles\";\nimport Menu, { MenuProps } from \"@mui/material/Menu\";\nimport * as React from \"react\";\n\nexport const StyledMenu = styled((props: MenuProps) => (\n \n))(({ theme }) => ({\n \"& .MuiPaper-root\": {\n borderRadius: 6,\n marginTop: theme.spacing(1),\n minWidth: 180,\n maxHeight: 400,\n color: theme.palette.mode === \"light\" ? \"rgb(55, 65, 81)\" : theme.palette.grey[300],\n boxShadow:\n \"rgb(255, 255, 255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px\",\n \"& .MuiMenu-list\": {\n padding: \"4px 0\"\n },\n \"& .MuiMenuItem-root\": {\n \"& .MuiSvgIcon-root\": {\n fontSize: 18,\n color: theme.palette.text.secondary,\n marginRight: theme.spacing(1.5)\n },\n \"&:active\": {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n }\n }\n}));\n","import * as React from \"react\";\nimport Button from \"@mui/material/Button\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\nimport { StyledMenu } from \"./StyledMenu\";\nimport { SelectOption } from \"@mui/base\";\nimport { ButtonProps } from \"@mui/material\";\n\ninterface LocalProps {\n label: React.ReactNode;\n options: SelectOption[];\n onSelect: (value: string, index: number) => void;\n}\n\ntype Props = Omit & LocalProps;\n\nconst ButtonWithOptions: React.FC = ({ label, options, onSelect, ...buttonProps }) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const onOptionClick = (value: string, index: number) => {\n onSelect(value, index);\n handleClose();\n };\n\n return (\n
\n }\n >\n {label}\n \n \n {options.map((option, index) => (\n onOptionClick(option.value, index)}>\n {option.label}\n \n ))}\n \n
\n );\n};\n\nexport { ButtonWithOptions };\n","/**\n * Returns true if two arrays have at least one common element. Otherwise, returns false.\n * @param a\n * @param b\n */\nexport function intersect(a: T[], b: T[]): boolean {\n return a.filter(element => b.includes(element)).length > 0;\n}\n\n/**\n * Given an array of objects and the name of a property, returns a new array that has the same elements,\n * but with duplicates removed. Two objects are considered duplicates if their values for the given\n * property are equal.\n * @param arr The array of objects to remove duplicates from\n * @param propertyName The name of the property to compare when determining duplicates\n * @returns A new array with no duplicate objects\n */\nexport function removeDuplicatesByProperty(arr: T[], propertyName: string): T[] {\n const uniqueValues = new Set();\n return arr.filter(element => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (!uniqueValues.has(element[propertyName])) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n uniqueValues.add(element[propertyName]);\n return true;\n }\n return false;\n });\n}\n","import * as React from \"react\";\nimport { Alert, Checkbox, FormControlLabel, Grid } from \"@mui/material\";\nimport { TextInputField } from \"components/formikFields/TextInputField/TextInputField\";\nimport { SelectOneAutocompleteField } from \"components/formikFields/SelectOneAutocompleteField/SelectOneAutocompleteField\";\nimport { SelectManyAutocompleteField } from \"components/formikFields/SelectManyAutocompleteField/SelectManyAutocompleteField\";\nimport { CustomField } from \"components/formikFields/CustomField/CustomField\";\nimport { useTranslation } from \"react-i18next\";\nimport { useQuery } from \"react-query\";\nimport {\n ClientConfigsService,\n CustomFieldDefinition,\n Language,\n UserAccountsService,\n UtilsService,\n WorkflowOption\n} from \"gen/clients/llts\";\nimport { SelectOption } from \"@mui/base\";\nimport Stack from \"@mui/material/Stack\";\nimport { SelectOneField } from \"components/formikFields/SelectOneField/SelectOneField\";\nimport { FormFieldObserver } from \"components/formikFields/FormFieldObserver/FormFieldObserver\";\nimport { useUserSession } from \"../../../../hooks/useUserSession\";\nimport { ButtonWithOptions } from \"../../../../components/ButtonWithOptions/ButtonWithOptions\";\nimport { SELECT_OPTION_COMPARATOR } from \"../../../../utils/stringUtils\";\nimport { useFormikContext } from \"formik\";\nimport { removeDuplicatesByProperty } from \"../../../../utils/arrayUtils\";\nimport { CustomFieldUtils } from \"components/formikFields/CustomField/CustomFieldUtils\";\n\ninterface Props {\n clientId?: string;\n projectCustomFieldDefinitions?: CustomFieldDefinition[];\n workflowOptions?: WorkflowOption[];\n isProjectNameVisible?: boolean;\n hideLanguages?: boolean;\n hideSourceLanguage?: boolean;\n disableSourceLanguage?: boolean;\n hideTargetLanguages?: boolean;\n disableTargetLanguages?: boolean;\n}\n\nconst LANGUAGE_COMPARATOR = (l1: Language, l2: Language) => {\n if (l1.preferred && !l2.preferred) {\n return -1;\n }\n if (!l1.preferred && l2.preferred) {\n return 1;\n }\n return l1.name.localeCompare(l2.name);\n};\n\nconst WORKFLOW_COMPARATOR = (w1: WorkflowOption, w2: WorkflowOption) => w1.label.localeCompare(w2.label);\n\nexport enum ProjectInfoFieldName {\n projectName = \"projectName\",\n sourceLanguage = \"sourceLanguage\",\n targetLanguages = \"targetLanguages\",\n notes = \"notes\",\n xtrfServiceId = \"xtrfServiceId\"\n}\n\nexport interface ProjectInfoFormValues {\n [ProjectInfoFieldName.sourceLanguage]: SelectOption | null;\n [ProjectInfoFieldName.targetLanguages]: SelectOption[];\n [ProjectInfoFieldName.notes]: string;\n [ProjectInfoFieldName.projectName]: string | undefined;\n [ProjectInfoFieldName.xtrfServiceId]: string;\n}\n\nconst ProjectInfoSection: React.FC = ({\n clientId,\n projectCustomFieldDefinitions,\n workflowOptions,\n isProjectNameVisible,\n hideLanguages,\n hideSourceLanguage,\n disableSourceLanguage,\n hideTargetLanguages,\n disableTargetLanguages\n}) => {\n const { t } = useTranslation();\n const { values, setFieldValue } = useFormikContext();\n const { username } = useUserSession();\n const [sourceLanguagesDisplayAll, setSourceLanguagesDisplayAll] = React.useState(false);\n const [targetLanguagesDisplayAll, setTargetLanguagesDisplayAll] = React.useState(false);\n\n const [selectedSourceLanguage, setSelectedSourceLanguage] = React.useState(null);\n const [selectedTargetLanguages, setSelectedTargetLanguages] = React.useState([]);\n\n const {\n data: languages,\n isLoading: isLanguagesLoading,\n error: languagesError\n } = useQuery(\"listLanguages\", {\n enabled: !hideLanguages,\n queryFn: UtilsService.listLanguages\n });\n const { data: availableLanguages, isLoading: isAvailableLanguagesLoading } = useQuery(\n [\"getAvailableLanguages\", clientId],\n {\n enabled: !!clientId && !hideLanguages,\n queryFn: () => ClientConfigsService.getAvailableLanguages({ clientId: clientId || \"\" })\n }\n );\n const { data: languageGroups } = useQuery([\"listLanguageGroups\", username], {\n enabled: !!username && !hideLanguages,\n queryFn: UserAccountsService.listLanguageGroups\n });\n\n const languageGroupOptions = React.useMemo(() => {\n return languageGroups?.map(lg => ({ label: lg.name, value: `${lg.name}` })).sort(SELECT_OPTION_COMPARATOR) || [];\n }, [languageGroups]);\n\n const selectableWorkflowOptions = React.useMemo(\n () =>\n workflowOptions\n ? workflowOptions.sort(WORKFLOW_COMPARATOR).map(w => ({ label: w.label, value: `${w.xtrfServiceId}` }))\n : [],\n [workflowOptions]\n );\n\n const sourceLanguageOptions = React.useMemo(() => {\n const langs =\n sourceLanguagesDisplayAll || !availableLanguages?.length\n ? languages || []\n : languages?.filter(l => availableLanguages.includes(+l.id)) || [];\n return langs.sort(LANGUAGE_COMPARATOR).map(l => ({ label: l.name, value: `${l.id}` })) || [];\n }, [languages, availableLanguages, sourceLanguagesDisplayAll]);\n const targetLanguageOptions = React.useMemo(() => {\n const langs =\n targetLanguagesDisplayAll || !availableLanguages?.length\n ? languages || []\n : languages?.filter(l => availableLanguages.includes(+l.id)) || [];\n return langs.sort(LANGUAGE_COMPARATOR).map(l => ({ label: l.name, value: `${l.id}` })) || [];\n }, [languages, availableLanguages, targetLanguagesDisplayAll]);\n\n const isSameLanguageSelected = React.useMemo(() => {\n return selectedSourceLanguage !== null && selectedTargetLanguages.includes(selectedSourceLanguage);\n }, [selectedTargetLanguages, selectedSourceLanguage]);\n\n const currentTargetLanguages = values[ProjectInfoFieldName.targetLanguages];\n const onLanguageGroupSelect = React.useCallback(\n (languageGroupName: string) => {\n const languageGroup = languageGroups?.find(lg => lg.name === languageGroupName);\n if (!languageGroup) {\n window.console.log(`Language group ${languageGroupName} not found`);\n return;\n }\n const groupLanguageOptions: SelectOption[] = languageGroup.languages\n .filter(l => l.xtrfId)\n .filter(l => languages?.find(lang => lang.id === l.xtrfId))\n .map(l => ({ label: languages?.find(lang => lang.id === l.xtrfId)?.name || l.name, value: `${l.xtrfId}` }));\n\n const newTargetLanguages = removeDuplicatesByProperty(\n [...currentTargetLanguages, ...groupLanguageOptions],\n \"value\"\n ).sort(SELECT_OPTION_COMPARATOR);\n setFieldValue(ProjectInfoFieldName.targetLanguages, newTargetLanguages);\n },\n [languageGroups, currentTargetLanguages, setFieldValue, languages]\n );\n\n return (\n \n {isProjectNameVisible && (\n \n \n \n )}\n {!hideLanguages && (\n <>\n {!hideSourceLanguage && (\n \n \n | null) => {\n setSelectedSourceLanguage(option ? option.value : null);\n }}\n />\n \n {(availableLanguages?.length || 0) > 0 && (\n \n {t(\"createProject.createProjectForm.sourceLanguage.moreOptions\")}\n \n }\n control={\n setSourceLanguagesDisplayAll(prevState => !prevState)}\n disabled={disableSourceLanguage}\n />\n }\n />\n )}\n \n \n )}\n {!hideTargetLanguages && (\n \n \n []) =>\n setSelectedTargetLanguages(options.map(option => option.value))\n }\n />\n \n {(availableLanguages?.length || 0) > 0 && (\n \n {t(\"createProject.createProjectForm.sourceLanguage.moreOptions\")}\n \n }\n control={\n setTargetLanguagesDisplayAll(prevState => !prevState)}\n disabled={disableTargetLanguages}\n />\n }\n />\n )}\n {languageGroupOptions.length > 0 && (\n
\n Language Groups}\n onSelect={onLanguageGroupSelect}\n variant=\"outlined\"\n size=\"small\"\n disabled={disableTargetLanguages}\n />\n
\n )}\n
\n
\n )}\n\n {isSameLanguageSelected && (\n \n {t(\"createProject.createProjectForm.sameLanguageWarning\")}\n \n )}\n\n {selectableWorkflowOptions && selectableWorkflowOptions.length > 0 && (\n \n \n \n \n \n )}\n \n )}\n {/* Project custom fields */}\n {projectCustomFieldDefinitions &&\n projectCustomFieldDefinitions.map(customFieldDefinition => (\n \n {CustomFieldUtils.isCustomFieldVisible(customFieldDefinition, values) && (\n \n \n \n )}\n \n ))}\n {/* Notes */}\n \n \n \n
\n );\n};\n\nexport { ProjectInfoSection };\n","import * as React from \"react\";\nimport { DropzoneArea } from \"react-mui-dropzone\";\nimport { Field, useFormikContext } from \"formik\";\nimport FormHelperText from \"@mui/material/FormHelperText\";\nimport { useTranslation } from \"react-i18next\";\nimport styles from \"./DropzoneField.module.scss\";\nimport { FileUploadLimits } from \"./FileUploadLimits\";\n\ninterface Props {\n name: string;\n dropzoneText?: string;\n helperText?: string;\n fileUploadLimits?: FileUploadLimits;\n required?: boolean;\n}\n\nconst DEFAULT_MAX_FILESIZE_MB = 999 * 1024 * 1024;\n\nconst DropzoneField: React.FC = ({ name, dropzoneText, helperText, required, fileUploadLimits }) => {\n const { t } = useTranslation();\n const { isSubmitting, setFieldTouched, setFieldValue, validateField, touched, errors } =\n useFormikContext>();\n const [isInitialValidation, setIsInitialValidation] = React.useState(true);\n\n const validate = React.useCallback(\n (value: File[]): string | undefined => {\n if (!isInitialValidation) {\n if (required && (value || []).length === 0) {\n return t(\"common.validation.required\");\n }\n const uniqueFileNames = new Set();\n value.forEach(f => uniqueFileNames.add(f.name));\n if (uniqueFileNames.size !== value.length) {\n return t(\"components.dropzoneField.duplicateFilesNotAllowed\");\n }\n if (fileUploadLimits?.maxTotalSize) {\n const totalSize = value.reduce((acc, f) => acc + f.size, 0);\n if (totalSize > fileUploadLimits.maxTotalSize) {\n return t(\"components.dropzoneField.totalFileSizeExceeded\", {\n maxTotalSizeMb: fileUploadLimits.maxTotalSize / (1024 * 1024)\n });\n }\n }\n }\n setIsInitialValidation(false);\n return undefined;\n },\n [fileUploadLimits?.maxTotalSize, isInitialValidation, required, t]\n );\n\n return (\n
\n (\n <>\n {\n if (!isInitialValidation) {\n setFieldTouched(name);\n }\n setFieldValue(name, updatedFiles);\n window.setTimeout(() => validateField(name), 0);\n }}\n filesLimit={fileUploadLimits?.maxFileCount}\n maxFileSize={fileUploadLimits?.maxFileSize || DEFAULT_MAX_FILESIZE_MB} // if no value provided the default is 2.78Mb?\n dropzoneText={dropzoneText}\n showFileNames={true}\n showPreviews={false}\n showFileNamesInPreview={true}\n useChipsForPreview={true}\n dropzoneClass={styles.dropzone}\n dropzoneProps={{\n disabled: isSubmitting\n }}\n showAlerts={[\"error\"]}\n acceptedFiles={fileUploadLimits?.acceptedFiles}\n />\n \n {(touched[name] && errors[name]) || helperText}\n \n \n )}\n />\n
\n );\n};\n\nexport { DropzoneField };\n","import * as React from \"react\";\nimport { Formik, Form } from \"formik\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport { Button, DialogActions } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { TextInputField } from \"components/formikFields/TextInputField/TextInputField\";\nimport { useTranslation } from \"react-i18next\";\nimport { validateURLFormat } from \"utils/stringUtils\";\nimport { FileCategory, FileLink } from \"../../../../gen/clients/llts\";\n\ninterface Props {\n uniqueLinks?: FileLink[];\n onClose: () => void;\n onAdd: (fileLink: FileLink) => void;\n}\n\ninterface FormValues {\n url: string;\n name: string;\n}\n\nconst AddFileLinkDialog: React.FC = ({ uniqueLinks, onAdd, onClose }) => {\n const { t } = useTranslation();\n\n const onSubmit = React.useCallback(\n values => {\n onAdd({ url: values.url, name: values.name, category: FileCategory.SOURCE_DOCUMENT });\n },\n [onAdd]\n );\n\n const validate = React.useCallback(\n (formValues: FormValues) => {\n const errors: Record = {};\n if (uniqueLinks?.map(link => link.url).includes(formValues.url.trim())) {\n errors.url = t(\"createProject.createProjectForm.addFileLinkDialog.validationMessages.duplicateUrl\");\n } else if (!validateURLFormat(formValues.url.trim())) {\n errors.url = t(\"createProject.createProjectForm.addFileLinkDialog.validationMessages.urlFormat\");\n }\n if (uniqueLinks?.map(link => link.name).includes(formValues.name.trim())) {\n errors.name = t(\"createProject.createProjectForm.addFileLinkDialog.validationMessages.duplicateName\");\n }\n return errors;\n },\n [t, uniqueLinks]\n );\n\n return (\n \n {t(\"createProject.createProjectForm.addFileLinkDialog.title\")}\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n );\n};\n\nexport { AddFileLinkDialog };\n","import React, { useMemo } from \"react\";\nimport { useFormikContext } from \"formik\";\nimport Button from \"@mui/material/Button\";\nimport FormHelperText from \"@mui/material/FormHelperText\";\nimport { useTranslation } from \"react-i18next\";\nimport { DataTable } from \"components/DataTable/DataTable\";\nimport { useDialogState } from \"hooks/useDialogState/useDialogState\";\nimport { DataTableRowAction } from \"components/DataTable/types\";\nimport { AddFileLinkDialog } from \"./AddFileLinkDialog\";\nimport { FileLink } from \"../../../../gen/clients/llts\";\n\ninterface FileLinksFieldProps {\n name: string;\n}\n\nconst FileLinksField: React.FC = ({ name }) => {\n const { t } = useTranslation();\n const { values, setFieldValue, errors, setFieldError, touched } = useFormikContext>();\n\n const [isAddFileLinkDialogOpen, openAddFileLinkDialog, closeAddFileLinkDialog] = useDialogState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const fileLinkList = useMemo(() => (values[name] || []) as FileLink[], [values[name]]);\n\n const updateFileLinkList = React.useCallback(\n (fileLinks: FileLink[]) => {\n setFieldValue(name, fileLinks);\n },\n [name, setFieldValue]\n );\n\n const rowKey = React.useCallback((fileLink: FileLink) => fileLink.url, []);\n const urlCell = React.useCallback((fileLink: FileLink) => fileLink.url, []);\n const nameCell = React.useCallback((fileLink: FileLink) => fileLink.name, []);\n\n const rowActions = React.useCallback(\n (fileLink: FileLink): DataTableRowAction[] => [\n {\n title: t(\"createProject.createProjectForm.fileLinksField.delete\"),\n color: \"error.light\",\n action: () => {\n const indexOfSelectedFilelink = fileLinkList.findIndex(link => link.url === fileLink.url);\n if (indexOfSelectedFilelink !== -1) {\n fileLinkList.splice(indexOfSelectedFilelink, 1);\n updateFileLinkList(fileLinkList);\n }\n }\n }\n ],\n [fileLinkList, t, updateFileLinkList]\n );\n\n const onAddFileLink = React.useCallback(\n (fileLink: FileLink) => {\n closeAddFileLinkDialog();\n updateFileLinkList([...fileLinkList, fileLink]);\n setFieldError(name, undefined);\n },\n [closeAddFileLinkDialog, fileLinkList, name, setFieldError, updateFileLinkList]\n );\n\n return (\n
\n \n {fileLinkList.length > 0 && (\n \n )}\n\n {touched[name] && errors[name] && {errors[name]}}\n\n {isAddFileLinkDialogOpen && (\n \n )}\n
\n );\n};\n\nexport default FileLinksField;\n","import * as React from \"react\";\nimport { Box, FormControlLabel, Radio } from \"@mui/material\";\nimport { Field, useFormikContext } from \"formik\";\nimport { CheckboxWithLabel, RadioGroup } from \"formik-mui\";\nimport { DropzoneField } from \"components/formikFields/DropzoneField/DropzoneField\";\nimport { TextInputField } from \"components/formikFields/TextInputField/TextInputField\";\nimport { useTranslation } from \"react-i18next\";\nimport { FileLink } from \"gen/clients/llts/models/FileLink\";\nimport FileLinksField from \"../FileLinksField/FileLinksField\";\nimport { FileUploadLimits } from \"../../../../components/formikFields/DropzoneField/FileUploadLimits\";\n\nconst MAX_FILE_SIZE = 1000 * 1024 * 1024;\n\nconst DEFAULT_FILE_UPLOAD_LIMITS: FileUploadLimits = { maxFileCount: 100, maxFileSize: MAX_FILE_SIZE };\n\ninterface Props {\n fileUploadLimits?: FileUploadLimits;\n}\n\nexport enum FilesSectionFieldNames {\n inputMethod = \"inputMethod\",\n files = \"files\",\n textInput = \"textInput\",\n includeReferenceFiles = \"includeReferenceFiles\",\n referenceFiles = \"referenceFiles\",\n fileLinks = \"fileLinks\"\n}\n\nexport enum ContentInputMethod {\n FILES = \"FILES\",\n TEXT = \"TEXT\",\n FILELINKS = \"FILELINKS\"\n}\n\nexport interface FilesSectionFormValues {\n [FilesSectionFieldNames.files]?: File[];\n [FilesSectionFieldNames.referenceFiles]?: File[];\n [FilesSectionFieldNames.inputMethod]: ContentInputMethod;\n [FilesSectionFieldNames.textInput]: string;\n [FilesSectionFieldNames.includeReferenceFiles]: string[];\n [FilesSectionFieldNames.fileLinks]: FileLink[];\n}\n\nconst FilesSection: React.FC = ({ fileUploadLimits = DEFAULT_FILE_UPLOAD_LIMITS }) => {\n const { t } = useTranslation();\n const { values } = useFormikContext();\n const dropzoneHelperText = React.useMemo(\n () =>\n fileUploadLimits?.maxTotalSize\n ? t(\"createProject.createProjectForm.filesDropzone.helperTextWithMaxTotalSize\", {\n maxFileCount: fileUploadLimits.maxFileCount,\n maxFileSizeMb: (fileUploadLimits.maxFileSize || 0) / (1024 * 1024),\n maxTotalSizeMb: fileUploadLimits.maxTotalSize / (1024 * 1024)\n })\n : t(\"createProject.createProjectForm.filesDropzone.helperText\", {\n maxFileCount: fileUploadLimits.maxFileCount,\n maxFileSizeMb: (fileUploadLimits.maxFileSize || 0) / (1024 * 1024)\n }),\n [fileUploadLimits.maxFileCount, fileUploadLimits.maxFileSize, fileUploadLimits.maxTotalSize, t]\n );\n return (\n <>\n \n \n }\n label={t(\"createProject.createProjectForm.inputMethod.files\") as string}\n />\n }\n label={t(\"createProject.createProjectForm.inputMethod.text\") as string}\n />\n }\n label={t(\"createProject.createProjectForm.inputMethod.fileLinks\") as string}\n />\n \n \n {/* Files upload section */}\n {values[FilesSectionFieldNames.inputMethod] === ContentInputMethod.FILES && (\n <>\n {t(\"createProject.createProjectForm.addFiles\")}\n \n \n \n {values[FilesSectionFieldNames.includeReferenceFiles].length > 0 && (\n \n \n \n )}\n \n \n )}\n {values[FilesSectionFieldNames.inputMethod] === ContentInputMethod.TEXT && (\n <>\n \n \n )}\n {/* Filelinks section */}\n {values[FilesSectionFieldNames.inputMethod] === ContentInputMethod.FILELINKS && (\n <>\n {t(\"createProject.createProjectForm.addFileLinks\")}\n \n \n )}\n \n );\n};\n\nexport { FilesSection };\n","import * as React from \"react\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogContent from \"@mui/material/DialogContent\";\nimport DialogActions from \"@mui/material/DialogActions\";\nimport Button from \"@mui/material/Button\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface Props {\n title?: string;\n buttonText?: string;\n onClose?: () => void;\n children: React.ReactNode;\n}\n\nconst AlertDialog: React.FC = ({ title, buttonText, onClose, children }) => {\n const { t } = useTranslation();\n const onDialogClose = React.useCallback(\n (event, reason) => {\n if (reason !== \"backdropClick\") {\n if (onClose) {\n onClose();\n }\n }\n },\n [onClose]\n );\n return (\n \n {title}\n {children}\n {onClose && }\n \n );\n};\n\nexport { AlertDialog };\n","import * as React from \"react\";\nimport { Form, useFormikContext } from \"formik\";\nimport Alert from \"@mui/material/Alert\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\nimport Stack from \"@mui/material/Stack\";\nimport { LoadingButton } from \"@mui/lab\";\nimport { ScrollToFieldError } from \"components/ScrollToFieldError/ScrollToFieldError\";\nimport { CustomFieldDefinition, WorkflowOption } from \"gen/clients/llts\";\nimport { useTranslation } from \"react-i18next\";\nimport { LinearProgressWithLabel } from \"components/LinearProgressWithLabel/LinearProgressWithLabel\";\nimport { UserContactSection } from \"../UserContactSection/UserContactSection\";\nimport { ProjectInfoSection } from \"../ProjectInfoSection/ProjectInfoSection\";\nimport { FilesSection } from \"../FilesSection/FilesSection\";\nimport { AlertDialog } from \"../../../../components/AlertDialog/AlertDialog\";\nimport { containsHTML } from \"../../../../utils/stringUtils\";\n\ninterface Props {\n clientId: string;\n projectCustomFieldDefinitions?: CustomFieldDefinition[];\n userCustomFieldDefinitions?: CustomFieldDefinition[];\n workflowOptions?: WorkflowOption[];\n hideContactSection?: boolean;\n contactSectionTitle?: React.ReactNode;\n documentInfoTitle?: React.ReactNode;\n projectInfoTitle?: React.ReactNode;\n hideSubmitForEstimation?: boolean;\n hideSubmitForTranslation?: boolean;\n footerMessage?: string;\n submissionProgress?: number;\n hideSourceLanguage?: boolean;\n disableSourceLanguage?: boolean;\n hideTargetLanguages?: boolean;\n disableTargetLanguages?: boolean;\n}\n\nexport enum SubmitType {\n PROJECT = \"PROJECT\",\n ESTIMATE = \"ESTIMATE\"\n}\n\nexport enum ContentInputMethod {\n FILES = \"FILES\",\n TEXT = \"TEXT\",\n FILELINKS = \"FILELINKS\"\n}\n\nexport enum FieldNames {\n submitType = \"submitType\"\n}\n\nconst CreateProjectForm: React.FC = ({\n clientId,\n projectCustomFieldDefinitions,\n userCustomFieldDefinitions,\n workflowOptions,\n hideContactSection,\n contactSectionTitle,\n documentInfoTitle,\n projectInfoTitle,\n hideSubmitForEstimation = false,\n hideSubmitForTranslation = false,\n footerMessage,\n submissionProgress,\n hideSourceLanguage,\n disableSourceLanguage,\n hideTargetLanguages,\n disableTargetLanguages\n}) => {\n const { t } = useTranslation();\n const { values, setFieldValue, isSubmitting, submitForm, validateForm } = useFormikContext>();\n\n const onSendForEstimationClick = React.useCallback(async () => {\n const errors = await validateForm(values);\n if (errors && Object.keys(errors).length > 0) {\n submitForm();\n } else {\n setFieldValue(FieldNames.submitType, SubmitType.ESTIMATE);\n submitForm();\n }\n }, [validateForm, values, submitForm, setFieldValue]);\n\n return (\n
\n \n {!hideContactSection && (\n <>\n \n {contactSectionTitle || t(\"createProject.createProjectForm.contactSectionTitle\")}\n \n \n \n )}\n\n {/* Document info section */}\n \n \n {documentInfoTitle || t(\"createProject.createProjectForm.documentInfoTitle\")}\n \n \n \n\n {/* Project info section */}\n \n \n {projectInfoTitle || t(\"createProject.createProjectForm.projectInfoTitle\")}\n \n \n \n {footerMessage && (\n \n \n {containsHTML(footerMessage) ? (\n
\n ) : (\n footerMessage.split(\"\\n\").map(line => (\n
\n {line}\n
\n
\n ))\n )}\n \n \n )}\n \n {!hideSubmitForEstimation && (\n \n {t(\"createProject.createProjectForm.sendForEstimation\")}\n \n )}\n {!hideSubmitForTranslation && (\n {\n setFieldValue(FieldNames.submitType, SubmitType.PROJECT);\n }}\n >\n {t(\"createProject.createProjectForm.sendToTranslation\")}\n \n )}\n \n {isSubmitting && (\n \n \n {t(\"createProject.createProjectForm.submittingAlert.text\")}\n \n \n \n \n \n )}\n \n );\n};\n\nexport { CreateProjectForm };\n","declare global {\n interface Window {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n LO: any;\n }\n}\n\nexport enum LOEvent {\n PROJECT_CREATED = \"Project Created\",\n QUOTE_CREATED = \"Quote Created\"\n}\n\nexport class LuckyOrangeUtils {\n /**\n * Identifies the user with the given information. This should be called on app load so that the user's\n * information is available to the Lucky Orange SDK.\n * @param username\n * @param email\n * @param firstName\n * @param lastName\n */\n public static identifyUser({\n username,\n email,\n firstName,\n lastName\n }: {\n username: string;\n email: string;\n firstName?: string | null;\n lastName?: string | null;\n }): void {\n try {\n window.LO?.visitor?.identify(username, {\n email,\n name: firstName && lastName ? `${firstName} ${lastName}` : username\n });\n } catch (e) {\n window.console.error(e);\n }\n }\n\n /**\n * Tracks an event with the given name and properties.\n * @param eventName\n * @param eventProperties\n */\n public static trackEvent(\n eventName: LOEvent,\n eventProperties?: Record\n ): void {\n try {\n window.LO?.events?.track(eventName, eventProperties || {});\n } catch (e) {\n window.console.error(e);\n }\n }\n}\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport * as React from \"react\";\nimport { useMutation } from \"react-query\";\nimport { FormikProps } from \"formik/dist/types\";\nimport { AxiosError } from \"axios\";\nimport {\n CreateProjectRequest,\n CreateQuoteRequest,\n FileCategory,\n LogMessage,\n PresignedPost,\n ProjectsService,\n QuotesService,\n UtilsService\n} from \"../../../gen/clients/llts\";\nimport { S3FileUploader } from \"../../../utils/S3FileUploader\";\nimport { ContentInputMethod } from \"../components/CreateProjectForm/CreateProjectForm\";\nimport { FilesSectionFieldNames } from \"../components/FilesSection/FilesSection\";\nimport { ProjectInfoFieldName } from \"../components/ProjectInfoSection/ProjectInfoSection\";\nimport { sanitizeFileName } from \"../../../utils/stringUtils\";\nimport { LOEvent, LuckyOrangeUtils } from \"../../../utils/LuckyOrangeUtils\";\n\ninterface UseCreateProjectProps {\n formRef: React.RefObject>>;\n onSuccess: () => void;\n}\n\n/**\n * Hook that encapsulates project/quote submission flow.\n * @param files files to upload\n * @param onSuccess on success callback\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const useCreateProject = ({ onSuccess, formRef }: UseCreateProjectProps) => {\n const [uploadedBytes, setUploadedBytes] = React.useState(0);\n\n const { mutate: addProjectFiles, isLoading: isAddProjectFilesSubmitting } = useMutation(\n ProjectsService.addProjectFiles\n );\n\n const { mutate: addQuoteFiles, isLoading: isAddQuoteFilesSubmitting } = useMutation(QuotesService.addQuoteFiles);\n\n const getFiles = React.useCallback(() => {\n if (!formRef.current) {\n return [];\n }\n const values = formRef.current?.values || {};\n switch (values[FilesSectionFieldNames.inputMethod]) {\n case ContentInputMethod.FILES:\n return (values[FilesSectionFieldNames.files] || []) as File[];\n case ContentInputMethod.TEXT: {\n const fileName = `${sanitizeFileName(values[ProjectInfoFieldName.projectName] as string)}.txt`;\n return [\n new File([(values[FilesSectionFieldNames.textInput] as string) || \"\"], fileName, { type: \"text/plain\" })\n ];\n }\n default:\n window.console.error(\"Unable to collect form files\");\n return [];\n }\n }, [\n formRef.current?.values[FilesSectionFieldNames.inputMethod],\n formRef.current?.values[FilesSectionFieldNames.files],\n formRef.current?.values[FilesSectionFieldNames.textInput],\n formRef.current?.values[ProjectInfoFieldName.projectName]\n ]);\n\n const getReferenceFiles = React.useCallback(() => {\n if (!formRef.current) {\n return [];\n }\n const values = formRef.current?.values || {};\n return (values[FilesSectionFieldNames.referenceFiles] as File[] | undefined) || [];\n }, [formRef.current?.values[FilesSectionFieldNames.referenceFiles]]);\n\n const bytesToUpload = React.useMemo(\n () =>\n getFiles()\n .map(f => f.size)\n .reduce((p, c) => p + c, 0) +\n getReferenceFiles()\n .map(f => f.size)\n .reduce((p, c) => p + c, 0),\n [getFiles, getReferenceFiles]\n );\n\n const submissionProgress = React.useMemo(() => {\n if (bytesToUpload === 0) {\n return 0;\n }\n return (100 * uploadedBytes) / bytesToUpload;\n }, [bytesToUpload, uploadedBytes]);\n\n const onUploadProgress = React.useCallback(\n (delta: number) => {\n setUploadedBytes(oldValue => oldValue + delta);\n },\n [setUploadedBytes]\n );\n\n async function uploadProjectFiles(\n isQuote: boolean,\n files: File[],\n presignedPost: PresignedPost,\n projectId: string,\n filesCategory: FileCategory\n ) {\n window.console.log(`Starting to upload ${filesCategory} files`);\n UtilsService.logUiMessage({\n requestBody: {\n level: LogMessage.level.INFO,\n message: `Starting to upload files with category ${filesCategory} to S3`,\n details: { files, projectId, filesCategory }\n }\n });\n await S3FileUploader.upload(files, presignedPost, onUploadProgress);\n window.console.log(`Registering ${filesCategory} files in XTRF`);\n UtilsService.logUiMessage({\n requestBody: {\n level: LogMessage.level.INFO,\n message: `Files with category ${filesCategory} successfully uploaded to S3`,\n details: { files, projectId, filesCategory }\n }\n });\n if (isQuote) {\n await addQuoteFiles({\n quoteId: projectId,\n requestBody: {\n fileNames: files.map(f => f.name),\n category: filesCategory\n }\n });\n } else {\n await addProjectFiles({\n projectId,\n requestBody: {\n fileNames: files.map(f => f.name),\n category: filesCategory\n }\n });\n }\n }\n\n const {\n mutate: createProject,\n isLoading: isCreateProjectSubmitting,\n error: createProjectError\n } = useMutation(ProjectsService.createProject, {\n onSuccess: async (data, variables) => {\n try {\n LuckyOrangeUtils.trackEvent(LOEvent.PROJECT_CREATED, {\n projectId: data.projectId,\n projectName: variables.requestBody?.projectName,\n clientId: variables.requestBody?.clientId,\n email: variables.requestBody?.contactInfo?.email\n });\n const files = getFiles();\n await uploadProjectFiles(false, files, data.presignedPost, data.projectId, FileCategory.SOURCE_DOCUMENT);\n const referenceFiles = getReferenceFiles();\n if (referenceFiles.length > 0) {\n await uploadProjectFiles(false, referenceFiles, data.presignedPost, data.projectId, FileCategory.REFERENCE);\n }\n onSuccess();\n UtilsService.logUiMessage({\n requestBody: {\n level: LogMessage.level.INFO,\n message: \"All files for a project are successfully uploaded to S3\",\n details: { files, projectId: data.projectId }\n }\n });\n } catch (e) {\n UtilsService.logUiMessage({\n requestBody: {\n level: LogMessage.level.ERROR,\n message: \"Error during file uploading in project creation\",\n details: {\n projectId: data.projectId,\n error: {\n e,\n message: (e as Error)?.message,\n code: (e as AxiosError)?.code,\n data: (e as AxiosError)?.response?.data,\n stack: (e as Error)?.stack,\n name: (e as Error)?.name\n }\n }\n }\n });\n throw e;\n }\n }\n });\n\n const {\n mutate: createQuote,\n isLoading: isCreateQuoteSubmitting,\n error: createQuoteError\n } = useMutation(QuotesService.createQuote, {\n onSuccess: async (data, variables) => {\n LuckyOrangeUtils.trackEvent(LOEvent.QUOTE_CREATED, {\n projectId: data.quoteId,\n projectName: variables.requestBody?.projectName,\n clientId: variables.requestBody?.clientId,\n email: variables.requestBody?.contactInfo?.email\n });\n try {\n const files = getFiles();\n await uploadProjectFiles(true, files, data.presignedPost, data.quoteId, FileCategory.SOURCE_DOCUMENT);\n const referenceFiles = getReferenceFiles();\n if (referenceFiles.length > 0) {\n await uploadProjectFiles(true, referenceFiles, data.presignedPost, data.quoteId, FileCategory.REFERENCE);\n }\n onSuccess();\n UtilsService.logUiMessage({\n requestBody: {\n level: LogMessage.level.INFO,\n message: \"All files for a quote are successfully uploaded to S3\",\n details: { files, quoteId: data.quoteId }\n }\n });\n } catch (e) {\n UtilsService.logUiMessage({\n requestBody: {\n level: LogMessage.level.ERROR,\n message: \"Error during file uploading in quote creation\",\n details: {\n quoteId: data.quoteId,\n error: { e, message: (e as Error)?.message, stack: (e as Error)?.stack, name: (e as Error)?.name }\n }\n }\n });\n throw e;\n }\n }\n });\n\n const startCreateProject = React.useCallback(\n (request: { requestBody?: CreateProjectRequest }) => {\n setUploadedBytes(0);\n createProject(request);\n },\n [setUploadedBytes, createProject]\n );\n\n const startCreateQuote = React.useCallback(\n (request: { requestBody?: CreateQuoteRequest }) => {\n setUploadedBytes(0);\n createQuote(request);\n },\n [setUploadedBytes, createQuote]\n );\n\n return {\n createProject: startCreateProject,\n createQuote: startCreateQuote,\n createProjectError,\n createQuoteError,\n isInProgress:\n isAddProjectFilesSubmitting || isCreateProjectSubmitting || isAddQuoteFilesSubmitting || isCreateQuoteSubmitting,\n submissionProgress\n };\n};\n","import * as React from \"react\";\nimport { Box, Container, Typography } from \"@mui/material\";\n\ninterface Props {\n title?: string;\n children: React.ReactNode;\n paddingTop?: number;\n paddingBottom?: number;\n overTitleContent?: React.ReactNode;\n}\n\nconst Hero: React.FC = ({ title, children, overTitleContent, paddingTop, paddingBottom }) => (\n \n \n {overTitleContent}\n {title && (\n \n {title}\n \n )}\n {children}\n \n \n);\n\nexport { Hero };\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Hero } from \"../../../../components/Hero/Hero\";\n\ninterface Props {\n title: string;\n children: React.ReactNode;\n bannerUrl?: string;\n}\n\nconst FormHeader: React.FC = ({ title, bannerUrl, children }) => {\n const { t } = useTranslation();\n return (\n <>\n \n {bannerUrl && (\n \n )}\n \n }\n title={title}\n >\n {children}\n \n \n );\n};\n\nexport { FormHeader };\n","import * as React from \"react\";\nimport {\n Alert,\n AlertTitle,\n Box,\n Checkbox,\n Container,\n CssBaseline,\n FormControl,\n FormControlLabel,\n FormHelperText\n} from \"@mui/material\";\n\nimport { Link } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\nimport { Form, Formik } from \"formik\";\nimport Stack from \"@mui/material/Stack\";\nimport { TextInputField } from \"components/formikFields/TextInputField/TextInputField\";\nimport { LoadingButton } from \"components/LoadingButton/LoadingButton\";\nimport { useMutation } from \"react-query\";\nimport { Address, UserAccountsService, UserGroup } from \"gen/clients/llts\";\nimport { SnackbarApiError } from \"../../../../components/SnackbarApiError/SnackbarApiError\";\nimport { usePasswordValidator } from \"../../../../hooks/usePasswordValidator/usePasswordValidator\";\nimport { SubmitType } from \"../CreateProjectForm/CreateProjectForm\";\n\ninterface Props {\n submitType: SubmitType;\n signUpData?: {\n clientId: string;\n email: string;\n firstName: string;\n lastName: string;\n mailingAddress: Address;\n };\n bannerUrl?: string;\n}\n\nenum FieldNames {\n password = \"password\",\n repeatPassword = \"repeatPassword\",\n agreementChk = \"agreementChk\"\n}\n\nconst RequestSubmitted: React.FC = ({ submitType, signUpData, bannerUrl }) => {\n const { t } = useTranslation();\n const { validatePassword } = usePasswordValidator();\n const {\n mutate,\n isLoading,\n isSuccess: isAccountCreateSuccess,\n error: accountCreateError\n } = useMutation({\n mutationFn: UserAccountsService.creatUserAccount\n });\n const validate = React.useCallback(\n values => {\n const errors: Record = {};\n // noinspection DuplicatedCode\n const password = values[FieldNames.password];\n const passwordError = validatePassword(password);\n if (passwordError) {\n errors[FieldNames.password] = passwordError;\n }\n if (password !== values[FieldNames.repeatPassword]) {\n errors[FieldNames.repeatPassword] = t(\"signUp.repeatPassword.validationMsg\");\n }\n if (!values[FieldNames.agreementChk]) {\n errors[FieldNames.agreementChk] = t(\"common.validation.required\");\n }\n return errors;\n },\n [t, validatePassword]\n );\n const onSubmit = React.useCallback(\n values => {\n const defaultAddress = {} as Address;\n mutate({\n requestBody: {\n clientId: signUpData?.clientId || \"\",\n email: signUpData?.email || \"\",\n firstName: signUpData?.firstName || \"\",\n lastName: signUpData?.lastName || \"\",\n address: signUpData?.mailingAddress || defaultAddress,\n password: values[FieldNames.password] as string,\n role: UserGroup.CLIENT_EMPLOYEE\n }\n });\n },\n [\n mutate,\n signUpData?.clientId,\n signUpData?.email,\n signUpData?.firstName,\n signUpData?.lastName,\n signUpData?.mailingAddress\n ]\n );\n\n return (\n
\n \n \n {bannerUrl && (\n \n )}\n\n {!isAccountCreateSuccess && (\n \n {t(\"createProject.requestSubmitted.title\")}\n {submitType === SubmitType.PROJECT && (\n <>\n

{t(\"createProject.requestSubmitted.translationRequest.paragraph1\")}

\n

{t(\"createProject.requestSubmitted.translationRequest.paragraph2\")}

\n \n )}\n {submitType === SubmitType.ESTIMATE && (\n <>\n

{t(\"createProject.requestSubmitted.quoteRequest.paragraph1\")}

\n

{t(\"createProject.requestSubmitted.quoteRequest.paragraph2\")}

\n \n )}\n

\n {t(\"createProject.requestSubmitted.returnHome\")}\n

\n
\n )}\n\n {signUpData && (\n
\n {accountCreateError && }\n {isAccountCreateSuccess && (\n \n {t(\"createProject.requestSubmitted.signUpPrompt.emailVerificationSent\")}\n \n )}\n {!isAccountCreateSuccess && (\n \n \n

{t(\"createProject.requestSubmitted.signUpPrompt.paragraph1\")}

\n \n
\n \n {({ errors, handleChange }) => (\n
\n \n \n \n \n \n }\n onChange={handleChange}\n label={t(\"signUp.agreement\") as string}\n sx={{ alignItems: \"start\" }}\n componentsProps={{ typography: { fontSize: 12 } }}\n disabled={isLoading}\n />\n {errors[FieldNames.agreementChk] && (\n {errors[FieldNames.agreementChk]}\n )}\n \n\n \n {t(\"createProject.requestSubmitted.signUpPrompt.signUp\")}\n \n \n \n
\n )}\n \n \n )}\n
\n )}\n
\n
\n );\n};\n\nexport { RequestSubmitted };\n","import { FileLink } from \"gen/clients/llts\";\nimport { ContentInputMethod, FilesSectionFieldNames } from \"../FilesSection/FilesSection\";\n\nexport class CreateProjectFormValidator {\n public static validate(values: Record, t: (str: string) => string): Record {\n const errors: Record = {};\n // Validate files\n if (values[FilesSectionFieldNames.inputMethod] === ContentInputMethod.FILES) {\n const files = values[FilesSectionFieldNames.files] as File[] | undefined;\n if (!files || files.length === 0) {\n errors[FilesSectionFieldNames.files] = t(\"createProject.createProjectForm.validationMessages.filesRequired\");\n } else if (new Set(files.map(file => file.name)).size !== files.length) {\n errors[FilesSectionFieldNames.files] = t(\"createProject.createProjectForm.validationMessages.duplicateFiles\");\n }\n // If reference files are present, validate them\n const referenceFiles = values[FilesSectionFieldNames.referenceFiles] as File[] | undefined;\n if (\n (values[FilesSectionFieldNames.includeReferenceFiles] as string[]).length > 0 &&\n referenceFiles &&\n referenceFiles.length > 0\n ) {\n if (new Set(referenceFiles.map(file => file.name)).size !== referenceFiles.length) {\n errors[FilesSectionFieldNames.referenceFiles] = t(\n \"createProject.createProjectForm.validationMessages.duplicateFiles\"\n );\n } else {\n const projectFileNames = (files || []).map(file => file.name);\n const referenceFileNames = referenceFiles.map(file => file.name);\n if (projectFileNames.filter(fileName => referenceFileNames.includes(fileName)).length > 0) {\n errors[FilesSectionFieldNames.referenceFiles] = t(\n \"createProject.createProjectForm.validationMessages.referenceFilesDuplicateProjectFiles\"\n );\n }\n }\n }\n }\n // Validate text input\n if (values[FilesSectionFieldNames.inputMethod] === ContentInputMethod.TEXT) {\n if (!(values[FilesSectionFieldNames.textInput] as string).trim()) {\n errors[FilesSectionFieldNames.textInput] = t(\"common.validation.required\");\n }\n }\n\n if (values[FilesSectionFieldNames.inputMethod] === ContentInputMethod.FILELINKS) {\n const links = values[FilesSectionFieldNames.fileLinks] as FileLink[] | undefined;\n if (!links || links.length === 0) {\n errors[FilesSectionFieldNames.fileLinks] = t(\n \"createProject.createProjectForm.validationMessages.fileLinksRequired\"\n );\n }\n }\n\n return errors;\n }\n}\n","function makeTwoDigitNumber(value: number): string {\n return value < 10 ? `0${value}` : `${value}`;\n}\n\n/**\n * Generates project name based on contact's email or last name\n * @param contactEmail\n */\nexport function createProjectName(contactEmail: string | undefined): string {\n const now = new Date();\n let projectNamePrefix = \"\";\n if (contactEmail) {\n projectNamePrefix = contactEmail.substring(0, contactEmail.indexOf(\"@\"));\n }\n if (!projectNamePrefix) {\n projectNamePrefix = \"project\";\n }\n return `${projectNamePrefix}-${now.getFullYear()}${makeTwoDigitNumber(now.getMonth() + 1)}${makeTwoDigitNumber(\n now.getDate()\n )}-${makeTwoDigitNumber(now.getHours())}${makeTwoDigitNumber(now.getMinutes())}${makeTwoDigitNumber(\n now.getSeconds()\n )}`;\n}\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { FormikProps } from \"formik/dist/types\";\nimport { useQuery } from \"react-query\";\nimport { SelectOption } from \"@mui/base\";\nimport { Alert, Box, Container, CssBaseline, Grid } from \"@mui/material\";\nimport { Formik } from \"formik\";\nimport { sanitizeFieldName } from \"components/formikFields/formikUtils\";\nimport { EmailVerificationDialog } from \"components/EmailVerificationDialog/EmailVerificationDialog\";\nimport { useDialogState } from \"hooks/useDialogState/useDialogState\";\nimport { DEFAULT_COUNTRY_CODE } from \"utils/constants\";\nimport {\n Address,\n ApiError,\n ClientConfig,\n ClientConfigsService,\n CreateProjectRequest,\n CreateQuoteRequest,\n CustomFieldDefinition,\n CustomFieldDefinitionCategory,\n CustomFieldValue,\n FileCategory,\n FileLink,\n ProjectSubmissionMode\n} from \"../../../../gen/clients/llts\";\nimport { useCreateProject } from \"../../hooks/useCreateProject\";\nimport { ContentInputMethod, CreateProjectForm, FieldNames, SubmitType } from \"../CreateProjectForm/CreateProjectForm\";\nimport { LoadingPage } from \"../../../../components/LoadingPage/LoadingPage\";\nimport { ErrorPage } from \"../../../../components/ErrorPage/ErrorPage\";\nimport { FormHeader } from \"../FormHeader/FormHeader\";\nimport { SnackbarApiError } from \"../../../../components/SnackbarApiError/SnackbarApiError\";\nimport { containsHTML, validateEmailFormat } from \"../../../../utils/stringUtils\";\nimport { RequestSubmitted } from \"../RequestSubmitted/RequestSubmitted\";\nimport { CreateProjectFormValidator } from \"../CreateProjectForm/CreateProjectFormValidator\";\nimport { createProjectName } from \"utils/projectUtils\";\nimport { UserContactSectionField } from \"../UserContactSection/UserContactSection\";\nimport { ProjectInfoFieldName } from \"../ProjectInfoSection/ProjectInfoSection\";\nimport { FilesSectionFieldNames } from \"../FilesSection/FilesSection\";\n\ninterface Props {\n clientConfig: ClientConfig;\n email?: string;\n}\n\ntype Values = Record;\n\ninterface SignUpData {\n clientId: string;\n email: string;\n firstName: string;\n lastName: string;\n mailingAddress: Address;\n}\n\nconst UnknownUserCreateProjectForm: React.FC = ({ clientConfig, email }) => {\n const { t } = useTranslation();\n const [isEmailVerificationDialogOpen, openEmailVerificationDialog, closeEmailVerificationDialog] = useDialogState();\n const [requestSubmitted, setRequestSubmitted] = React.useState(false);\n const [submitType, setSubmitType] = React.useState(SubmitType.PROJECT);\n const [signUpData, setSignUpData] = React.useState();\n const formikRef = React.useRef>(null);\n\n const { createProject, createQuote, isInProgress, createProjectError, createQuoteError, submissionProgress } =\n useCreateProject({\n formRef: formikRef,\n onSuccess: () => setRequestSubmitted(true)\n });\n\n const clientId = clientConfig.clientId;\n const {\n data: customFieldDefinitions,\n isLoading: areCustomFieldDefinitionsLoading,\n error: customFieldDefinitionsError\n } = useQuery([\"listCustomFieldDefinitions\", clientId], {\n enabled: !!clientId,\n queryFn: () => ClientConfigsService.getCustomFieldDefinitions({ clientId })\n });\n const projectCustomFieldDefinitions = React.useMemo(\n () =>\n customFieldDefinitions?.filter(\n cfd => cfd.category === CustomFieldDefinitionCategory.PROJECT || cfd.category === undefined\n ),\n [customFieldDefinitions]\n );\n\n const userCustomFieldDefinitions = React.useMemo(\n () => customFieldDefinitions?.filter(cfd => cfd.category === CustomFieldDefinitionCategory.USER),\n [customFieldDefinitions]\n );\n\n React.useEffect(() => {\n const form = formikRef.current;\n if (form) {\n form.setSubmitting(isInProgress);\n }\n }, [isInProgress]);\n\n const onSubmit = React.useCallback(() => {\n openEmailVerificationDialog();\n }, [openEmailVerificationDialog]);\n\n const onEmailVerificationCancel = React.useCallback(() => {\n formikRef.current?.setSubmitting(false);\n closeEmailVerificationDialog();\n }, [closeEmailVerificationDialog]);\n\n const onEmailVerificationSuccess = React.useCallback(\n (verificationCode: string) => {\n /* eslint-disable */\n const formValues: any = formikRef.current?.values;\n closeEmailVerificationDialog();\n\n const projectCustomFieldValues: CustomFieldValue[] | undefined = projectCustomFieldDefinitions?.map(fieldDefinition => ({\n fieldName: fieldDefinition.name,\n mapping: fieldDefinition.mapping,\n value: `${formValues[sanitizeFieldName(fieldDefinition.name)]}`\n }));\n const userCustomFieldValues: CustomFieldValue[] | undefined = userCustomFieldDefinitions?.map(fieldDefinition => ({\n fieldName: fieldDefinition.name,\n mapping: fieldDefinition.mapping || \"\",\n value: `${formValues[sanitizeFieldName(fieldDefinition.name)]}`\n }));\n const requestBody: CreateProjectRequest | CreateQuoteRequest = {\n clientId,\n projectName: formValues[ProjectInfoFieldName.projectName],\n contactInfo: {\n firstName: formValues[UserContactSectionField.firstName],\n lastName: formValues[UserContactSectionField.lastName],\n email: formValues[UserContactSectionField.email],\n phoneNumber: formValues[UserContactSectionField.phone],\n address1: formValues[UserContactSectionField.address1],\n address2: formValues[UserContactSectionField.address2],\n city: formValues[UserContactSectionField.city],\n province: formValues[UserContactSectionField.province] ? +formValues[UserContactSectionField.province] : undefined,\n zipCode: formValues[UserContactSectionField.zip],\n country: formValues[UserContactSectionField.country] ? +formValues[UserContactSectionField.country] : undefined,\n customFields: userCustomFieldValues\n },\n notes: formValues[ProjectInfoFieldName.notes],\n sourceLanguageId: formValues[ProjectInfoFieldName.sourceLanguage].value,\n targetLanguageIds: formValues[ProjectInfoFieldName.targetLanguages].map((option: SelectOption) => option.value),\n xtrfServiceId: formValues[ProjectInfoFieldName.xtrfServiceId] ?\n +formValues[ProjectInfoFieldName.xtrfServiceId] : undefined,\n customFields: projectCustomFieldValues,\n emailVerificationCode: verificationCode,\n fileLinks: formValues[FilesSectionFieldNames.inputMethod] === ContentInputMethod.FILELINKS ?\n (formValues[FilesSectionFieldNames.fileLinks] as FileLink[]).map(link => ({\n ...link,\n category: FileCategory.SOURCE_DOCUMENT\n })) : \n undefined\n };\n setSignUpData({\n clientId,\n firstName: formValues[UserContactSectionField.firstName],\n lastName: formValues[UserContactSectionField.lastName],\n email: formValues[UserContactSectionField.email],\n mailingAddress: {\n address1: formValues[UserContactSectionField.address1],\n address2: formValues[UserContactSectionField.address2],\n country: {\n name: \"\",\n id: +(formValues[UserContactSectionField.country] || DEFAULT_COUNTRY_CODE)\n },\n province: {\n name: \"\",\n id: +formValues[UserContactSectionField.province]\n },\n city: formValues[UserContactSectionField.city],\n zipCode: formValues[UserContactSectionField.zip]\n }\n });\n\n if (formValues[FieldNames.submitType] === SubmitType.ESTIMATE) {\n setSubmitType(SubmitType.ESTIMATE);\n createQuote({ requestBody });\n } else {\n setSubmitType(SubmitType.PROJECT);\n createProject({ requestBody });\n }\n }, [projectCustomFieldDefinitions, userCustomFieldDefinitions]);\n\n const validate = React.useCallback((values: Values) => {\n const errors: Partial = {};\n // Validate email\n const emailValue = values.email as string;\n if (!emailValue) {\n errors.email = t(\"common.validation.required\");\n } else if (!validateEmailFormat(emailValue)) {\n errors.email = t(\"createProject.unknownUser.validationMessages.emailFormat\");\n } else if (clientConfig?.allowedEmailDomains && !clientConfig.allowedEmailDomains.includes(emailValue.substring(emailValue.indexOf(\"@\") + 1))) {\n errors.email = t(\"createProject.unknownUser.validationMessages.emailNotAllowed\");\n }\n const documentInputErrors = CreateProjectFormValidator.validate(values, t);\n return { ...errors, ...documentInputErrors };\n }, [clientConfig]);\n\n const initialValues = React.useMemo(() => {\n const standardFieldValues = {\n [UserContactSectionField.email]: email || \"\",\n [UserContactSectionField.firstName]: \"\",\n [UserContactSectionField.lastName]: \"\",\n [UserContactSectionField.address1]: \"\",\n [UserContactSectionField.address2]: \"\",\n [UserContactSectionField.city]: \"\",\n [UserContactSectionField.province]: \"\",\n [UserContactSectionField.zip]: \"\",\n [UserContactSectionField.country]: DEFAULT_COUNTRY_CODE,\n [UserContactSectionField.phone]: \"\",\n [ProjectInfoFieldName.sourceLanguage]: clientConfig.createProjectSettings?.sourceLanguage?.defaultLanguage\n ? {\n label: clientConfig.createProjectSettings?.sourceLanguage?.defaultLanguage.name,\n value: `${clientConfig.createProjectSettings?.sourceLanguage?.defaultLanguage.xtrfId}`\n }\n : null,\n [ProjectInfoFieldName.targetLanguages]: (\n clientConfig.createProjectSettings?.targetLanguages?.defaultLanguages || []\n ).map(l => ({\n label: l.name,\n value: `${l.xtrfId}`\n })),\n [ProjectInfoFieldName.notes]: \"\",\n [FilesSectionFieldNames.inputMethod]: ContentInputMethod.FILES,\n [FilesSectionFieldNames.files]: \"\",\n [FilesSectionFieldNames.textInput]: \"\",\n [FilesSectionFieldNames.includeReferenceFiles]: [],\n [FilesSectionFieldNames.referenceFiles]: \"\",\n [ProjectInfoFieldName.projectName]: createProjectName(email),\n [FieldNames.submitType]: SubmitType.PROJECT\n };\n const customFieldValues: Record = {};\n customFieldDefinitions?.forEach((customFieldDefinition: CustomFieldDefinition) => {\n customFieldValues[sanitizeFieldName(customFieldDefinition.name)] = customFieldDefinition.defaultValue || \"\";\n })\n return {\n ...standardFieldValues,\n ...customFieldValues\n }\n }, [clientConfig, customFieldDefinitions]);\n\n if (areCustomFieldDefinitionsLoading) {\n return ;\n }\n if (customFieldDefinitionsError) {\n return ;\n }\n if(requestSubmitted){\n return ;\n }\n\n return (\n <>\n \n \n

{t(\"createProject.unknownUser.header.content1\")}

\n {/* eslint-disable-next-line react/no-danger */}\n

\n \n \n {clientConfig.instructionalText && (\n \n \n {containsHTML(clientConfig.instructionalText) ? (\n

\n ) : (\n clientConfig.instructionalText.split(\"\\n\").map(line =>

{line}

)\n )}\n \n \n )}\n \n \n <>\n {clientConfig && (\n \n {({ values }) => (\n values?.[sanitizeFieldName(c.fieldName)] === c.value\n )) ||\n (clientConfig.projectSubmissionMode === ProjectSubmissionMode.SUBMIT_FOR_TRANSLATION_EXCEPT &&\n !clientConfig.createProjectSettings?.submissionModeConditions?.some(\n c => values?.[sanitizeFieldName(c.fieldName)] === c.value\n ))\n }\n hideSubmitForTranslation={\n clientConfig.projectSubmissionMode === ProjectSubmissionMode.SUBMIT_FOR_ESTIMATION ||\n (clientConfig.projectSubmissionMode === ProjectSubmissionMode.SUBMIT_FOR_TRANSLATION_EXCEPT &&\n clientConfig.createProjectSettings?.submissionModeConditions?.some(\n c => values?.[sanitizeFieldName(c.fieldName)] === c.value\n )) ||\n (clientConfig.projectSubmissionMode === ProjectSubmissionMode.SUBMIT_FOR_ESTIMATION_EXCEPT &&\n !clientConfig.createProjectSettings?.submissionModeConditions?.some(\n c => values?.[sanitizeFieldName(c.fieldName)] === c.value\n ))\n }\n footerMessage={clientConfig.projectSubmissionFooterMessage}\n submissionProgress={submissionProgress}\n />\n )}\n \n )}\n {isEmailVerificationDialogOpen && (\n \n )}\n \n \n \n {createProjectError && }\n {createQuoteError && }\n \n \n );\n};\n\nexport { UnknownUserCreateProjectForm };\n","import * as React from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport { Alert, Box, Container } from \"@mui/material\";\nimport { useQuery } from \"react-query\";\nimport { ApiError, ClientConfigsService } from \"gen/clients/llts\";\nimport { LoadingPage } from \"components/LoadingPage/LoadingPage\";\nimport { ErrorPage } from \"components/ErrorPage/ErrorPage\";\nimport { useTranslation } from \"react-i18next\";\nimport { UnknownUserCreateProjectForm } from \"../components/UnknownUserCreateProjectForm/UnknownUserCreateProjectForm\";\n\ninterface RouterParams {\n clientId: string;\n token?: string;\n}\n\nconst CreateProjectFromExternalLinkPage: React.FC = () => {\n const { t } = useTranslation();\n const { clientId: encodedClientId, token } = useParams();\n\n const clientId = React.useMemo(() => encodedClientId && atob(decodeURIComponent(encodedClientId)), [encodedClientId]);\n\n const {\n data: clientConfig,\n isLoading: isClientConfigLoading,\n error: clientConfigError\n } = useQuery([\"getClientConfig\", clientId], {\n queryFn: () => ClientConfigsService.getClientConfig({ clientId })\n });\n\n if (isClientConfigLoading) {\n return ;\n }\n if (clientConfigError) {\n return ;\n }\n if (!token || (clientConfig && clientConfig.createProjectToken !== token)) {\n return (\n \n

{t(\"createProject.fromExternalLink.invalidUrl.title\")}

\n

{t(\"createProject.fromExternalLink.invalidUrl.message\")}

\n
\n );\n }\n if (clientConfig?.status !== \"ACTIVE\") {\n return (\n \n \n \n \n \n );\n }\n\n return <>{clientConfig && };\n};\n\nexport { CreateProjectFromExternalLinkPage };\n","import * as React from \"react\";\nimport { Form, Formik } from \"formik\";\nimport Stack from \"@mui/material/Stack\";\nimport { SelectOneField } from \"components/formikFields/SelectOneField/SelectOneField\";\nimport Container from \"@mui/material/Container\";\nimport { UserAccount } from \"gen/clients/llts\";\nimport { SelectOption } from \"@mui/base\";\nimport { useTranslation } from \"react-i18next\";\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\n\ninterface Props {\n userAccount: UserAccount;\n organizationOptions: SelectOption[];\n onSelect: (clientId: string) => void;\n onCancel: () => void;\n}\n\nconst OrganizationSelector: React.FC = ({ userAccount, organizationOptions, onSelect, onCancel }) => {\n const { t } = useTranslation();\n\n const onSubmit = React.useCallback((values: { organization: string }) => onSelect(values.organization), [onSelect]);\n\n return (\n \n \n
\n \n {t(\"createProject.signedInUser.organizationSelector.selectOrganization\")}\n \n \n \n \n \n \n
\n \n
\n );\n};\n\nexport { OrganizationSelector };\n","import * as React from \"react\";\nimport { useQuery } from \"react-query\";\nimport {\n ApiError,\n ClientConfig,\n ClientConfigsService,\n CustomFieldDefinition,\n CustomFieldDefinitionCategory,\n CustomFieldValue,\n FileCategory,\n FileLink,\n ProjectSubmissionMode\n} from \"gen/clients/llts\";\nimport { Alert, Box, Container, CssBaseline, Grid } from \"@mui/material\";\nimport { Formik } from \"formik\";\nimport { FormikProps } from \"formik/dist/types\";\nimport { SelectOption } from \"@mui/base\";\nimport { useTranslation } from \"react-i18next\";\nimport { sanitizeFieldName } from \"components/formikFields/formikUtils\";\nimport {\n ContentInputMethod,\n CreateProjectForm,\n FieldNames,\n SubmitType\n} from \"../../components/CreateProjectForm/CreateProjectForm\";\nimport { LoadingPage } from \"components/LoadingPage/LoadingPage\";\nimport { ErrorPage } from \"components/ErrorPage/ErrorPage\";\nimport { FormHeader } from \"../../components/FormHeader/FormHeader\";\nimport { useCreateProject } from \"../../hooks/useCreateProject\";\nimport { SnackbarApiError } from \"components/SnackbarApiError/SnackbarApiError\";\nimport { RequestSubmitted } from \"../../components/RequestSubmitted/RequestSubmitted\";\nimport { CreateProjectFormValidator } from \"../../components/CreateProjectForm/CreateProjectFormValidator\";\nimport { createProjectName } from \"utils/projectUtils\";\nimport { ProjectInfoFieldName } from \"../../components/ProjectInfoSection/ProjectInfoSection\";\nimport { FilesSectionFieldNames } from \"../../components/FilesSection/FilesSection\";\nimport { containsHTML } from \"../../../../utils/stringUtils\";\n\ninterface Props {\n email: string;\n clientConfig: ClientConfig;\n}\n\ntype Values = Record;\n\nconst SignedInUserForm: React.FC = ({ email, clientConfig }) => {\n const { t } = useTranslation();\n const [requestSubmitted, setRequestSubmitted] = React.useState(false);\n const [submitType, setSubmitType] = React.useState(SubmitType.PROJECT);\n const formikRef = React.useRef>(null);\n const { createProject, createQuote, isInProgress, createProjectError, createQuoteError, submissionProgress } =\n useCreateProject({\n formRef: formikRef,\n onSuccess: () => setRequestSubmitted(true)\n });\n\n React.useEffect(() => {\n const form = formikRef.current;\n if (form) {\n form.setSubmitting(isInProgress);\n }\n }, [isInProgress]);\n\n const clientId = clientConfig.clientId;\n const {\n data: projectCustomFieldDefinitions,\n isLoading: areCustomFieldDefinitionsLoading,\n error: customFieldDefinitionsError\n } = useQuery([\"listCustomFieldDefinitions\", clientId, CustomFieldDefinitionCategory.PROJECT], {\n enabled: !!clientId,\n queryFn: () =>\n ClientConfigsService.getCustomFieldDefinitions({\n clientId: clientId || \"\",\n category: CustomFieldDefinitionCategory.PROJECT\n })\n });\n\n const isLoading = areCustomFieldDefinitionsLoading;\n const error = customFieldDefinitionsError;\n\n const initialValues = React.useMemo(() => {\n const standardFieldValues = {\n [ProjectInfoFieldName.sourceLanguage]: clientConfig.createProjectSettings?.sourceLanguage?.defaultLanguage\n ? {\n label: clientConfig.createProjectSettings?.sourceLanguage?.defaultLanguage.name,\n value: `${clientConfig.createProjectSettings?.sourceLanguage?.defaultLanguage.xtrfId}`\n }\n : null,\n [ProjectInfoFieldName.targetLanguages]: (\n clientConfig.createProjectSettings?.targetLanguages?.defaultLanguages || []\n ).map(l => ({\n label: l.name,\n value: `${l.xtrfId}`\n })),\n [ProjectInfoFieldName.notes]: \"\",\n [ProjectInfoFieldName.xtrfServiceId]: \"\",\n [FilesSectionFieldNames.inputMethod]: ContentInputMethod.FILES,\n [FilesSectionFieldNames.files]: \"\",\n [FilesSectionFieldNames.textInput]: \"\",\n [FilesSectionFieldNames.includeReferenceFiles]: [],\n [FilesSectionFieldNames.referenceFiles]: \"\",\n [FilesSectionFieldNames.fileLinks]: [],\n [ProjectInfoFieldName.projectName]: createProjectName(email),\n [FieldNames.submitType]: SubmitType.PROJECT\n };\n const customFieldValues: Record = {};\n projectCustomFieldDefinitions?.forEach((customFieldDefinition: CustomFieldDefinition) => {\n customFieldValues[sanitizeFieldName(customFieldDefinition.name)] = customFieldDefinition.defaultValue || \"\";\n });\n return {\n ...standardFieldValues,\n ...customFieldValues\n };\n }, [\n clientConfig.createProjectSettings?.sourceLanguage?.defaultLanguage,\n clientConfig.createProjectSettings?.targetLanguages?.defaultLanguages,\n email,\n projectCustomFieldDefinitions\n ]);\n\n const validate = React.useCallback(\n (values: Record) => CreateProjectFormValidator.validate(values, t),\n [t]\n );\n\n const onSubmit = React.useCallback(\n formValues => {\n if (!clientId) {\n throw new Error(\"clientId is not set\");\n }\n const customFieldValues: CustomFieldValue[] | undefined = projectCustomFieldDefinitions?.map(fieldDefinition => ({\n fieldName: fieldDefinition.name,\n mapping: fieldDefinition.mapping,\n value: `${formValues[sanitizeFieldName(fieldDefinition.name)]}`\n }));\n const requestBody = {\n clientId,\n projectName: formValues[ProjectInfoFieldName.projectName],\n contactInfo: {\n email\n },\n notes: formValues[ProjectInfoFieldName.notes],\n sourceLanguageId: formValues[ProjectInfoFieldName.sourceLanguage].value,\n targetLanguageIds: formValues[ProjectInfoFieldName.targetLanguages].map(\n (option: SelectOption) => option.value\n ),\n xtrfServiceId: formValues[ProjectInfoFieldName.xtrfServiceId]\n ? +formValues[ProjectInfoFieldName.xtrfServiceId]\n : undefined,\n customFields: customFieldValues,\n fileLinks:\n formValues[FilesSectionFieldNames.inputMethod] === ContentInputMethod.FILELINKS\n ? (formValues[FilesSectionFieldNames.fileLinks] as FileLink[]).map(link => ({\n ...link,\n category: FileCategory.SOURCE_DOCUMENT\n }))\n : undefined\n };\n\n if (formValues[FieldNames.submitType] === SubmitType.ESTIMATE) {\n setSubmitType(SubmitType.ESTIMATE);\n createQuote({ requestBody });\n } else {\n setSubmitType(SubmitType.PROJECT);\n createProject({ requestBody });\n }\n },\n [clientId, createProject, createQuote, email, projectCustomFieldDefinitions]\n );\n\n if (isLoading) {\n return ;\n }\n if (error) {\n return ;\n }\n if (clientConfig.status !== \"ACTIVE\") {\n return (\n \n \n \n \n \n );\n }\n if (requestSubmitted) {\n return ;\n }\n\n return (\n <>\n \n \n

{t(\"createProject.signedInUser.header.content1\")}

\n

\n \n \n {clientConfig.instructionalText && (\n \n \n {containsHTML(clientConfig.instructionalText) ? (\n

\n ) : (\n clientConfig.instructionalText.split(\"\\n\").map(line =>

{line}

)\n )}\n \n \n )}\n \n \n {clientConfig && (\n \n {({ values }) => (\n values?.[sanitizeFieldName(c.fieldName)] === c.value\n )) ||\n (clientConfig.projectSubmissionMode === ProjectSubmissionMode.SUBMIT_FOR_TRANSLATION_EXCEPT &&\n !clientConfig.createProjectSettings?.submissionModeConditions?.some(\n c => values?.[sanitizeFieldName(c.fieldName)] === c.value\n ))\n }\n hideSubmitForTranslation={\n clientConfig.projectSubmissionMode === ProjectSubmissionMode.SUBMIT_FOR_ESTIMATION ||\n (clientConfig.projectSubmissionMode === ProjectSubmissionMode.SUBMIT_FOR_TRANSLATION_EXCEPT &&\n clientConfig.createProjectSettings?.submissionModeConditions?.some(\n c => values?.[sanitizeFieldName(c.fieldName)] === c.value\n )) ||\n (clientConfig.projectSubmissionMode === ProjectSubmissionMode.SUBMIT_FOR_ESTIMATION_EXCEPT &&\n !clientConfig.createProjectSettings?.submissionModeConditions?.some(\n c => values?.[sanitizeFieldName(c.fieldName)] === c.value\n ))\n }\n footerMessage={clientConfig.projectSubmissionFooterMessage}\n submissionProgress={submissionProgress}\n />\n )}\n \n )}\n \n \n {createProjectError && }\n {createQuoteError && }\n \n \n );\n};\n\nexport { SignedInUserForm };\n","import * as React from \"react\";\nimport { useQuery } from \"react-query\";\nimport { ClientConfigsService, UserAccountsService } from \"../../../gen/clients/llts\";\nimport { LoadingPage } from \"../../../components/LoadingPage/LoadingPage\";\nimport { ErrorPage } from \"../../../components/ErrorPage/ErrorPage\";\nimport { OrganizationSelector } from \"./components/OrganizationSelector\";\nimport { SignedInUserForm } from \"./components/SignedInUserForm\";\nimport Container from \"@mui/material/Container\";\nimport { Alert } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { useUserSession } from \"../../../hooks/useUserSession\";\nimport { SelectOption } from \"@mui/base\";\nimport { SELECT_OPTION_COMPARATOR } from \"../../../utils/stringUtils\";\n\ninterface Props {\n email: string;\n}\n\n/**\n * This component is responsible for rendering the create project page for a signed-in user.\n */\nconst SignedInUserPage: React.FC = ({ email }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { externalGroups } = useUserSession();\n const [selectedClientId, setSelectedClientId] = React.useState();\n\n // Fetch the user account.\n const {\n data: userAccount,\n isLoading: isUserAccountLoading,\n error: userAccountError\n } = useQuery([\"getUserAccount\", email], {\n queryFn: UserAccountsService.getUserAccount\n });\n\n // Fetch the linked clients for the user.\n const {\n data: linkedClients,\n isLoading: areLinkedClientsLoading,\n error: linkedClientsError\n } = useQuery([\"listLinkedClients\", email], {\n queryFn: UserAccountsService.listLinkedClients\n });\n\n const emailDomain = email.substring(email.indexOf(\"@\") + 1);\n const {\n data: externalGroupsClientConfigs,\n isLoading: areExternalGroupsClientConfigsLoading,\n error: externalGroupsClientConfigsError\n } = useQuery([\"listClientConfigs\", emailDomain, externalGroups], {\n enabled: !!externalGroups,\n queryFn: () =>\n ClientConfigsService.listClientConfigs({\n emailDomain,\n externalGroups: (externalGroups || []).join(\",\")\n })\n });\n\n // Fetch the selected client config.\n const {\n data: selectedClientConfig,\n isLoading: isClientConfigLoading,\n error: clientConfigError\n } = useQuery([\"getClientConfig\", selectedClientId], {\n enabled: !!selectedClientId,\n queryFn: () => ClientConfigsService.getClientConfig({ clientId: selectedClientId || \"\" })\n });\n\n const activeLinkedClients = React.useMemo(() => linkedClients?.filter(c => c.status === \"ACTIVE\"), [linkedClients]);\n\n const isLoading =\n isUserAccountLoading || areLinkedClientsLoading || isClientConfigLoading || areExternalGroupsClientConfigsLoading;\n const error = userAccountError || linkedClientsError || clientConfigError || externalGroupsClientConfigsError;\n\n if (error) {\n return ;\n }\n\n if (isLoading || !userAccount || !activeLinkedClients) {\n return ;\n }\n\n /**\n * Check if the user's client is active.\n */\n if (userAccount?.clientConfig?.status !== \"ACTIVE\") {\n return (\n \n \n \n \n \n );\n }\n\n // Check if the user has active linked clients.\n if (activeLinkedClients.length > 0) {\n // If a client is selected, render the signed-in user form.\n if (selectedClientConfig) {\n return ;\n } else {\n // If no client is selected, render the organization selector.\n const organizationOptions: SelectOption[] = [\n { value: userAccount.clientConfig?.clientId || \"\", label: userAccount.clientConfig?.companyName || \"\" },\n ...activeLinkedClients.map(c => ({ value: c.clientId, label: c.clientName }))\n ].sort(SELECT_OPTION_COMPARATOR);\n return (\n history.push(\"/\")}\n />\n );\n }\n }\n\n // Render the signed-in user form or an organization selector based on external group client configurations.\n if (externalGroupsClientConfigs && externalGroupsClientConfigs.length > 0) {\n const activeExternalGroupsClientConfigs = externalGroupsClientConfigs.filter(c => c.status === \"ACTIVE\");\n if (selectedClientConfig) {\n return ;\n } else if (activeExternalGroupsClientConfigs.length > 0) {\n if (activeExternalGroupsClientConfigs.length === 1) {\n return ;\n }\n const organizationOptions: SelectOption[] = activeExternalGroupsClientConfigs\n .map(c => ({\n label: c.companyName,\n value: c.clientId\n }))\n .sort(SELECT_OPTION_COMPARATOR);\n return (\n history.push(\"/\")}\n />\n );\n }\n }\n\n // Render the signed-in user form directly if the user does not have active linked clients.\n return ;\n};\n\nexport { SignedInUserPage };\n","import * as React from \"react\";\nimport { useMutation } from \"react-query\";\nimport { Container, CssBaseline, Grid } from \"@mui/material\";\nimport { Form, Formik } from \"formik\";\nimport { LoadingButton } from \"@mui/lab\";\nimport { useTranslation } from \"react-i18next\";\nimport Alert from \"@mui/material/Alert\";\nimport { ClientConfig, ClientConfigsService } from \"../../../../../gen/clients/llts\";\nimport { TextInputField } from \"../../../../../components/formikFields/TextInputField/TextInputField\";\nimport { SelectOneField } from \"../../../../../components/formikFields/SelectOneField/SelectOneField\";\nimport { Hero } from \"../../../../../components/Hero/Hero\";\nimport { ErrorPage } from \"../../../../../components/ErrorPage/ErrorPage\";\nimport { validateEmailFormat } from \"../../../../../utils/stringUtils\";\n\ninterface Props {\n onSuccess: (email: string, clientConfig?: ClientConfig) => void;\n}\n\nenum FieldNames {\n email = \"email\",\n company = \"company\"\n}\n\ntype Values = Record;\n\nconst InitialEntryForm: React.FC = ({ onSuccess }) => {\n const { t } = useTranslation();\n const [clientValidationMessage, setClientValidationMessage] = React.useState();\n\n const {\n mutate: listClientConfigs,\n data: clientConfigs,\n isLoading,\n error\n } = useMutation(ClientConfigsService.listClientConfigs);\n\n const onSubmit = React.useCallback(\n async (values: Values) => {\n const email = values[FieldNames.email] as string;\n if (!clientConfigs) {\n const emailDomain = email.substring(email.indexOf(\"@\") + 1);\n listClientConfigs(\n { emailDomain, contactEmail: email },\n {\n onSuccess: clientConfs => {\n const activeClientConfs = clientConfs.filter(c => c.status === \"ACTIVE\");\n // if there is one or more matching client configs, but none of them are active, show an error\n if (clientConfs.length > 0 && activeClientConfs.length === 0) {\n setClientValidationMessage(t(\"createProject.unsignedUser.validationMessages.inactiveClient\"));\n }\n // if there is one matching client config, return its details\n else if (activeClientConfs.length === 1) {\n onSuccess(email, activeClientConfs[0]);\n }\n // if there are no matching client configs, return only email\n else if (clientConfs.length === 0) {\n onSuccess(email);\n }\n }\n }\n );\n } else if (clientConfigs.length > 1) {\n const selectedClientId = values[FieldNames.company];\n const selectedClientConfig = clientConfigs.find(c => c.clientId === selectedClientId);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n onSuccess(email, selectedClientConfig!);\n }\n },\n [clientConfigs, listClientConfigs, t, onSuccess]\n );\n\n const validate = React.useCallback(\n (values: Values) => {\n const errors: Partial = {};\n // Validate email\n const email = values.email as string;\n if (!email) {\n errors.email = t(\"common.validation.required\");\n } else if (!validateEmailFormat(email)) {\n errors.email = t(\"createProject.unsignedUser.validationMessages.emailFormat\");\n }\n return errors;\n },\n [t]\n );\n\n const Header = React.useMemo(\n () => (\n \n

{t(\"createProject.unsignedUser.header.content1\")}

\n

\n \n ),\n [t]\n );\n\n if (error) {\n return ;\n }\n\n if (clientValidationMessage) {\n return (\n <>\n \n {Header}\n \n \n \n \n \n \n );\n }\n\n return (\n <>\n \n {Header}\n \n \n

\n \n \n \n \n {clientConfigs && clientConfigs.length > 1 && (\n \n c.status === \"ACTIVE\")\n .map(clientConfig => ({\n label: clientConfig.companyName,\n value: clientConfig.clientId\n }))\n .sort((a, b) => a.label.localeCompare(b.label))}\n required={true}\n />\n \n )}\n \n \n {t(\"createProject.unsignedUser.continue\")}\n \n \n \n
\n \n \n \n );\n};\n\nexport { InitialEntryForm };\n","import * as React from \"react\";\nimport { ClientConfig } from \"../../../../../gen/clients/llts\";\nimport { UnknownUserCreateProjectForm } from \"../../../components/UnknownUserCreateProjectForm/UnknownUserCreateProjectForm\";\n\ninterface Props {\n email: string;\n clientConfig: ClientConfig;\n}\n\nconst ProjectEntryForm: React.FC = ({ clientConfig, email }) => (\n \n);\n\nexport { ProjectEntryForm };\n","import * as React from \"react\";\nimport { Alert, Box, Typography } from \"@mui/material\";\nimport { CustomFieldDefinition, WorkflowOption } from \"gen/clients/llts\";\nimport { useTranslation } from \"react-i18next\";\nimport { useFormikContext } from \"formik\";\nimport { UserContactSection } from \"../../../CreateProjectPage/components/UserContactSection/UserContactSection\";\nimport { FilesSection } from \"../../../CreateProjectPage/components/FilesSection/FilesSection\";\nimport { ProjectInfoSection } from \"../../../CreateProjectPage/components/ProjectInfoSection/ProjectInfoSection\";\nimport { FileUploadLimits } from \"../../../../components/formikFields/DropzoneField/FileUploadLimits\";\nimport { containsHTML } from \"../../../../utils/stringUtils\";\n\ninterface Props {\n clientId?: string;\n projectCustomFieldDefinitions?: CustomFieldDefinition[];\n userCustomFieldDefinitions?: CustomFieldDefinition[];\n workflowOptions?: WorkflowOption[];\n hideContactSection?: boolean;\n contactSectionTitle?: React.ReactNode;\n documentInfoTitle?: React.ReactNode;\n projectInfoTitle?: React.ReactNode;\n footerMessage?: string;\n isSubmitting?: boolean;\n fileUploadLimits?: FileUploadLimits;\n disableEmailInput?: boolean;\n}\n\nconst CreateJobRequestForm: React.FC = ({\n clientId,\n projectCustomFieldDefinitions,\n userCustomFieldDefinitions,\n workflowOptions,\n hideContactSection,\n contactSectionTitle,\n documentInfoTitle,\n projectInfoTitle,\n footerMessage,\n isSubmitting,\n fileUploadLimits,\n disableEmailInput\n}) => {\n const { t } = useTranslation();\n const { setSubmitting } = useFormikContext();\n\n React.useEffect(() => {\n setSubmitting(!!isSubmitting);\n }, [isSubmitting, setSubmitting]);\n\n return (\n <>\n {!hideContactSection && (\n <>\n \n {contactSectionTitle || t(\"createProject.createProjectForm.contactSectionTitle\")}\n \n \n \n )}\n\n {/* Document info section */}\n \n \n {documentInfoTitle || t(\"createProject.createProjectForm.documentInfoTitle\")}\n \n \n \n\n {/* Languages section */}\n \n \n {projectInfoTitle || t(\"createProject.createProjectForm.projectInfoTitle\")}\n \n \n \n {footerMessage && (\n \n {containsHTML(footerMessage) ? (\n
\n ) : (\n footerMessage.split(\"\\n\").map(line => (\n
\n {line}\n
\n
\n ))\n )}\n \n )}\n \n );\n};\n\nexport { CreateJobRequestForm };\n","import * as React from \"react\";\nimport { ApiError, PresignedPost } from \"../../gen/clients/llts\";\nimport { S3FileUploader } from \"../../utils/S3FileUploader\";\n\ninterface Props {\n files?: File[];\n presignedPost?: PresignedPost;\n}\n\ninterface Response {\n invoke: (props: Props) => void;\n isUploading: boolean;\n isSuccess?: boolean;\n error?: ApiError;\n uploadProgress: number;\n reset: () => void;\n}\n\nexport const useS3FileUpload = (): Response => {\n const [isUploading, setIsUploading] = React.useState(false);\n const [isSuccess, setIsSuccess] = React.useState();\n const [error, setError] = React.useState();\n const [uploadedBytes, setUploadedBytes] = React.useState(0);\n const [totalBytesToUpload, setTotalBytesToUpload] = React.useState(0);\n\n const uploadProgress = React.useMemo(() => {\n if (totalBytesToUpload === 0) {\n return 0;\n }\n return (100 * uploadedBytes) / totalBytesToUpload;\n }, [totalBytesToUpload, uploadedBytes]);\n\n const onUploadProgress = React.useCallback(\n (delta: number) => {\n setUploadedBytes(oldValue => oldValue + delta);\n },\n [setUploadedBytes]\n );\n\n const invoke = React.useCallback(({ files, presignedPost }: Props) => {\n if (!files || !files.length || !presignedPost) {\n return;\n }\n const upload = async () => {\n setTotalBytesToUpload(files.map(f => f.size).reduce((p, c) => p + c, 0));\n setUploadedBytes(0);\n setIsUploading(true);\n try {\n setIsUploading(true);\n setIsSuccess(undefined);\n setError(undefined);\n await S3FileUploader.upload(files, presignedPost, onUploadProgress);\n setIsUploading(false);\n setIsSuccess(true);\n } catch (e) {\n setError(e as ApiError);\n }\n };\n upload();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const reset = React.useCallback(() => {\n setIsSuccess(undefined);\n setIsUploading(false);\n setUploadedBytes(0);\n setTotalBytesToUpload(0);\n }, []);\n\n return {\n invoke,\n isUploading,\n isSuccess,\n error,\n uploadProgress,\n reset\n };\n};\n","import { PresignedPost } from \"gen/clients/llts\";\n\n/**\n * Creates an S3 file key based on presigned post and file name.\n * @param presignedPost\n * @param fileName\n */\nexport function createFileKey(presignedPost: PresignedPost, fileName: string): string {\n // eslint-disable-next-line no-template-curly-in-string\n return presignedPost.fields.key.replaceAll(\"${filename}\", fileName);\n}\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport * as React from \"react\";\nimport { useMutation } from \"react-query\";\nimport {\n UserContactSectionField,\n UserContactSectionFormValues\n} from \"../../CreateProjectPage/components/UserContactSection/UserContactSection\";\nimport {\n ContentInputMethod,\n FilesSectionFieldNames,\n FilesSectionFormValues\n} from \"../../CreateProjectPage/components/FilesSection/FilesSection\";\nimport {\n ProjectInfoFieldName,\n ProjectInfoFormValues\n} from \"../../CreateProjectPage/components/ProjectInfoSection/ProjectInfoSection\";\nimport {\n CreateJobRequestPayload,\n CustomFieldDefinition,\n CustomFieldValue,\n FileLink,\n JobRequestFile,\n JobRequestFileCategory,\n JobRequestFileLink,\n JobRequestLanguage,\n JobRequestOrigination,\n JobRequestsService,\n JobRequestType,\n UnauthenticatedCreateJobRequestPayload,\n UtilsService\n} from \"../../../gen/clients/llts\";\nimport { useS3FileUpload } from \"../../../hooks/useS3FileUpload/useS3FileUpload\";\nimport { useCountryOptions } from \"../../../hooks/useCountryOptions/useCountryOptions\";\nimport { useProvinceOptions } from \"../../../hooks/useProvinceOptions/useProvinceOptions\";\nimport { sanitizeFileName } from \"../../../utils/stringUtils\";\nimport { createFileKey } from \"../../../utils/s3Utils\";\nimport { useUserSession } from \"../../../hooks/useUserSession\";\nimport { sanitizeFieldName } from \"../../../components/formikFields/formikUtils\";\n\ntype Values = UserContactSectionFormValues & FilesSectionFormValues & ProjectInfoFormValues;\n\ninterface UseSubmitJobRequestParams {\n origination: JobRequestOrigination;\n formValues?: Values;\n requestType?: JobRequestType;\n projectCustomFieldDefinitions?: CustomFieldDefinition[];\n emailVerificationCode?: string;\n externalReferenceId?: string;\n}\n\ninterface UseSubmitJobRequestResponse {\n submitJobRequest: () => void;\n isSubmitting: boolean;\n error?: unknown;\n jobRequestCreated?: boolean;\n jobRequestId?: string;\n progress: number;\n}\n\nexport const useSubmitJobRequest = ({\n origination,\n formValues,\n requestType,\n projectCustomFieldDefinitions,\n emailVerificationCode,\n externalReferenceId\n}: UseSubmitJobRequestParams): UseSubmitJobRequestResponse => {\n const { username } = useUserSession();\n const [isSubmitting, setSubmitting] = React.useState(false);\n\n const {\n mutate: createPresignedPost,\n data: presignedPost,\n error: createPresignedPostError\n } = useMutation(UtilsService.createTempFileUploadPresignedPost);\n\n const {\n invoke: uploadFiles,\n isSuccess: areFilesUploaded,\n error: filesUploadError,\n uploadProgress\n } = useS3FileUpload();\n\n const {\n data: jobRequest,\n mutate: createJobRequest,\n isLoading: isCreatingJobRequest,\n error: createJobRequestError,\n isSuccess: jobRequestCreated\n } = useMutation(JobRequestsService.createJobRequest);\n\n const {\n data: unauthenticatedJobRequest,\n mutate: unauthenticatedCreateJobRequest,\n isLoading: isUnauthenticatedCreatingJobRequest,\n error: unauthenticatedCreateJobRequestError,\n isSuccess: unauthenticatedJobRequestCreated\n } = useMutation(JobRequestsService.unauthenticatedCreateJobRequest);\n\n const error =\n createPresignedPostError || filesUploadError || createJobRequestError || unauthenticatedCreateJobRequestError;\n\n const { countryOptions } = useCountryOptions();\n const { provinceOptions: contactProvinceOptions } = useProvinceOptions(\n formValues && formValues[UserContactSectionField.country] ? +formValues[UserContactSectionField.country] : undefined\n );\n\n // --- Upload files when presigned post is created ---\n React.useEffect(() => {\n if (!presignedPost || !formValues) {\n return;\n }\n\n const contentInputMethod = formValues[FilesSectionFieldNames.inputMethod];\n if (contentInputMethod === ContentInputMethod.FILELINKS) {\n return;\n }\n\n const files: File[] = [];\n switch (contentInputMethod) {\n case ContentInputMethod.FILES: {\n const documentFiles: File[] | undefined = formValues[FilesSectionFieldNames.files];\n const referenceFiles: File[] | undefined = formValues[FilesSectionFieldNames.referenceFiles];\n files.push(...(documentFiles || []), ...(referenceFiles || []));\n break;\n }\n case ContentInputMethod.TEXT: {\n const fileName = `${sanitizeFileName(formValues[ProjectInfoFieldName.projectName] as string)}.txt`;\n files.push(\n new File([(formValues[FilesSectionFieldNames.textInput] as string) || \"\"], fileName, { type: \"text/plain\" })\n );\n break;\n }\n default:\n throw new Error(`Invalid input type ${contentInputMethod}`);\n }\n uploadFiles({ files, presignedPost });\n }, [presignedPost]);\n\n // Submit a request to create Job Request once files are uploaded\n React.useEffect(() => {\n if (!formValues || !presignedPost) {\n return;\n }\n\n const files: JobRequestFile[] = [];\n const contentInputMethod = formValues[FilesSectionFieldNames.inputMethod];\n if (contentInputMethod !== ContentInputMethod.FILELINKS) {\n if (!areFilesUploaded) {\n return;\n }\n\n switch (contentInputMethod) {\n case ContentInputMethod.FILES: {\n const documentFiles: JobRequestFile[] | undefined = formValues[FilesSectionFieldNames.files]?.map(file => ({\n fileName: file.name,\n category: JobRequestFileCategory.SOURCE_DOCUMENT,\n fileKey: createFileKey(presignedPost, file.name)\n }));\n const referenceFiles: JobRequestFile[] | undefined = formValues[FilesSectionFieldNames.referenceFiles]?.map(\n file => ({\n fileName: file.name,\n category: JobRequestFileCategory.REFERENCE,\n fileKey: createFileKey(presignedPost, file.name)\n })\n );\n files.push(...(documentFiles || []), ...(referenceFiles || []));\n break;\n }\n case ContentInputMethod.TEXT: {\n const fileName = `${sanitizeFileName(formValues[ProjectInfoFieldName.projectName] as string)}.txt`;\n files.push({\n fileName,\n category: JobRequestFileCategory.SOURCE_DOCUMENT,\n fileKey: createFileKey(presignedPost, fileName)\n });\n break;\n }\n default:\n throw new Error(`Invalid input type ${contentInputMethod}`);\n }\n }\n\n const fileLinks: JobRequestFileLink[] | undefined =\n formValues[FilesSectionFieldNames.inputMethod] === ContentInputMethod.FILELINKS\n ? (formValues[FilesSectionFieldNames.fileLinks] as FileLink[]).map(link => ({\n url: link.url,\n name: link.name,\n category: JobRequestFileCategory.SOURCE_DOCUMENT\n }))\n : undefined;\n\n const sourceLanguageSelectedOption = formValues[ProjectInfoFieldName.sourceLanguage];\n if (!sourceLanguageSelectedOption) {\n throw new Error(\"Source language is not selected\");\n }\n const sourceLanguage: JobRequestLanguage = {\n id: +sourceLanguageSelectedOption.value,\n name: sourceLanguageSelectedOption.label as string\n };\n const targetLanguages: JobRequestLanguage[] = formValues[ProjectInfoFieldName.targetLanguages].map(l => ({\n id: +l.value,\n name: l.label as string\n }));\n\n const customFieldValues: CustomFieldValue[] | undefined = projectCustomFieldDefinitions?.map(fieldDefinition => ({\n fieldName: fieldDefinition.name,\n mapping: fieldDefinition.mapping,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n value: formValues[sanitizeFieldName(fieldDefinition.name)]\n }));\n\n const createJobRequestPayload: CreateJobRequestPayload = {\n origination,\n name: formValues[ProjectInfoFieldName.projectName] || \"\",\n requestType,\n sourceLanguage,\n targetLanguages,\n files,\n fileLinks,\n customFields: customFieldValues,\n notes: formValues[ProjectInfoFieldName.notes],\n externalReferenceId\n };\n\n // If the user is signed-in then use an endpoint for authenticated users to create a job request\n if (username) {\n createJobRequest({\n requestBody: createJobRequestPayload\n });\n } else {\n // For unauthenticated users, use API endpoint for unauthenticated users\n if (!emailVerificationCode) {\n throw new Error(\"Email verification code is required\");\n }\n const contactCountry = countryOptions.find(c => c.value === +formValues[UserContactSectionField.country]);\n const contactProvince = contactProvinceOptions.find(\n p => p.value === +formValues[UserContactSectionField.province]\n );\n const unauthenticatedCreateJobRequestPayload: UnauthenticatedCreateJobRequestPayload = {\n ...createJobRequestPayload,\n companyName: formValues[UserContactSectionField.companyName],\n requestorEmail: formValues[UserContactSectionField.email],\n requestorFirstName: formValues[UserContactSectionField.firstName],\n requestorLastName: formValues[UserContactSectionField.lastName],\n contactAddress: {\n address1: formValues[UserContactSectionField.address1] || undefined,\n address2: formValues[UserContactSectionField.address2] || undefined,\n city: formValues[UserContactSectionField.city] || undefined,\n zipCode: formValues[UserContactSectionField.zip] || undefined,\n phoneNumber: formValues[UserContactSectionField.phone] || undefined,\n email: formValues[UserContactSectionField.email] || undefined,\n province: formValues[UserContactSectionField.province]\n ? {\n id: +formValues[UserContactSectionField.province] || 0,\n name: contactProvince?.label as string\n }\n : undefined,\n country: formValues[UserContactSectionField.country]\n ? {\n id: +formValues[UserContactSectionField.country] || 0,\n name: contactCountry?.label as string\n }\n : undefined\n },\n emailVerificationCode\n };\n unauthenticatedCreateJobRequest({\n requestBody: unauthenticatedCreateJobRequestPayload\n });\n }\n }, [areFilesUploaded, requestType, presignedPost, emailVerificationCode, projectCustomFieldDefinitions]);\n\n const submitJobRequest = React.useCallback(() => {\n setSubmitting(true);\n createPresignedPost();\n }, []);\n\n const success = jobRequestCreated || unauthenticatedJobRequestCreated;\n React.useEffect(() => {\n if (success || error) {\n setSubmitting(false);\n }\n }, [success, error]);\n\n const progress = React.useMemo(() => {\n if (jobRequestCreated || unauthenticatedJobRequestCreated) {\n return 100;\n }\n if (isCreatingJobRequest || isUnauthenticatedCreatingJobRequest) {\n return 95;\n }\n return uploadProgress * 0.9;\n }, [\n uploadProgress,\n jobRequestCreated,\n unauthenticatedJobRequestCreated,\n isCreatingJobRequest,\n isUnauthenticatedCreatingJobRequest\n ]);\n\n return {\n submitJobRequest,\n isSubmitting,\n error,\n jobRequestCreated: success,\n jobRequestId:\n jobRequestCreated || unauthenticatedJobRequestCreated\n ? jobRequest?.id || unauthenticatedJobRequest?.id\n : undefined,\n progress\n };\n};\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { FormikProps } from \"formik/dist/types\";\nimport Box from \"@mui/material/Box\";\nimport Container from \"@mui/material/Container\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport Grid from \"@mui/material/Grid\";\nimport { Form, Formik } from \"formik\";\nimport { LoadingButton } from \"@mui/lab\";\nimport { ScrollToFieldError } from \"components/ScrollToFieldError/ScrollToFieldError\";\nimport { JobRequestOrigination, JobRequestType } from \"gen/clients/llts\";\nimport { SnackbarApiError } from \"components/SnackbarApiError/SnackbarApiError\";\nimport Stack from \"@mui/material/Stack\";\nimport { EmailVerificationDialog } from \"components/EmailVerificationDialog/EmailVerificationDialog\";\nimport { validateEmailFormat } from \"utils/stringUtils\";\nimport { useDialogState } from \"hooks/useDialogState/useDialogState\";\nimport { AlertDialog } from \"components/AlertDialog/AlertDialog\";\nimport { LinearProgressWithLabel } from \"components/LinearProgressWithLabel/LinearProgressWithLabel\";\nimport { DEFAULT_COUNTRY_CODE } from \"utils/constants\";\nimport { CreateProjectFormValidator } from \"../../CreateProjectPage/components/CreateProjectForm/CreateProjectFormValidator\";\nimport { FormHeader } from \"../../CreateProjectPage/components/FormHeader/FormHeader\";\nimport { RequestSubmitted } from \"../../CreateProjectPage/components/RequestSubmitted/RequestSubmitted\";\nimport { SubmitType } from \"../../CreateProjectPage/components/CreateProjectForm/CreateProjectForm\";\nimport {\n UserContactSectionField,\n UserContactSectionFormValues\n} from \"../../CreateProjectPage/components/UserContactSection/UserContactSection\";\nimport {\n ProjectInfoFieldName,\n ProjectInfoFormValues\n} from \"../../CreateProjectPage/components/ProjectInfoSection/ProjectInfoSection\";\nimport {\n ContentInputMethod,\n FilesSectionFieldNames,\n FilesSectionFormValues\n} from \"../../CreateProjectPage/components/FilesSection/FilesSection\";\nimport { CreateJobRequestForm } from \"../components/CreateJobRequestForm/CreateJobRequestForm\";\nimport { useSubmitJobRequest } from \"../hooks/useSubmitJobRequest\";\n\ninterface Props {\n email: string;\n origination: JobRequestOrigination;\n allowSendToTranslation: boolean;\n}\n\ntype Values = UserContactSectionFormValues & FilesSectionFormValues & ProjectInfoFormValues;\n\nconst UnknownUserCreateJobRequestPage: React.FC = ({ email, origination, allowSendToTranslation }) => {\n const { t } = useTranslation();\n const formikRef = React.useRef>(null);\n const [requestType, setRequestType] = React.useState();\n const [verificationCode, setVerificationCode] = React.useState();\n const [isEmailVerificationDialogOpen, openEmailVerificationDialog, closeEmailVerificationDialog] = useDialogState();\n\n const formValues = formikRef.current?.values;\n\n const {\n submitJobRequest,\n isSubmitting,\n error: submitJobRequestError,\n jobRequestCreated,\n progress\n } = useSubmitJobRequest({\n origination,\n formValues,\n requestType,\n emailVerificationCode: verificationCode\n });\n\n const onSubmit = React.useCallback(() => {\n openEmailVerificationDialog();\n }, [openEmailVerificationDialog]);\n\n const onEmailVerificationCancel = React.useCallback(() => {\n formikRef.current?.setSubmitting(false);\n closeEmailVerificationDialog();\n }, [closeEmailVerificationDialog]);\n\n const onEmailVerificationSuccess = React.useCallback(\n (validatedverificationCode: string) => {\n setVerificationCode(validatedverificationCode);\n closeEmailVerificationDialog();\n submitJobRequest();\n },\n [closeEmailVerificationDialog, submitJobRequest]\n );\n\n const validate = React.useCallback(\n (values: Values) => {\n const errors: Partial = {};\n // Validate email\n const emailValue = values.email as string;\n if (!emailValue) {\n errors.email = t(\"common.validation.required\");\n } else if (!validateEmailFormat(emailValue)) {\n errors.email = t(\"createProject.unknownUser.validationMessages.emailFormat\");\n }\n const documentInputErrors = CreateProjectFormValidator.validate(values as unknown as Record, t);\n return { ...errors, ...documentInputErrors };\n },\n [t]\n );\n\n const initialValues = React.useMemo(() => {\n const standardFieldValues = {\n [UserContactSectionField.companyName]: \"\",\n [UserContactSectionField.email]: email,\n [UserContactSectionField.firstName]: \"\",\n [UserContactSectionField.lastName]: \"\",\n [UserContactSectionField.address1]: \"\",\n [UserContactSectionField.address2]: \"\",\n [UserContactSectionField.city]: \"\",\n [UserContactSectionField.province]: \"\",\n [UserContactSectionField.zip]: \"\",\n [UserContactSectionField.country]: DEFAULT_COUNTRY_CODE,\n [UserContactSectionField.phone]: \"\",\n [ProjectInfoFieldName.sourceLanguage]: null,\n [ProjectInfoFieldName.targetLanguages]: [],\n [ProjectInfoFieldName.notes]: \"\",\n [ProjectInfoFieldName.projectName]: \"\",\n [ProjectInfoFieldName.xtrfServiceId]: \"\",\n [FilesSectionFieldNames.inputMethod]: ContentInputMethod.FILES,\n [FilesSectionFieldNames.files]: [],\n [FilesSectionFieldNames.fileLinks]: [],\n [FilesSectionFieldNames.textInput]: \"\",\n [FilesSectionFieldNames.includeReferenceFiles]: [],\n [FilesSectionFieldNames.referenceFiles]: []\n };\n return {\n ...standardFieldValues\n };\n }, [email]);\n\n if (jobRequestCreated && requestType) {\n const submitType: SubmitType =\n requestType === JobRequestType.TRANSLATION_REQUEST ? SubmitType.PROJECT : SubmitType.ESTIMATE;\n return ;\n }\n\n return (\n <>\n \n \n

{t(\"createProject.unknownUser.header.content1\")}

\n

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

\n \n \n \n {\n setRequestType(JobRequestType.QUOTE_REQUEST);\n }}\n >\n {t(\"createProject.createProjectForm.sendForEstimation\")}\n \n {allowSendToTranslation && (\n {\n setRequestType(JobRequestType.TRANSLATION_REQUEST);\n }}\n >\n {t(\"createProject.createProjectForm.sendToTranslation\")}\n \n )}\n \n {isSubmitting && (\n \n \n {t(\"createProject.createProjectForm.submittingAlert.text\")}\n \n \n \n \n \n )}\n \n \n \n \n {submitJobRequestError && }\n {isEmailVerificationDialogOpen && (\n \n )}\n \n \n );\n};\n\nexport { UnknownUserCreateJobRequestPage };\n","import * as React from \"react\";\nimport { ClientConfig, JobRequestOrigination } from \"gen/clients/llts\";\nimport { InitialEntryForm } from \"./components/InitialEntryForm/InitialEntryForm\";\nimport { ProjectEntryForm } from \"./components/ProjectEntryForm/ProjectEntryForm\";\nimport { UnknownUserCreateJobRequestPage } from \"../../CreateJobRequestPage/UnknownUserCreateJobRequestPage/UnknownUserCreateJobRequestPage\";\n\nconst UnsignedInUserPage: React.FC = () => {\n const [email, setEmail] = React.useState();\n const [clientConfig, setClientConfig] = React.useState();\n\n const onInitialEntrySuccess = React.useCallback((providedEmail: string, loadedClientConfig?: ClientConfig) => {\n setEmail(providedEmail);\n setClientConfig(loadedClientConfig);\n }, []);\n\n if (email && clientConfig && clientConfig.status === \"ACTIVE\") {\n return ;\n }\n if (email) {\n return (\n \n );\n }\n return ;\n};\n\nexport { UnsignedInUserPage };\n","import * as React from \"react\";\nimport { useUserSession } from \"../../hooks/useUserSession\";\nimport { SignedInUserPage } from \"./SignedInUserPage/SignedInUserPage\";\nimport { UnsignedInUserPage } from \"./UnsignedInUserPage/UnsignedInUserPage\";\nimport HomeCrumb from \"../../components/Breadcrumb/HomeCrumb\";\n\nconst CreateProjectPage: React.FC = () => {\n const { email } = useUserSession();\n\n return (\n <>\n
\n \n
\n {email ? : }\n \n );\n};\n\nexport { CreateProjectPage };\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { IPage } from \"../../../interfaces/page\";\nimport logging from \"../../../config/logging\";\nimport HomeCrumb from \"../../../components/Breadcrumb/HomeCrumb\";\n\nconst AppPlaceholder: React.FC = props => {\n const { id } = props;\n const { t } = useTranslation();\n const name = t(`${id}.title`);\n\n useEffect(() => {\n logging.info(`Loading ${name}`);\n }, [name]);\n\n // noinspection HtmlUnknownTarget\n const body = React.useMemo(\n () => (\n <>\n

\n \n ),\n [name, t]\n );\n\n return (\n

\n \n
{body}
\n
\n );\n};\n\nexport default AppPlaceholder;\n","import * as React from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { useMutation } from \"react-query\";\nimport Container from \"@mui/material/Container\";\nimport { useEffect } from \"react\";\nimport { Alert, Link } from \"@mui/material\";\nimport { Auth, CognitoHostedUIIdentityProvider } from \"@aws-amplify/auth\";\nimport { useTranslation } from \"react-i18next\";\nimport { UserAccountsService } from \"../../gen/clients/llts\";\nimport { LoadingPage } from \"../../components/LoadingPage/LoadingPage\";\nimport { parseApiErrorMessage } from \"../../components/ApiErrorMessage/ApiErrorMessage\";\n\nconst EmailConfirmationPage: React.FC = () => {\n const { t } = useTranslation();\n const { search } = useLocation();\n const queryParams = React.useMemo(() => new URLSearchParams(search), [search]);\n const email = queryParams.get(\"email\");\n const code = queryParams.get(\"verificationCode\");\n\n const { mutate: confirmEmail, isSuccess, isLoading, error } = useMutation(UserAccountsService.confirmEmail);\n\n const signIn = React.useCallback(() => {\n Auth.federatedSignIn({ provider: CognitoHostedUIIdentityProvider.Cognito });\n }, []);\n\n useEffect(() => {\n if (email && code) {\n confirmEmail({ requestBody: { email, code } });\n }\n }, [confirmEmail, email, code]);\n\n if (isLoading) {\n return ;\n }\n\n if (!email || !code) {\n return {t(\"emailConfirmation.invalidUrl\")};\n }\n\n if (isSuccess) {\n return (\n \n \n {t(\"emailConfirmation.emailConfirmed\")}\n\n \n {t(\"emailConfirmation.signIn\")}\n \n \n \n );\n }\n\n if (error) {\n return (\n \n {parseApiErrorMessage(error, t(\"common.unexpectedError\"))}\n \n );\n }\n\n return
;\n};\n\nexport { EmailConfirmationPage };\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { IFrame } from \"../../../interfaces/page\";\nimport logging from \"../../../config/logging\";\nimport HomeCrumb from \"../../../components/Breadcrumb/HomeCrumb\";\nimport styles from \"./IFrameViewer.module.scss\";\n\nconst IFrameViewer: React.FC