{"version":3,"file":"static/js/4169.8c508c45.chunk.js","mappings":"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","sources":["features/Helpers.tsx","features/Login/LoginStyle.tsx","shared/assets/MicrosoftLogo.tsx","features/Login/Login.tsx","shared/hooks/useForm.tsx","shared/services/toastService.ts"],"sourcesContent":["import moment from \"moment\";\r\nimport { Attachment } from \"shared/models/ProcessTemplate\";\r\nimport { deepCopyFrom } from \"shared/services/deepCopyFrom\";\r\n\r\nexport function trimObject(obj) {\r\n\tif (!Array.isArray(obj) && typeof obj != \"object\") return obj;\r\n\tif (Array.isArray(obj)) return obj.map((x) => trimObject(x));\r\n\treturn Object.keys(obj).reduce(\r\n\t\tfunction (acc, key) {\r\n\t\t\tif (typeof obj[key] == \"string\") {\r\n\t\t\t\tacc[key.trim()] = obj[key].trim();\r\n\t\t\t} else {\r\n\t\t\t\tif (obj[key] == null) acc[key.trim()] = \"\";\r\n\t\t\t\telse acc[key.trim()] = trimObject(obj[key]);\r\n\t\t\t}\r\n\t\t\treturn acc;\r\n\t\t},\r\n\t\tArray.isArray(obj) ? [] : {}\r\n\t);\r\n}\r\n\r\nexport function clamp(value, a, b) {\r\n\treturn value < a ? a : value > b ? b : value;\r\n}\r\n\r\n/** Changes an element's position in the array */\r\nexport const arrayMove = (arr: any[], from: number, to: number) => {\r\n\tarr.splice(to, 0, arr.splice(from, 1)[0]);\r\n};\r\n\r\nexport function SimpleDate(utcDate: Date) {\r\n\treturn `${utcDate.getDate()} ${utcDate.toLocaleString(\"default\", {\r\n\t\tmonth: \"short\",\r\n\t})}. ${utcDate.getFullYear()}`;\r\n}\r\n\r\nexport const reorderAttachments = (arr: Attachment[], from: number, to: number): Attachment[] => {\r\n\tconst arrCopy = deepCopyFrom(arr) as Attachment[];\r\n\tfor (let i = 0; i < arr.length; i++) {\r\n\t\tconst a = arr[i];\r\n\t\tconst b = arrCopy[i];\r\n\t\tconst movedDown = from > to;\r\n\r\n\t\tconst insideRange =\r\n\t\t\tNumber.isInteger(a.stepIndex) &&\r\n\t\t\t((movedDown && a.stepIndex! >= to && a.stepIndex! <= from) ||\r\n\t\t\t\t(!movedDown && a.stepIndex! <= to && a.stepIndex! >= from));\r\n\r\n\t\tif (!insideRange) continue;\r\n\t\tif (a.stepIndex == from) {\r\n\t\t\tb.stepIndex = to;\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tb.stepIndex! += movedDown ? 1 : -1;\r\n\t}\r\n\treturn arrCopy;\r\n};\r\n","import { makeStyles } from \"@material-ui/core\";\r\n\r\nexport const useStyles = makeStyles((theme) => ({\r\n\troot: {\r\n\t\tdisplay: \"flex\",\r\n\t\tminWidth: \"100vw\",\r\n\t\tminHeight: \"100vh\",\r\n\t\talignItems: \"center\",\r\n\t\tjustifyContent: \"center\",\r\n\t},\r\n\tformContainer: {\r\n\t\twidth: 420,\r\n\t\theight: \"100%\",\r\n\t\tdisplay: \"flex\",\r\n\t\tflexDirection: \"column\",\r\n\t\talignItems: \"center\",\r\n\t\tpaddingInline: 34,\r\n\t},\r\n\r\n\tloginButton: {\r\n\t\tborderRadius: theme.shape.borderRadiusPill,\r\n\t\tpadding: \"8px 16px\",\r\n\t\tborder: `1px solid ${theme.palette.divider}`,\r\n\t\theight: 50,\r\n\t\twidth: \"30ch\",\r\n\t\ttextTransform: \"none\",\r\n\t\tcolor: theme.palette.text.primary,\r\n\t\tbackground: \"none\",\r\n\t\tdisplay: \"flex\",\r\n\t\tgap: \"12px\",\r\n\t\twhiteSpace: \"nowrap\",\r\n\t\tfontSize: \"1rem\",\r\n\t\tfontWeight: \"bold\",\r\n\t\t\"&:focus\": {\r\n\t\t\toutline: \"none\",\r\n\t\t},\r\n\t},\r\n\tform: {\r\n\t\twidth: \"100%\",\r\n\t\tdisplay: \"flex\",\r\n\t\tflexDirection: \"column\",\r\n\t\talignItems: \"center\",\r\n\t\tpadding: \"16px\",\r\n\t\tmarginBottom: \"12px\",\r\n\t\tgap: \"16px\",\r\n\t},\r\n\tformHeader: {\r\n\t\tfontSize: \"20px\",\r\n\t\tmargin: \"30px 0\",\r\n\t\tcolor: theme.palette.text.primary,\r\n\t},\r\n\tformInput: {\r\n\t\tbackground: \"#F5F5F5\",\r\n\t\tappearance: \"none\",\r\n\t\tborder: \"none\",\r\n\t\twidth: \"100%\",\r\n\t\tmarginLeft: 12,\r\n\t\t\"&:focus\": {\r\n\t\t\toutline: \"none\",\r\n\t\t},\r\n\t},\r\n\tforgotPassword: {\r\n\t\tletterSpacing: 0,\r\n\t\tfontSize: \"12px\",\r\n\t\twidth: \"100%\",\r\n\t\tdisplay: \"flex\",\r\n\t\tjustifyContent: \"center\",\r\n\t\t\"& > a\": {\r\n\t\t\tcursor: \"pointer\",\r\n\t\t\twidth: \"fit-content\",\r\n\t\t\tcolor: theme.palette.text.primary,\r\n\t\t\tfontWeight: \"bold\",\r\n\t\t\ttextDecoration: \"underline\",\r\n\t\t\tfontSize: 16,\r\n\t\t},\r\n\t},\r\n\tboldText: {\r\n\t\tfontWeight: \"bold\",\r\n\t\tcursor: \"pointer\",\r\n\t},\r\n\tmicrosoftLogo: {\r\n\t\theight: \"24px\",\r\n\t\tmaxWidth: \"24px\",\r\n\t},\r\n}));\r\n","import React from \"react\";\r\n\r\ninterface Props {\r\n\tcolor?: string;\r\n\tclassName?: string;\r\n\tremoveOutline?: boolean;\r\n}\r\n\r\nexport const MicrosoftLogo = ({ color, className, removeOutline = true }: Props) => (\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n);\r\n","import React, { ReactElement, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { useStyles } from \"./LoginStyle\";\r\nimport CarradaleLogo from \"../../shared/components/Icons/CarradaleLogo\";\r\nimport { ApplicationState } from \"../../app/rootReducer\";\r\nimport { AppDispatch } from \"index\";\r\nimport { Button } from \"@mui/material\";\r\nimport { useMsal } from \"@azure/msal-react\";\r\nimport { IPublicClientApplication } from \"@azure/msal-browser\";\r\nimport { MicrosoftLogo } from \"../../shared/assets/MicrosoftLogo\";\r\nimport { loginRequest } from \"../../config\";\r\nimport { microsoftAuthLogin, setTokens } from \"app/auth/authSlice\";\r\n\r\nimport InputWithValidation from \"shared/components/Inputs/InputWithValidation\";\r\nimport EmailIcon from \"@mui/icons-material/AlternateEmail\";\r\nimport PasswordIcon from \"@mui/icons-material/Lock\";\r\nimport { ILoginCredentials } from \"shared/models/ILoginCredentials\";\r\nimport { handleLogin } from \"app/auth/authService\";\r\nimport { show } from \"shared/components/Toast/toastSlice\";\r\nimport { useFormHook } from \"shared/hooks/useForm\";\r\nimport { noneRoutes } from \"app/routes/byRole/enums/none\";\r\nimport { showToast } from \"shared/services/toastService\";\r\nimport { theme } from \"app/themes\";\r\nimport { useLocation } from \"react-router\";\r\n\r\ninterface Props {}\r\n\r\nexport default function Auth(props: Props): ReactElement {\r\n\tconst dispatch = useDispatch();\r\n\tconst isLoggedIn = useSelector((state: ApplicationState) => state.auth.isLoggedIn);\r\n\tconst history = useHistory();\r\n\tconst classes = useStyles();\r\n\tconst { formHook, formErrors, setFormErrors } = useFormHook();\r\n\tconst { search } = useLocation();\r\n\tconst params = new URLSearchParams(search);\r\n\tconst token = params.get(\"token\");\r\n\r\n\tconst { instance } = useMsal();\r\n\r\n\tconst handleAdLogin = (instance: IPublicClientApplication) => {\r\n\t\tinstance\r\n\t\t\t.loginPopup(loginRequest())\r\n\t\t\t.then((loginResponse) => {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tsetTokens({\r\n\t\t\t\t\t\taccessToken: loginResponse.accessToken,\r\n\t\t\t\t\t\texpiresOn: loginResponse.expiresOn?.getTime(),\r\n\t\t\t\t\t\trefreshToken: \"\",\r\n\t\t\t\t\t\ttype: \"microsoft\",\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t\tdispatch(microsoftAuthLogin(token))\r\n\t\t\t\t\t.unwrap()\r\n\t\t\t\t\t.then((data) => {\r\n\t\t\t\t\t\tif (!data.redirect.url) {\r\n\t\t\t\t\t\t\thistory.push(\"/\");\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst path = data.redirect.url.replace(window.location.origin, \"\");\r\n\t\t\t\t\t\t\thistory.push(path);\r\n\r\n\t\t\t\t\t\t\tif (!!data.redirect.info) {\r\n\t\t\t\t\t\t\t\tshowToast(data.redirect.info, \"info\");\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\t.catch(() => {\r\n\t\t\t\t\t\tshowToast(\"User was not found\", \"error\");\r\n\t\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((e) => {\r\n\t\t\t\tif (e.errorCode === \"user_cancelled\" || e.errorCode === \"interaction_in_progress\") return;\r\n\t\t\t\tshowToast(\"A Microsoft error has occured.\", \"error\");\r\n\t\t\t});\r\n\t};\r\n\r\n\tconst onSubmit = formHook.handleSubmit((data: ILoginCredentials) => {\r\n\t\tif (!!token) {\r\n\t\t\tdata.redirectToken = token;\r\n\t\t}\r\n\r\n\t\thandleLogin(data)\r\n\t\t\t.then((data) => {\r\n\t\t\t\tif (!data.redirect.url) {\r\n\t\t\t\t\thistory.push(\"/\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst path = data.redirect.url.replace(window.location.origin, \"\");\r\n\t\t\t\t\thistory.push(path);\r\n\r\n\t\t\t\t\tif (!!data.redirect.info) {\r\n\t\t\t\t\t\tshowToast(data.redirect.info, \"info\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((e) => {\r\n\t\t\t\tif (e.errors?.[\"Toast\"]) {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tshow({\r\n\t\t\t\t\t\t\tmessage: e.errors[\"Toast\"],\r\n\t\t\t\t\t\t\tstyle: \"error\",\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsetFormErrors(e.errors);\r\n\t\t\t});\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\tLogin\r\n\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\ttype=\"password\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tForgot your password?\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tLogin\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t handleAdLogin(instance)}>\r\n\t\t\t\t\t\r\n\t\t\t\t\tLogin with Microsoft\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { useEffect, useState } from \"react\";\r\nimport {\r\n\tDeepPartial,\r\n\tFieldName,\r\n\tFieldValue,\r\n\tFieldValues,\r\n\tInternalFieldName,\r\n\tUnpackNestedValue,\r\n\tuseForm,\r\n} from \"react-hook-form\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router\";\r\nimport { capitalize } from \"shared/components/Inputs/InputHelpers\";\r\nimport { trimObject } from \"../../features/Helpers\";\r\nimport { show } from \"../components/Toast/toastSlice\";\r\n\r\ntype CustomSubmitProps = [\r\n\tsubmitFunction: (data: T) => Promise>,\r\n\tdata: T,\r\n\ttoastMessage?: string,\r\n\treturnResponse?: boolean,\r\n\tonSuccess?: (res: GetResponseForPromise) => void | Promise,\r\n\tonFailure?: (err: Record) => void,\r\n\toptions?: {\r\n\t\tisArray?: boolean;\r\n\t\tshowToastError?: boolean;\r\n\t}\r\n];\r\ntype GetResponseForPromise = Prom extends (...data: any[]) => Promise ? Res : never;\r\ntype AnyPromise = (...data: any[]) => Promise;\r\n\r\nconst getMessageForType = (name: string, errorType: string) => {\r\n\tswitch (errorType) {\r\n\t\tcase \"required\":\r\n\t\t\treturn `${capitalize(name)} is required.`;\r\n\t\tcase \"minLength\":\r\n\t\t\treturn `${capitalize(name)} is not long enough.`;\r\n\t\tcase \"maxLength\":\r\n\t\t\treturn `${capitalize(name)} is too long.`;\r\n\t\tcase \"pattern\":\r\n\t\t\treturn `${capitalize(name)} is invalid.`;\r\n\t}\r\n};\r\n\r\nexport function useFormHook(\r\n\tdefaultValues?: UnpackNestedValue>,\r\n\tuseToastErrors?: boolean\r\n) {\r\n\tconst history = useHistory();\r\n\tconst formHook = useForm({\r\n\t\tdefaultValues: defaultValues,\r\n\t});\r\n\tconst dispatch = useDispatch();\r\n\tconst [formErrors, setFormErrors] = useState>>();\r\n\tconst [dirty, setDirty] = useState(false);\r\n\tconst defaultSubmit = formHook.handleSubmit;\r\n\r\n\tconst trimmedFormValues = (data: any) => {\r\n\t\treturn trimObject(data);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tsetDirty(formHook.formState.isDirty);\r\n\t}, [formHook.formState.isDirty]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!useToastErrors) return;\r\n\t\tconst firstKey = Object.keys(formHook.errors)[0];\r\n\t\tif (!firstKey) return;\r\n\r\n\t\tconst error: any = formHook.errors[firstKey];\r\n\t\tif (error?.type) {\r\n\t\t\tconst message = getMessageForType(firstKey, error.type);\r\n\t\t\tdispatch(show({ message, style: \"error\" }));\r\n\t\t}\r\n\t}, [formHook.errors]);\r\n\r\n\tconst customSubmit = (...props: CustomSubmitProps) => {\r\n\t\tconst [submitFunction, data, toastMessage, returnResponse, onSuccess, onFailure, options] = props;\r\n\r\n\t\tif (Object.keys(formHook.errors).length === 0) {\r\n\t\t\treturn submitFunction({ ...trimmedFormValues(data) })\r\n\t\t\t\t.then((res: any) => {\r\n\t\t\t\t\tif (toastMessage) {\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tshow({\r\n\t\t\t\t\t\t\t\tmessage: toastMessage,\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\tsetDirty(false);\r\n\t\t\t\t\tsetFormErrors({});\r\n\t\t\t\t\tif (onSuccess) onSuccess(res);\r\n\t\t\t\t\tif (returnResponse) return res;\r\n\t\t\t\t\thistory.goBack();\r\n\t\t\t\t})\r\n\t\t\t\t.catch((errors) => {\r\n\t\t\t\t\tsetFormErrors(errors?.response?.data?.errors);\r\n\t\t\t\t\tonFailure?.(errors?.response?.data?.errors);\r\n\t\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tformHook.handleSubmit = (\r\n\t\t...params: Parameters>\r\n\t): any => {\r\n\t\tconst [onValid, onInvalid] = params;\r\n\t\treturn defaultSubmit(onValid);\r\n\t};\r\n\r\n\treturn {\r\n\t\tformHook,\r\n\t\tformErrors,\r\n\t\tsetFormErrors,\r\n\t\tcustomSubmit,\r\n\t\tdirty,\r\n\t\tsetDirty,\r\n\t};\r\n}\r\n","import { hide, show, ToastStyle } from \"../components/Toast/toastSlice\";\r\nimport store from \"index\";\r\n\r\nexport const showToast = (\r\n\tmessage: string,\r\n\tstyle: ToastStyle = \"success\",\r\n\tcustomTimeoutSeconds?: number\r\n) => {\r\n\tstore.dispatch(show({ message: message, style, customTimeoutSeconds }));\r\n};\r\n\r\nexport const hideToast = () => {\r\n\tstore.dispatch(hide());\r\n};\r\n"],"names":["trimObject","obj","Array","isArray","map","x","Object","keys","reduce","acc","key","trim","SimpleDate","utcDate","concat","getDate","toLocaleString","month","getFullYear","useStyles","makeStyles","theme","root","display","minWidth","minHeight","alignItems","justifyContent","formContainer","width","height","flexDirection","paddingInline","loginButton","borderRadius","shape","borderRadiusPill","padding","border","palette","divider","textTransform","color","text","primary","background","gap","whiteSpace","fontSize","fontWeight","outline","form","marginBottom","formHeader","margin","formInput","appearance","marginLeft","forgotPassword","letterSpacing","cursor","textDecoration","boldText","microsoftLogo","maxWidth","MicrosoftLogo","_ref","className","_ref$removeOutline","removeOutline","_jsxs","xmlns","viewBox","children","_jsx","fill","d","Auth","props","dispatch","useDispatch","history","useSelector","state","auth","isLoggedIn","useHistory","classes","_useFormHook","useFormHook","formHook","formErrors","setFormErrors","search","useLocation","token","URLSearchParams","get","instance","useMsal","onSubmit","handleSubmit","data","redirectToken","handleLogin","then","redirect","url","path","replace","window","location","origin","push","info","showToast","catch","e","_e$errors","errors","show","message","style","CarradaleLogo","InputWithValidation","type","name","label","customErrors","icon","EmailIcon","PasswordIcon","Link","to","noneRoutes","Button","onClick","loginPopup","loginRequest","loginResponse","_loginResponse$expire","setTokens","accessToken","expiresOn","getTime","refreshToken","microsoftAuthLogin","unwrap","errorCode","handleAdLogin","getMessageForType","errorType","capitalize","defaultValues","useToastErrors","useForm","_useState","useState","_useState2","_slicedToArray","_useState3","_useState4","dirty","setDirty","defaultSubmit","useEffect","formState","isDirty","firstKey","error","_len2","arguments","length","params","_key2","onValid","customSubmit","_len","_key","submitFunction","toastMessage","returnResponse","onSuccess","onFailure","_objectSpread","trimmedFormValues","res","goBack","_errors$response","_errors$response$data","_errors$response2","_errors$response2$dat","response","undefined","customTimeoutSeconds","store"],"sourceRoot":""}