{"version":3,"file":"main.5bf91d93c52bdb31.js","mappings":"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","sources":["webpack:///../../libs/xlerate-core/src/controllers/ErrorHandler.ts","webpack:///../../libs/xlerate-config/src/environments/environment.prd.ts","webpack:///../../libs/xlerate-core/src/controllers/AppController.ts","webpack:///../../libs/xlerate-common/src/HandledError.ts","webpack:///../../libs/xlerate-core/src/controllers/BaseController.ts","webpack:///../../libs/xlerate-core/src/controllers/AuthController.ts","webpack:///../../libs/xlerate-common/src/utils/cookie.util.ts","webpack:///../../libs/xlerate-common/src/Console.ts","webpack:///../../libs/xlerate-common/src/datetime-storage/datetime/DateTimeManager.ts","webpack:///../../libs/xlerate-common/src/consts/Errors.ts","webpack:///../../libs/xlerate-common/src/datetime-storage/datetime/date/DateValueConverter.ts","webpack:///../../libs/xlerate-common/src/datetime-storage/datetime/date/DateManager.ts","webpack:///../../libs/xlerate-common/src/datetime-storage/datetime/datetime/DateTimeValueConverter.ts","webpack:///../../libs/xlerate-common/src/datetime-storage/datetime/datetime/DateTimeUtcManager.ts","webpack:///../../libs/xlerate-common/src/datetime-storage/DateTimeStorage.ts","webpack:///../../libs/xlerate-core/src/providers/AuthContextProvider.tsx","webpack:///./src/views/auth/login-password/components/AuthenticatedTemplate.tsx","webpack:///./src/views/auth/login-password/components/UnauthenticatedTemplate.tsx","webpack:///./src/views/auth/login-password/components/login/ClientTimeInvalid.tsx","webpack:///../../libs/xlerate-common/src/forms/formType.ts","webpack:///../../libs/xlerate-common/src/providers/TooltipContainerProvider.tsx","webpack:///../../libs/xlerate-common/src/validation/hoc/withValidationErrors.tsx","webpack:///../../libs/xlerate-common/src/utils/common.ts","webpack:///../../libs/xlerate-common/src/utils/react.util.ts","webpack:///../../libs/xlerate-controls/src/components/controls/base/XLTextbox.tsx","webpack:///../../libs/xlerate-controls/src/components/controls/base/XLPasswordTextbox.tsx","webpack:///../../libs/xlerate-common/src/assets/icons/chargebacks.svg","webpack:///../../libs/xlerate-common/src/maps/icon.map.tsx","webpack:///./src/views/auth/login-password/components/login/Login.tsx","webpack:///../../libs/xlerate-controls/src/components/controls/base/XLMaskedTextbox/converters/IMaskConverter.ts","webpack:///../../libs/xlerate-controls/src/components/controls/base/XLMaskedTextbox/converters/NumberMaskConverter.ts","webpack:///../../libs/xlerate-controls/src/components/controls/base/XLMaskedTextbox/converters/DefaultMaskConverter.ts","webpack:///../../libs/xlerate-controls/src/components/controls/base/XLMaskedTextbox/XLMaskedTextbox.tsx","webpack:///./src/views/auth/login-password/components/login/LoginCodeValidate.tsx","webpack:///./src/views/auth/login-password/components/login/LoginTemplate.tsx","webpack:///./src/views/auth/login-password/components/register/UserVerify.tsx","webpack:///./src/views/auth/login-password/components/register/AddAuthApplication.tsx","webpack:///./src/views/auth/login-password/components/register/RegisterSuccess.tsx","webpack:///./src/views/auth/login-password/components/register/UserInvalid.tsx","webpack:///./src/views/auth/login-password/components/register/RegisterTemplate.tsx","webpack:///./src/controllers/CarrierController.ts","webpack:///./src/views/auth/login-password/components/ActionsList.tsx","webpack:///../../libs/xlerate-common/src/utils/url.utils.ts","webpack:///./src/views/auth/login-password/LoginPasswordAuthRoot.tsx","webpack:///../../libs/xlerate-core/src/systemlogger/LoggerRegistry.ts","webpack:///../../libs/xlerate-data/src/models/dtos/common/ExceptionLog.dto.ts","webpack:///../../libs/xlerate-core/src/systemlogger/GlobalErrorHandler.ts","webpack:///../../libs/xlerate-core/src/systemlogger/Initializer.ts","webpack:///../../libs/xlerate-core/src/controllers/SystemController.ts","webpack:///../../libs/xlerate-core/src/systemlogger/withSystemLogger.tsx","webpack:///./src/App.tsx","webpack:///./src/main.tsx","webpack:///../../node_modules/moment/locale/ sync ^\\.\\/.*$"],"sourcesContent":["interface ErrorSub {\r\n\tfn: (message: string[]) => void;\r\n\tviewId: string;\r\n}\r\n\r\nexport class ErrorHandler {\r\n\tprivate logoutFn?: () => void = undefined\r\n\tprivate errorShowFn: ErrorSub[] = []\r\n\tprivate crushFn: Map void> = new Map()\r\n\tprivate globalErrorShowFn?: (message: string[]) => void\r\n\r\n\tpublic catch = (message: string[], status: number, viewId: string = \"\"): void => {\r\n\t\tif (status === 401 && this.logoutFn !== undefined) {\r\n\t\t\tthis.logoutFn()\r\n\t\t}\r\n\r\n\t\tif ([400, 403, 404, 500].includes(status)) {\r\n\t\t\tif (this.globalErrorShowFn !== undefined) {\r\n\t\t\t\tthis.globalErrorShowFn(message)\r\n\t\t\t}\r\n\r\n\t\t\tconst localFn = this.errorShowFn.filter(it => it.viewId === viewId);\r\n\t\t\tif (localFn.length !== 0) {\r\n\t\t\t\tlocalFn[0].fn(message)\r\n\t\t\t}\r\n\t\t} else if([9999].includes(status)) {\r\n\t\t\tthis.crushFn.get(viewId)?.(message)\r\n\t\t}\r\n\t}\r\n\r\n\tpublic registerLogout = (logout: () => void): void => {\r\n\t\tthis.logoutFn = logout\r\n\t}\r\n\r\n\tpublic registerErrorShow = (errorShow: (message: string[]) => void, viewId: string = \"\"): void => {\r\n\t\tif (viewId === \"\") {\r\n\t\t\tif (errorShow !== undefined)\r\n\t\t\t\tthis.globalErrorShowFn = errorShow\r\n\t\t} else {\r\n\t\t\tthis.errorShowFn = this.errorShowFn.filter(it => it.viewId !== viewId)\r\n\t\t\tthis.errorShowFn.push({ viewId, fn: errorShow })\r\n\t\t}\r\n\t}\r\n\r\n\tpublic registerTabCrush = (errorShow: (message: string[]) => void, viewId: string): void => {\r\n\t\tthis.crushFn.set(viewId, errorShow)\r\n\t}\r\n}","export const environment = {\r\n DOMAIN: \"xleratefinancial.com\",\r\n SERVER_API_URL: \"https://api01.xleratefinancial.com\",\r\n UI_URL: \"https://bo01.xleratefinancial.com/bo\",\r\n BO_APP_URL: \"https://bo01.xleratefinancial.com/bo/\",\r\n AUTH_APP_URL: \"https://bo01.xleratefinancial.com/login/\",\r\n PORTAL_APP_URL: \"https://bo01.xleratefinancial.com/portal/\",\r\n EXTERNAL_APP_URL: \"http://bo01.xleratefinancial.com/external\",\r\n MESSAGE_HUB_URL: \"https://dmh.xleratefinancial.com\",\r\n IS_REGULAR_AUTH_USE: true,\r\n SAVE_AUTH_USER_TO_CACHE: true,\r\n SAVE_TABS_LOCALLY: false\r\n};\r\n","import { environment } from \"@xlerate/xlerate-config\"\r\nimport axios, { AxiosInstance, AxiosRequestConfig } from \"axios\"\r\n\r\nlet accessToken: string = ''\r\ntype CreateServiceFunction = (baseURL?: string) => CreateServiceValue\r\nexport interface CreateServiceValue {\r\n query: (resource: string, params: U) => Promise\r\n get: (resource: string, slug?: string, query?: Q) => Promise\r\n getBlob: (resource: string, slug?: string, query?: Q) => Promise\r\n postBlob: (resource: string, params: U) => Promise\r\n post: (resource: string, params: U) => Promise\r\n postWithQuery: (resource: string, params: U, query?: Q) => Promise\r\n postWithConfig: (resource: string, params: U, config: AxiosRequestConfig) => Promise\r\n put: (resource: string, params: U, query?: Q) => Promise\r\n update: (resource: string, slug: string, params: U, query?: Q) => Promise\r\n delete: (resource: string, params?: U, query?: Q) => Promise\r\n baseURL: Readonly\r\n}\r\n\r\nexport const createService: CreateServiceFunction = (baseURL?: string) => {\r\n const api = new Proxy(\r\n axios.create({\r\n baseURL,\r\n // withCredentials: true\r\n }),\r\n {\r\n get(\r\n target: AxiosInstance,\r\n method: T,\r\n receiver: AxiosInstance\r\n ) {\r\n const originalMethod = target[method]\r\n\r\n if (typeof originalMethod === 'function') {\r\n return function (\r\n ...args: AxiosInstance[T] extends never\r\n ? Parameters\r\n : []\r\n ) {\r\n if (accessToken) {\r\n api.defaults.headers[\"Authorization\"] = `Bearer ${accessToken}`\r\n }\r\n return (originalMethod as Function).apply(target, args)\r\n }\r\n }\r\n return target[method]\r\n }\r\n }\r\n )\r\n api.defaults.headers['Cache-Control'] = 'no-cache'\r\n api.defaults.headers['Pragma'] = 'no-cache'\r\n api.defaults.headers['Expires'] = 'Sat, 01 Jan 2000 00:00:00 GMT'\r\n api.defaults.headers['If-Modified-Since'] = '0'\r\n api.defaults.headers[\"Access-Control-Allow-Origin\"] = environment.UI_URL\r\n api.interceptors.request.use(config => {\r\n // throw new axios.Cancel('Operation canceled by the user.')\r\n return config\r\n })\r\n api.interceptors.response.use(response => response.data)\r\n\r\n const createQuery = (query?: { [key: string]: any }) => {\r\n if (!query) return ''\r\n return '?' + Object.keys(query).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(query[key])}`).join('&')\r\n }\r\n const createSlug = (slug?: string) => {\r\n if (!slug) return ''\r\n return `/${slug}`\r\n }\r\n return {\r\n query: (resource, params) => api.get(resource, { params }),\r\n get: (resource, slug = '', query) => api.get(`${resource + createSlug(slug)}`, { params: query }),\r\n getBlob: (resource, slug = '', query) => api.get(`${resource + createSlug(slug)}`, { params: query, responseType: 'blob' }),\r\n postBlob: (resource, params) => api.post(resource, params, { responseType: 'blob' }),\r\n post: (resource, params) => api.post(resource, params),\r\n postWithQuery: (resource, params, query) => {\r\n resource = `${resource}${createQuery(query as { [key: string]: any })}`\r\n return api.post(resource, params)\r\n },\r\n postWithConfig: (resource, params, config) => api.post(resource, params, config),\r\n put: (resource, params, query) => {\r\n resource = `${resource}${createQuery(query as { [key: string]: any })}`\r\n return api.put(resource, params)\r\n },\r\n update: (resource, slug = '', params, query) => {\r\n resource = `${resource + createSlug(slug)}${createQuery(query as { [key: string]: any })}`\r\n return api.put(resource, params)\r\n },\r\n delete: (resource, params, query) => {\r\n resource = `${resource}${createQuery(query as { [key: string]: any })}`\r\n return api.delete(resource, { params })\r\n },\r\n baseURL: baseURL ?? ''\r\n }\r\n}\r\n\r\nexport const setAppHeaderAccessToken = (token: string) => {\r\n accessToken = token\r\n}","export class HandledError extends Error {\r\n constructor(message?: string) {\r\n super(message)\r\n this.name = 'HandledError'\r\n Object.setPrototypeOf(this, new.target.prototype)\r\n }\r\n}","import { AxiosError, AxiosRequestConfig } from 'axios'\r\nimport { CreateServiceValue, createService } from './AppController'\r\nimport { ErrorHandler } from './ErrorHandler'\r\nimport { BaseDto, BaseResponseDto, ResponseDataListResult, ResponseDataResult, ResponseDto, ResponseResultDto, ResponseResultListDto } from '@xlerate/xlerate-data'\r\nimport { ControllerSchema, HandledError } from '@xlerate/xlerate-common'\r\n\r\nexport interface IBaseController {\r\n query(resource: string, params: U): Promise\r\n get(resource: string, slug?: string, query?: Q): Promise\r\n getBlob(resource: string, slug?: string, query?: Q): Promise\r\n postBlob(resource: string, params: U): Promise\r\n post(resource: string, params: U): Promise\r\n put(resource: string, params: U, query?: Q): Promise\r\n update(resource: string, slug: string, params: U, query?: Q): Promise\r\n delete(resource: string, params?: U, query?: Q): Promise\r\n postPure(resource: string, params: U, config: AxiosRequestConfig): Promise\r\n}\r\n\r\nexport class BaseController implements IBaseController {\r\n private service: CreateServiceValue\r\n\r\n constructor(baseURL: string, protected errorHandler: ErrorHandler, protected viewId: string = \"\") {\r\n this.service = createService(baseURL)\r\n }\r\n\r\n protected isResponseDataResult(obj: any): obj is ResponseDataResult {\r\n return (\r\n typeof obj === 'object' &&\r\n obj !== null &&\r\n (obj.Model === null || typeof obj.Model === 'object') &&\r\n Array.isArray(obj.Notes) &&\r\n Array.isArray(obj.Documents) &&\r\n (obj.Lock === null || typeof obj.Lock === 'object') &&\r\n typeof obj.ValidationResult === 'boolean'\r\n )\r\n }\r\n\r\n protected isResponseResultDto(obj: any): obj is ResponseResultDto {\r\n return (\r\n typeof obj === 'object' &&\r\n (obj.Error === null || typeof obj.Error === 'object') &&\r\n typeof obj.Data === 'object' &&\r\n this.isResponseDataResult(obj.Data)\r\n )\r\n }\r\n\r\n protected isResponseDto(obj: any): obj is ResponseDto {\r\n return (\r\n typeof obj === 'object' &&\r\n (obj.Error === null || typeof obj.Error === 'object') &&\r\n (obj.Data === null || typeof obj.Data === 'object')\r\n )\r\n }\r\n\r\n protected isResponseDataListResult(obj: any): obj is ResponseDataListResult {\r\n return (\r\n typeof obj === 'object' &&\r\n obj !== null &&\r\n (obj.Model === null || typeof obj.Model === 'object') &&\r\n (obj.Model ? Array.isArray(obj.Model) : true)\r\n )\r\n }\r\n\r\n protected isResponseResultListDto(obj: any): obj is ResponseResultListDto {\r\n return (\r\n typeof obj === 'object' &&\r\n (obj.Error === null || typeof obj.Error === 'object') &&\r\n typeof obj.Data === 'object' &&\r\n this.isResponseDataListResult(obj.Data)\r\n )\r\n }\r\n\r\n private handleSchema(response: T, resource: string, schema?: ControllerSchema) {\r\n if (schema) {\r\n const parsed = schema.safeParse(response)\r\n if(!parsed.success) {\r\n const Message = parsed.error.errors.map(e => `[${e.code}]: ${e.message}`).join('\\n')\r\n + '\\n\\n###\\n\\n'\r\n + `Resource: ${resource}\\n\\n`\r\n + parsed.error.errors.map(e => `Raw Exception: ${JSON.stringify(e, null, 2)}`).join('\\n')\r\n + `\\n\\nResponse: ${JSON.stringify(response, null, 2).substring(0, 1000)}`\r\n throw new Error(Message)\r\n }\r\n }\r\n }\r\n\r\n protected async updateLookupItems(response: T) {\r\n return Promise.resolve(response)\r\n }\r\n\r\n private errorObject(response: any) {\r\n const isObject = (something: any) => typeof something === 'object' && something !== null\r\n const hasErrorObject = isObject(response) && response.hasOwnProperty('Error') && isObject(response.Error)\r\n const messageIsString = hasErrorObject && typeof response.Error.Message === 'string'\r\n const codeIsNumber = hasErrorObject && typeof response.Error.Code === 'number'\r\n return {\r\n Message: messageIsString ? String(response.Error.Message) : null,\r\n Code: codeIsNumber ? Number(response.Error.Code) : null\r\n }\r\n }\r\n\r\n protected wrapError(response: T) {\r\n if (response instanceof AxiosError) {\r\n const error = response as AxiosError\r\n if (typeof response === 'object' && error.response !== undefined) {\r\n const plainError = error.response?.data as unknown as ResponseDto\r\n if (plainError) {\r\n this.errorHandler.catch(plainError.Error?.Message?.split('\\r\\n') || [], plainError.Error?.Code || 500, this.viewId)\r\n }\r\n } else {\r\n this.errorHandler.catch([error.message], error.response?.status || 500, this.viewId)\r\n }\r\n } else {\r\n const plainResponse = response as unknown as ResponseDto\r\n if (plainResponse && plainResponse.Error !== null && typeof plainResponse.Error === 'object') {\r\n this.errorHandler.catch(plainResponse.Error?.Message?.split('\\r\\n') || [], plainResponse.Error?.Code || 500, this.viewId)\r\n }\r\n }\r\n return response\r\n }\r\n\r\n private handleServerCustomError(response: T) {\r\n const { Message, Code } = this.errorObject(response)\r\n if(Message || Code) {\r\n this.errorHandler.catch((Message || 'Server error').split('\\r\\n') || [], Code || 500, this.viewId)\r\n throw new HandledError()\r\n }\r\n }\r\n\r\n private handleAxiosCatch(e: unknown) {\r\n if (e instanceof AxiosError) {\r\n if (e.response?.data) {\r\n const plainError = e.response.data\r\n if (plainError) {\r\n if(typeof plainError === 'string') {\r\n this.errorHandler.catch([plainError], 500, this.viewId)\r\n } else {\r\n this.errorHandler.catch(plainError.Error?.Message?.split('\\r\\n') || [], plainError.Error?.Code || 500, this.viewId)\r\n }\r\n }\r\n } else {\r\n this.errorHandler.catch([e.message], e.response?.status || 500, this.viewId)\r\n }\r\n return new HandledError()\r\n }\r\n return e\r\n }\r\n\r\n private async processResponse(response: T, resource: string, schema?: ControllerSchema) {\r\n try {\r\n const path = (baseURL: string, resource: string) => `${baseURL}${baseURL.endsWith('/') ? '' : '/'}${resource.startsWith('/') ? resource.substring(1) : resource}`\r\n this.handleSchema(response, path(this.service.baseURL, resource), schema)\r\n this.handleServerCustomError(response)\r\n await this.updateLookupItems(response)\r\n }\r\n catch (e) {\r\n if((e instanceof Error) && !(e instanceof HandledError)) {\r\n this.errorHandler.catch([e.message], 9999, this.viewId)\r\n e = new HandledError()\r\n }\r\n throw e\r\n }\r\n }\r\n\r\n public async query(resource: string, params: U, schema?: ControllerSchema) {\r\n try {\r\n const response = await this.service.query(resource, params)\r\n await this.processResponse(response, resource, schema)\r\n return response\r\n } catch (e) {\r\n e = this.handleAxiosCatch(e)\r\n throw e\r\n }\r\n }\r\n\r\n public async get(resource: string, slug?: string, query?: Q, schema? : ControllerSchema) {\r\n try {\r\n const response = await this.service.get(resource, slug, query)\r\n await this.processResponse(response, resource, schema)\r\n return response\r\n } catch (e) {\r\n e = this.handleAxiosCatch(e)\r\n throw e\r\n }\r\n }\r\n\r\n public async postBlob(resource: string, params: U, schema? : ControllerSchema) {\r\n try {\r\n const response = await this.service.postBlob(resource, params)\r\n await this.processResponse(response, resource, schema)\r\n return response\r\n } catch (e) {\r\n e = this.handleAxiosCatch(e)\r\n throw e\r\n }\r\n }\r\n\r\n public async post(resource: string, params: U, schema? : ControllerSchema) {\r\n try {\r\n const response = await this.service.post(resource, params)\r\n await this.processResponse(response, resource, schema)\r\n return response\r\n } catch (e) {\r\n e = this.handleAxiosCatch(e)\r\n throw e\r\n }\r\n }\r\n\r\n public async postWithQuery(resource: string, params: U, query?: Q, schema? : ControllerSchema) {\r\n try {\r\n const response = await this.service.postWithQuery(resource, params, query)\r\n await this.processResponse(response, resource, schema)\r\n return response\r\n } catch (e) {\r\n e = this.handleAxiosCatch(e)\r\n throw e\r\n }\r\n }\r\n\r\n public async put(resource: string, params: U, query?: Q, schema? : ControllerSchema) {\r\n try {\r\n const response = await this.service.put(resource, params, query)\r\n await this.processResponse(response, resource, schema)\r\n return response\r\n } catch (e) {\r\n e = this.handleAxiosCatch(e)\r\n throw e\r\n }\r\n }\r\n\r\n public async update(resource: string, slug: string, params: U, query?: Q, schema? : ControllerSchema) {\r\n try {\r\n const response = await this.service.update(resource, slug, params, query)\r\n await this.processResponse(response, resource, schema)\r\n return response\r\n } catch (e) {\r\n e = this.handleAxiosCatch(e)\r\n throw e\r\n }\r\n }\r\n\r\n public async delete(resource: string, params?: U, query?: Q, schema? : ControllerSchema) {\r\n try {\r\n const response = await this.service.delete(resource, params, query)\r\n await this.processResponse(response, resource, schema)\r\n return response\r\n } catch (e) {\r\n e = this.handleAxiosCatch(e)\r\n throw e\r\n }\r\n }\r\n\r\n public async postPure(resource: string, params: U, config: AxiosRequestConfig) {\r\n try {\r\n\r\n return await this.service.postWithConfig(resource, params, config)\r\n } catch (e) {\r\n e = this.handleAxiosCatch(e)\r\n throw e\r\n }\r\n }\r\n\r\n public async getBlob(resource: string, slug?: string, query?: Q, schema? : ControllerSchema) {\r\n try {\r\n const response = await this.service.getBlob(resource, slug, query)\r\n await this.processResponse(response, resource, schema)\r\n return response\r\n } catch (e) {\r\n e = this.handleAxiosCatch(e)\r\n throw e\r\n }\r\n }\r\n}\r\n","import { environment } from \"@xlerate/xlerate-config\"\r\nimport { BaseController } from \"./BaseController\"\r\nimport { ErrorHandler } from \"./ErrorHandler\"\r\nimport { CheckInviteDto, CodeValidateDto, LoginDto, SetupPasswordDto } from \"@xlerate/xlerate-data\"\r\n\r\nexport class AuthController extends BaseController {\r\n constructor(protected errorHandler: ErrorHandler, viewId = \"\") {\r\n super(`${environment.SERVER_API_URL}/api/auth`, errorHandler, viewId)\r\n }\r\n\r\n public login(email: string, password: string): Promise {\r\n return this.postPure(\"login\", {}, { auth: { username: email, password: password } })\r\n }\r\n\r\n public verify2FA(data: CodeValidateDto): Promise {\r\n return this.post(\"verify2FA\", data)\r\n }\r\n\r\n public setup2FA(data: CodeValidateDto): Promise {\r\n return this.post(\"setup2FA\", data)\r\n }\r\n\r\n public checkInvite(data: CheckInviteDto): Promise {\r\n return this.post(\"checkInvite\", data)\r\n }\r\n\r\n public setupPassword(data: SetupPasswordDto): Promise {\r\n return this.post(\"setupPassword\", data)\r\n }\r\n\r\n public generateQRCode(token: string): Promise {\r\n return this.get(\"generateQRCode?token=\" + token)\r\n }\r\n\r\n public sendSetupPassword(userKey: number) {\r\n return this.post(\"sendSetup?userKey=\" + userKey, {})\r\n }\r\n\r\n public logout() {\r\n return this.post(\"logout\", {})\r\n }\r\n}","export function setCookie(cname: string, cvalue: string, exphours: number, domain: string) {\r\n\t// using new Date() is correct\r\n\tconst d = new Date();\r\n\td.setTime(d.getTime() + (exphours * 60 * 60 * 1000));\r\n\tconst expires = \"expires=\" + d.toUTCString();\r\n\tdocument.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/;domain=\" + domain;\r\n}\r\n\r\nexport function getCookie(cname: string) {\r\n\tconst name = cname + \"=\";\r\n\tconst ca = document.cookie.split(';');\r\n\tfor (let i = 0; i < ca.length; i++) {\r\n\t\tlet c = ca[i];\r\n\t\twhile (c.charAt(0) === ' ') {\r\n\t\t\tc = c.substring(1);\r\n\t\t}\r\n\t\tif (c.indexOf(name) === 0) {\r\n\t\t\treturn c.substring(name.length, c.length);\r\n\t\t}\r\n\t}\r\n\treturn \"\";\r\n}\r\n\r\nexport function deleteCookie(cname: string, domain: string) {\r\n\tdocument.cookie = cname + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;domain=\" + domain;\r\n}","export const Console = {\r\n enabled: false,\r\n\r\n log: (...args: any[]) => {\r\n if (Console.enabled) {\r\n console.log(...args)\r\n }\r\n },\r\n\r\n info: (...args: any[]) => {\r\n if (Console.enabled) {\r\n console.info(...args)\r\n }\r\n },\r\n\r\n warn: (...args: any[]) => {\r\n if (Console.enabled) {\r\n console.warn(...args)\r\n }\r\n },\r\n\r\n error: (...args: any[]) => {\r\n console.error(...args)\r\n }\r\n};\r\n\r\n(window as any).Console = Console","import moment, { Moment, MomentInput } from \"moment-timezone\"\r\nimport { LocTimeZoneDto } from \"../DateTimeStorage\"\r\nimport { Console } from \"../../Console\"\r\n\r\nexport type ConstructorParams = {\r\n locTimeZone: LocTimeZoneDto,\r\n serverTimeZone: LocTimeZoneDto,\r\n stringFormat?: string,\r\n}\r\n\r\nexport type ManipulationDateStartOf = 'day' | 'isoWeek' | 'month' | 'quarter' | 'year'\r\n\r\nexport type Manipulations = { days?: number, months?: number, years?: number, hours?: number, minutes?: number, seconds?: number, milliseconds?: number, weeks?: number, quarters?: number, startOf?: ManipulationDateStartOf }\r\n\r\nexport type OutputDateTimeType = {\r\n formated: string,\r\n formatedWithZoneAbbr: string,\r\n zoneAbbr: string,\r\n iso: string,\r\n manipulate: (manipulations: Manipulations) => OutputDateTimeType,\r\n fromNow: string,\r\n diffFromNow: number,\r\n moment: typeof moment\r\n}\r\n\r\nexport interface IDateTimeValueConverter {\r\n removeFromControl(value: Date, useTimeZone?: boolean): Date\r\n applyToControl(value: Date, useTimeZone?: boolean): Date\r\n\r\n}\r\n\r\nexport interface IDateTimeManager {\r\n serverTimeZone: LocTimeZoneDto\r\n locTimeZone: LocTimeZoneDto\r\n stringFormat: string\r\n valueConverter: IDateTimeValueConverter\r\n convert(utcDate: string | Date | Moment, manipulations?: Manipulations): { date: Moment, zoneAbbr: string }\r\n Format(utcDate: string, manipulations?: Manipulations): OutputDateTimeType\r\n Today(manipulations?: Manipulations): OutputDateTimeType\r\n Now(manipulations?: Manipulations): OutputDateTimeType\r\n Compare(firstDate: string, lastDate: string, compare?: CompareEnum): boolean\r\n}\r\n\r\nexport enum TimeZoneEnum {\r\n UTC = 0,\r\n PST = 1,\r\n MST = 2,\r\n CST = 3,\r\n EST = 4\r\n}\r\n\r\nexport enum CompareEnum {\r\n Equal = 1,\r\n GreaterThan = 2,\r\n GreaterOrEqualThan = 3,\r\n LessThan = 4,\r\n LessOrEqualThan = 5\r\n}\r\n\r\nexport abstract class DateTimeManager {\r\n public static readonly MOMENT_TIMEZONE: ReadonlyMap =\r\n new Map([\r\n [TimeZoneEnum.UTC, \"UTC\"],\r\n [TimeZoneEnum.PST, \"America/Los_Angeles\"],\r\n [TimeZoneEnum.MST, \"America/Denver\"],\r\n [TimeZoneEnum.CST, \"America/Chicago\"],\r\n [TimeZoneEnum.EST, \"America/New_York\"]\r\n ])\r\n\r\n public static isDate(value: MomentInput): boolean {\r\n return moment(value).isValid()\r\n }\r\n\r\n public stringFormat: string\r\n public locTimeZone: LocTimeZoneDto\r\n public serverTimeZone: LocTimeZoneDto\r\n\r\n protected abstract stringFormatMoment: string\r\n protected abstract valueConverter: IDateTimeValueConverter\r\n\r\n constructor(params: ConstructorParams) {\r\n this.locTimeZone = params.locTimeZone\r\n this.serverTimeZone = params.serverTimeZone\r\n this.stringFormat = params.stringFormat ?? '' // default value, real value must be set in child class\r\n }\r\n\r\n public Format(utcDate: string, manipulations?: Manipulations): OutputDateTimeType {\r\n const { date, zoneAbbr } = this.convert(utcDate, manipulations)\r\n\r\n const manipulate = (manipulations: Manipulations): OutputDateTimeType => {\r\n const t = this.applyManipulations(date, manipulations)\r\n\r\n return this.Format(t.toISOString())\r\n }\r\n\r\n return {\r\n formated: this.format(date),\r\n formatedWithZoneAbbr: this.format(date) + (zoneAbbr ? ` ${zoneAbbr}` : ''),\r\n zoneAbbr: zoneAbbr,\r\n iso: date.toISOString(),\r\n manipulate,\r\n fromNow: date.fromNow(),\r\n diffFromNow: date.diff(moment(), 'seconds'),\r\n moment: moment\r\n }\r\n }\r\n\r\n public Today(manipulations?: Manipulations): OutputDateTimeType {\r\n let t = moment().startOf('day')\r\n\r\n t = this.applyManipulations(t, manipulations)\r\n\r\n return this.Format(t.toISOString())\r\n }\r\n\r\n public Compare(firstDate: string, lastDate: string, compare: CompareEnum = CompareEnum.Equal): boolean {\r\n let t1 = moment.utc(firstDate)\r\n let t2 = moment.utc(lastDate)\r\n const diff = t1.diff(t2)\r\n\r\n switch (compare) {\r\n case CompareEnum.Equal:\r\n return diff === 0\r\n case CompareEnum.GreaterThan:\r\n return diff > 0\r\n case CompareEnum.GreaterOrEqualThan:\r\n return diff >= 0\r\n case CompareEnum.LessThan:\r\n return diff < 0\r\n case CompareEnum.LessOrEqualThan:\r\n return diff <= 0\r\n }\r\n }\r\n\r\n public Now(manipulations?: Manipulations): OutputDateTimeType {\r\n let t = moment()\r\n\r\n t = this.applyManipulations(t, manipulations)\r\n\r\n return this.Format(t.toISOString())\r\n }\r\n\r\n protected applyManipulations(date: Moment, manipulations?: Manipulations): Moment {\r\n if (manipulations) {\r\n for (let unit in manipulations) {\r\n if (unit === 'startOf') continue\r\n let key = unit as keyof Manipulations\r\n date = date.add(manipulations[key], key as moment.unitOfTime.DurationConstructor)\r\n }\r\n\r\n date = date.startOf(manipulations.startOf || null)\r\n }\r\n return date\r\n }\r\n\r\n protected getZoneId(): string {\r\n const zoneId = DateTimeManager.MOMENT_TIMEZONE.get(this.locTimeZone.Key)\r\n if (zoneId) {\r\n return zoneId\r\n } else {\r\n Console.error(`Cannot find timezone for id ${this.locTimeZone.TimeZoneId}`)\r\n return moment.tz.guess()\r\n }\r\n }\r\n\r\n public convert(utcDate: string | Date | Moment, manipulations?: Manipulations) {\r\n let date: Moment\r\n if (typeof utcDate === 'string') {\r\n date = moment.utc(utcDate)\r\n } else if (utcDate instanceof Date) {\r\n date = moment.utc(utcDate)\r\n } else {\r\n date = utcDate.clone().utc()\r\n }\r\n\r\n date = this.applyManipulations(date, manipulations)\r\n\r\n date.tz(this.getZoneId())\r\n\r\n return {\r\n date,\r\n zoneAbbr: utcDate !== '' ? date.zoneAbbr() : moment().zoneAbbr()\r\n }\r\n }\r\n\r\n private format(date: Moment): string {\r\n return date.format(this.stringFormatMoment)\r\n }\r\n\r\n}","export const RENAME_DOCUMENT_ERROR_MESSAGE = 'An error occured while renaming the document'\r\nexport const FILE_TYPE_NOT_SUPPORTED_ERROR_MESSAGE = 'Uploaded file type/extension is not supported'\r\nexport const LARGE_FILE_ERROR_MESSAGE = 'File larger than 20Mb is not supported.'\r\nexport const UPLOAD_FILE_ERROR_MESSAGE = 'An error occured while uploading the file'\r\nexport const MOVE_DOCUMENT_ERROR_MESSAGE = 'An error occured while moving the document'\r\n\r\nexport const UNKNOWN_SUBMIT_INVOICE_ERROR_MESSAGE = 'Unknown error occurred while submitting invoices. Please try again later.'\r\nexport const PAYLOAD_IS_UNDEFINED_ERROR_MESSAGE = 'Payload is undefined when it should not be'\r\nexport const REPORT_OPTIONS_ERROR_MESSAGE = 'useReports must be used within a ReportOptionsContextProvider'\r\nexport const ERROR_PROVIDER_ERROR_MESSAGE = 'useErrorContext must be used within an ErrorProvider'\r\nexport const TAB_CONTAINER_ERROR_MESSAGE = 'useTabsContainer must be used within a TabsContainerContext'\r\nexport const COLLECTION_BOARD_PROVIDER_ERROR_MESSAGE = 'useTabCollectionBoard must be used within a TabCollectionProvider'\r\nexport const VERIFICATION_BOARD_PROVIDER_ERROR_MESSAGE = 'useTabVerificationBoard must be used within a TabVerificationProvider'\r\nexport const BOARD_APPLY_ACTION_ERROR_MESSAGE = 'Error while applying action'\r\nexport const BOARD_ACTIVITY_ERROR_MESSAGE = 'Activity is null'\r\nexport const BOARD_CONTROLLER_ERROR_MESSAGE = 'Process data or controller is not defined'\r\nexport const AGING_SUMMARY_PROVIDER_ERROR_MESSAGE = 'useAgingSummary must be used within a TabAgingSummaryProvider'\r\nexport const CARRIER_LIST_PROVIDER_ERROR_MESSAGE = 'useCarrierList must be used within a TabCarrierListProvider'\r\nexport const DEBTOR_LIST_PROVIDER_ERROR_MESSAGE = 'useDebtorList must be used within a TabDebtorListProvider'\r\nexport const DASHBOARD_PROVIDER_ERROR_MESSAGE = 'useDashboard must be used within a TabDashboardProvider'\r\nexport const BATCH_SUMMARY_PROVIDER_ERROR_MESSAGE = 'useBatchSummaryReport must be used within a TabBatchSummaryReportProvider'\r\nexport const CARRIER_ANALYSIS_PROVIDER_ERROR_MESSAGE = 'useCarrierAnalysisReport must be used within a TabCarrierAnalysisReportProvider'\r\nexport const CARRIER_CREDIT_PROVIDER_ERROR_MESSAGE = 'useCarrierCreditReport must be used within a TabCarrierCreditReportProvider'\r\nexport const DEBTOR_CREDIT_PROVIDER_ERROR_MESSAGE = 'useDebtorCreditReport must be used within a TabDebtorCreditReportProvider'\r\nexport const ESCROW_BALANCE_PROVIDER_ERROR_MESSAGE = 'useCarrierEscrowBalanceReport must be used within a TabCarrierEscrowBalanceReportProvider'\r\nexport const MONTHLY_MINIMUM_FEE_PROVIDER_ERROR_MESSAGE = 'useMonthlyMinimumFeeReport must be used within a TabMonthlyMinimumFeeReportProvider'\r\nexport const PROGRESSIVE_RATE_PROVIDER_ERROR_MESSAGE = 'useProgressiveRateReport must be used within a TabProgressiveRateReportProvider'\r\nexport const PAYMENT_BREAKDOWN_PROVIDER_ERROR_MESSAGE = 'useCarrierPaymentBreakdownReport must be used within a TabCarrierPaymentBreakdownReportProvider'\r\nexport const CHARGEBACK_REPORT_PROVIDER_ERROR_MESSAGE = 'useChargebackReport must be used within a TabChargebackReportProvider'\r\nexport const DEBTOR_ANALYSIS_PROVIDER_ERROR_MESSAGE = 'useDebtorAnalysisReport must be used within a TabDebtorAnalysisReportProvider'\r\nexport const FEE_REPORT_PROVIDER_ERROR_MESSAGE = 'useFeeReport must be used within a TabFeeReportProvider'\r\nexport const INVOICE_FEE_REPORT_PROVIDER_ERROR_MESSAGE = 'useInvoiceFeeReport must be used within a TabInvoiceFeeReportProvider'\r\nexport const FUNDING_REPORT_PROVIDER_ERROR_MESSAGE = 'useFundingReport must be used within a TabFundingReportProvider'\r\nexport const INVOICE_SEARCH_PROVIDER_ERROR_MESSAGE = 'useInvoiceSearch must be used within a TabInvoiceSearchProvider'\r\nexport const PAYMENT_REPORT_PROVIDER_ERROR_MESSAGE = 'usePaymentReport must be used within a TabPaymentReportProvider'\r\nexport const DEBTOR_COLLECTION_ERROR_MESSAGE = 'useDebtorCollection must be used within a DebtorCollectionProvider'\r\nexport const COMMANDS_PROVIDER_ERROR_MESSAGE = \"useCommands must be used within a CommandsProvider\"\r\nexport const LOOKUP_ITEMS_PROVIDER_ERROR_MESSAGE = 'useLookupItemsStorage must be used within a LookupItemsContextProvider'\r\nexport const SUBMIT_BATCH_PROVIDER_ERROR_MESSAGE = 'useSubmitBatch must be used within a SubmitBatchContextProvider'\r\nexport const DATE_VALUE_ERROR_MESSAGE = 'Value must be a date'\r\nexport const VALIDATION_PROVIDER_ERROR_MESSAGE = 'useValidation must be used within a ValidationContextProvider'\r\nexport const CHECKBOX_VALUE_ERROR_MESSAGE = 'XLCheckbox value must be boolean'\r\nexport const ALERT_PROVIDER_ERROR_MESSAGE = 'useAlerts must be used within an AlertProvider'\r\nexport const APP_INFO_MODAL_ERROR_MESSAGE = 'useAppInfoModal must be used within a AppInfoModalProvider'\r\nexport const BUSY_PROVIDER_ERROR_MESSAGE = 'useBusyContext must be used within a BusyContextProvider'\r\nexport const WIDGET_BUSY_PROVIDER_ERROR_MESSAGE = 'useWidgetBusyContext must be used within a WidgetBusyContextProvider'\r\nexport const GLOBAL_COMMANDS_PROVIDER_ERROR_MESSAGE = 'useGlobalCommands must be used within a CommandsGlobalProvider'\r\nexport const DIRTY_CHECK_PROVIDER_ERROR_MESSAGE = 'useDirtyCheckContext must be used within a DirtyCheckProvider'\r\nexport const COMMON_PROVIDER_ERROR_MESSAGE = 'useTabCommonContext must be used within a TabCommonContextProvider'\r\nexport const COMMON_ALL_TABS_ERROR_MESSAGE = 'useTabCommonContextProviderForAllTypes must be used within a TabCommonContextProviderForAllTypes'\r\nexport const TAB_ERROR_MESSAGE = 'useTabContext must be used within a TabsProvider'\r\nexport const TOOLBAR_PROVIDER_ERROR_MESSAGE = 'useToolbarContainers must be used within a ToolbarContainersProvider'\r\nexport const ENTITY_FETCH_PROVIDER_ERROR_MESSAGE = 'useEntityFetcherController must be used within a EntityFetcherControllerContext'\r\nexport const ENTITY_FETCH_LIST_PROVIDER_ERROR_MESSAGE = 'useEntityFetcherListController must be used within a EntityFetcherListControllerContext'\r\nexport const ENTITY_FETCH_OPTION_ERROR_MESSAGE = 'useEntityFetcherOptionsController must be used within a EntityFetcherOptionsControllerContext'\r\nexport const FORM_PROVIDER_ERROR_MESSAGE = \"useFormContext must be used within a FormProvider\"\r\nexport const FORM_CONTEXT_ERROR_MESSAGE = 'Form context or current process is null'\r\nexport const CARRIER_PROFIT_PROVIDER_ERROR_MESSAGE = 'useCarrierProfitReport must be used within a TabCarrierProfitReportProvider'\r\n\r\n\r\n\r\n","import { DATE_VALUE_ERROR_MESSAGE } from \"../../../consts/Errors\"\r\nimport { DateTimeManager, IDateTimeValueConverter } from \"../DateTimeManager\"\r\n\r\n/**\r\n * Converts a date to 12:00am UTC of the same day (removes the time part).\r\n * @param date A date for conversion.\r\n */\r\nfunction toDatePart(date: Date): Date {\r\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\r\n}\r\n\r\nexport class DateValueConverter implements IDateTimeValueConverter {\r\n // Converting minutes to milliseconds involves multiplying by 60 * 1000 = 60000.\r\n private static readonly TIMEZONE_OFFSET_MULTIPLICATION_FACTOR: number = 60000\r\n\r\n public removeFromControl(value: Date): Date {\r\n if (!DateTimeManager.isDate(value))\r\n throw new Error(DATE_VALUE_ERROR_MESSAGE)\r\n \r\n return (\r\n toDatePart(value)\r\n )\r\n }\r\n\r\n public applyToControl(value: Date): Date {\r\n if (!DateTimeManager.isDate(value))\r\n throw new Error(DATE_VALUE_ERROR_MESSAGE)\r\n \r\n return (new Date(\r\n value.getTime() + value.getTimezoneOffset() * DateValueConverter.TIMEZONE_OFFSET_MULTIPLICATION_FACTOR\r\n ))\r\n }\r\n}\r\n","import moment, { Moment } from \"moment-timezone\"\r\nimport { ConstructorParams, DateTimeManager, IDateTimeManager, IDateTimeValueConverter, Manipulations, OutputDateTimeType } from \"../DateTimeManager\"\r\nimport { DateValueConverter } from \"./DateValueConverter\"\r\nimport { LocTimeZoneDto } from \"../../DateTimeStorage\"\r\nimport { Console } from \"../../../Console\"\r\n\r\nexport class DateManager extends DateTimeManager implements IDateTimeManager {\r\n\r\n constructor(params: ConstructorParams) {\r\n super(params)\r\n this.stringFormat = params.stringFormat ?? 'MM/dd/yyyy'\r\n this.stringFormatMoment = this.stringFormat\r\n\r\n if(this.stringFormatMoment.includes('dd/yyyy'))\r\n this.stringFormatMoment = this.stringFormatMoment.replace('dd/yyyy', 'DD/YYYY')\r\n\r\n if(this.stringFormatMoment.includes('dd/yy'))\r\n this.stringFormatMoment = this.stringFormatMoment.replace('dd/yy', 'DD/YY')\r\n }\r\n\r\n protected stringFormatMoment: string = 'MM/DD/YYYY'\r\n //public stringFormat: string = 'MM/dd/yyyy'\r\n\r\n protected override getZoneId(): string {\r\n const zoneId = DateTimeManager.MOMENT_TIMEZONE.get(this.serverTimeZone.Key)\r\n if (zoneId) {\r\n return zoneId\r\n } else {\r\n Console.error(`Cannot find timezone for id ${this.serverTimeZone.TimeZoneId}`)\r\n return moment.tz.guess()\r\n }\r\n }\r\n\r\n public override convert(utcDate: string | Date | Moment, manipulations?: Manipulations) {\r\n let date: Moment\r\n if (typeof utcDate === 'string') {\r\n date = moment.utc(utcDate)\r\n } else if (utcDate instanceof Date) {\r\n date = moment.utc(utcDate)\r\n } else {\r\n date = utcDate.clone().utc()\r\n }\r\n\r\n date = this.applyManipulations(date, manipulations)\r\n\r\n return {\r\n date,\r\n zoneAbbr: utcDate !== '' ? date.zoneAbbr() : moment().zoneAbbr()\r\n }\r\n }\r\n\r\n public override Today(manipulations?: Manipulations): OutputDateTimeType {\r\n let t = moment.utc()\r\n t.tz(this.getZoneId()) // <-- this is business day, on this date we create date with zeros\r\n\r\n t = this.applyManipulations(t, manipulations)\r\n\r\n return this.Format(t.format('YYYY-MM-DD') + 'T00:00:00Z')\r\n // set time buisness day it's main, even if user has 5th day and server has 6th\r\n }\r\n\r\n public override Now(manipulations?: Manipulations): OutputDateTimeType {\r\n let t = moment().utc()\r\n\r\n t = this.applyManipulations(t, manipulations)\r\n\r\n return this.Format(t.toISOString())\r\n }\r\n\r\n public override valueConverter: IDateTimeValueConverter = new DateValueConverter()\r\n}","import moment from \"moment\"\r\nimport { DateTimeManager, IDateTimeValueConverter } from \"../DateTimeManager\"\r\nimport { DATE_VALUE_ERROR_MESSAGE } from \"../../../consts/Errors\"\r\n\r\nexport class DateTimeValueConverter implements IDateTimeValueConverter {\r\n // Converting minutes to milliseconds involves multiplying by 60 * 1000 = 60000.\r\n private static readonly TIMEZONE_OFFSET_MULTIPLICATION_FACTOR: number = 60000\r\n\r\n public removeFromControl(value: Date): Date {\r\n if (!DateTimeManager.isDate(value))\r\n throw new Error(DATE_VALUE_ERROR_MESSAGE)\r\n\r\n const date: Date = new Date(value.getTime() - DateTimeValueConverter.getTimezoneOffset(value))\r\n\r\n date.setMilliseconds(0)\r\n\r\n return date\r\n }\r\n\r\n public applyToControl(value: Date): Date {\r\n if (!DateTimeManager.isDate(value))\r\n throw new Error(DATE_VALUE_ERROR_MESSAGE)\r\n\r\n return (\r\n new Date(value.getTime() + DateTimeValueConverter.getTimezoneOffset(value))\r\n )\r\n }\r\n\r\n private static getTimezoneOffset(date: Date): number {\r\n const userTimezoneOffset: number =\r\n moment().utcOffset() * DateTimeValueConverter.TIMEZONE_OFFSET_MULTIPLICATION_FACTOR\r\n\r\n return date.getTimezoneOffset() *\r\n DateTimeValueConverter.TIMEZONE_OFFSET_MULTIPLICATION_FACTOR + userTimezoneOffset\r\n }\r\n}","import { DateTimeValueConverter } from \"./DateTimeValueConverter\"\r\nimport { ConstructorParams, DateTimeManager, IDateTimeManager, IDateTimeValueConverter } from \"../DateTimeManager\"\r\n\r\nexport class DateTimeUtcManager extends DateTimeManager implements IDateTimeManager {\r\n\r\n constructor(params: ConstructorParams) {\r\n super(params)\r\n this.stringFormat = params.stringFormat ?? 'MM/dd/yyyy HHmm'\r\n this.stringFormatMoment = this.stringFormat\r\n\r\n if(this.stringFormatMoment.includes('dd/yyyy'))\r\n this.stringFormatMoment = this.stringFormatMoment.replace('dd/yyyy', 'DD/YYYY')\r\n\r\n if(this.stringFormatMoment.includes('dd/yy'))\r\n this.stringFormatMoment = this.stringFormatMoment.replace('dd/yy', 'DD/YY')\r\n }\r\n\r\n protected stringFormatMoment: string = 'MM/DD/YYYY HHmm'\r\n //public stringFormat: string = 'MM/dd/yyyy HHmm'\r\n\r\n public override valueConverter: IDateTimeValueConverter = new DateTimeValueConverter()\r\n}","import { DateManager } from \"./datetime/date/DateManager\"\r\nimport { DateTimeUtcManager } from \"./datetime/datetime/DateTimeUtcManager\"\r\nimport { DateTimeManager, IDateTimeManager } from \"./datetime/DateTimeManager\"\r\nimport moment from \"moment-timezone\"\r\n\r\ntype DateType = 'date' | 'datetime'\r\n\r\nexport interface LocTimeZoneDto {\r\n Key: number\r\n TimeZoneId: string\r\n DisplayName: string\r\n StandardName: string\r\n DaylightName: string\r\n StandardCode: string\r\n DaylightCode: string\r\n TimeOffset: number\r\n IsDaylightObserved: boolean\r\n DaylightRuleName: string\r\n}\r\n\r\nexport class DateTimeStorage {\r\n private static instances: Map = new Map()\r\n\r\n public static getInstance(\r\n type: DateType,\r\n locTimeZone?: LocTimeZoneDto,\r\n serverTimeZone?: LocTimeZoneDto,\r\n )\r\n : IDateTimeManager\r\n {\r\n if (this.instances.size === 0 && !locTimeZone && !serverTimeZone)\r\n throw new Error('LocTimeZoneDto and ServerTimeZone is required')\r\n\r\n if (this.instances.size === 0 && locTimeZone && serverTimeZone) {\r\n moment.tz.setDefault(DateTimeManager.MOMENT_TIMEZONE.get(locTimeZone.Key))\r\n this.instances.set('date', new DateManager({ locTimeZone, serverTimeZone }))\r\n this.instances.set('datetime', new DateTimeUtcManager({ locTimeZone, serverTimeZone }))\r\n }\r\n\r\n const instance = this.instances.get(type)\r\n if (instance) {\r\n return instance\r\n } else {\r\n throw new Error(`Cannot find instance for type ${type}`)\r\n }\r\n }\r\n\r\n public static getTZInstance(\r\n type: DateType,\r\n locTimeZone: LocTimeZoneDto,\r\n serverTimeZone: LocTimeZoneDto,\r\n )\r\n : IDateTimeManager\r\n {\r\n moment.tz.setDefault(DateTimeManager.MOMENT_TIMEZONE.get(locTimeZone.Key))\r\n return new DateTimeUtcManager({ locTimeZone, serverTimeZone, stringFormat: 'MM/dd/yyyy HH:mm' })\r\n }\r\n\r\n public static updateInstance({\r\n locTimeZone,\r\n serverTimeZone,\r\n dateFormat,\r\n datetimeFormat,\r\n }: {\r\n locTimeZone?: LocTimeZoneDto,\r\n serverTimeZone?: LocTimeZoneDto,\r\n dateFormat?: string,\r\n datetimeFormat?: string,\r\n }) {\r\n const prevDateInstance = this.instances.get('date')\r\n const prevDateTimeInstance = this.instances.get('datetime')\r\n\r\n dateFormat = csharpFormatToJS(dateFormat)\r\n datetimeFormat = csharpFormatToJS(datetimeFormat)\r\n\r\n if (!prevDateInstance || !prevDateTimeInstance) {\r\n if (!locTimeZone || !serverTimeZone)\r\n throw new Error('LocTimeZoneDto and serverTimeZone is required')\r\n\r\n moment.tz.setDefault(DateTimeManager.MOMENT_TIMEZONE.get(locTimeZone.Key))\r\n this.instances.set('date', new DateManager({\r\n locTimeZone: locTimeZone,\r\n serverTimeZone: serverTimeZone,\r\n stringFormat: dateFormat\r\n }))\r\n this.instances.set('datetime', new DateTimeUtcManager({\r\n locTimeZone: locTimeZone,\r\n serverTimeZone: serverTimeZone,\r\n stringFormat: datetimeFormat\r\n }))\r\n return\r\n }\r\n\r\n const updatedLocTimeZone = locTimeZone ?? prevDateInstance.locTimeZone\r\n const updatedServerTimeZone = locTimeZone ?? prevDateInstance.serverTimeZone\r\n\r\n const d = DateTimeManager.MOMENT_TIMEZONE.get(updatedLocTimeZone.Key)\r\n moment.tz.setDefault(d)\r\n this.instances.set('date', new DateManager({\r\n locTimeZone: updatedLocTimeZone,\r\n serverTimeZone: updatedServerTimeZone,\r\n stringFormat: dateFormat ?? prevDateInstance.stringFormat,\r\n }))\r\n this.instances.set('datetime', new DateTimeUtcManager({\r\n locTimeZone: updatedLocTimeZone,\r\n serverTimeZone: updatedServerTimeZone,\r\n stringFormat: datetimeFormat ?? prevDateTimeInstance.stringFormat,\r\n }))\r\n }\r\n}\r\n\r\nconst csharpFormatToJS = (format?: string) => {\r\n if (!format) return undefined\r\n // Mapping C# format specifiers to js format specifiers\r\n const mappings: { [key: string]: string } = {\r\n 'tt': 'a'\r\n };\r\n\r\n let momentFormat = format;\r\n\r\n for (let key in mappings) {\r\n const regex = new RegExp(key, 'g');\r\n momentFormat = momentFormat.replace(regex, mappings[key]);\r\n }\r\n\r\n return momentFormat;\r\n}\r\n","import { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'\r\nimport { ErrorHandler } from '../controllers/ErrorHandler'\r\nimport { AuthController } from '../controllers/AuthController'\r\nimport { environment } from '@xlerate/xlerate-config'\r\nimport { LoginDto } from '@xlerate/xlerate-data'\r\nimport { CompareEnum, DateTimeStorage, LocTimeZoneDto, TimeZoneEnum, deleteCookie, getCookie, setCookie } from '@xlerate/xlerate-common'\r\n\r\ntype User = {\r\n accessToken: string,\r\n isAuthenticated: boolean,\r\n userName: string,\r\n isLoginToBoExists: boolean,\r\n isLoginToPortalExists: boolean\r\n}\r\n\r\ntype AuthContextValue = {\r\n user: User | null,\r\n step1Approved: boolean,\r\n isRegister: boolean,\r\n isLogin: boolean,\r\n isLoading: boolean,\r\n setIsLoading: (value: boolean) => void,\r\n isInviteExpired: boolean,\r\n isRegisterSuccess: boolean,\r\n isClientDateTimeInvalid: number | null,\r\n inviteEmail: string,\r\n qrCode: string | null,\r\n signin: (username: string, password: string) => void,\r\n verify2FA: (code: string) => void,\r\n setup2FA: (code: string) => void,\r\n setupPassword: (password: string) => void,\r\n signout: () => void,\r\n setUserName: (username: string) => void,\r\n errorHandler: ErrorHandler\r\n}\r\n\r\nexport const AuthContext = createContext(undefined!)\r\n\r\nexport const AuthContextProvider = ({ children }: React.PropsWithChildren) => {\r\n const CHECK_PERIOD_IN_MINUTES = 1\r\n const saveAuthUserToCache = environment.SAVE_AUTH_USER_TO_CACHE === true\r\n const storageUser = saveAuthUserToCache ? getCookie(\"currentUser\") || \"\" : \"\"\r\n const [user, setUser] = useState(storageUser !== \"\" ? JSON.parse(storageUser) : null)\r\n const [step1Token, setStep1Token] = useState(null)\r\n const [step1Approved, setStep1Approved] = useState(false)\r\n const errorHandler = useMemo(() => new ErrorHandler(), [])\r\n const authController = useMemo(() => new AuthController(errorHandler), [errorHandler])\r\n const [isRegister, setIsRegister] = useState(false)\r\n const [isLogin, setIsLogin] = useState(false)\r\n const [isLoading, setIsLoading] = useState(false)\r\n const [isInviteExpired, setIsInviteExpired] = useState(false)\r\n const [isRegisterSuccess, setIsRegisterSuccess] = useState(false)\r\n const [isClientDateTimeInvalid, setIsClientDateTimeInvalid] = useState(null)\r\n const [inviteEmail, setInviteEmail] = useState(\"\")\r\n const [inviteCode, setInviteCode] = useState(\"\")\r\n const [qrCode, setQrCode] = useState(null)\r\n\r\n useEffect(() => {\r\n const fn = async () => {\r\n if (window.location.href.indexOf(\"registration\") !== -1) {\r\n const searchParams = new URLSearchParams(window.location.search)\r\n if (searchParams.has(\"iid\") && searchParams.has(\"uid\") && searchParams.has(\"type\")\r\n && searchParams.get(\"iid\") !== undefined && searchParams.get(\"uid\") !== undefined && searchParams.get(\"type\") !== undefined) {\r\n const emailHash = searchParams.get(\"uid\")?.toString() ?? \"\"\r\n const inviteCode = searchParams.get(\"iid\")?.toString() ?? \"\"\r\n const type = searchParams.get(\"type\")?.toString() ?? \"\"\r\n\r\n if (type === \"registration\") {\r\n try {\r\n setIsLoading(true)\r\n const data = await authController.checkInvite({ UID: emailHash, IID: inviteCode }).finally(() => setIsLoading(false))\r\n if (data.UserEmail === undefined) {\r\n throw new Error()\r\n }\r\n setInviteEmail(data.UserEmail)\r\n setInviteCode(inviteCode)\r\n setIsRegister(true)\r\n } catch (e) {\r\n setIsInviteExpired(true)\r\n }\r\n } else {\r\n setIsInviteExpired(true)\r\n }\r\n } else {\r\n setIsInviteExpired(true)\r\n }\r\n } else {\r\n setIsLogin(true)\r\n }\r\n }\r\n fn()\r\n }, [authController])\r\n\r\n const signin = async (email: string, password: string) => {\r\n setIsLoading(true)\r\n const data = await authController.login(email, password).finally(() => setIsLoading(false))\r\n setStep1Token(data.Token)\r\n setStep1Approved(true)\r\n }\r\n\r\n const setupPassword = async (password: string) => {\r\n setIsLoading(true)\r\n const data = await authController.setupPassword({ IID: inviteCode, UID: inviteEmail, Password: password }).finally(() => setIsLoading(false))\r\n setStep1Token(data.Token)\r\n setStep1Approved(true)\r\n\r\n setIsLoading(true)\r\n const data2 = await authController.generateQRCode(data.Token ?? \"\").finally(() => setIsLoading(false))\r\n setQrCode(data2.QRCode ?? null)\r\n }\r\n\r\n const verify2FA = async (code: string) => {\r\n if (!step1Token) return\r\n setIsLoading(true)\r\n const data = await authController.verify2FA({ Token: step1Token, Code: code }).finally(() => setIsLoading(false))\r\n\r\n if (data.ServerDateTime === undefined) {\r\n throw new Error('Server date time is undefined')\r\n }\r\n\r\n const dateTimeInstance = DateTimeStorage.getInstance('datetime',\r\n { Key: TimeZoneEnum.UTC } as LocTimeZoneDto,\r\n { Key: TimeZoneEnum.UTC } as LocTimeZoneDto\r\n )\r\n const dateInstance = DateTimeStorage.getInstance('date')\r\n const diffSeconds = dateInstance.Format(data.ServerDateTime).diffFromNow\r\n\r\n const startDate = dateTimeInstance.Now({ minutes: -1 * CHECK_PERIOD_IN_MINUTES }).iso\r\n const endDate = dateTimeInstance.Now({ minutes: CHECK_PERIOD_IN_MINUTES }).iso\r\n if (dateTimeInstance.Compare(data.ServerDateTime, startDate, CompareEnum.LessThan) ||\r\n dateTimeInstance.Compare(endDate, data.ServerDateTime, CompareEnum.LessOrEqualThan)) {\r\n setIsClientDateTimeInvalid(diffSeconds)\r\n } else {\r\n const currentUser = {\r\n accessToken: data.Token, isAuthenticated: true,\r\n userName: data.UserName, isLoginToBoExists: data.IsLoginToBoExists || false,\r\n isLoginToPortalExists: data.IsLoginToPortalExists || false\r\n }\r\n setUser(currentUser)\r\n if (saveAuthUserToCache) {\r\n setCookie(\"currentUser\", JSON.stringify(currentUser), 4, environment.DOMAIN)\r\n }\r\n }\r\n }\r\n\r\n const setup2FA = async (code: string) => {\r\n if (!step1Token) return\r\n setIsLoading(true)\r\n await authController.setup2FA({ Token: step1Token, Code: code, InviteCode: inviteCode }).finally(() => setIsLoading(false))\r\n setIsRegister(false)\r\n setIsRegisterSuccess(true)\r\n }\r\n\r\n const signout = async () => {\r\n await authController.logout()\r\n clearUser()\r\n }\r\n\r\n const setUserName = (username: string) => {\r\n setUser((prevState) => {\r\n if (!prevState) return null\r\n return ({ ...prevState, userName: username })\r\n })\r\n }\r\n\r\n const clearUser = () => {\r\n setStep1Approved(false)\r\n setStep1Token(null)\r\n setUser(null)\r\n setIsLogin(true)\r\n setIsLoading(false)\r\n setIsRegister(false)\r\n setIsInviteExpired(false)\r\n if (saveAuthUserToCache)\r\n deleteCookie(\"currentUser\", environment.DOMAIN)\r\n }\r\n\r\n errorHandler.registerLogout(clearUser)\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport const useAuth = () => {\r\n const context = useContext(AuthContext)\r\n if (!context) {\r\n throw new Error(\"AuthContext is being accessed while it is still loading\")\r\n }\r\n return context\r\n}","import { useAuth } from '@xlerate/xlerate-core'\r\n\r\nconst AuthenticatedTemplate = ({ children }: React.PropsWithChildren) => {\r\n const auth = useAuth()\r\n\r\n if (!auth.user || !auth.user.isAuthenticated) return null\r\n\r\n return children\r\n}\r\n\r\nexport default AuthenticatedTemplate","import { useAuth } from '@xlerate/xlerate-core'\r\n\r\nconst UnauthenticatedTemplate = ({ children }: React.PropsWithChildren) => {\r\n const auth = useAuth()\r\n\r\n if (auth.user && auth.user.isAuthenticated) return null\r\n\r\n return children\r\n}\r\n\r\nexport default UnauthenticatedTemplate","import { environment } from '@xlerate/xlerate-config'\r\nimport { useAuth } from '@xlerate/xlerate-core'\r\nimport { useMemo } from 'react'\r\n\r\nconst ClientTimeInvalid = () => {\r\n const { isClientDateTimeInvalid } = useAuth()\r\n\r\n const periodLabel = useMemo(() => isClientDateTimeInvalid === null || isClientDateTimeInvalid > 0 ? 'behind' : 'above', [isClientDateTimeInvalid])\r\n\r\n const timeLabel = useMemo(() => {\r\n if (isClientDateTimeInvalid === null) return \"\"\r\n let result = \"\"\r\n let remainder = Math.abs(isClientDateTimeInvalid)\r\n const days = Math.trunc(remainder / (60 * 60 * 24))\r\n if (days > 0) {\r\n result += `${days} days `\r\n remainder -= days * 60 * 60 * 24\r\n }\r\n\r\n const hours = Math.trunc(remainder / (60 * 60))\r\n if (hours > 0) {\r\n result += `${Math.abs(hours)} hours `\r\n remainder -= hours * 60 * 60\r\n }\r\n\r\n const minutes = Math.trunc(remainder / (60))\r\n if (minutes > 0) {\r\n result += `${Math.abs(minutes)} minutes `\r\n remainder -= minutes * 60\r\n }\r\n\r\n result += `${Math.abs(remainder)} seconds `\r\n\r\n return result.trim()\r\n\r\n }, [isClientDateTimeInvalid])\r\n\r\n const goToClick = () => {\r\n window.location.href = environment.AUTH_APP_URL\r\n }\r\n\r\n return (
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n The time on your computer is {periodLabel} the system time by {timeLabel}.\r\n
\r\n
\r\n Please adjust your date or time and log back in.\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
)\r\n}\r\n\r\nexport default ClientTimeInvalid","import React from \"react\"\r\nimport { ReactChangeEventInput } from \"../utils\"\r\nimport { FormBaseDomainDto, FormValidationError } from \"../validation\"\r\n\r\nexport type FormState = {\r\n\teditedEntity: T | null\r\n\tsetEditedEntity: (update: T | Record | ((state: T | null) => T | null) | ((state: T | null) => Record) | null) => void;\r\n\tgetValueByName: (path: string) => any,\r\n\tonChange: (updated: ReactChangeEventInput) => void,\r\n\tvalidateForm: () => FormValidationError[],\r\n\tresetForm: (newInitialData?: T) => void,\r\n\tsetErrors: (errors: FormValidationError[]) => void,\r\n\terrors: FormValidationError[]\r\n\tmaxLengths: Record,\r\n\tinitialEntityRef: React.MutableRefObject,\r\n\tcustomRefresher: (fieldName: string, value: any) => void,\r\n\tisDirty: () => boolean,\r\n}\r\n\r\nexport const FormContext = React.createContext | null>(null)","import React, { createContext, useContext } from 'react'\r\n\r\ninterface TooltipContainerContextValue {\r\n elementRef: React.RefObject\r\n}\r\n\r\nconst TooltipContainerContext = createContext(undefined!)\r\n\r\ntype TooltipContainerProps = React.PropsWithChildren<{\r\n elementRef: React.RefObject\r\n}>\r\n\r\nconst TooltipContainerProvider = ({ children, elementRef }: TooltipContainerProps) => {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default TooltipContainerProvider\r\n\r\nexport const useTooltipContainer = () => {\r\n const context = useContext(TooltipContainerContext)\r\n if (!context) {\r\n return { elementRef: { current: null } }\r\n }\r\n return context\r\n}\r\n","import React, { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'\r\nimport { BaseControlProps } from '../../utils/common.props'\r\nimport { FormContext } from '../../forms/formType'\r\nimport { VALIDATION_PROVIDER_ERROR_MESSAGE } from '../../consts/Errors'\r\nimport { useFloating, flip, shift, hide, size, autoUpdate, FloatingPortal, useMergeRefs, offset } from '@floating-ui/react'\r\nimport { useTooltipContainer } from '../../providers'\r\n\r\nconst ValidationError = createContext<{\r\n hasError: boolean\r\n errorMessage?: string\r\n maxLength: number\r\n onFocusIn: (event: any) => void\r\n onFocusOut: (event: any) => void\r\n}>(undefined!)\r\n\r\nexport const useValidationError = () => {\r\n const context = useContext(ValidationError)\r\n if (!context) {\r\n throw new Error(VALIDATION_PROVIDER_ERROR_MESSAGE)\r\n }\r\n return context\r\n}\r\n\r\nexport const withValidationErrorsProvider =

(Component: React.ComponentType

) => {\r\n return (props: P) => {\r\n // const { maxLengths, errors } = useValidationContext()\r\n\r\n const { maxLengths, errors } = useContext(FormContext as any) as { maxLengths: any, errors: any[] } || { maxLengths: {}, errors: [] } //\r\n // const { maxLengths, errors } = useFormContext()\r\n\r\n const [show, setShow] = useState(false)\r\n\r\n const { hasError, errorMessage } = useMemo(() => {\r\n const currentName = props.name\r\n const error = errors.find(e => e.Owner === currentName)\r\n return { hasError: !!error, errorMessage: error?.Message || '' }\r\n }, [errors, props.name])\r\n\r\n const onFocusIn = useCallback(() => setShow(true), [])\r\n const onFocusOut = useCallback(() => setShow(false), [])\r\n\r\n const { refs, floatingStyles, middlewareData } = useFloating({\r\n open: show,\r\n onOpenChange: setShow,\r\n placement: 'bottom-start',\r\n middleware: [\r\n flip(),\r\n shift(),\r\n hide(),\r\n size({\r\n apply({ rects, elements }) {\r\n const maxWidth = Math.max(rects.reference.width, 50)\r\n Object.assign(elements.floating.style, {\r\n maxWidth: maxWidth === 50 ? '150px' : `${rects.reference.width}px`\r\n })\r\n }\r\n }),\r\n offset(({ placement }) => placement.startsWith('top') ? 1 : -2)\r\n ],\r\n whileElementsMounted: autoUpdate\r\n })\r\n useEffect(() => {\r\n if (middlewareData.hide?.referenceHidden) {\r\n setShow(false)\r\n }\r\n }, [middlewareData.hide?.referenceHidden])\r\n\r\n const ref = useMergeRefs([props.forwardedRef, refs.setReference])\r\n const { elementRef } = useTooltipContainer()\r\n\r\n return (\r\n \r\n

\r\n \r\n {hasError && show && !props.disabled &&\r\n \r\n
\r\n {errorMessage}\r\n
\r\n
\r\n }\r\n
\r\n \r\n )\r\n }\r\n}","export const StringConverter = (value: string | number | boolean | null | undefined) => {\r\n if (typeof value === 'boolean' || value === null || value === undefined)\r\n return ''\r\n return value.toString()\r\n}\r\n\r\nexport const PhoneOutputFormat = (phone: string, splitter: string = '-') => {\r\n let formatted = ''\r\n for (let i = 0; i < phone.length; i++) {\r\n if ((i === 2 || i === 5) && i !== phone.length - 1) {\r\n formatted += phone[i] + splitter\r\n } else {\r\n formatted += phone[i]\r\n }\r\n }\r\n return formatted\r\n}\r\n\r\nexport const isEqual = (value: any, other: any) => {\r\n const type = Object.prototype.toString.call(value)\r\n\r\n if (type !== Object.prototype.toString.call(other)) return false\r\n\r\n if (['[object Array]', '[object Object]'].indexOf(type) < 0) return false\r\n\r\n const valueLen = type === '[object Array]' ? value.length : Object.keys(value).length\r\n const otherLen = type === '[object Array]' ? other.length : Object.keys(other).length\r\n if (valueLen !== otherLen) return false\r\n\r\n const compare = (item1: any, item2: any) => {\r\n const itemType = Object.prototype.toString.call(item1)\r\n\r\n if (['[object Array]', '[object Object]'].indexOf(itemType) >= 0) {\r\n if (!isEqual(item1, item2)) return false\r\n } else {\r\n if (itemType !== Object.prototype.toString.call(item2)) return false\r\n\r\n if (itemType === '[object Function]') {\r\n if (item1.toString() !== item2.toString()) return false\r\n } else {\r\n if (item1 !== item2) return false\r\n }\r\n }\r\n }\r\n\r\n if (type === '[object Array]') {\r\n const map = new Map()\r\n for (const item of other) {\r\n if (Object.prototype.toString.call(item) === '[object Object]' && 'Key' in item) {\r\n map.set(item.Key, item)\r\n }\r\n }\r\n\r\n for (let i = 0; i < valueLen; i++) {\r\n const item = value[i]\r\n if (Object.prototype.toString.call(item) === '[object Object]' && 'Key' in item) {\r\n if (!map.has(item.Key) || compare(item, map.get(item.Key)) === false) return false\r\n } else {\r\n if (compare(value[i], other[i]) === false) return false\r\n }\r\n }\r\n } else {\r\n for (const key in value) {\r\n if (value.hasOwnProperty(key)) {\r\n if (compare(value[key], other[key]) === false) return false\r\n }\r\n }\r\n }\r\n\r\n return true\r\n}","type outputType = string | number | boolean | null | undefined | any[]\r\n\r\nexport function createReactChangeEventInput(name: string, value: outputType): Record\r\nexport function createReactChangeEventInput(obj: Record): Record\r\nexport function createReactChangeEventInput(obj: string | Record, value?: outputType): Record {\r\n\tif (typeof obj === 'string') {\r\n\t\treturn new CustomBaseElement(obj, value as outputType).output()\r\n\t} else {\r\n\t\treturn new CustomBaseElement(obj).output()\r\n\t}\r\n}\r\n\r\nexport type ReactChangeEventInput = Record\r\n\r\nexport class CustomBaseElement {\r\n\tname: string = ''\r\n\tobj: Record = {}\r\n\tvalue?: outputType\r\n\tconstructor(name: string, value: outputType)\r\n\tconstructor(obj: Record)\r\n\tconstructor(obj: string | Record, value?: outputType) {\r\n\t\tif (typeof obj === 'string') {\r\n\t\t\tthis.name = obj\r\n\t\t\tthis.value = value\r\n\t\t} else {\r\n\t\t\tthis.obj = obj\r\n\t\t}\r\n\t}\r\n\toutput() {\r\n\t\treturn this.value !== undefined ? { [this.name]: this.value } : this.obj\r\n\t}\r\n}","import React, { useEffect, useState } from \"react\"\r\nimport { BaseControlProps, StringConverter, createReactChangeEventInput, useValidationError, withValidationErrorsProvider } from \"@xlerate/xlerate-common\"\r\n\r\nexport type XLTextboxProps = BaseControlProps & {\r\n type?: 'text' | 'number' | 'password',\r\n changeMode?: 'immediately' | 'blur'\r\n customClass?: string | null\r\n readonly?: boolean\r\n maskMaxLength?: number\r\n useAutoComplete?: boolean\r\n ref?: React.Ref\r\n}\r\n\r\nconst XLTextbox = (props: XLTextboxProps) => {\r\n const { maxLength, hasError, onFocusIn, onFocusOut } = useValidationError()\r\n const [localValue, setLocalValue] = useState(StringConverter(props.value))\r\n const [isFocused, setIsFocused] = useState(false)\r\n\r\n useEffect(() => {\r\n setLocalValue(StringConverter(props.value))\r\n }, [props.value])\r\n\r\n const handleChange = (value: string) => {\r\n if(props.changeMode !== 'immediately' && (props.type === 'text' || props.type === undefined)) {\r\n if(value !== value.trim()) {\r\n value = value.trim()\r\n setLocalValue(value)\r\n }\r\n }\r\n let updatedValue: string | number = value\r\n if (props.type === 'number') {\r\n updatedValue = value === '' ? 0 : parseFloat(value)\r\n }\r\n if (StringConverter(props.value) !== StringConverter(updatedValue)) {\r\n props.onChange(createReactChangeEventInput(props.name, updatedValue))\r\n }\r\n }\r\n\r\n const maxLengthValue = props.maxLength !== undefined ? props.maxLength : (maxLength ? maxLength + (props.maskMaxLength || 0) : undefined)\r\n\r\n const readOnly = props.readonly || (props.customClass?.includes('form-control-plaintext') ?? false)\r\n const baseClassName = readOnly\r\n ? 'form-control-plaintext'\r\n : 'form-control'\r\n const customWithoutDublicatePlaintext = (readOnly\r\n ? props.customClass?.replace('form-control-plaintext', '')\r\n : props.customClass) || ''\r\n const fullClassName = `${baseClassName} form-control-sm ${customWithoutDublicatePlaintext} ${hasError ? 'is-invalid' : ''}`.trim()\r\n\r\n return ( {\r\n setLocalValue(e.target.value)\r\n // in case of autocomplete, we need to update the value immediately\r\n if (!isFocused || (isFocused && props.changeMode === 'immediately')) {\r\n handleChange(e.target.value)\r\n }\r\n }}\r\n onKeyDown={(e) => {\r\n if (props.onKeyDown)\r\n props.onKeyDown(e)\r\n\r\n if (e.key === 'Enter' && props.onEnter) {\r\n props.onEnter(handleChange, e.currentTarget.value)\r\n }\r\n }}\r\n onFocus={(e) => {\r\n setIsFocused(true)\r\n onFocusIn(e)\r\n\r\n if (props.onFocus)\r\n props.onFocus(e)\r\n }}\r\n onBlur={(e) => {\r\n setIsFocused(false)\r\n onFocusOut(e)\r\n\r\n if (props.onBlur)\r\n props.onBlur(e)\r\n\r\n if (props.type === 'number' && e.target.value.trim() === '') {\r\n setLocalValue(String(0))\r\n }\r\n\r\n if (props.changeMode !== 'immediately') {\r\n handleChange(e.target.value)\r\n } else {\r\n e.target.value.trim() !== e.target.value &&\r\n handleChange(e.target.value.trim())\r\n }\r\n }}\r\n data-type={props.type && props.type === 'number' ? 'number' : 'string'}\r\n ref={props.ref}\r\n />\r\n )\r\n}\r\n\r\nexport default withValidationErrorsProvider(XLTextbox)","import React, { useEffect, useState } from 'react'\r\nimport XLTextbox, { XLTextboxProps } from './XLTextbox'\r\nimport { ReactChangeEventInput, createReactChangeEventInput } from '@xlerate/xlerate-common'\r\n\r\nexport type XLPasswordTextboxProps = XLTextboxProps & {\r\n showPassword?: boolean\r\n}\r\n\r\nconst withPassword = (Component: React.ComponentType) => {\r\n return ({ value, name, onChange, showPassword = false, changeMode = 'blur', ...otherProps }: XLPasswordTextboxProps) => {\r\n\r\n const [inputValue, setInputValue] = useState('')\r\n\r\n const handleChange = (updated: ReactChangeEventInput) => {\r\n const v = Object.values(updated)[0] as string\r\n setInputValue(v)\r\n if (changeMode === 'immediately')\r\n onChange(createReactChangeEventInput(name, v))\r\n }\r\n\r\n useEffect(() => {\r\n setInputValue(value as string)\r\n }, [value])\r\n\r\n return (\r\n {\r\n if (changeMode === 'blur')\r\n onChange(createReactChangeEventInput(name, inputValue))\r\n }}\r\n />\r\n )\r\n }\r\n}\r\n\r\nconst XLPasswordTextbox = withPassword(XLTextbox)\r\nexport default XLPasswordTextbox","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nvar SvgChargebacks = function SvgChargebacks(_ref, ref) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 889 760\",\n fill: \"currentColor\",\n ref: ref,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0,760) scale(0.1,-0.1)\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4110 7589 c-355 -30 -759 -129 -1100 -269 -160 -66 -449 -212 -575 -291 -758 -475 -1330 -1206 -1603 -2049 -112 -346 -171 -671 -188 -1032 l-7 -148 -221 -1 c-122 -1 -262 -4 -313 -8 l-92 -6 462 -625 c573 -776 561 -759 569 -760 14 0 129 152 579 764 l456 621 -91 6 c-50 4 -189 7 -308 8 l-218 1 0 83 c1 172 43 480 91 662 218 832 806 1553 1574 1931 234 114 463 197 665 239 171 36 489 74 623 75 l37 0 0 405 0 405 -122 -1 c-68 -1 -166 -5 -218 -10z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4270 5407 l0 -144 -137 -6 c-289 -14 -559 -80 -668 -163 -48 -36 -122 -136 -155 -209 -61 -137 -87 -333 -70 -532 23 -265 71 -397 184 -508 130 -127 329 -183 719 -201 l127 -6 0 -404 0 -404 -82 0 c-120 0 -249 17 -312 41 -102 38 -139 108 -156 300 -5 57 -9 112 -10 122 0 16 -19 17 -255 17 l-256 0 6 -102 c20 -338 65 -480 189 -603 133 -132 306 -188 646 -209 52 -4 125 -9 163 -12 l67 -6 0 -164 0 -164 175 0 175 0 2 172 3 173 195 6 c484 15 705 136 809 445 64 190 67 579 5 774 -72 230 -218 325 -606 395 -73 13 -195 29 -270 36 l-138 13 0 373 0 373 43 0 c87 0 213 -23 266 -48 106 -49 157 -124 174 -254 l11 -78 248 0 c165 0 248 3 248 10 0 52 -35 306 -51 367 -71 283 -256 397 -718 443 -57 5 -130 10 -162 10 l-59 0 0 145 0 145 -175 0 -175 0 0 -143z m0 -962 l0 -365 -87 0 c-196 1 -329 65 -392 189 -53 103 -50 279 6 369 69 112 198 164 426 171 l47 1 0 -365z m596 -849 c214 -32 292 -114 302 -318 4 -85 1 -108 -21 -181 -33 -104 -80 -168 -148 -203 -78 -39 -190 -64 -291 -64 l-88 0 0 390 0 390 78 0 c42 0 118 -6 168 -14z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7757 5093 c-163 -209 -937 -1260 -937 -1273 0 -16 54 -20 328 -20 l282 0 0 -87 c-1 -303 -101 -763 -237 -1083 -252 -594 -744 -1136 -1320 -1454 -379 -209 -838 -336 -1305 -362 l-118 -6 0 -404 0 -404 103 0 c558 1 1232 190 1772 499 157 90 372 235 500 337 145 116 412 378 541 532 292 349 549 811 691 1242 109 329 193 830 193 1151 l0 36 305 5 c168 3 308 8 311 11 11 10 -1003 1387 -1021 1387 -2 0 -42 -48 -88 -107z\"\n }))));\n};\nvar ForwardRef = /*#__PURE__*/forwardRef(SvgChargebacks);\nexport { ForwardRef as ReactComponent };\nexport default __webpack_public_path__ + \"chargebacks.b083f45c67eebc83df734042b2807af3.svg\";","import { ReactComponent as Chargebacks } from '../assets/icons/chargebacks.svg'\r\nimport {\r\n faAngleRight, faArrowRotateRight, faBars, faCalendarAlt, faCaretDown, faCaretRight, faCircle,\r\n faCircleCheck, faCircleExclamation, faCircleInfo, faCirclePlus, faCircleQuestion, faCircleXmark, faCompass, faCopy,\r\n faDollar, faDoorClosed, faDownload, faEnvelope, faEnvelopeCircleCheck, faEye, faEyeSlash, faFile, faFileAlt,\r\n faFileCircleCheck, faFileExcel, faFileExport, faFileImport, faFileInvoice, faFileInvoiceDollar,\r\n faFileLines, faFilePdf, faFilePen, faFolder, faFolderClosed, faFolderPlus, faGear, faGears, faInfoCircle, faKey,\r\n faLaptopFile, faLifeRing, faMinus, faPaperclip, faPenToSquare, faPencil, faPerson, faPlus, faPrint, faRectangleList,\r\n faRightFromBracket, faRightToBracket, faRing, faRotateLeft, faSave, faSearch, faSquareCaretDown, faSquareCaretUp,\r\n faSquareCheck, faSquarePen, faStar, faStickyNote, faTimes, faTrashCan, faTriangleExclamation, faTruckFast, faUser,\r\n faUserGroup, faUserLock, faUsers, faWarehouse, faXmark, faDollarSign, faCalculator, faArrowAltCircleRight,\r\n faLandmark, faArrowLeft, faVoteYea, faFileText, faLink, faFloppyDisk, faCheck, faCogs, faExclamation, faClockRotateLeft, faCreditCard, faExclamationTriangle,\r\n faSackXmark, faArrowUp, faArrowDown, faHourglass, faHandshake, faHandshakeSlash, faFileCircleXmark, faFileCsv, faCog, faLock,\r\n faPhone, faPersonWalkingArrowLoopLeft, faTruck,\r\n faClipboardCheck,\r\n faCaretLeft,\r\n faForwardStep,\r\n faBackwardStep,\r\n faFileUpload,\r\n faListCheck,\r\n faHandHoldingDollar,\r\n faSackDollar,\r\n faChartSimple,\r\n faDiagramProject,\r\n faColumns,\r\n faTrashArrowUp,\r\n faRectangleXmark,\r\n faTableList,\r\n faCubes,\r\n faArrowRight,\r\n faCheckDouble,\r\n faList,\r\n faClock,\r\n faMagnifyingGlass,\r\n faFlag, faLocationPin, faBuildingFlag,\r\n faGlobe,\r\n faTh,\r\n faComments\r\n} from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon, FontAwesomeIconProps } from '@fortawesome/react-fontawesome'\r\nimport { JSX } from 'react'\r\n\r\nconst ICONS = {\r\n users: faUser,\r\n groups: faUserGroup,\r\n mailtemplates: faEnvelope,\r\n emailaccounts: faEnvelope,\r\n sysoptions: faGears,\r\n companies: faLandmark,\r\n\r\n carrier: faWarehouse,\r\n debtors: faUsers,\r\n invoicebatches: faFolder,\r\n invoices: faFileInvoice,\r\n chargebacks: faFileInvoice,\r\n loans: faFileInvoice,\r\n carriertrucks: faTruck,\r\n paymentbatches: faDollar,\r\n payments: faFileInvoiceDollar,\r\n feetypes: faGears,\r\n loantypes: faGears,\r\n primerates: faGears,\r\n paymenttypes: faGears,\r\n rnpoptions: faGears,\r\n invoicepurchaseactivityreasons: faGears,\r\n invoicecollectionactivityreasons: faGears,\r\n creditchecks: faRectangleList,\r\n noaverifications: faHandshake,\r\n verificationboard: faClipboardCheck,\r\n verificationSite: faGlobe,\r\n collectionboard: faHandHoldingDollar,\r\n\r\n documentfolderoptions: faGears,\r\n\r\n carrieranalysisreport: faFileLines,\r\n debtoranalysisreport: faFileLines,\r\n creditreport: faFileLines,\r\n agingsummary: faFileLines,\r\n paymentreport: faFileLines,\r\n feereport: faFileLines,\r\n invoicefeereport: faFileLines,\r\n batchsummaryreport: faFileLines,\r\n carrierpaymentbreakdownreport: faFileLines,\r\n carrierescrowbalancereport: faFileLines,\r\n carrierreserveescrowreport: faFileLines,\r\n monthlyminimumfeereport: faFileLines,\r\n carrierprofitreport: faFileLines,\r\n progressiveratereport: faFileLines,\r\n dashboard: faChartSimple,\r\n fundingreport: faFileLines,\r\n chargebackreport: faFileLines,\r\n reportmanager: faFileCircleCheck,\r\n reportoptions: faGears,\r\n widgets: faDiagramProject,\r\n widget: faChartSimple,\r\n carrierlist: faTableList,\r\n debtorlist: faTableList,\r\n invoicesearch: faMagnifyingGlass,\r\n\r\n\r\n ExportCSV: faDownload,\r\n\r\n exceptionlogs: faGears,\r\n jobList: faGears,\r\n\r\n lookup: faRing,\r\n faTimes: faTimes,\r\n default: faPerson,\r\n //options: faGears,\r\n attachment: faPaperclip,\r\n\r\n SaveAndClose: faCircleCheck,\r\n Save: faSave,\r\n Cancel: faCircleXmark,\r\n Rename: faPenToSquare,\r\n Delete: faTrashCan,\r\n Notes: faStickyNote,\r\n Import: faFileImport,\r\n Export: faFileExport,\r\n ExportPDF: faFilePdf,\r\n ExportExcel: faFileExcel,\r\n DocumentManagement: faFileAlt,\r\n Settings: faGears,\r\n Help: faLifeRing,\r\n SendEmail: faEnvelopeCircleCheck,\r\n\r\n Email: faEnvelope,\r\n\r\n CancelAndExit: faDoorClosed,\r\n Ok: faCircleCheck,\r\n Refresh: faArrowRotateRight,\r\n ResetFilter: faRotateLeft,\r\n\r\n Login: faRightToBracket,\r\n LoginLogo: faTruckFast,\r\n Logout: faRightFromBracket,\r\n User: faUser,\r\n LoginPlus: faCirclePlus,\r\n PasswordEye: faEyeSlash,\r\n\r\n StatusNotSelected: faCircle,\r\n StatusNew: faFile,\r\n StatusView: faEye,\r\n StatusEdit: faSquarePen,\r\n\r\n NoteUserLock: faUserLock,\r\n NoteGroupLock: faUserGroup,\r\n NoteDelete: faXmark,\r\n NoteEdit: faPencil,\r\n NoteAdd: faPlus,\r\n NoteQuestion: faCircleQuestion,\r\n NoteSave: faSave,\r\n NoteCancel: faCircleXmark,\r\n NoteSecure: faUserGroup,\r\n\r\n DocumentDownload: faSave,\r\n DocumentManagementAdd: faPlus,\r\n DocumentManagementFolderDefault: faFolderClosed,\r\n DocumentManagementFolderCustom: faFolder,\r\n DocumentManagementFolderUp: faSquareCaretUp,\r\n DocumentManagementFolderDown: faSquareCaretDown,\r\n DocumentManagementFolderGroup: faUserGroup,\r\n DocumentManagementFolderDelete: faXmark,\r\n DocumentManagementFolderRename: faPencil,\r\n DocumentManagementFolderAttach: faPaperclip,\r\n DocumentManagementFolderDownload: faDownload,\r\n DocumentManagementFolderPdf: faFilePdf,\r\n\r\n ReportCatalogFavorites: faStar,\r\n ReportCatalogAdd: faPlus,\r\n ReportCatalogDefault: faFolderClosed,\r\n ReportCatalogCustom: faFolder,\r\n ReportCatalogUp: faSquareCaretUp,\r\n ReportCatalogDown: faSquareCaretDown,\r\n ReportCatalogDelete: faXmark,\r\n ReportCatalogRename: faPencil,\r\n ReportCatalogArrowRight: faCaretRight,\r\n ReportCatalogArrowDown: faCaretDown,\r\n ReportCatalogReport: faFileCircleCheck,\r\n ReportCatalogPrint: faPrint,\r\n ReportCatalogResetFilter: faRotateLeft,\r\n\r\n ErrorExclamation: faCircleExclamation,\r\n ErrorShow: faFileLines,\r\n ErrorClose: faXmark,\r\n\r\n LockSecure: faUserLock,\r\n LockUnLock: faUser,\r\n\r\n QuestionIcon: faCircleQuestion,\r\n InformationIcon: faCircleInfo,\r\n DeletePopinError: faCircleQuestion,\r\n ErrorIcon: faCircleXmark,\r\n TabPopinError: faExclamationTriangle,\r\n\r\n DeptorLimit: faBars,\r\n CompanyInfoCopy: faArrowAltCircleRight,\r\n\r\n GridDelete: faXmark,\r\n GridEdit: faPencil,\r\n GridSave: faSave,\r\n GridCopy: faCopy,\r\n GridRowUp: faSquareCaretUp,\r\n GridRowDown: faSquareCaretDown,\r\n\r\n search: faSearch,\r\n faMinus: faMinus,\r\n ArrowRight: faAngleRight,\r\n faCompass: faCompass,\r\n faSquare: faSquareCheck,\r\n CALENDAR: faCalendarAlt,\r\n\r\n LogItemInfo: faInfoCircle,\r\n LogItemError: faCircleXmark,\r\n\r\n Group: faUserGroup,\r\n GroupRoleArrowRight: faCaretRight,\r\n GroupRoleArrowDown: faCaretDown,\r\n GroupRoleModule: faGear,\r\n GroupRoleView: faEye,\r\n GroupRoleMain: faKey,\r\n GroupRoleEdit: faPencil,\r\n GroupRoleAdd: faPlus,\r\n GroupRoleRename: faFilePen,\r\n GroupRoleDelete: faTrashCan,\r\n GroupRoleAnnotate: faStickyNote,\r\n GroupRoleSendMail: faEnvelopeCircleCheck,\r\n GroupRoleSend: faEnvelope,\r\n GroupRoleDocumentManagement: faLaptopFile,\r\n GroupRoleSensitiveData: faUserLock,\r\n GroupRoleUnlock: faUserLock,\r\n GroupRolePost: faFolderClosed,\r\n GroupRoleReverse: faRotateLeft,\r\n\r\n InvoiceBatchAdd: faPlus,\r\n InvoiceBatchDelete: faXmark,\r\n InvoiceBatchPost: faFolder,\r\n InvoiceBatchCalculate: faCalculator,\r\n InvoiceBatchValidate: faListCheck,\r\n InvoiceBatchPrint: faPrint,\r\n InvoiceBatchEmail: faEnvelope,\r\n InvoiceBatchNew: faFolderPlus,\r\n InvoiceBatchAddInvoice: faFileInvoiceDollar,\r\n InvoiceBatchRetry: faRotateLeft,\r\n InvoiceBatchAppendBatch: faCopy,\r\n InvoiceBatchCalculateDeductions: faDollar,\r\n\r\n InvoiceNew: faFolderPlus,\r\n InvoiceUncollectible: faSackXmark,\r\n InvoiceBackToCollection: faHandHoldingDollar,\r\n InvoiceUnheldFunds: faSackDollar,\r\n ReverseBatch: faRotateLeft,\r\n InvoiceReturnToProcessing: faTrashArrowUp,\r\n InvoiceMarkAsCancelled: faRectangleXmark,\r\n\r\n ChargebackNew: faFolderPlus,\r\n LoanNew: faFolderPlus,\r\n\r\n PaymentBatchAdd: faPlus,\r\n PaymentBatchDelete: faXmark,\r\n PaymentBatchPost: faFolder,\r\n PaymentBatchPrint: faPrint,\r\n PaymentBatchNew: faFolderPlus,\r\n PaymentBatchAddInvoice: faFileInvoiceDollar,\r\n PaymentBatchImportFromFile: faFileCsv,\r\n\r\n PaymentNew: faFolderPlus,\r\n ReversePayment: faRotateLeft,\r\n\r\n ReleaseNew: faFolderPlus,\r\n\r\n CreditCheckNew: faFolderPlus,\r\n\r\n NOAVerificationNew: faFolderPlus,\r\n NOAView: faEye,\r\n CarrierTrucks: faTruck,\r\n\r\n LogViewBtn: faRectangleList,\r\n JobListViewBtn: faList,\r\n\r\n dollar: faDollarSign,\r\n arrowLeft: faArrowLeft,\r\n arrowTop: faArrowUp,\r\n arrowBottom: faArrowDown,\r\n arrowRight: faArrowRight,\r\n voteYea: faVoteYea,\r\n fileText: faFileText,\r\n file: faFile,\r\n fileUpload: faFileUpload,\r\n link: faLink,\r\n plus: faPlus,\r\n floppyDisk: faFloppyDisk,\r\n check: faCheck,\r\n doubleCheck: faCheckDouble,\r\n cogs: faCogs,\r\n cog: faCog,\r\n exclamation: faExclamation,\r\n clockRotateLeft: faClockRotateLeft,\r\n eye: faEye,\r\n bars: faBars,\r\n load: faCubes,\r\n lock: faLock,\r\n exit: faDoorClosed,\r\n column: faColumns,\r\n\r\n Portal_Collection: faDollar,\r\n Portal_F2FuelCardEFSLogin: faCreditCard,\r\n Portal_F2CardComdataLogin: faCreditCard,\r\n\r\n Portal_Alert_Success: faCircleCheck,\r\n Portal_Alert_Error: faCircleXmark,\r\n Portal_Alert_Info: faCircleInfo,\r\n Portal_Alert_Warning: faTriangleExclamation,\r\n\r\n Portal_Error: faExclamationTriangle,\r\n\r\n Portal_CreditCheck_Status_Pending: faHourglass,\r\n Portal_CreditCheck_Status_Approved: faCircleCheck,\r\n Portal_CreditCheck_Status_Declined: faCircleXmark,\r\n Portal_User: faUser,\r\n Portal_Truck: faTruck,\r\n\r\n NOA_NoNOAOnFile: faFileCircleXmark,\r\n NOA_NoNOAVerification: faHandshakeSlash,\r\n NOA_Pending: faHourglass,\r\n NOA_RequestSent: faEnvelope,\r\n NOA_Verified: faHandshake,\r\n\r\n POD_File: faFileAlt,\r\n\r\n circleInfo: faCircleInfo,\r\n phone: faPhone,\r\n email: faEnvelope,\r\n sendEmail: faEnvelope,\r\n triangleExclamation: faTriangleExclamation,\r\n held: faSackXmark,\r\n clock: faHourglass,\r\n person_run: faPersonWalkingArrowLoopLeft,\r\n copy: faCopy,\r\n\r\n NavigateFirst: faBackwardStep,\r\n NavigatePrevious: faCaretLeft,\r\n NavigateNext: faCaretRight,\r\n NavigateLast: faForwardStep,\r\n\r\n InvoiceDetails: faFileInvoice,\r\n Collection: faHandHoldingDollar,\r\n Verificaion: faClipboardCheck,\r\n\r\n AutiVerifyError: faCircleExclamation,\r\n AutiVerifyWaiting: faClock,\r\n AutiVerifySuccess: faCircleCheck,\r\n AutiVerifyWarning: faCircleExclamation,\r\n\r\n InvoiceSearchFilterAdd: faPlus,\r\n BoardArrowDown: faCaretDown,\r\n grid: faTh,\r\n feedback: faComments\r\n} as const\r\n\r\nexport type IconKey = keyof typeof ICONS\r\n\r\nexport const ICON_MAP: Record = Object.fromEntries(\r\n Object.entries(ICONS).map(([key, _]) => [key, key])\r\n) as Record\r\n\r\nexport function getIconByName(name: IconKey): React.ReactNode\r\nexport function getIconByName(name: IconKey, props: Omit): JSX.Element\r\nexport function getIconByName(name: IconKey, props?: Omit): React.ReactNode {\r\n if(name === ICON_MAP.chargebacks)\r\n return \r\n \r\n return \r\n}\r\n","import { useEffect, useRef, useState } from 'react'\r\nimport { XLPasswordTextbox, XLTextbox } from '@xlerate/xlerate-controls'\r\nimport { useAuth } from '@xlerate/xlerate-core'\r\nimport { UserLoginDto } from '@xlerate/xlerate-data'\r\nimport { ICON_MAP, ReactChangeEventInput, getIconByName } from '@xlerate/xlerate-common'\r\n\r\nconst Login = () => {\r\n const { signin, errorHandler } = useAuth()\r\n const inputRef = useRef(null)\r\n const [user, setUser] = useState({ UserName: \"\", Password: \"\" })\r\n const [isLoginEnabled, setIsLoginEnabled] = useState(false)\r\n const [errors, setErrors] = useState();\r\n\r\n const loginClick = () => {\r\n if (!user.UserName || !user.Password) return\r\n signin(user.UserName, user.Password)\r\n }\r\n\r\n const clearForm = () => {\r\n setUser({ UserName: \"\", Password: \"\" })\r\n }\r\n\r\n const handleChange = (event: ReactChangeEventInput) => {\r\n setUser((prevState) => ({ ...prevState, ...event }))\r\n setErrors(\"\")\r\n }\r\n\r\n useEffect(() => {\r\n if (inputRef.current)\r\n inputRef.current.focus()\r\n }, [])\r\n\r\n useEffect(() => {\r\n setIsLoginEnabled(user.UserName !== \"\" && user.Password !== \"\")\r\n }, [user])\r\n\r\n useEffect(() => {\r\n if (!errorHandler) return\r\n errorHandler.registerErrorShow(showErrors);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [errorHandler])\r\n\r\n const showErrors = (message: string[]) => {\r\n clearForm()\r\n setErrors(message[0] ?? \"\")\r\n }\r\n\r\n return (
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {errors &&
{errors}
}\r\n
\r\n \r\n
\r\n
\r\n {\r\n if (e.key === 'Enter') {\r\n e.preventDefault()\r\n loginClick()\r\n }\r\n }}\r\n useAutoComplete={true}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
)\r\n}\r\n\r\nexport default Login","import { StringConverter } from \"@xlerate/xlerate-common\"\r\n\r\nexport interface IMaskConverter {\r\n applyMask: (value: string | number | boolean | null | undefined) => string\r\n removeMask: (value: string) => string\r\n getMaskLength: () => number\r\n}\r\n\r\nexport abstract class MaskConverter implements IMaskConverter {\r\n protected mask: string\r\n abstract maskChar: string\r\n\r\n constructor(mask: string) {\r\n this.mask = mask\r\n }\r\n\r\n protected transformInput(value: string | number | boolean | null | undefined) {\r\n // Default implementation just converts the input to string\r\n return StringConverter(value)\r\n }\r\n\r\n abstract applyMask(value: string | number | boolean | null | undefined): string\r\n abstract removeMask(value: string): string\r\n abstract getMaskLength(): number\r\n}","import { MaskConverter } from \"./IMaskConverter\"\r\n\r\nexport class NumberMaskConverter extends MaskConverter {\r\n maskChar: string = '#'\r\n\r\n applyMask(value: string | number | boolean | null | undefined) {\r\n const numbers = this.transformInput(value)\r\n let maskIndex = 0, numIndex = 0\r\n let result = ''\r\n while (maskIndex < this.mask.length && numIndex < numbers.length) {\r\n if (this.mask[maskIndex] === this.maskChar) {\r\n result += numbers[numIndex]\r\n numIndex++\r\n } else {\r\n result += this.mask[maskIndex]\r\n }\r\n maskIndex++\r\n }\r\n return result\r\n }\r\n\r\n removeMask(value: string) {\r\n return value.replace(/\\D/g, '')\r\n }\r\n\r\n getMaskLength() {\r\n return this.mask.split('').filter(char => char !== this.maskChar).length\r\n }\r\n\r\n transformInput(value: string | number | boolean | null | undefined) {\r\n return super.transformInput(value).replace(/\\D/g, '')\r\n }\r\n}","import { MaskConverter } from \"./IMaskConverter\"\r\n\r\nexport class DefaultMaskConverter extends MaskConverter {\r\n maskChar: string = '*'\r\n\r\n applyMask(value: string | number | boolean | null | undefined) {\r\n value = this.transformInput(value)\r\n let maskIndex = 0, charIndex = 0\r\n let result = ''\r\n while (maskIndex < this.mask.length && charIndex < value.length) {\r\n if (this.mask[maskIndex] === this.maskChar) {\r\n result += value[charIndex]\r\n charIndex++\r\n } else {\r\n result += this.mask[maskIndex]\r\n }\r\n maskIndex++\r\n }\r\n return result\r\n }\r\n\r\n removeMask(value: string) {\r\n const maskChars = new Set(this.mask.replace(/\\*/g, '').split(''))\r\n return value.split('').filter(char => !maskChars.has(char)).join('')\r\n }\r\n\r\n getMaskLength() {\r\n return this.mask.split('').filter(char => char !== this.maskChar).length\r\n }\r\n}","import React, { useState, useEffect, useMemo } from 'react'\r\nimport XLTextbox, { XLTextboxProps } from \"../XLTextbox\"\r\nimport { NumberMaskConverter } from './converters/NumberMaskConverter'\r\nimport { DefaultMaskConverter } from './converters/DefaultMaskConverter'\r\nimport { IMaskConverter } from './converters/IMaskConverter'\r\nimport { ReactChangeEventInput, createReactChangeEventInput } from '@xlerate/xlerate-common'\r\n\r\nexport type XLMaskedTextboxProps = XLTextboxProps & {\r\n mask?: string\r\n converter?: new (mask: string) => IMaskConverter\r\n}\r\n\r\nconst withMask = (Component: React.ComponentType) => {\r\n const WithMask = ({ value, name, onChange, mask = '', converter, changeMode = 'blur', ...otherProps }: XLMaskedTextboxProps) => {\r\n\r\n const maskConverter: IMaskConverter = useMemo(() => {\r\n if (converter) {\r\n return new converter(mask)\r\n } else {\r\n return mask.includes('#') ? new NumberMaskConverter(mask) : new DefaultMaskConverter(mask)\r\n }\r\n }, [converter, mask])\r\n\r\n const [inputValue, setInputValue] = useState(() => maskConverter.applyMask(value))\r\n\r\n useEffect(() => {\r\n setInputValue(maskConverter.applyMask(value))\r\n }, [value, mask, maskConverter])\r\n\r\n const handleChange = (updated: ReactChangeEventInput) => {\r\n const v = Object.values(updated)[0] as string\r\n const rawValue = maskConverter.removeMask(v)\r\n const newValue = maskConverter.applyMask(rawValue)\r\n setInputValue(v)\r\n setTimeout(() => {\r\n setInputValue(newValue)\r\n }, 0)\r\n if (changeMode === 'immediately')\r\n onChange(createReactChangeEventInput(name, rawValue))\r\n }\r\n\r\n return (\r\n {\r\n if (changeMode === 'blur')\r\n onChange(createReactChangeEventInput(name, maskConverter.removeMask(inputValue)))\r\n }}\r\n />\r\n )\r\n }\r\n\r\n return WithMask\r\n}\r\n\r\nconst XLMaskedTextbox = withMask(XLTextbox)\r\nexport default XLMaskedTextbox","import { ReactChangeEventInput } from '@xlerate/xlerate-common'\r\nimport { XLMaskedTextbox } from '@xlerate/xlerate-controls'\r\nimport { useAuth } from '@xlerate/xlerate-core'\r\nimport { CodeLoginDto } from '@xlerate/xlerate-data'\r\nimport { useEffect, useRef, useState } from 'react'\r\n\r\nconst LoginCodeValidate = () => {\r\n const { verify2FA, errorHandler } = useAuth()\r\n const inputRef = useRef(null)\r\n const [user, setUser] = useState({ Code: \"\" })\r\n const [isValidateEnabled, setIsValidateEnabled] = useState(false)\r\n const [errors, setErrors] = useState();\r\n\r\n const verifyClick = () => {\r\n if (!user.Code || user.Code.length !== 6) return\r\n verify2FA(user.Code)\r\n }\r\n\r\n const clearForm = () => {\r\n setUser({ Code: \"\" })\r\n }\r\n\r\n const handleChange = (event: ReactChangeEventInput) => {\r\n setUser((prevState) => ({ ...prevState, ...event }))\r\n setErrors(\"\")\r\n }\r\n\r\n useEffect(() => {\r\n if (inputRef.current)\r\n inputRef.current.focus()\r\n }, [])\r\n\r\n useEffect(() => {\r\n setIsValidateEnabled(user.Code !== \"\" && user.Code.length === 6)\r\n }, [user])\r\n\r\n useEffect(() => {\r\n if (!errorHandler) return\r\n const showErrors = (message: string[]) => {\r\n clearForm()\r\n setErrors(message[0] ?? \"\")\r\n }\r\n\r\n errorHandler.registerErrorShow(showErrors);\r\n }, [errorHandler])\r\n\r\n return (
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Authentication code\r\n
\r\n {errors &&
{errors}
}\r\n
\r\n {\r\n if (e.key === 'Enter') {\r\n e.preventDefault()\r\n verifyClick()\r\n }\r\n }} />\r\n
\r\n
\r\n Open your two-factor authenticator app
to view your authentication code\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
)\r\n}\r\n\r\nexport default LoginCodeValidate","import { useAuth } from \"@xlerate/xlerate-core\"\r\nimport ClientTimeInvalid from \"./ClientTimeInvalid\"\r\nimport Login from \"./Login\"\r\nimport LoginCodeValidate from \"./LoginCodeValidate\"\r\n\r\nconst LoginTemplate = () => {\r\n const { isLogin, step1Approved, isClientDateTimeInvalid } = useAuth()\r\n\r\n if (!isLogin) return <>\r\n\r\n return <>\r\n {isLogin && !step1Approved && !isClientDateTimeInvalid && }\r\n {isLogin && step1Approved && !isClientDateTimeInvalid && }\r\n {isLogin && isClientDateTimeInvalid !== null && }\r\n \r\n}\r\n\r\nexport default LoginTemplate","import { useEffect, useRef, useState } from 'react'\r\nimport { XLPasswordTextbox } from '@xlerate/xlerate-controls'\r\nimport { useAuth } from '@xlerate/xlerate-core'\r\nimport { UserVerifyDto } from '@xlerate/xlerate-data'\r\nimport { XLTextbox } from '@xlerate/xlerate-controls'\r\nimport { ICON_MAP, ReactChangeEventInput, getIconByName } from '@xlerate/xlerate-common'\r\n\r\nconst UserVerify = () => {\r\n const { inviteEmail, setupPassword, errorHandler } = useAuth()\r\n const inputRef = useRef(null)\r\n const [user, setUser] = useState({ Email: inviteEmail, Password: \"\", ConfirmPassword: \"\" })\r\n const [isSetupPasswordEnabled, setIsSetupPasswordEnabled] = useState(false)\r\n const [errors, setErrors] = useState()\r\n const [showPassword, setShowPassword] = useState(false)\r\n const [showConfirmPassword, setShowConfirmPassword] = useState(false)\r\n\r\n const setupPasswordClick = () => {\r\n if (!user.Email || !user.Password || !user.ConfirmPassword || user.Password !== user.ConfirmPassword) return\r\n setupPassword(user.Password)\r\n }\r\n\r\n const handleChange = (event: ReactChangeEventInput) => {\r\n setUser((prevState) => ({ ...prevState, ...event }))\r\n setErrors(\"\")\r\n }\r\n\r\n const tooglePasswordClick = () => {\r\n setShowPassword((prevState) => (!prevState))\r\n }\r\n\r\n const toogleConfirmPasswordClick = () => {\r\n setShowConfirmPassword((prevState) => (!prevState))\r\n }\r\n\r\n useEffect(() => {\r\n if (inputRef.current)\r\n inputRef.current.focus()\r\n }, [])\r\n\r\n useEffect(() => {\r\n setIsSetupPasswordEnabled(\r\n user.Email !== \"\" &&\r\n user.Password !== \"\" &&\r\n user.ConfirmPassword !== \"\" &&\r\n user.Password === user.ConfirmPassword\r\n )\r\n }, [user])\r\n\r\n useEffect(() => {\r\n if (!errorHandler) return\r\n const showErrors = (message: string[]) => {\r\n setUser({ Email: inviteEmail, Password: \"\", ConfirmPassword: \"\" })\r\n setErrors(message[0] ?? \"\")\r\n }\r\n\r\n errorHandler.registerErrorShow(showErrors);\r\n }, [errorHandler, inviteEmail])\r\n\r\n return (
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {errors &&

{errors}

}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {\r\n if (e.key === 'Enter') {\r\n e.preventDefault()\r\n setupPasswordClick()\r\n }\r\n }} />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
)\r\n}\r\n\r\nexport default UserVerify","import { XLMaskedTextbox } from '@xlerate/xlerate-controls'\r\nimport { useEffect, useRef, useState } from 'react'\r\nimport { CodeLoginDto } from '@xlerate/xlerate-data'\r\nimport { useAuth } from '@xlerate/xlerate-core'\r\nimport { ICON_MAP, ReactChangeEventInput, getIconByName } from '@xlerate/xlerate-common'\r\n\r\nconst AddAuthApplication = () => {\r\n const { setup2FA, qrCode, errorHandler } = useAuth()\r\n const inputRef = useRef(null)\r\n const [user, setUser] = useState({ Code: \"\" })\r\n const [isCompleteEnabled, setIsCompleteEnabled] = useState(false)\r\n const [errors, setErrors] = useState();\r\n\r\n const setupClick = () => {\r\n if (!user.Code || user.Code.length !== 6) return\r\n setup2FA(user.Code)\r\n }\r\n\r\n const clearForm = () => {\r\n setUser({ Code: \"\" })\r\n }\r\n\r\n const handleChange = (event: ReactChangeEventInput) => {\r\n setUser((prevState) => ({ ...prevState, ...event }))\r\n setErrors(\"\")\r\n }\r\n\r\n useEffect(() => {\r\n if (inputRef.current)\r\n inputRef.current.focus()\r\n }, [])\r\n\r\n useEffect(() => {\r\n setIsCompleteEnabled(user.Code !== \"\" && user.Code.length === 6)\r\n }, [user])\r\n\r\n\r\n useEffect(() => {\r\n if (!errorHandler) return\r\n errorHandler.registerErrorShow(showErrors);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [errorHandler])\r\n\r\n const showErrors = (message: string[]) => {\r\n clearForm()\r\n setErrors(message[0] ?? \"\")\r\n }\r\n\r\n return (
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Add an authentication app\r\n
\r\n
\r\n Setup an authentication app (Google Authenticator)
to sign in using temporary security codes.\r\n
\r\n
\r\n
\r\n
1
\r\n
\r\n Open your authentication app\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
2
\r\n
\r\n Click
{getIconByName(ICON_MAP.LoginPlus)}
and select \"Scan a QR code\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
3
\r\n
\r\n Scan this QR barcode with your app\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {qrCode && qr}\r\n
\r\n
\r\n
\r\n
4
\r\n
\r\n Enter the temporary code from your app\r\n
\r\n
\r\n
\r\n {errors &&
{errors}
}\r\n
\r\n
\r\n {\r\n if (e.key === 'Enter') {\r\n e.preventDefault()\r\n setupClick()\r\n }\r\n }} />\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
)\r\n}\r\n\r\nexport default AddAuthApplication","import { environment } from \"@xlerate/xlerate-config\"\r\n\r\nconst RegisterSuccess = () => {\r\n const goToClick = () => {\r\n window.location.href = environment.AUTH_APP_URL\r\n }\r\n\r\n return (
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n You have successfully completed the setup
of two-factor authentication
and can log in to the application now.\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
)\r\n}\r\n\r\nexport default RegisterSuccess","import { environment } from '@xlerate/xlerate-config'\r\n\r\nconst UserInvalid = () => {\r\n const goToClick = () => {\r\n window.location.href = environment.AUTH_APP_URL\r\n }\r\n\r\n return (
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n The registration link is either
invalid or has already expired.\r\n
\r\n
\r\n Please reach out to the support
team for assistance.\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
)\r\n}\r\n\r\nexport default UserInvalid","import UserVerify from \"./UserVerify\"\r\nimport AddAuthApplication from \"./AddAuthApplication\"\r\nimport RegisterSuccess from \"./RegisterSuccess\"\r\nimport UserInvalid from \"./UserInvalid\"\r\nimport { useAuth } from \"@xlerate/xlerate-core\"\r\n\r\nconst RegisterTemplate = ({ children }: React.PropsWithChildren) => {\r\n const { isInviteExpired, isRegister, step1Approved, isRegisterSuccess } = useAuth()\r\n\r\n return <>\r\n {!isInviteExpired && isRegister && !step1Approved && }\r\n {!isInviteExpired && isRegister && step1Approved && }\r\n {isInviteExpired && }\r\n {isRegisterSuccess && }\r\n \r\n}\r\n\r\nexport default RegisterTemplate","import { environment } from '@xlerate/xlerate-config'\r\nimport { BaseController, ErrorHandler } from '@xlerate/xlerate-core'\r\nimport { BoardAuthDto, ResponseDto } from '@xlerate/xlerate-data'\r\n\r\nexport class CarrierController extends BaseController {\r\n constructor(protected errorHandler: ErrorHandler) {\r\n super(`${environment.SERVER_API_URL}/api/client/carriers`, errorHandler)\r\n }\r\n\r\n public getCarriersForLogin(invoiceGKey: string = ''): Promise> {\r\n return this.get, object>(`portal-list${invoiceGKey !== '' ? '/' + invoiceGKey : ''}`)\r\n }\r\n}\r\n","import { useEffect, useMemo, useState } from \"react\"\r\nimport { environment } from \"@xlerate/xlerate-config\"\r\nimport { pathCombine, setCookie } from \"@xlerate/xlerate-common\"\r\nimport { RnpCarrierAuthDto } from \"@xlerate/xlerate-data\"\r\nimport { setAppHeaderAccessToken, useAuth } from \"@xlerate/xlerate-core\"\r\nimport { CarrierController } from \"../../../../controllers/CarrierController\"\r\nimport React from \"react\"\r\n\r\n\r\nconst ActionsList = () => {\r\n\tconst { user, signout, errorHandler } = useAuth()\r\n\tconst carrierController = useMemo(() => new CarrierController(errorHandler), [errorHandler])\r\n\tconst [carriers, setCarriers] = useState()\r\n\r\n\tconst [filledHeight, setFilledHeight] = useState(0)\r\n\r\n\tconst logoRef = React.useRef(null)\r\n\tconst boRef = React.useRef(null)\r\n\tconst headerRef = React.useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tconst fn = () => {\r\n\t\t\tif (logoRef.current === null || boRef.current === null || headerRef.current === null) return\r\n\t\t\tif(carriers?.length) {\r\n\t\t\t\tconst logoHeight = logoRef.current.clientHeight ?? 0\r\n\t\t\t\tconst boHeight = boRef.current.clientHeight ?? 0\r\n\t\t\t\tconst headerHeight = headerRef.current.clientHeight ?? 0\r\n\r\n\t\t\t\tconst preFilledHeight = logoHeight + boHeight + headerHeight +\r\n\t\t\t\t\t\t\t\t\t\t\t// 2rem for card padding\r\n\t\t\t\t\t\t\t\t\t\t\t2 * 16 +\r\n\t\t\t\t\t\t\t\t\t\t\t// 0.5rem for BO button margin\r\n\t\t\t\t\t\t\t\t\t\t\t(user?.isLoginToBoExists ? 0.5 * 16 : 0) +\r\n\t\t\t\t\t\t\t\t\t\t\t// 1rem for logo margin\r\n\t\t\t\t\t\t\t\t\t\t\t1 * 16 +\r\n\t\t\t\t\t\t\t\t\t\t\t// 1.5rem for card header margin\r\n\t\t\t\t\t\t\t\t\t\t\t1.5 * 16\r\n\r\n\t\t\t\tconst vh100 = window.innerHeight\r\n\r\n\t\t\t\tif (vh100 - preFilledHeight > 365)\r\n\t\t\t\t\tsetFilledHeight(365)\r\n\t\t\t\telse\r\n\t\t\t\t\tsetFilledHeight(vh100 - preFilledHeight)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfn()\r\n\r\n\t\twindow.addEventListener('resize', fn)\r\n\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('resize', fn)\r\n\t\t}\r\n\t}, [carriers?.length, user?.isLoginToBoExists])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!user?.accessToken) return\r\n\r\n\t\tif (user?.isLoginToBoExists === false && user?.isLoginToPortalExists === false) {\r\n\t\t\tsignout()\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (user?.isLoginToPortalExists === false) {\r\n\t\t\twindow.location.href = environment.BO_APP_URL\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tlet invoiceGKey = ''\r\n\t\tif (window.location.href.indexOf('/invoice/') !== -1 && window.location.href.indexOf('/details') !== -1) {\r\n\t\t\tinvoiceGKey = window.location.href.substring(window.location.href.indexOf('/invoice/') + '/invoice/'.length, window.location.href.indexOf('/details'))\r\n\t\t}\r\n\r\n\t\tcarrierController.getCarriersForLogin(invoiceGKey)\r\n\t\t\t.then((data) => {\r\n\t\t\t\tif (data.Data !== null) {\r\n\t\t\t\t\tif (data.Data.Carriers.length === 0) {\r\n\t\t\t\t\t\tif (user?.isLoginToBoExists === true)\r\n\t\t\t\t\t\t\twindow.location.href = environment.BO_APP_URL\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t\tsignout()\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (data.Data.Invoice !== null){\r\n\t\t\t\t\t\tsetCookie(\"carrier\", JSON.stringify(data.Data.Invoice.Carrier), 4, environment.DOMAIN)\r\n\t\t\t\t\t\tsetCookie('invoice', JSON.stringify({ Key : data.Data.Invoice.InvoiceKey }), 4, environment.DOMAIN)\r\n\t\t\t\t\t\twindow.location.href = pathCombine([environment.PORTAL_APP_URL, 'invoices/details'])\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (data.Data.Carriers.length === 1 && user?.isLoginToBoExists === false) {\r\n\t\t\t\t\t\tsetCookie(\"carrier\", JSON.stringify(data.Data.Carriers[0]), 4, environment.DOMAIN)\r\n\t\t\t\t\t\twindow.location.href = environment.PORTAL_APP_URL\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetCarriers(data.Data.Carriers)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t}, [user, signout, carrierController])\r\n\r\n\tif (!user?.accessToken) return null\r\n\r\n\tsetAppHeaderAccessToken(user?.accessToken)\r\n\r\n\tconst loginToBackOfficeClick = () => {\r\n\t\twindow.location.href = environment.BO_APP_URL\r\n\t}\r\n\r\n\tconst portalCarrierClick = (carrier: RnpCarrierAuthDto) => {\r\n\t\tsetCookie(\"carrier\", JSON.stringify(carrier), 4, environment.DOMAIN)\r\n\t\twindow.location.href = environment.PORTAL_APP_URL\r\n\t}\r\n\r\n\tif ((user?.isLoginToBoExists === false && user?.isLoginToPortalExists === false)\r\n\t\t|| user?.isLoginToPortalExists === false || (carriers?.length ?? 0) === 0) {\r\n\t\treturn null\r\n\t}\r\n\r\n\treturn (
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{user?.isLoginToBoExists === true &&\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
}\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tPortal carriers:\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{carriers && carriers.map((item) => (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t portalCarrierClick(item)} className=\"link-opacity-100 btn btn-sm btn-link text-start p-1\">\r\n\t\t\t\t\t\t\t\t\t\t{item.CarrierId}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
)\r\n}\r\n\r\nexport default ActionsList","export function pathCombine(paths: string[]): string {\r\n if (paths === undefined || !Array.isArray(paths) || paths.length === 0) return ''\r\n if (paths.length === 1) return paths[0]\r\n\r\n const prettyPaths: string[] = paths.map((p, idx) => {\r\n let result = p\r\n\r\n if (idx !== 0 && result.indexOf('/') !== -1 && result.indexOf('/') === 0) {\r\n result = result.substring(1)\r\n }\r\n\r\n if (idx !== paths.length - 1 && result.lastIndexOf('/') !== -1 && result.lastIndexOf('/') === result.length - 1) {\r\n result = result.substring(0, result.length - 1)\r\n }\r\n\r\n return result\r\n })\r\n\r\n return prettyPaths.join('/')\r\n}\r\n","import AuthenticatedTemplate from \"./components/AuthenticatedTemplate\"\r\nimport UnauthenticatedTemplate from \"./components/UnauthenticatedTemplate\"\r\nimport LoginTemplate from \"./components/login/LoginTemplate\"\r\nimport RegisterTemplate from \"./components/register/RegisterTemplate\"\r\nimport ActionsList from \"./components/ActionsList\"\r\nimport { useAuth } from \"@xlerate/xlerate-core\"\r\n\r\nconst LoginPasswordAuthRoot = () => {\r\n const { isLoading } = useAuth()\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isLoading &&
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default LoginPasswordAuthRoot","import { ILogger } from './Logger'\r\n\r\nlet loggerInstance: ILogger | null = null\r\n\r\nexport const setLogger = (loggerConstructor: new () => ILogger) => {\r\n loggerInstance = new loggerConstructor()\r\n}\r\n\r\nexport const getLogger = (): ILogger => {\r\n if (!loggerInstance) {\r\n throw new Error('Logger is not set')\r\n }\r\n return loggerInstance\r\n}","import { BaseDto } from \"../base/Base.dto\";\r\n\r\nexport interface LogItemDto extends BaseDto {\r\n ExceptionKey: number\r\n CreatedOn: string\r\n Message: string\r\n StackTrace: string\r\n Source: string\r\n Category: LogCategoryEnum\r\n Priority: LogPriorityEnum\r\n}\r\n\r\nexport enum LogCategoryEnum {\r\n Debug = 0,\r\n Exception = 1,\r\n Info = 2,\r\n Warn = 3\r\n}\r\n\r\nexport enum LogPriorityEnum {\r\n None = 0,\r\n High = 1,\r\n Medium = 2,\r\n Low = 3\r\n}\r\n","import { LogCategoryEnum, LogPriorityEnum } from '@xlerate/xlerate-data'\r\nimport { getLogger } from './LoggerRegistry'\r\nimport StackTrace from 'stacktrace-js'\r\nimport { HandledError } from '@xlerate/xlerate-common'\r\n\r\nexport const initializeGlobalErrorHandler = () => {\r\n\r\n const extractStackString = async (error: Error) => {\r\n const stackframes = await StackTrace.fromError(error)\r\n\r\n const mappedStackframes = await Promise.all(\r\n stackframes.map(async (sf) => ({\r\n ...sf,\r\n fileName: sf.fileName,\r\n lineNumber: sf.lineNumber,\r\n columnNumber: sf.columnNumber,\r\n functionName: sf.functionName\r\n }))\r\n )\r\n\r\n return mappedStackframes.map((sf) => ` at ${sf.functionName} (${sf.fileName}:${sf.lineNumber}:${sf.columnNumber})`).join('\\n')\r\n }\r\n\r\n const extractError = (e: ErrorEvent | PromiseRejectionEvent) => {\r\n const error = e instanceof ErrorEvent ? e.error : e.reason\r\n const errorType = e instanceof ErrorEvent ? e.type : 'unhandledrejection'\r\n if (error instanceof Error) {\r\n error.message = `[${errorType}] ${error.message}`\r\n return error\r\n }\r\n return new Error(`[${errorType}] ${error}`)\r\n }\r\n\r\n const logError = async (e: ErrorEvent | PromiseRejectionEvent) => {\r\n const error = extractError(e)\r\n if (error instanceof HandledError) {\r\n e.preventDefault()\r\n } else {\r\n const logger = getLogger()\r\n logger.log({\r\n Key: 0,\r\n CreatedOn: new Date().toISOString(),\r\n ExceptionKey: 0,\r\n StackTrace: await extractStackString(error),\r\n Category: LogCategoryEnum.Exception,\r\n Message: error.message,\r\n Priority: LogPriorityEnum.High,\r\n Source: 'Frontend'\r\n })\r\n }\r\n }\r\n\r\n window.addEventListener('unhandledrejection', logError)\r\n window.addEventListener('error', logError)\r\n\r\n return () => {\r\n window.removeEventListener('unhandledrejection', logError)\r\n window.removeEventListener('error', logError)\r\n }\r\n}","import { setLogger } from './LoggerRegistry'\r\nimport { initializeGlobalErrorHandler } from './GlobalErrorHandler'\r\nimport { ILogger } from './Logger'\r\n\r\nexport const initializeCatchAndLog = (loggerConstructor: new () => ILogger) => {\r\n setLogger(loggerConstructor)\r\n return initializeGlobalErrorHandler()\r\n}","import { environment } from \"@xlerate/xlerate-config\"\r\nimport { BaseController, ErrorHandler } from \"@xlerate/xlerate-core\"\r\nimport { LogItemDto, ResponseDto } from \"@xlerate/xlerate-data\"\r\n\r\nexport class SystemController extends BaseController {\r\n constructor() {\r\n super(`${environment.SERVER_API_URL}/api/system`, new ErrorHandler())\r\n }\r\n\r\n public log(payload: LogItemDto) {\r\n return this.post, LogItemDto>(`log`, payload)\r\n }\r\n}","\r\nimport { useEffect } from \"react\"\r\nimport { initializeCatchAndLog } from \"./Initializer\"\r\nimport { ILogger } from \"./Logger\"\r\nimport { SystemController } from \"../controllers\"\r\n\r\nexport const withSystemLogger = (Component: React.ComponentType, loggerConstructor?: new () => ILogger) => (props: T) => {\r\n useEffect(() => initializeCatchAndLog(loggerConstructor ?? SystemController), [])\r\n return \r\n}","import LoginPasswordAuthRoot from './views/auth/login-password/LoginPasswordAuthRoot'\r\nimport { environment } from '@xlerate/xlerate-config'\r\nimport { AuthContextProvider, withSystemLogger } from '@xlerate/xlerate-core'\r\n\r\nconst isRegularAuthUse = environment.IS_REGULAR_AUTH_USE === true\r\n\r\nconst App = () => {\r\n return (\r\n <>\r\n {!isRegularAuthUse &&\r\n
Azure auth not implemented!!!
\r\n }\r\n {isRegularAuthUse &&\r\n \r\n \r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default withSystemLogger(App)","import 'reflect-metadata';\r\nimport ReactDOM from 'react-dom/client'\r\nimport App from './App'\r\n\r\nReactDOM.createRoot(document.getElementById('root') as HTMLElement).render()\r\n","var map = {\n\t\"./af\": 8237,\n\t\"./af.js\": 8237,\n\t\"./ar\": 7937,\n\t\"./ar-dz\": 9540,\n\t\"./ar-dz.js\": 9540,\n\t\"./ar-kw\": 8664,\n\t\"./ar-kw.js\": 8664,\n\t\"./ar-ly\": 2309,\n\t\"./ar-ly.js\": 2309,\n\t\"./ar-ma\": 5572,\n\t\"./ar-ma.js\": 5572,\n\t\"./ar-ps\": 9535,\n\t\"./ar-ps.js\": 9535,\n\t\"./ar-sa\": 2470,\n\t\"./ar-sa.js\": 2470,\n\t\"./ar-tn\": 7080,\n\t\"./ar-tn.js\": 7080,\n\t\"./ar.js\": 7937,\n\t\"./az\": 7881,\n\t\"./az.js\": 7881,\n\t\"./be\": 7859,\n\t\"./be.js\": 7859,\n\t\"./bg\": 6453,\n\t\"./bg.js\": 6453,\n\t\"./bm\": 8843,\n\t\"./bm.js\": 8843,\n\t\"./bn\": 1166,\n\t\"./bn-bd\": 5609,\n\t\"./bn-bd.js\": 5609,\n\t\"./bn.js\": 1166,\n\t\"./bo\": 7437,\n\t\"./bo.js\": 7437,\n\t\"./br\": 6634,\n\t\"./br.js\": 6634,\n\t\"./bs\": 7145,\n\t\"./bs.js\": 7145,\n\t\"./ca\": 2518,\n\t\"./ca.js\": 2518,\n\t\"./cs\": 3964,\n\t\"./cs.js\": 3964,\n\t\"./cv\": 1463,\n\t\"./cv.js\": 1463,\n\t\"./cy\": 8670,\n\t\"./cy.js\": 8670,\n\t\"./da\": 5541,\n\t\"./da.js\": 5541,\n\t\"./de\": 9577,\n\t\"./de-at\": 8659,\n\t\"./de-at.js\": 8659,\n\t\"./de-ch\": 373,\n\t\"./de-ch.js\": 373,\n\t\"./de.js\": 9577,\n\t\"./dv\": 8736,\n\t\"./dv.js\": 8736,\n\t\"./el\": 847,\n\t\"./el.js\": 847,\n\t\"./en-au\": 612,\n\t\"./en-au.js\": 612,\n\t\"./en-ca\": 3510,\n\t\"./en-ca.js\": 3510,\n\t\"./en-gb\": 3767,\n\t\"./en-gb.js\": 3767,\n\t\"./en-ie\": 5916,\n\t\"./en-ie.js\": 5916,\n\t\"./en-il\": 5771,\n\t\"./en-il.js\": 5771,\n\t\"./en-in\": 4365,\n\t\"./en-in.js\": 4365,\n\t\"./en-nz\": 1950,\n\t\"./en-nz.js\": 1950,\n\t\"./en-sg\": 7872,\n\t\"./en-sg.js\": 7872,\n\t\"./eo\": 9938,\n\t\"./eo.js\": 9938,\n\t\"./es\": 1574,\n\t\"./es-do\": 7322,\n\t\"./es-do.js\": 7322,\n\t\"./es-mx\": 4142,\n\t\"./es-mx.js\": 4142,\n\t\"./es-us\": 7083,\n\t\"./es-us.js\": 7083,\n\t\"./es.js\": 1574,\n\t\"./et\": 6487,\n\t\"./et.js\": 6487,\n\t\"./eu\": 9616,\n\t\"./eu.js\": 9616,\n\t\"./fa\": 347,\n\t\"./fa.js\": 347,\n\t\"./fi\": 1891,\n\t\"./fi.js\": 1891,\n\t\"./fil\": 8319,\n\t\"./fil.js\": 8319,\n\t\"./fo\": 4633,\n\t\"./fo.js\": 4633,\n\t\"./fr\": 8974,\n\t\"./fr-ca\": 9687,\n\t\"./fr-ca.js\": 9687,\n\t\"./fr-ch\": 7432,\n\t\"./fr-ch.js\": 7432,\n\t\"./fr.js\": 8974,\n\t\"./fy\": 1475,\n\t\"./fy.js\": 1475,\n\t\"./ga\": 7338,\n\t\"./ga.js\": 7338,\n\t\"./gd\": 9573,\n\t\"./gd.js\": 9573,\n\t\"./gl\": 9741,\n\t\"./gl.js\": 9741,\n\t\"./gom-deva\": 4048,\n\t\"./gom-deva.js\": 4048,\n\t\"./gom-latn\": 7307,\n\t\"./gom-latn.js\": 7307,\n\t\"./gu\": 4022,\n\t\"./gu.js\": 4022,\n\t\"./he\": 6565,\n\t\"./he.js\": 6565,\n\t\"./hi\": 769,\n\t\"./hi.js\": 769,\n\t\"./hr\": 6544,\n\t\"./hr.js\": 6544,\n\t\"./hu\": 7045,\n\t\"./hu.js\": 7045,\n\t\"./hy-am\": 1820,\n\t\"./hy-am.js\": 1820,\n\t\"./id\": 3571,\n\t\"./id.js\": 3571,\n\t\"./is\": 9770,\n\t\"./is.js\": 9770,\n\t\"./it\": 7635,\n\t\"./it-ch\": 855,\n\t\"./it-ch.js\": 855,\n\t\"./it.js\": 7635,\n\t\"./ja\": 2015,\n\t\"./ja.js\": 2015,\n\t\"./jv\": 1502,\n\t\"./jv.js\": 1502,\n\t\"./ka\": 8254,\n\t\"./ka.js\": 8254,\n\t\"./kk\": 7196,\n\t\"./kk.js\": 7196,\n\t\"./km\": 9594,\n\t\"./km.js\": 9594,\n\t\"./kn\": 4695,\n\t\"./kn.js\": 4695,\n\t\"./ko\": 4976,\n\t\"./ko.js\": 4976,\n\t\"./ku\": 6514,\n\t\"./ku-kmr\": 9561,\n\t\"./ku-kmr.js\": 9561,\n\t\"./ku.js\": 6514,\n\t\"./ky\": 5750,\n\t\"./ky.js\": 5750,\n\t\"./lb\": 8628,\n\t\"./lb.js\": 8628,\n\t\"./lo\": 3271,\n\t\"./lo.js\": 3271,\n\t\"./lt\": 3506,\n\t\"./lt.js\": 3506,\n\t\"./lv\": 7064,\n\t\"./lv.js\": 7064,\n\t\"./me\": 4136,\n\t\"./me.js\": 4136,\n\t\"./mi\": 364,\n\t\"./mi.js\": 364,\n\t\"./mk\": 8182,\n\t\"./mk.js\": 8182,\n\t\"./ml\": 5335,\n\t\"./ml.js\": 5335,\n\t\"./mn\": 313,\n\t\"./mn.js\": 313,\n\t\"./mr\": 605,\n\t\"./mr.js\": 605,\n\t\"./ms\": 4334,\n\t\"./ms-my\": 2245,\n\t\"./ms-my.js\": 2245,\n\t\"./ms.js\": 4334,\n\t\"./mt\": 6639,\n\t\"./mt.js\": 6639,\n\t\"./my\": 9628,\n\t\"./my.js\": 9628,\n\t\"./nb\": 4214,\n\t\"./nb.js\": 4214,\n\t\"./ne\": 9095,\n\t\"./ne.js\": 9095,\n\t\"./nl\": 3224,\n\t\"./nl-be\": 8476,\n\t\"./nl-be.js\": 8476,\n\t\"./nl.js\": 3224,\n\t\"./nn\": 1042,\n\t\"./nn.js\": 1042,\n\t\"./oc-lnc\": 4782,\n\t\"./oc-lnc.js\": 4782,\n\t\"./pa-in\": 2077,\n\t\"./pa-in.js\": 2077,\n\t\"./pl\": 2934,\n\t\"./pl.js\": 2934,\n\t\"./pt\": 1262,\n\t\"./pt-br\": 6211,\n\t\"./pt-br.js\": 6211,\n\t\"./pt.js\": 1262,\n\t\"./ro\": 3501,\n\t\"./ro.js\": 3501,\n\t\"./ru\": 4051,\n\t\"./ru.js\": 4051,\n\t\"./sd\": 3545,\n\t\"./sd.js\": 3545,\n\t\"./se\": 762,\n\t\"./se.js\": 762,\n\t\"./si\": 462,\n\t\"./si.js\": 462,\n\t\"./sk\": 2260,\n\t\"./sk.js\": 2260,\n\t\"./sl\": 7249,\n\t\"./sl.js\": 7249,\n\t\"./sq\": 9158,\n\t\"./sq.js\": 9158,\n\t\"./sr\": 6739,\n\t\"./sr-cyrl\": 8110,\n\t\"./sr-cyrl.js\": 8110,\n\t\"./sr.js\": 6739,\n\t\"./ss\": 5452,\n\t\"./ss.js\": 5452,\n\t\"./sv\": 423,\n\t\"./sv.js\": 423,\n\t\"./sw\": 9376,\n\t\"./sw.js\": 9376,\n\t\"./ta\": 4037,\n\t\"./ta.js\": 4037,\n\t\"./te\": 1289,\n\t\"./te.js\": 1289,\n\t\"./tet\": 9801,\n\t\"./tet.js\": 9801,\n\t\"./tg\": 3607,\n\t\"./tg.js\": 3607,\n\t\"./th\": 7166,\n\t\"./th.js\": 7166,\n\t\"./tk\": 3179,\n\t\"./tk.js\": 3179,\n\t\"./tl-ph\": 9611,\n\t\"./tl-ph.js\": 9611,\n\t\"./tlh\": 1792,\n\t\"./tlh.js\": 1792,\n\t\"./tr\": 3196,\n\t\"./tr.js\": 3196,\n\t\"./tzl\": 1674,\n\t\"./tzl.js\": 1674,\n\t\"./tzm\": 4457,\n\t\"./tzm-latn\": 7563,\n\t\"./tzm-latn.js\": 7563,\n\t\"./tzm.js\": 4457,\n\t\"./ug-cn\": 5394,\n\t\"./ug-cn.js\": 5394,\n\t\"./uk\": 318,\n\t\"./uk.js\": 318,\n\t\"./ur\": 1829,\n\t\"./ur.js\": 1829,\n\t\"./uz\": 9757,\n\t\"./uz-latn\": 9831,\n\t\"./uz-latn.js\": 9831,\n\t\"./uz.js\": 9757,\n\t\"./vi\": 2243,\n\t\"./vi.js\": 2243,\n\t\"./x-pseudo\": 9367,\n\t\"./x-pseudo.js\": 9367,\n\t\"./yo\": 2094,\n\t\"./yo.js\": 2094,\n\t\"./zh-cn\": 9244,\n\t\"./zh-cn.js\": 9244,\n\t\"./zh-hk\": 2076,\n\t\"./zh-hk.js\": 2076,\n\t\"./zh-mo\": 6401,\n\t\"./zh-mo.js\": 6401,\n\t\"./zh-tw\": 3980,\n\t\"./zh-tw.js\": 3980\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6857;"],"names":["ErrorHandler","constructor","logoutFn","undefined","errorShowFn","crushFn","Map","globalErrorShowFn","catch","message","status","viewId","this","includes","localFn","filter","it","length","fn","_this$crushFn$get","get","registerLogout","logout","registerErrorShow","errorShow","push","registerTabCrush","set","environment","accessToken","HandledError","Error","super","name","Object","setPrototypeOf","prototype","BaseController","baseURL","errorHandler","service","api","Proxy","axios","create","target","method","receiver","originalMethod","args","defaults","headers","apply","interceptors","request","use","config","response","data","createQuery","query","keys","map","key","encodeURIComponent","join","createSlug","slug","resource","params","getBlob","responseType","postBlob","post","postWithQuery","postWithConfig","put","update","delete","createService","isResponseDataResult","obj","Model","Array","isArray","Notes","Documents","Lock","ValidationResult","isResponseResultDto","Data","isResponseDto","isResponseDataListResult","isResponseResultListDto","handleSchema","schema","parsed","safeParse","success","Message","error","errors","e","code","JSON","stringify","substring","updateLookupItems","Promise","resolve","errorObject","isObject","something","hasErrorObject","hasOwnProperty","messageIsString","codeIsNumber","Code","String","Number","wrapError","AxiosError","_error$response","plainError","_plainError$Error","_plainError$Error2","split","_error$response2","plainResponse","_plainResponse$Error","_plainResponse$Error2","handleServerCustomError","handleAxiosCatch","_e$response","_plainError$Error3","_plainError$Error4","_e$response2","processResponse","path","endsWith","startsWith","postPure","AuthController","login","email","password","auth","username","verify2FA","setup2FA","checkInvite","setupPassword","generateQRCode","token","sendSetupPassword","userKey","setCookie","cname","cvalue","exphours","domain","d","Date","setTime","getTime","expires","toUTCString","document","cookie","Console","enabled","log","console","info","warn","window","TimeZoneEnum","CompareEnum","DateTimeManager","isDate","value","moment","isValid","_params$stringFormat","stringFormat","locTimeZone","serverTimeZone","stringFormatMoment","valueConverter","Format","utcDate","manipulations","date","zoneAbbr","convert","formated","format","formatedWithZoneAbbr","iso","toISOString","manipulate","t","applyManipulations","fromNow","diffFromNow","diff","Today","startOf","Compare","firstDate","lastDate","compare","Equal","t1","t2","GreaterThan","GreaterOrEqualThan","LessThan","LessOrEqualThan","Now","unit","add","getZoneId","zoneId","MOMENT_TIMEZONE","Key","TimeZoneId","guess","clone","utc","tz","UTC","PST","MST","CST","EST","DATE_VALUE_ERROR_MESSAGE","DateValueConverter","removeFromControl","getFullYear","getMonth","getDate","applyToControl","getTimezoneOffset","TIMEZONE_OFFSET_MULTIPLICATION_FACTOR","DateManager","replace","DateTimeValueConverter","setMilliseconds","userTimezoneOffset","utcOffset","DateTimeUtcManager","DateTimeStorage","getInstance","type","instances","size","setDefault","instance","getTZInstance","updateInstance","dateFormat","datetimeFormat","prevDateInstance","prevDateTimeInstance","csharpFormatToJS","updatedLocTimeZone","updatedServerTimeZone","mappings","momentFormat","regex","RegExp","AuthContext","createContext","AuthContextProvider","children","saveAuthUserToCache","storageUser","ca","i","c","charAt","indexOf","getCookie","user","setUser","useState","parse","step1Token","setStep1Token","step1Approved","setStep1Approved","useMemo","authController","isRegister","setIsRegister","isLogin","setIsLogin","isLoading","setIsLoading","isInviteExpired","setIsInviteExpired","isRegisterSuccess","setIsRegisterSuccess","isClientDateTimeInvalid","setIsClientDateTimeInvalid","inviteEmail","setInviteEmail","inviteCode","setInviteCode","qrCode","setQrCode","useEffect","async","location","href","searchParams","URLSearchParams","search","has","_searchParams$get$toS","_searchParams$get","_searchParams$get$toS2","_searchParams$get2","_searchParams$get$toS3","_searchParams$get3","emailHash","toString","UID","IID","finally","UserEmail","clearUser","_jsx","Provider","_data$Token","_data2$QRCode","Password","Token","data2","QRCode","signin","signout","InviteCode","ServerDateTime","dateTimeInstance","diffSeconds","startDate","minutes","endDate","currentUser","isAuthenticated","userName","UserName","isLoginToBoExists","IsLoginToBoExists","isLoginToPortalExists","IsLoginToPortalExists","setUserName","prevState","assign","useAuth","context","useContext","AuthenticatedTemplate","UnauthenticatedTemplate","ClientTimeInvalid","periodLabel","timeLabel","result","remainder","Math","abs","days","trunc","hours","trim","className","style","height","width","_jsxs","whiteSpace","id","onClick","goToClick","title","FormContext","React","TooltipContainerContext","ValidationError","StringConverter","createReactChangeEventInput","CustomBaseElement","output","Component","props","_props$customClass$in","_props$customClass","_props$customClass2","maxLength","hasError","onFocusIn","onFocusOut","useValidationError","localValue","setLocalValue","isFocused","setIsFocused","handleChange","changeMode","updatedValue","parseFloat","onChange","maxLengthValue","maskMaxLength","readOnly","readonly","customClass","fullClassName","placeholder","autoComplete","useAutoComplete","disabled","onKeyDown","onEnter","currentTarget","onFocus","onBlur","ref","_middlewareData$hide2","_props$errorClassName","maxLengths","show","setShow","errorMessage","currentName","find","Owner","useCallback","refs","floatingStyles","middlewareData","useFloating","open","onOpenChange","placement","middleware","flip","shift","hide","rects","elements","maxWidth","max","reference","floating","offset","whileElementsMounted","autoUpdate","_middlewareData$hide","referenceHidden","useMergeRefs","forwardedRef","setReference","elementRef","current","position","flex","FloatingPortal","root","errorClassName","setFloating","color","zIndex","background","borderRadius","marginTop","padding","fontSize","fontWeight","textAlign","XLPasswordTextbox","_ref","showPassword","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValue","setInputValue","updated","v","values","withPassword","XLTextbox","_g","_extends","bind","n","arguments","r","call","SvgChargebacks","titleId","o","getOwnPropertySymbols","propertyIsEnumerable","_objectWithoutProperties","xmlns","viewBox","fill","transform","stroke","ForwardRef","forwardRef","ICONS","users","faUser","groups","faUserGroup","mailtemplates","faEnvelope","emailaccounts","sysoptions","faGears","companies","faLandmark","carrier","faWarehouse","debtors","faUsers","invoicebatches","faFolder","invoices","faFileInvoice","chargebacks","loans","carriertrucks","faTruck","paymentbatches","faDollar","payments","faFileInvoiceDollar","feetypes","loantypes","primerates","paymenttypes","rnpoptions","invoicepurchaseactivityreasons","invoicecollectionactivityreasons","creditchecks","faRectangleList","noaverifications","faHandshake","verificationboard","faClipboardCheck","verificationSite","faGlobe","collectionboard","faHandHoldingDollar","documentfolderoptions","carrieranalysisreport","faFileLines","debtoranalysisreport","creditreport","agingsummary","paymentreport","feereport","invoicefeereport","batchsummaryreport","carrierpaymentbreakdownreport","carrierescrowbalancereport","carrierreserveescrowreport","monthlyminimumfeereport","carrierprofitreport","progressiveratereport","dashboard","faChartSimple","fundingreport","chargebackreport","reportmanager","faFileCircleCheck","reportoptions","widgets","faDiagramProject","widget","carrierlist","faTableList","debtorlist","invoicesearch","faMagnifyingGlass","ExportCSV","faDownload","exceptionlogs","jobList","lookup","faRing","faTimes","default","faPerson","attachment","faPaperclip","SaveAndClose","faCircleCheck","Save","faSave","Cancel","faCircleXmark","Rename","faPenToSquare","Delete","faTrashCan","faStickyNote","Import","faFileImport","Export","faFileExport","ExportPDF","faFilePdf","ExportExcel","faFileExcel","DocumentManagement","faFileAlt","Settings","Help","faLifeRing","SendEmail","faEnvelopeCircleCheck","Email","CancelAndExit","faDoorClosed","Ok","Refresh","faArrowRotateRight","ResetFilter","faRotateLeft","Login","faRightToBracket","LoginLogo","faTruckFast","Logout","faRightFromBracket","User","LoginPlus","faCirclePlus","PasswordEye","faEyeSlash","StatusNotSelected","faCircle","StatusNew","faFile","StatusView","faEye","StatusEdit","faSquarePen","NoteUserLock","faUserLock","NoteGroupLock","NoteDelete","faXmark","NoteEdit","faPencil","NoteAdd","faPlus","NoteQuestion","faCircleQuestion","NoteSave","NoteCancel","NoteSecure","DocumentDownload","DocumentManagementAdd","DocumentManagementFolderDefault","faFolderClosed","DocumentManagementFolderCustom","DocumentManagementFolderUp","faSquareCaretUp","DocumentManagementFolderDown","faSquareCaretDown","DocumentManagementFolderGroup","DocumentManagementFolderDelete","DocumentManagementFolderRename","DocumentManagementFolderAttach","DocumentManagementFolderDownload","DocumentManagementFolderPdf","ReportCatalogFavorites","faStar","ReportCatalogAdd","ReportCatalogDefault","ReportCatalogCustom","ReportCatalogUp","ReportCatalogDown","ReportCatalogDelete","ReportCatalogRename","ReportCatalogArrowRight","faCaretRight","ReportCatalogArrowDown","faCaretDown","ReportCatalogReport","ReportCatalogPrint","faPrint","ReportCatalogResetFilter","ErrorExclamation","faCircleExclamation","ErrorShow","ErrorClose","LockSecure","LockUnLock","QuestionIcon","InformationIcon","faCircleInfo","DeletePopinError","ErrorIcon","TabPopinError","faExclamationTriangle","DeptorLimit","faBars","CompanyInfoCopy","faArrowAltCircleRight","GridDelete","GridEdit","GridSave","GridCopy","faCopy","GridRowUp","GridRowDown","faSearch","faMinus","ArrowRight","faAngleRight","faCompass","faSquare","faSquareCheck","CALENDAR","faCalendarAlt","LogItemInfo","faInfoCircle","LogItemError","Group","GroupRoleArrowRight","GroupRoleArrowDown","GroupRoleModule","faGear","GroupRoleView","GroupRoleMain","faKey","GroupRoleEdit","GroupRoleAdd","GroupRoleRename","faFilePen","GroupRoleDelete","GroupRoleAnnotate","GroupRoleSendMail","GroupRoleSend","GroupRoleDocumentManagement","faLaptopFile","GroupRoleSensitiveData","GroupRoleUnlock","GroupRolePost","GroupRoleReverse","InvoiceBatchAdd","InvoiceBatchDelete","InvoiceBatchPost","InvoiceBatchCalculate","faCalculator","InvoiceBatchValidate","faListCheck","InvoiceBatchPrint","InvoiceBatchEmail","InvoiceBatchNew","faFolderPlus","InvoiceBatchAddInvoice","InvoiceBatchRetry","InvoiceBatchAppendBatch","InvoiceBatchCalculateDeductions","InvoiceNew","InvoiceUncollectible","faSackXmark","InvoiceBackToCollection","InvoiceUnheldFunds","faSackDollar","ReverseBatch","InvoiceReturnToProcessing","faTrashArrowUp","InvoiceMarkAsCancelled","faRectangleXmark","ChargebackNew","LoanNew","PaymentBatchAdd","PaymentBatchDelete","PaymentBatchPost","PaymentBatchPrint","PaymentBatchNew","PaymentBatchAddInvoice","PaymentBatchImportFromFile","faFileCsv","PaymentNew","ReversePayment","ReleaseNew","CreditCheckNew","NOAVerificationNew","NOAView","CarrierTrucks","LogViewBtn","JobListViewBtn","faList","dollar","faDollarSign","arrowLeft","faArrowLeft","arrowTop","faArrowUp","arrowBottom","faArrowDown","arrowRight","faArrowRight","voteYea","faVoteYea","fileText","faFileText","file","fileUpload","faFileUpload","link","faLink","plus","floppyDisk","faFloppyDisk","check","faCheck","doubleCheck","faCheckDouble","cogs","faCogs","cog","faCog","exclamation","faExclamation","clockRotateLeft","faClockRotateLeft","eye","bars","load","faCubes","lock","faLock","exit","column","faColumns","Portal_Collection","Portal_F2FuelCardEFSLogin","faCreditCard","Portal_F2CardComdataLogin","Portal_Alert_Success","Portal_Alert_Error","Portal_Alert_Info","Portal_Alert_Warning","faTriangleExclamation","Portal_Error","Portal_CreditCheck_Status_Pending","faHourglass","Portal_CreditCheck_Status_Approved","Portal_CreditCheck_Status_Declined","Portal_User","Portal_Truck","NOA_NoNOAOnFile","faFileCircleXmark","NOA_NoNOAVerification","faHandshakeSlash","NOA_Pending","NOA_RequestSent","NOA_Verified","POD_File","circleInfo","phone","faPhone","sendEmail","triangleExclamation","held","clock","person_run","faPersonWalkingArrowLoopLeft","copy","NavigateFirst","faBackwardStep","NavigatePrevious","faCaretLeft","NavigateNext","NavigateLast","faForwardStep","InvoiceDetails","Collection","Verificaion","AutiVerifyError","AutiVerifyWaiting","faClock","AutiVerifySuccess","AutiVerifyWarning","InvoiceSearchFilterAdd","BoardArrowDown","grid","faTh","feedback","faComments","ICON_MAP","fromEntries","entries","_","getIconByName","Chargebacks","FontAwesomeIcon","icon","inputRef","useRef","isLoginEnabled","setIsLoginEnabled","setErrors","loginClick","event","focus","showErrors","_message$","role","preventDefault","MaskConverter","mask","maskChar","transformInput","NumberMaskConverter","applyMask","numbers","maskIndex","numIndex","removeMask","getMaskLength","char","DefaultMaskConverter","charIndex","maskChars","Set","XLMaskedTextbox","converter","maskConverter","rawValue","newValue","setTimeout","withMask","LoginCodeValidate","isValidateEnabled","setIsValidateEnabled","verifyClick","LoginTemplate","_Fragment","UserVerify","ConfirmPassword","isSetupPasswordEnabled","setIsSetupPasswordEnabled","setShowPassword","showConfirmPassword","setShowConfirmPassword","setupPasswordClick","htmlFor","tabIndex","AddAuthApplication","isCompleteEnabled","setIsCompleteEnabled","setupClick","alt","src","minWidth","RegisterSuccess","UserInvalid","RegisterTemplate","CarrierController","getCarriersForLogin","invoiceGKey","ActionsList","_carriers$length","carrierController","carriers","setCarriers","filledHeight","setFilledHeight","logoRef","boRef","headerRef","_logoRef$current$clie","_boRef$current$client","_headerRef$current$cl","preFilledHeight","clientHeight","vh100","innerHeight","addEventListener","removeEventListener","then","Carriers","Invoice","Carrier","InvoiceKey","paths","p","idx","lastIndexOf","maxHeight","minHeight","item","portalCarrierClick","CarrierId","LoginPasswordAuthRoot","backgroundColor","loggerInstance","LogCategoryEnum","LogPriorityEnum","initializeGlobalErrorHandler","extractStackString","stackframes","StackTrace","all","sf","fileName","lineNumber","columnNumber","functionName","logError","ErrorEvent","reason","errorType","extractError","getLogger","CreatedOn","ExceptionKey","Category","Exception","Priority","High","Source","initializeCatchAndLog","loggerConstructor","setLogger","SystemController","payload","isRegularAuthUse","withSystemLogger","App","ReactDOM","getElementById","render","webpackContext","req","webpackContextResolve","__webpack_require__","module","exports"],"sourceRoot":""}