{"version":3,"sources":["forgot-password-questionmarks.svg","forgot-password-email.svg","escreen.png","Abbott_logo.png","question1.png","question2.png","question3.png","helpers/steps.js","controls/BackButton.js","controls/ResetQuestionsImage.js","controls/EmailImage.js","controls/Heading.js","components/LogoHeader.js","components/UsernameControl.js","components/LogoHeaderAndUsername.js","components/LogoFooter.js","components/ForgotPassword.js","controls/ErrorContainer.js","helpers/uris.js","components/ForgotUsername.js","components/ForgotUsernameReminderSent.js","helpers/searchParameters.js","components/ForgotUsernameRetrieval.js","components/PasswordEntry.js","components/ResetPasswordAndConfirm.js","components/ResetPasswordViaEmail.js","components/ResetPasswordViaEmailSent.js","controls/QuestionsImage.js","components/ResetPasswordViaSecretQuestion.js","components/UsernameEntry.js","components/AccountLocked.js","components/ResetPasswordHasBeenReset.js","components/SelectClinic.js","helpers/getSettings.js","components/IncorrectAccountConfiguration.js","components/LoginWizard.js","components/LoginContainer.js","App.js","helpers/urlHelperFunctions.js","registerServiceWorker.js","index.js"],"names":["module","exports","stepPages","UsernameEntry","ForgotUsername","ForgotUsernameReminderSent","PasswordEntry","ForgotPassword","ResetPasswordViaSecretQuestion1","ResetPasswordViaSecretQuestion2","ResetPasswordViaSecretQuestion3","ResetPasswordViaEmail","ResetPasswordViaEmailSent","ResetPasswordAndConfirm","AccountLocked","ResetPasswordHasBeenReset","SelectClinic","ForgotUserNameRetrieval","IncorrectAccountConfiguration","BackButton","props","className","type","onClick","goToStep","step","id","myId","icon","faAngleLeft","ResetQuestionsImage","src","questions","alt","EmailImage","email","Heading","message","messageStr","toUpperCase","client","clientStr","newClient","startsWith","replace","LogoHeader","escreen","clientName","UsernameControl","faUserCircle","width","height","username","LogoHeaderAndUsername","LogoFooter","abbottLogo","returnUrl","useState","resetViaEmailEnabled","setResetViaEmailEnabled","challengeQuestionSupported","setIsChallengeQuestionRecovery","lastOptionNumber","setLastOptionNumber","getOptionNumber","useEffect","isActive","setAnswer1","setAnswer2","setAnswer3","userEmail","settings","featuresSupported","ForgotPasswordEmailRecovery","ForgotPasswordChallengeQuestionsRecovery","style","margin","display","marginLeft","ErrorContainer","errorDescription","faTimes","uris","resetpassword","challengeQuestions","answerChallenges","verifyusername","verifypassword","sendusernamereminder","sendresetpasswordrequest","retrieveusername","userclinics","clientsettings","redirecttoclientapplication","emailInput","createRef","setErrorDescription","submit","event","preventDefault","inputText","current","value","validator","isEmail","isValidEmail","sendEmail","emailAddress","form","FormData","append","axios","method","url","data","headers","then","res","status","document","getElementById","reset","setForgotUsernameReminderEmail","catch","error","response","focus","onSubmit","e","htmlFor","ref","forgotUsernameReminderEmail","searchParameters","guidSearchParameter","returnUrlSearchParameter","redirect_uri","ForgotUsernameRetrieval","setUsername","setClientName","guid","URLSearchParams","window","location","search","get","requestGuid","console","log","retrieveUsername","newValue","params","clientId","redirectUrl","href","passwordInput","returnUrlValue","isPasswordRecoverySupported","setIsPasswordRecoverySupported","trim","verifyUserAndPassword","eScreenRedirectURI","resetPasswordToken","resetPasswordReason","setResetPasswordReason","setResetPasswordToken","passwordrescomInput","defaultError","resetReasonText","setResetReasonText","userName","password","setPassword","confirmPassword","setConfirmPassword","updateClientName","reasonText","onChange","evt","target","required","onBlur","hasResetPasswordEmailBeenSent","setHasResetPasswordEmailBeenSent","usernameInput","sendResetPasswordEmail","setForgotPasswordReminderEmail","disabled","forgotPasswordReminderEmail","QuestionsImage","number","source","question1","question2","question3","ResetPasswordViaSecretQuestion","readyToLoad","num","setCurrent","question","setQuestion","canAnswer","setCanAnswer","setIsChallengeQuestionSupported","answer","length","answer1","answer2","answer3","inputClassName","showButtonContent","faEye","color","hideButtonContent","faEyeSlash","buttonStyles","backgroundColor","a","setCurrentAnswer","changeRequestId","inFrame","isCertUser","setIsCertUser","isFimSite","setIsFimSite","isForgotUserNameSupported","setIsforgotUserNameSupported","clearStatesProp","acrValues","splitAcrValues","split","certUserValue","map","x","y","filter","certuser","fimSiteValue","fimsite","verifyUserName","challengeUrl","top","parent","frames","open","updateUserEmail","updateUserName","newname","updateUser","placeholder","whiteSpace","accountLockedErrorMessage","clientServicesPhoneNumber","select","clinic","setClinic","loading","setLoading","label","clinics","setClinics","clinicName","siteId","populateClinics","key","landingPage","URL","searchParams","getSettings","setFunc","setErrorFunc","defaultErrorMsg","setSettings","setError","identityServerLoginUrl","LoginWizard","setState","setUserEmail","setReturnUrl","state","setInitialQuestion","passwordEntryShowError","this","timeout_url","setTimeout","isHashEnabled","hashKey","userNameUpdater","React","Component","LoginContainer","App","waitListUrl","termsOfUseUrl","privacyPolicyUrl","getClientId","ShowWaitList","faArrowLeft","Boolean","hostname","match","baseUrl","getElementsByTagName","getAttribute","rootElement","defaults","baseURL","withCredentials","setToken","token","tokenName","sessionStorage","setItem","common","addEventListener","includes","origin","getItem","r","initializeXsrfToken","ReactDOM","render","BrowserRouter","basename","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.37bcbcfb.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/forgot-password-questionmarks.6b854f15.svg\";","module.exports = __webpack_public_path__ + \"static/media/forgot-password-email.5f6b38e9.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","const stepPages = {\r\n UsernameEntry: 1,\r\n ForgotUsername: 2,\r\n ForgotUsernameReminderSent: 3,\r\n PasswordEntry: 4,\r\n ForgotPassword: 5,\r\n ResetPasswordViaSecretQuestion1: 6,\r\n ResetPasswordViaSecretQuestion2: 7,\r\n ResetPasswordViaSecretQuestion3: 8,\r\n ResetPasswordViaEmail: 9,\r\n ResetPasswordViaEmailSent: 10,\r\n ResetPasswordAndConfirm: 11,\r\n AccountLocked: 12,\r\n ResetPasswordHasBeenReset: 13,\r\n SelectClinic: 14,\r\n ForgotUserNameRetrieval: 15,\r\n IncorrectAccountConfiguration: 16\r\n};\r\n\r\nexport default stepPages;\r\n","import React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAngleLeft } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst BackButton = (props) => {\r\n \r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default BackButton;","import React from 'react';\r\nimport questions from '../forgot-password-questionmarks.svg';\r\n\r\nconst ResetQuestionsImage = () => {\r\n\r\n return ( \r\n
\r\n {\"Reset\r\n
\r\n );\r\n};\r\n\r\nexport default ResetQuestionsImage;","import React from 'react';\r\nimport email from '../forgot-password-email.svg';\r\n\r\nconst EmailImage = () => {\r\n return ( \r\n
\r\n {\"Email\"}\r\n
\r\n );\r\n};\r\n\r\nexport default EmailImage;","import React from \"react\";\r\n\r\nfunction Heading(props) {\r\n let message = ( props.messageStr ? props.messageStr.toUpperCase() : '' );\r\n let client = ( props.clientStr ? props.clientStr.toUpperCase() : '' );\r\n let newClient = \"\";\r\n \r\n\r\n if (client && client.startsWith(\"ESCREEN\")) {\r\n newClient = client.replace('ESCREEN', 'eSCREEN');\r\n }\r\n \r\n return (\r\n

\r\n {message} {(newClient !== \"\" ? newClient : client)}\r\n

\r\n );\r\n}\r\n\r\nexport default Heading","import React from 'react';\r\nimport escreen from '../escreen.png';\r\nimport Heading from '../controls/Heading';\r\n\r\nconst LogoHeader = (props) => {\r\n return ( \r\n
\r\n
\r\n {\"Logo\"}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LogoHeader;","import React from \"react\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faUserCircle } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst UsernameControl = ( props ) => {\r\n return (\r\n
\r\n
\r\n

{props.username}

\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default UsernameControl;\r\n","import React from 'react';\r\nimport LogoHeader from './LogoHeader';\r\nimport UsernameControl from './UsernameControl';\r\n\r\nconst LogoHeaderAndUsername = ( props ) => {\r\n return ( \r\n
\r\n \r\n \r\n
);\r\n};\r\n\r\nexport default LogoHeaderAndUsername;","import React from 'react';\r\nimport abbottLogo from '../Abbott_logo.png';\r\n\r\nconst LogoFooter = (props) => {\r\n return (\r\n
\r\n
\r\n {\"Abbott\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LogoFooter;","import React, { useEffect, useState } from \"react\";\r\nimport stepPages from \"../helpers/steps\";\r\nimport BackButton from \"../controls/BackButton\";\r\nimport ResetQuestionsImage from \"../controls/ResetQuestionsImage\";\r\nimport EmailImage from \"../controls/EmailImage\";\r\nimport LogoHeaderAndUsername from \"./LogoHeaderAndUsername\";\r\nimport LogoFooter from \"./LogoFooter\";\r\n\r\nconst ForgotPassword = props => {\r\n let returnUrlValue = props.returnUrl;\r\n const [resetViaEmailEnabled, setResetViaEmailEnabled] = useState(false);\r\n const [challengeQuestionSupported, setIsChallengeQuestionRecovery] = useState(false);\r\n const [lastOptionNumber, setLastOptionNumber] = useState(2);\r\n const gotoResetViaSecretQuestions = () => {\r\n props.goToStep(stepPages.ResetPasswordViaSecretQuestion1);\r\n };\r\n\r\n const gotoResetViaEmail = () => {\r\n props.goToStep(stepPages.ResetPasswordViaEmail);\r\n };\r\n\r\n const getOptionNumber = () => {\r\n if(challengeQuestionSupported && resetViaEmailEnabled){\r\n return 2;\r\n }\r\n return 1;\r\n }\r\n\r\n useEffect(() => {\r\n if(props.isActive){\r\n props.setAnswer1(\"\");\r\n props.setAnswer2(\"\");\r\n props.setAnswer3(\"\");\r\n }\r\n if(props.userEmail && props.settings.featuresSupported.ForgotPasswordEmailRecovery){\r\n setResetViaEmailEnabled(true);\r\n }\r\n if (props.settings.featuresSupported.ForgotPasswordChallengeQuestionsRecovery){\r\n setIsChallengeQuestionRecovery(true);\r\n }\r\n setLastOptionNumber(getOptionNumber);\r\n \r\n }, [props.isActive, props.userEmail, props.settings])\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Choose password reset method

\r\n
\r\n { challengeQuestionSupported && \r\n
\r\n
\r\n \r\n

Option 1 - Secret Questions

\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n

Option {lastOptionNumber} - Email

\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 ForgotPassword;\r\n","import React from \"react\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst ErrorContainer = props => {\r\n return (\r\n props.errorDescription && (\r\n
\r\n
\r\n \r\n
\r\n {props.errorDescription}\r\n
\r\n
\r\n
\r\n )\r\n );\r\n};\r\n\r\nexport default ErrorContainer;\r\n","const uris = {\r\n resetpassword: \"api/resetpassword\",\r\n challengeQuestions: \"api/challengeQuestions\",\r\n answerChallenges: \"api/answerChallenges\",\r\n verifyusername: \"api/verifyuser\",\r\n verifypassword: \"api/verifypassword\",\r\n sendusernamereminder: \"api/sendusernamereminder\",\r\n sendresetpasswordrequest: \"api/sendresetpasswordrequest\",\r\n retrieveusername: \"api/retrieveusername\",\r\n userclinics: \"api/userclinics\",\r\n settings: \"api/settings\",\r\n clientsettings:\"api/clientsettings\",\r\n redirecttoclientapplication: \"api/redirecttoclientapplication\"\r\n};\r\nexport default uris;","import React, { createRef, useState, useEffect } from \"react\";\r\nimport BackButton from \"../controls/BackButton\";\r\nimport LogoHeader from \"./LogoHeader\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport stepPages from \"../helpers/steps\";\r\nimport validator from \"validator\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\nimport axios from \"axios\";\r\nimport uris from \"../helpers/uris\";\r\n\r\nconst ForgotUsername = props => {\r\nconst [email, setEmail] = useState(null);\r\nlet emailInput = createRef();\r\n \r\nconst [errorDescription, setErrorDescription] = useState(null);\r\n\r\nconst isValidEmail = email => {\r\n if(!email){\r\n return false;\r\n }\r\n return validator.isEmail(email);\r\n};\r\n\r\nconst submit = (event) => {\r\n event.preventDefault();\r\n const inputText = emailInput.current.value;\r\n\r\n if (!isValidEmail(inputText)) {\r\n setErrorDescription(\"Please enter a valid email\");\r\n return;\r\n }\r\n sendEmail(inputText);\r\n};\r\n\r\nconst sendEmail = (emailAddress) => {\r\n const defaultError = \"An error occurred. Could not send out a username reminder email.\";\r\n \r\n var form = new FormData();\r\n form.append(\"email\", emailAddress);\r\n form.append(\"clientName\", props.settings.clientName);\r\n axios({\r\n method: \"post\",\r\n url: uris.sendusernamereminder,\r\n data: form,\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n if (res.status === 200) {\r\n setErrorDescription(\"\");\r\n document.getElementById(\"fusForm\").reset();\r\n props.setForgotUsernameReminderEmail(emailAddress);\r\n props.goToStep(stepPages.ForgotUsernameReminderSent);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.response && error.response.status > 200) {\r\n if (error.response.data) {\r\n setErrorDescription(error.response.data);\r\n return;\r\n }\r\n }\r\n setErrorDescription(defaultError);\r\n });\r\n};\r\n\r\nuseEffect(() => {\r\n if(props.isActive){\r\n setErrorDescription(null);\r\n emailInput.current.focus();\r\n }\r\n}, [props.isActive]);\r\n\r\nreturn (\r\n
submit(e)}>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Forgot Your Username?

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

\r\n We can send you a reminder to your email address or see\r\n your Clinic Manager for assistance.\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};\r\n\r\nexport default ForgotUsername;\r\n","import React from \"react\";\r\nimport LogoHeader from \"./LogoHeader\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport stepPages from '../helpers/steps';\r\n\r\nconst ForgotUsernameReminderSent = props => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n

A username reminder has been sent to

\r\n

{props.forgotUsernameReminderEmail}

\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 ForgotUsernameReminderSent;\r\n","const searchParameters = {\r\n guidSearchParameter: \"g\",\r\n returnUrlSearchParameter: \"ReturnUrl\",\r\n redirect_uri:\"redirect_uri\",\r\n};\r\nexport default searchParameters;","import React, {useState, useEffect } from \"react\";\r\nimport LogoHeader from \"./LogoHeader\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\nimport stepPages from \"../helpers/steps\";\r\nimport uris from \"../helpers/uris\";\r\nimport searchParameters from \"../helpers/searchParameters\";\r\nimport axios from \"axios\";\r\n\r\nconst ForgotUsernameRetrieval = ({goToStep, isActive}) => {\r\n\r\n const [errorDescription, setErrorDescription] = useState(null);\r\n const [username, setUsername] = useState(\"\");\r\n const [clientName, setClientName] = useState(\"eScreen123\");\r\n \r\n const returnToClient = (newValue) => {\r\n axios({\r\n method: \"get\",\r\n url: uris.redirecttoclientapplication,\r\n params: {\r\n clientId : clientName,\r\n },\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n var redirectUrl = res.data.url;\r\n if(redirectUrl){\r\n window.location.href = redirectUrl;\r\n }\r\n })\r\n .catch((error) => {\r\n setErrorDescription(\"Unknown Error Occured\");\r\n })\r\n };\r\n \r\n function retrieveUsername(requestGuid) {\r\n \r\n let defaultError = \"Username could not be retrieved\";\r\n\r\n var form = new FormData();\r\n form.append(\"guid\", requestGuid);\r\n axios({\r\n method: \"post\",\r\n url: uris.retrieveusername,\r\n data: form,\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n if (res.status === 200) {\r\n console.log(res);\r\n setErrorDescription(\"\");\r\n setUsername(res.data.username)\r\n setClientName(res.data.clientName);\r\n return;\r\n }\r\n return;\r\n })\r\n .catch((error) => {\r\n if (error.response && error.response.status === 400) {\r\n if (error.response.data) {\r\n setErrorDescription(defaultError);\r\n return;\r\n }\r\n }\r\n setErrorDescription(defaultError);\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n var guid = urlParams.get(searchParameters.guidSearchParameter);\r\n \r\n if (isActive && guid) {\r\n retrieveUsername(guid);\r\n return;\r\n }\r\n if (isActive && !guid) {\r\n goToStep(stepPages.UsernameEntry);\r\n }\r\n }, [isActive]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Here is your username:

\r\n

{username}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Return to Login\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 ForgotUsernameRetrieval;\r\n","import React, { createRef, useState, useEffect } from \"react\";\r\nimport LogoHeader from \"./LogoHeader\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport axios from \"axios\";\r\nimport FormData from \"form-data\";\r\nimport stepPages from \"../helpers/steps\";\r\nimport uris from \"../helpers/uris\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\nimport UsernameControl from \"./UsernameControl\";\r\nimport BackButton from \"../controls/BackButton\";\r\n\r\nconst PasswordEntry = (props) => {\r\n let passwordInput = createRef();\r\n let returnUrlValue = props.returnUrl;\r\n let defaultErrorMsg = \"An Unknown Error Occured\";\r\n const [errorDescription, setErrorDescription] = useState(null);\r\n const [isPasswordRecoverySupported, setIsPasswordRecoverySupported] = useState(false);\r\n\r\n const submit = (event) => {\r\n event.preventDefault();\r\n const inputText = passwordInput.current.value;\r\n if (inputText.trim() == \"\") {\r\n setErrorDescription(\"Password Required\");\r\n return;\r\n }\r\n if (props.username && inputText.trim()) {\r\n setErrorDescription(null);\r\n verifyUserAndPassword(inputText);\r\n }\r\n };\r\n\r\n const gotoForgotPasswordOptions = () => {\r\n props.goToStep(stepPages.ForgotPassword);\r\n };\r\n\r\n const goToResetPassword = () => {\r\n props.goToStep(stepPages.ResetPasswordAndConfirm);\r\n };\r\n\r\n const verifyUserAndPassword = (newValue) => {\r\n var form = new FormData();\r\n\r\n form.append('username', props.username);\r\n form.append('password', newValue);\r\n form.append('returnUrl', returnUrlValue);\r\n axios({\r\n method: \"post\",\r\n url: uris.verifypassword,\r\n data: form,\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n const eScreenRedirectURI = res.data.redirectUrl;\r\n if (res.data.resetPasswordToken && res.data.resetPasswordReason) {\r\n props.setResetPasswordReason(res.data.resetPasswordReason);\r\n props.setResetPasswordToken(res.data.resetPasswordToken);\r\n goToResetPassword();\r\n return;\r\n }\r\n if (eScreenRedirectURI) {\r\n window.location.href = eScreenRedirectURI;\r\n return;\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.response) {\r\n setErrorDescription(error.response.data);\r\n return;\r\n }\r\n setErrorDescription(defaultErrorMsg);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (props.isActive) {\r\n setErrorDescription(null);\r\n props.setResetPasswordReason(null);\r\n props.setResetPasswordToken(null);\r\n passwordInput.current.value = null;\r\n passwordInput.current.focus();\r\n }\r\n\r\n if(props.settings.featuresSupported.ForgotPasswordChallengeQuestionsRecovery\r\n || props.settings.featuresSupported.ForgotPasswordEmailRecovery){\r\n setIsPasswordRecoverySupported(true);\r\n }\r\n },[props.username, props.isActive, props.settings]);\r\n\r\n return (\r\n
submit(e)}>\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
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n {isPasswordRecoverySupported &&\r\n
\r\n
\r\n Forgot Password?\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 PasswordEntry;\r\n","import React, { createRef, useState, useEffect } from \"react\";\r\nimport LogoHeaderAndUsername from \"./LogoHeaderAndUsername\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\nimport stepPages from \"../helpers/steps\";\r\nimport uris from \"../helpers/uris\";\r\nimport searchParameters from \"../helpers/searchParameters\";\r\nimport axios from \"axios\";\r\n\r\nconst ResetPasswordAndConfirm = (props) => {\r\n let passwordrescomInput = createRef();\r\n let defaultError =\r\n \"The password could not be changed. Please try again.\";\r\n\r\n const defaultResetPasswordText = \"Type your new password below\";\r\n const [resetReasonText, setResetReasonText] = useState(defaultResetPasswordText);\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const guid = urlParams.get(searchParameters.guidSearchParameter);\r\n\r\n const [userName, setUsername] = useState(\"\");\r\n const [password, setPassword] = useState(null);\r\n const [confirmPassword, setConfirmPassword] = useState(null);\r\n const [errorDescription, setErrorDescription] = useState(null);\r\n const [clientName, setClientName] = useState(\"\");\r\n\r\n if (props.isActive && !guid && !props.resetPasswordToken) {\r\n props.goToStep(stepPages.UsernameEntry);\r\n }\r\n\r\n const handlePasswordChange = (evt) => {\r\n setErrorDescription(\"\");\r\n setPassword(evt.target.value);\r\n };\r\n\r\n const handlePasswordConfirmChange = (evt) => {\r\n setErrorDescription(\"\");\r\n setConfirmPassword(evt.target.value);\r\n };\r\n\r\n const updateUserName = newname => {\r\n props.updateUser(newname);\r\n };\r\n\r\n const updateToken = value =>{\r\n props.setResetPasswordToken(null);\r\n }\r\n\r\n const updateClientName = value =>{\r\n setClientName(value);\r\n props.updateClientName(value);\r\n }\r\n\r\n const reasonText = () =>{\r\n if(resetReasonText){\r\n var reasonText = resetReasonText;\r\n return reasonText;\r\n }\r\n else{\r\n return defaultResetPasswordText;\r\n }\r\n \r\n }\r\n\r\n const getResetRequest = () => {\r\n axios({\r\n method: \"get\",\r\n url: uris.resetpassword,\r\n params: {\r\n requestGuid: guid\r\n },\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n if (res.status === 200) {\r\n setErrorDescription(\"\");\r\n //updateUserName(res.data.userName);\r\n setUsername(res.data.userName);\r\n setResetReasonText(res.data.resetPasswordReason);\r\n updateClientName(res.data.clientName);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.response && error.response.status === 400) {\r\n if (error.response.data) {\r\n setErrorDescription(error.response.data);\r\n return;\r\n }\r\n }\r\n setErrorDescription(defaultError);\r\n });\r\n }\r\n\r\n const submit = () => {\r\n if (!password || !confirmPassword) {\r\n setErrorDescription(\"Please enter and confirm new password.\");\r\n return;\r\n }\r\n if (password !== confirmPassword) {\r\n setErrorDescription(\"The passwords must match.\");\r\n return;\r\n }\r\n\r\n const urlParams = new URLSearchParams(window.location.search);\r\n var guid = urlParams.get(searchParameters.guidSearchParameter);\r\n if (!guid && props.resetPasswordToken){\r\n guid = props.resetPasswordToken;\r\n }\r\n var form = new FormData();\r\n form.append(\"guid\", guid);\r\n form.append(\"password\", password);\r\n form.append(\"confirmPassword\", confirmPassword);\r\n axios({\r\n method: \"post\",\r\n url: uris.resetpassword,\r\n data: form,\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n if (res.status === 200) {\r\n setErrorDescription(\"\");\r\n setResetReasonText(null);\r\n props.goToStep(stepPages.ResetPasswordHasBeenReset);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.response && error.response.status === 400) {\r\n if (error.response.data) {\r\n setErrorDescription(error.response.data);\r\n return;\r\n }\r\n }\r\n setErrorDescription(defaultError);\r\n });\r\n };\r\n useEffect(() => {\r\n if (props.isActive) {\r\n setErrorDescription(null);\r\n if (props.username && props.settings.clientName) {\r\n setUsername(props.username);\r\n updateClientName(props.settings.clientName);\r\n if(props.resetPasswordReason){\r\n setResetReasonText(props.resetPasswordReason);\r\n }\r\n }\r\n else {\r\n getResetRequest();\r\n }\r\n passwordrescomInput.current.focus();\r\n }\r\n }, [props.isActive]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n

Password Reset

\r\n

{reasonText()}

\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 Re-enter password\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\r\nexport default ResetPasswordAndConfirm;","import React, { createRef, useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport FormData from \"form-data\";\r\nimport BackButton from \"../controls/BackButton\";\r\nimport LogoHeaderAndUsername from \"./LogoHeaderAndUsername\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport stepPages from \"../helpers/steps\";\r\nimport validator from \"validator\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\nimport uris from \"../helpers/uris\";\r\n\r\nconst ResetPasswordViaEmail = (props) => {\r\n const [errorDescription, setErrorDescription] = useState(null);\r\n let returnUrlValue = props.returnUrl;\r\n let inputText = createRef();\r\n const [hasResetPasswordEmailBeenSent, setHasResetPasswordEmailBeenSent] = useState(false);\r\n\r\n const submit = (event) => {\r\n event.preventDefault();\r\n const emailInput = inputText.current.value;\r\n const usernameInput = props.username;\r\n if (validator.isEmail(emailInput)) {\r\n setHasResetPasswordEmailBeenSent(true);\r\n sendResetPasswordEmail(usernameInput, emailInput, returnUrlValue);\r\n } else {\r\n setHasResetPasswordEmailBeenSent(false);\r\n setErrorDescription(\"Please enter a valid email\");\r\n }\r\n };\r\n\r\n const sendResetPasswordEmail = (username,email, returnUrlValue) => {\r\n var form = new FormData();\r\n form.append('username', username);\r\n form.append('email', email);\r\n form.append('returnUrl', returnUrlValue);\r\n axios({\r\n method: \"post\",\r\n url: uris.sendresetpasswordrequest,\r\n data: form,\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n props.setForgotPasswordReminderEmail(email);\r\n props.goToStep(stepPages.ResetPasswordViaEmailSent);\r\n })\r\n .catch((error) => {\r\n setHasResetPasswordEmailBeenSent(false);\r\n setErrorDescription(\"Not able to send password request\");\r\n if (error.response && error.response.status > 200) {\r\n if (error.response.data) {\r\n setErrorDescription(error.response.data);\r\n return;\r\n }\r\n }\r\n return;\r\n });\r\n };\r\n\r\n useEffect(()=>{\r\n if(props.isActive){\r\n setErrorDescription(null);\r\n inputText.current.value = null;\r\n inputText.current.focus();\r\n setHasResetPasswordEmailBeenSent(false);\r\n }\r\n }, [props.isActive])\r\n\r\n return (\r\n
submit(e)}>\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

Password Reset

\r\n

Enter your email address to receive a reset link.

\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\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ResetPasswordViaEmail;\r\n","import React from \"react\";\r\nimport LogoHeader from \"./LogoHeader\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport stepPages from \"../helpers/steps\";\r\n\r\nconst ResetPasswordViaEmailSent = props => {\r\n return (\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n

Password Reset Email Sent

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

An email has been sent to

\r\n

{props.forgotPasswordReminderEmail}.

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

\r\n Follow the directions in the email to reset your password.\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 ResetPasswordViaEmailSent;\r\n","import React from 'react';\r\nimport question1 from '../question1.png';\r\nimport question2 from '../question2.png';\r\nimport question3 from '../question3.png';\r\n\r\nconst QuestionsImage = ( { number } ) => {\r\n\r\n const questions = [question1, question2, question3];\r\n const source = questions[number-1];\r\n\r\n return ( \r\n {\"Questions\"}\r\n );\r\n};\r\n\r\nexport default QuestionsImage;","import React, { createRef, useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport LogoHeaderAndUsername from \"./LogoHeaderAndUsername\";\r\nimport LogoFooter from \"./LogoFooter\";\r\n\r\nimport BackButton from \"../controls/BackButton\";\r\nimport stepPages from \"../helpers/steps\";\r\nimport uris from \"../helpers/uris\";\r\nimport searchParameters from \"../helpers/searchParameters\";\r\nimport QuestionsImage from \"../controls/QuestionsImage\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\nimport PasswordMask from \"react-password-mask\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst ResetPasswordViaSecretQuestion = (props) => {\r\n let readyToLoad = true;\r\n const initialQuestionValue = \"Loading...\";\r\n const num = props.num;\r\n const [current, setCurrent] = useState(\"\");\r\n const [question, setQuestion] = useState(initialQuestionValue);\r\n const [errorDescription, setErrorDescription] = useState(null);\r\n const [canAnswer, setCanAnswer] = useState(false);\r\n const [isChallengeQuestionSupported, setIsChallengeQuestionSupported] = useState(true);\r\n\r\n const answer = createRef();\r\n const submit = createRef();\r\n const handleChange = (e) => {\r\n setCurrent(e.target.value);\r\n };\r\n\r\n const setCurrentAnswer = (answer) => {\r\n switch (props.num) {\r\n case 1:\r\n props.setAnswer1(answer);\r\n break;\r\n case 2:\r\n props.setAnswer2(answer);\r\n break;\r\n case 3:\r\n props.setAnswer3(answer);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const goToReset =()=>{\r\n props.goToStep(stepPages.ResetPasswordAndConfirm);\r\n }\r\n const goToUsernameEntry =()=>{\r\n props.goToStep(stepPages.UsernameEntry);\r\n }\r\n\r\n useEffect(() => {\r\n setErrorDescription(\"\");\r\n if (props.isActive && props.username.length === 0) {\r\n setErrorDescription(\r\n \"You must enter a username to answer challenge questions\"\r\n );\r\n props.goToStep(stepPages.UsernameEntry);\r\n return;\r\n }\r\n\r\n if(props.isActive && !props.settings.featuresSupported.ForgotPasswordChallengeQuestionsRecovery){\r\n setIsChallengeQuestionSupported(false);\r\n goToUsernameEntry();\r\n };\r\n\r\n answer.current.value = \"\";\r\n setCurrent(\"\");\r\n setQuestion(initialQuestionValue);\r\n\r\n if (\r\n props.isActive &&\r\n props.username.length > 0 &&\r\n readyToLoad&& \r\n props.settings.featuresSupported.ForgotPasswordChallengeQuestionsRecovery\r\n ) {\r\n var form = new FormData();\r\n form.append(\"userName\", props.username);\r\n form.append(\"clientName\", props.settings.clientName);\r\n form.append(\"num\", props.num);\r\n form.append(\"answer1\", num === 1 ? current : props.answer1);\r\n form.append(\"answer2\", num === 2 ? current : props.answer2);\r\n form.append(\"answer3\", num === 3 ? current : props.answer3);\r\n axios({\r\n method: \"post\",\r\n url: uris.challengeQuestions,\r\n data: form,\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n setQuestion(res.data.question);\r\n setCanAnswer(true);\r\n readyToLoad = false;\r\n document.getElementById(\"rpvsqAnswer\" + num).focus();\r\n })\r\n .catch((error) => {\r\n switch (error.response.status) {\r\n case 401: \r\n case 403:\r\n props.goToStep(stepPages.AccountLocked);\r\n break;\r\n default:\r\n setErrorDescription(\"Bad Request\");\r\n setQuestion(error.response.data);\r\n setCanAnswer(false);\r\n readyToLoad = false;\r\n break;\r\n }\r\n });\r\n }\r\n }, [props.username, props.isActive]);\r\n\r\n const answerQuestion = () => {\r\n if (props.isActive && props.username.length === 0) {\r\n setErrorDescription(\r\n \"Answering the challenge question is not permitted\"\r\n );\r\n }\r\n setErrorDescription(\"\");\r\n setCanAnswer(false);\r\n if (props.isActive && props.username.length > 0 && current != null) {\r\n const a = current;\r\n setCurrentAnswer(a);\r\n\r\n if (a.trim() === \"\") {\r\n setErrorDescription(\"Answer is Required\");\r\n setCanAnswer(true);\r\n return;\r\n }\r\n \r\n var form = new FormData();\r\n form.append(\"userName\", props.username);\r\n form.append(\"num\", props.num);\r\n form.append(\"clientName\", props.settings.clientName);\r\n form.append(\"answer1\", num === 1 ? a : props.answer1);\r\n form.append(\"answer2\", num === 2 ? a : props.answer2);\r\n form.append(\"answer3\", num === 3 ? a : props.answer3);\r\n axios({\r\n method: \"post\",\r\n url: uris.answerChallenges,\r\n data: form,\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n if (res.status === 200) {\r\n setErrorDescription(\"\");\r\n setCanAnswer(true);\r\n switch (num) {\r\n case 1:\r\n props.goToStep(\r\n stepPages.ResetPasswordViaSecretQuestion2\r\n );\r\n break;\r\n case 2:\r\n props.goToStep(\r\n stepPages.ResetPasswordViaSecretQuestion3\r\n );\r\n break;\r\n case 3:\r\n props.setResetPasswordToken(res.data.changeRequestId);\r\n goToReset();\r\n //var guid = res.data.changeRequestId;\r\n //window.location.href = `?${searchParameters.guidSearchParameter}=${guid}#resetpassword`;\r\n default:\r\n break;\r\n }\r\n } else {\r\n setErrorDescription(\r\n \"Unexpected error occurred. Please try again.\"\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n switch (error.response.status) {\r\n case 401:\r\n case 403:\r\n props.goToStep(stepPages.AccountLocked);\r\n break;\r\n default:\r\n setErrorDescription(\"That answer was not correct. Please try again.\");\r\n setCanAnswer(true);\r\n break;\r\n }\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Password Reset

\r\n

\r\n Answer your secret questions to reset your password.\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 {question}\r\n \r\n }\r\n hideButtonContent = { }\r\n buttonStyles={{\r\n backgroundColor: 'white',\r\n width: '1em',\r\n height: '1em',\r\n display: !canAnswer ? 'none' : ''\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n Submit\r\n \r\n
\r\n
\r\n \r\n\t\t\t\t
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ResetPasswordViaSecretQuestion;\r\n","import React, { createRef, useState, useEffect } from \"react\";\r\nimport LogoHeader from \"./LogoHeader\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport axios from \"axios\";\r\nimport FormData from \"form-data\";\r\nimport stepPages from \"../helpers/steps\";\r\nimport uris from \"../helpers/uris\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\nimport searchParameters from \"../helpers/searchParameters\";\r\n\r\nconst UsernameEntry = ( props ) => {\r\n let usernameInput = createRef(null);\r\n let returnUrlValue = props.returnUrl;\r\n var inFrame = false;\r\n\r\n const [errorDescription, setErrorDescription] = useState(null);\r\n const [isCertUser, setIsCertUser] = useState(false);\r\n const [isFimSite, setIsFimSite] = useState(false);\r\n const [isForgotUserNameSupported, setIsforgotUserNameSupported] = useState(true);\r\n const [clientName, setClientName] = useState(null);\r\n \r\n function checkforframe() {\r\n if (window.top.parent.frames['main'] != null) {\r\n inFrame = true;\r\n }\r\n\r\n }\r\n useEffect(() => {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const returnUrl = urlParams.get(searchParameters.returnUrlSearchParameter);\r\n\r\n if(props.isActive){\r\n setErrorDescription(null);\r\n props.clearStatesProp();\r\n usernameInput.current.focus();\r\n }\r\n\r\n if(!props.settings.featuresSupported.ForgotUsername){\r\n setIsforgotUserNameSupported(false);\r\n }\r\n \r\n if (!returnUrl) {\r\n return;\r\n }\r\n\r\n const acrValues = new URLSearchParams(returnUrl).get(\"acr_values\");\r\n if (!acrValues) {\r\n return;\r\n }\r\n\r\n const splitAcrValues = acrValues.split('|');\r\n const certUserValue = \r\n splitAcrValues.map(x => { \r\n let y = x.split(':'); \r\n return { [y[0]]:y[1] };})\r\n .filter(x => \r\n x.certuser === \"true\").length > 0;\r\n setIsCertUser(certUserValue);\r\n\r\n const fimSiteValue = \r\n splitAcrValues.map(x => { \r\n let y = x.split(':'); \r\n return { [y[0]]:y[1] };})\r\n .filter(x => \r\n x.fimsite === \"true\").length > 0;\r\n setIsFimSite(fimSiteValue);\r\n\r\n setClientName(props.settings.clientName);\r\n \r\n }, [props.isActive, props.settings]);\r\n\r\n const updateUserEmail=(email) =>{\r\n props.updateUserEmail(email);\r\n }\r\n\r\n const verifyUserName = (newValue) => {\r\n var form = new FormData();\r\n form.append('username', newValue);\r\n form.append('returnUrl', returnUrlValue);\r\n axios({\r\n method: \"post\",\r\n url: uris.verifyusername,\r\n data: form,\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n var challengeUrl = res.data.challengeUrl;\r\n if (challengeUrl) {\r\n checkforframe();\r\n if (inFrame) {\r\n window.open(challengeUrl, \"FimPopout\");\r\n }\r\n else {\r\n window.location.href = challengeUrl;\r\n }\r\n }\r\n else{\r\n if(res.data.userEmail){\r\n updateUserEmail(res.data.userEmail);\r\n }\r\n props.goToStep(stepPages.PasswordEntry);\r\n }\r\n })\r\n .catch((error) => {\r\n setErrorDescription(\"Unknown Error Occured\");\r\n })\r\n };\r\n\r\n const submit = ( event ) => {\r\n event.preventDefault();\r\n const inputText = usernameInput.current.value;\r\n updateUserName(inputText);\r\n if (inputText.trim() == \"\") {\r\n setErrorDescription(\"User ID Required\");\r\n return;\r\n }\r\n verifyUserName(inputText);\r\n };\r\n\r\n const gotoForgotUsername = () => {\r\n props.goToStep(stepPages.ForgotUsername);\r\n };\r\n\r\n const updateUserName = newname => {\r\n props.updateUser(newname);\r\n };\r\n\r\n return (\r\n \r\n
submit(e) }>\r\n\t\t\t
\r\n\r\n \r\n\t\t\t \r\n \r\n
\r\n
\r\n \r\n\t\t\t\t\t\t\r\n
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n
\r\n
\r\n\t\t\t\t\t\tForgot Username?\r\n\t\t\t\t\t
\r\n
\r\n
\r\n \r\n \r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n );\r\n};\r\n\r\nexport default UsernameEntry;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport LogoHeader from \"./LogoHeader\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport stepPages from \"../helpers/steps\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\n\r\nconst AccountLocked = ( props ) => {\r\n const [errorDescription, setErrorDescription] = useState(null);\r\n\r\n useEffect(() => {\r\n\r\n },[props.isActive]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Account Locked

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

{props.settings.accountLockedErrorMessage}

\r\n

{props.settings.clientServicesPhoneNumber}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n props.goToStep(stepPages.UsernameEntry)\r\n }\r\n >\r\n Return To Login\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AccountLocked;","import React,{ useEffect, useState } from \"react\";\r\nimport LogoHeader from \"./LogoHeader\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport uris from \"../helpers/uris\";\r\nimport axios from \"axios\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\n\r\nconst ResetPasswordHasBeenReset = (props) => {\r\n const [errorDescription, setErrorDescription] = useState(null);\r\n const [clientName, setClientName] = useState(props.settings.clientName);\r\n const returnToClient = () => {\r\n axios({\r\n method: \"get\",\r\n url: uris.redirecttoclientapplication,\r\n params: {\r\n clientId : clientName,\r\n },\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n var redirectUrl = res.data.url;\r\n if(redirectUrl){\r\n window.location.href = redirectUrl;\r\n }\r\n })\r\n .catch((error) => {\r\n setErrorDescription(\"Unknown Error Occured\");\r\n })\r\n };\r\n useEffect(() => {\r\n if (props.isActive && props.clientName) {\r\n setClientName(props.clientName);\r\n }\r\n }, [props.isActive, props.clientName]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Password has been reset.

\r\n
\r\n
\r\n
\r\n\t\t\t\t
\r\n\t\t\t\t\t\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 ResetPasswordHasBeenReset;\r\n","import React, { createRef, useEffect, useState } from \"react\";\r\nimport uris from \"../helpers/uris\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\nimport LogoHeaderAndUsername from \"../components/LogoHeaderAndUsername\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport axios from \"axios\";\r\nimport stepPages from \"../helpers/steps\";\r\n\r\nconst SelectClinic = (props) => {\r\n\r\n // THIS VIEW IS NOT IN USE AND REMOVE ALL REFERENCES TO LAND HERE.\r\n let username = props.username;\r\n let select = createRef();\r\n\r\n if (props.isActive && !username) {\r\n props.goToStep(stepPages.UsernameEntry);\r\n }\r\n\r\n const loadingMessage = \"Loading...\";\r\n const [clinic, setClinic] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [errorDescription, setErrorDescription] = useState(\"\");\r\n const [clinics, setClinics] = useState([\r\n { label: loadingMessage, value: \"\" },\r\n ]);\r\n\r\n const defaultError =\r\n \"Unexpected error occurred while retrieving your clinics.\";\r\n\r\n useEffect(() => {\r\n async function populateClinics() {\r\n setLoading(true); // we are loading\r\n var form = new FormData();\r\n form.append(\"username\", username);\r\n axios({\r\n method: \"post\",\r\n url: uris.userclinics,\r\n data: form,\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n if (res.status === 200) {\r\n setErrorDescription(\"\");\r\n setClinics(\r\n res.data.map(({ clinicName, siteId }) => ({\r\n label: `${clinicName} (${siteId})`,\r\n value: siteId,\r\n }))\r\n );\r\n setLoading(false);\r\n }\r\n })\r\n .catch((error) => {\r\n if (error.response && error.response.status > 299) {\r\n if (error.response.data) {\r\n setErrorDescription(error.response.data);\r\n setLoading(false);\r\n return;\r\n }\r\n }\r\n setErrorDescription(defaultError);\r\n });\r\n }\r\n if (props.isActive && username.length > 0) {\r\n populateClinics();\r\n }\r\n }, [props]);\r\n\r\n const clinicSelected = (e) => {\r\n setClinic(e.target.value);\r\n };\r\n\r\n const goToEScreen = () => {\r\n if (props.isActive && clinic) {\r\n let landingPage = new URL();\r\n landingPage.searchParams.append(\"clinic\", clinic);\r\n window.location.href = landingPage;\r\n return;\r\n }\r\n };\r\n\r\n return (\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 );\r\n};\r\n\r\nexport default SelectClinic;\r\n","import axios from \"axios\";\r\nimport uris from \"./uris\";\r\n\r\nconst getSettings = (clientId, setFunc, setErrorFunc, defaultErrorMsg) => {\r\n\r\n axios({\r\n method: \"get\",\r\n url: uris.clientsettings,\r\n params: {\r\n clientId: clientId,\r\n },\r\n headers: { \"Content-Type\": \"multipart/form-data\" },\r\n })\r\n .then((res) => {\r\n var settings = res.data;\r\n setFunc(settings);\r\n })\r\n .catch((error) => {\r\n if (!setErrorFunc) {\r\n console.log(error);\r\n return;\r\n }\r\n if (error.response) {\r\n setErrorFunc(error.response.data);\r\n return;\r\n }\r\n\r\n if (defaultErrorMsg) {\r\n setErrorFunc(defaultErrorMsg); \r\n }\r\n });\r\n};\r\n\r\nexport default getSettings;","import React, { useState, useEffect, useRef } from \"react\";\r\nimport LogoHeader from \"./LogoHeader\";\r\nimport LogoFooter from \"./LogoFooter\";\r\nimport ErrorContainer from \"../controls/ErrorContainer\";\r\nimport getSettings from \"../helpers/getSettings\";\r\n\r\n\r\nconst IncorrectAccountConfiguration = props => {\r\n\r\n const [settings, setSettings] = useState(null);\r\n const [error, setError] = useState(null);\r\n\r\n /**\r\n * Since this page is navigated to\r\n * from a Controller, we can't rely on the\r\n * LoginWizard to populate the props w/ the\r\n * settings.\r\n * \r\n * Hence, we're using a useEffect when the page loads\r\n * to retrieve the settings for this page.\r\n */\r\n useEffect(() => {\r\n getSettings('eScreen123', setSettings, setError, 'Unable to retrieve settings!');\r\n },[]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

Incorrect Account Configuration

\r\n

Your account is not configured correctly.\r\n
\r\n Please call customer service at:

\r\n

{settings?.clientServicesPhoneNumber}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/*Take the user back to the base login page */}\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 IncorrectAccountConfiguration;","import React from \"react\";\r\nimport StepWizard from \"react-step-wizard\";\r\nimport ForgotPassword from \"./ForgotPassword\";\r\nimport ForgotUsername from \"./ForgotUsername\";\r\nimport ForgotUsernameReminderSent from \"./ForgotUsernameReminderSent\";\r\nimport ForgotUsernameRetrieval from \"./ForgotUsernameRetrieval\";\r\nimport PasswordEntry from \"./PasswordEntry\";\r\nimport ResetPasswordAndConfirm from \"./ResetPasswordAndConfirm\";\r\nimport ResetPasswordViaEmail from \"./ResetPasswordViaEmail\";\r\nimport ResetPasswordViaEmailSent from \"./ResetPasswordViaEmailSent\";\r\nimport ResetPasswordViaSecretQuestion from \"./ResetPasswordViaSecretQuestion\";\r\nimport UsernameEntry from \"./UsernameEntry\";\r\nimport AccountLocked from \"./AccountLocked\";\r\nimport ResetPasswordHasBeenReset from \"./ResetPasswordHasBeenReset\";\r\nimport SelectClinic from \"./SelectClinic\";\r\nimport searchParameters from \"../helpers/searchParameters\";\r\nimport getSettingValue from \"../helpers/getSettingValue\";\r\nimport IncorrectAccountConfiguration from './IncorrectAccountConfiguration';\r\n\r\nclass LoginWizard extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n username: \"\",\r\n userEmail:\"\",\r\n returnUrl: \"\",\r\n forgotUsernameReminderEmail: \"\",\r\n forgotPasswordReminderEmail: \"\",\r\n answer1: \"\",\r\n answer2: \"\",\r\n answer3: \"\",\r\n passwordEntryShowError: false,\r\n resetPasswordReason: \"\",\r\n resetPasswordToken:\"\",\r\n clientName: \"\",\r\n settings : null,\r\n };\r\n }\r\n\r\n setSettings = value =>{\r\n this.setState({settings: value});\r\n }\r\n\r\n clearStatesProp = () => {\r\n this.setUsername(null);\r\n this.setUserEmail(null);\r\n this.setAnswer1(null);\r\n this.setAnswer2(null);\r\n this.setAnswer3(null);\r\n }\r\n\r\n setForgotUsernameReminderEmail = value => {\r\n this.setState({ forgotUsernameReminderEmail: value });\r\n };\r\n\r\n setForgotPasswordReminderEmail = value => {\r\n this.setState({ forgotPasswordReminderEmail: value });\r\n };\r\n\r\n setUsername = value => {\r\n this.setState({ username: value });\r\n };\r\n\r\n setUserEmail = value => {\r\n this.setState({ userEmail: value });\r\n }\r\n\r\n setReturnUrl = value => {\r\n this.setState({\r\n ...this.state,\r\n returnUrl: value\r\n });\r\n };\r\n \r\n setInitialQuestion = value =>{\r\n this.setState({setInitialQuestion: value});\r\n }\r\n \r\n setAnswer1 = value => {\r\n this.setState({ answer1: value });\r\n };\r\n\r\n setAnswer2 = value => {\r\n this.setState({ answer2: value });\r\n };\r\n\r\n setAnswer3 = value => {\r\n this.setState({ answer3: value });\r\n };\r\n\r\n setClientName = value => {\r\n this.setState({ clientName: value});\r\n }\r\n\r\n setResetPasswordReason = value =>{\r\n this.setState({ resetPasswordReason: value });\r\n }\r\n setResetPasswordToken = value =>{\r\n this.setState({resetPasswordToken:value});\r\n }\r\n\r\n componentDidMount(){\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const returnUrl = urlParams.get(searchParameters.returnUrlSearchParameter);\r\n if (returnUrl) {\r\n this.setReturnUrl(returnUrl);\r\n }\r\n if(this.props.settings) {\r\n this.setSettings(this.props.settings);\r\n if(this.props.settings.clientName){\r\n this.setClientName(this.props.settings.clientName);\r\n }\r\n } \r\n }\r\n\r\n render() {\r\n\r\n let returnUrl = new URLSearchParams(window.location.search).get(searchParameters.returnUrlSearchParameter);\r\n if (returnUrl) {\r\n let url = new URL(returnUrl);\r\n var timeout_url = new URLSearchParams(url.search).get('timeout_url');\r\n }\r\n\r\n function timeoutRedirect() {\r\n window.location.href = timeout_url;\r\n }\r\n\r\n if (timeout_url != null && timeout_url != \"\") {\r\n setTimeout(timeoutRedirect, 14 * 60000); \r\n }\r\n\r\n return (\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 \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default LoginWizard;\r\n","import React from \"react\";\r\nimport LoginWizard from \"./LoginWizard\";\r\n\r\nclass LoginContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { };\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default LoginContainer;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport LoginContainer from \"./components/LoginContainer\";\r\nimport getSettingValue from \"./helpers/getSettingValue\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faArrowLeft } from '@fortawesome/free-solid-svg-icons';\r\nimport searchParameters from \"./helpers/searchParameters\";\r\nimport getSettings from \"./helpers/getSettings\";\r\nimport { getClientId } from \"./helpers/urlHelperFunctions\";\r\n\r\nconst App = () => {\r\n\r\n const settingsDefault = {\r\n clientName : \"eScreen123\",\r\n waitListUrl : \"\",\r\n termsOfUseUrl : \"\",\r\n privacyPolicyUrl : \"\",\r\n clientServicesPhoneNumber : \"\",\r\n accountLockedErrorMessage : \"\",\r\n featuresSupported : {\r\n \"ForgotUsername\" : true,\r\n \"ForgotPasswordEmailRecovery\" : false,\r\n \"ForgotPasswordChallengeQuestionsRecovery\" : false,\r\n \"ShowWaitList\" : false,\r\n }\r\n }\r\n\r\n const [isCertUser, setIsCertUser] = useState(false);\r\n const [settings, setSettings] = useState(settingsDefault);\r\n\r\n useEffect(() => {\r\n\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const returnUrl = urlParams.get(searchParameters.returnUrlSearchParameter); \r\n const clientName = getClientId();\r\n\r\n getSettings(clientName,setSettings);\r\n\r\n if (!returnUrl) {\r\n return;\r\n }\r\n\r\n const acrValues = new URLSearchParams(returnUrl).get(\"acr_values\");\r\n if (!acrValues) {\r\n return;\r\n }\r\n\r\n const splitAcrValues = acrValues.split('|');\r\n const certUserValue = \r\n splitAcrValues.map(x => { \r\n let y = x.split(':'); \r\n return { [y[0]]:y[1] };})\r\n .filter(x => \r\n x.certuser === \"true\").length > 0;\r\n setIsCertUser(certUserValue);\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","import searchParameters from \"./searchParameters\";\r\n\r\nexport function getClientId(){\r\n let returnUrl = new URLSearchParams(window.location.search).get(searchParameters.returnUrlSearchParameter);\r\n if(returnUrl){\r\n let url = new URL(returnUrl);\r\n let clientId = new URLSearchParams(url.search).get('client_id');\r\n return clientId;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'babel-polyfill';\r\nimport 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport { registerServiceWorker, unregister } from './registerServiceWorker';\r\nimport axios from 'axios';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\n// Axios defaults\r\naxios.defaults.baseURL = baseUrl;\r\n// axios.defaults.xsrfCookieName = 'X-CSRF-TOKEN';\r\naxios.defaults.withCredentials = true;\r\n\r\n// xsrf\r\nconst XSRF_TOKEN_KEY = \"xsrfToken\";\r\nconst XSRF_TOKEN_NAME_KEY = \"xsrfTokenName\";\r\n\r\nfunction setToken({ token, tokenName }) {\r\n window.sessionStorage.setItem(XSRF_TOKEN_KEY, token);\r\n window.sessionStorage.setItem(XSRF_TOKEN_NAME_KEY, tokenName);\r\n axios.defaults.headers.common[tokenName] = token;\r\n}\r\n\r\nfunction initializeXsrfToken() {\r\n let token = window.sessionStorage.getItem(XSRF_TOKEN_KEY);\r\n let tokenName = window.sessionStorage.getItem(XSRF_TOKEN_NAME_KEY);\r\n\r\n if (!token || !tokenName) {\r\n axios.get(\"/api/xsrfToken\")\r\n .then(r => setToken(r.data))\r\n .catch(r => console.log(`Could not fetch XSRF token`));\r\n } else {\r\n setToken({ token: token, tokenName: tokenName });\r\n }\r\n}\r\nfunction AddFimListener() {\r\n window.addEventListener(\"message\", function (event) {\r\n if (window != window.top && (window.location.href.includes(event.origin))) {\r\n window.location = event.data;\r\n }\r\n return;\r\n });\r\n}\r\n\r\nAddFimListener();\r\n\r\ninitializeXsrfToken();\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nunregister();\r\n\r\n"],"sourceRoot":""}