{"version":3,"sources":["uxkit/Alert.js","uxkit/Input.js","uxkit/LoginScreenLayout.js","utils.js","pages/login.js","pages/forgetPassword.js","pages/resetPassword.js","components/requestId.js","App.js","index.js"],"names":["Alert","props","type","className","getClassName","role","children","Input","renderInput","id","value","placeholder","required","onChange","onKeyPress","pattern","disabled","loading","error","success","warn","checked","inputProps","name","state","isChecked","e","persist","isCheckedState","setState","labelId","style","onFocus","showHelper","onBlur","renderLabelText","label","renderHelper","helper","this","htmlFor","Fragment","Component","defaultProps","LoginScreenLayout","BASE_URL","processServerResponse","axiosResult","newState","status","data","submittedOk","errorMsg","errorCode","to","translateServerError","errorCodesToContinueFormNavigation","Login","handleChange","event","fieldName","target","fieldValue","handleKeyPress","a","key","handleSubmit","then","emailAddress","password","axios","post","username","headers","token","handleGetForms","forms","length","authToken","handleCanvasLogin","response","xmlData","DOMParser","parseFromString","form","getElementById","samlResponse","getElementsByName","relayStateValue","url","action","samlCallbackUrl","defaultValue","navigatingToCanvasDashboard","console","handleSubmitForm","shift","errorData","slice","find","includes","handleSnoozeForms","surveysToSnoozeData","hiddenForm","React","createRef","prevProps","prevState","snapshot","current","submit","content","disableSignInButton","isLastSurvey","submitButtonText","snoozable","onSubmit","onSnooze","title","onDismiss","onClick","href","ref","method","withRouter","ForgetPassword","test","payload","disableBtn","ResetPassword","isStrongPassword","resetToken","passwordConfirmation","userName","search","location","history","params","URLSearchParams","get","user","replace","RequestId","setRequestId","requestId","App","initApp","window","addEventListener","newOtChanged","localStorage","getItem","otChanged","loadDD","performanceCookiesAllowed","decodeURIComponent","document","cookie","split","row","startsWith","dataDogRumConfig","datadogRum","init","log","newRequestId","exact","path","render","ReactDOM"],"mappings":"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","file":"static/js/main.7e0b1f01.chunk.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst getClassName = (type) => {\n switch(type){\n case \"success\":\n return \"ui success message\";\n case \"error\":\n return \"ui error message\";\n case \"warn\":\n return \"ui warn message\";\n case \"info\":\n return \"ui info message\";\n default:\n return \"\";\n }\n};\n\nconst Alert = (props) => {\n const {type} = props;\n const className = getClassName(type);\n\n return (\n \n {props.children}\n \n )\n};\n\nAlert.propTypes = {\n type: PropTypes.oneOf(['error','success','warn', 'info']),\n};\n\nexport default Alert","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Alert from \"./Alert\";\n\nclass Input extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isChecked: this.props.checked,\n labelId: this.props.id + 'Label',\n showHelper: false\n }\n }\n\n renderInput = () => {\n const {\n type,\n id,\n value,\n placeholder,\n required,\n onChange,\n onKeyPress,\n pattern,\n disabled,\n loading,\n error,\n success,\n warn,\n checked\n } = this.props;\n\n const inputProps = {\n type,\n id,\n value,\n placeholder,\n required,\n pattern,\n disabled\n };\n\n inputProps.name = id;\n\n if (type === 'checkbox') {\n inputProps.checked = this.state.isChecked;\n inputProps.onChange = (e) => {\n e.persist();\n const isCheckedState = this.state.isChecked;\n this.setState({isChecked: !isCheckedState}, () => {\n onChange(e)\n })\n }\n } if (type === 'radio') {\n inputProps.checked = checked;\n inputProps.onChange = onChange;\n } else {\n inputProps.onChange = onChange;\n inputProps.onKeyPress = onKeyPress;\n }\n\n return (\n this.setState({showHelper: true})}\n onBlur={() => this.setState({showHelper: false})}\n />\n )\n };\n\n renderLabelText = () => {\n const { label, required } = this.props;\n return `${label}${required ? ' *' : ''}`\n };\n\n renderHelper = () => {\n return (\n \n {this.props.helper}\n \n )\n };\n\n render() {\n const { type, id, helper } = this.props;\n return (\n type === 'checkbox' || type === 'radio' ? (\n \n ) : (\n \n \n {this.renderInput()}\n { helper && this.state.showHelper ? this.renderHelper() : null}\n \n )\n )\n }\n}\n\nInput.propTypes = {\n label: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n placeholder: PropTypes.string,\n helper: PropTypes.string,\n checked: PropTypes.bool,\n required: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onKeyPress: PropTypes.func,\n tabIndex: PropTypes.number,\n pattern: PropTypes.string,\n disabled: PropTypes.bool,\n loading: PropTypes.bool,\n error: PropTypes.bool,\n success: PropTypes.bool,\n warn: PropTypes.bool\n};\n\nInput.defaultProps = {\n label: '',\n type: '',\n id: '',\n required: false,\n disabled: false,\n loading: false,\n error: false,\n success: false,\n warn: false\n};\n\nexport default Input\n","import React from 'react';\n\nconst LoginScreenLayout = (props) => (\n
\n
\n
\n {props.children}\n
\n
\n);\n\nexport default LoginScreenLayout\n","import React from 'react';\nimport {Link} from \"react-router-dom\";\n\nexport const BASE_URL = '/ui';\n\nexport const translateServerError = (errorCode) => {\n switch(errorCode){\n case \"INVALID_USERACCOUNT\":\n case \"INVALID_USERNAME\":\n return The specified email address isn't recognized.;\n case \"INVALID_TOKEN\":\n return \n The token is no longer valid.
\n Please create a new password reset request here.\n
;\n default:\n return The server responded with {errorCode}.;\n }\n};\n\nexport const processServerResponse = (axiosResult) => {\n let newState = {};\n if (!!axiosResult) {\n const {status, data} = axiosResult;\n if (status === 200) {\n if (!data.success) {\n let errorMsg = translateServerError(data.errorCode);\n newState = {errorMsg}\n } else {\n newState = {\n submittedOk: true,\n errorMsg: null,\n };\n }\n } else {\n newState = {errorMsg: Server returned ${status} code.};\n }\n } else {\n newState = {errorMsg: An unknown error occurred.};\n }\n\n return newState;\n};","import React, {Component} from 'react'\nimport DocumentTitle from 'react-document-title';\nimport {Link, withRouter} from 'react-router-dom';\nimport axios from \"axios\";\nimport {Form} from \"@trilogyeducation/forms\";\n\nimport Input from \"../uxkit/Input\";\nimport Alert from \"../uxkit/Alert\";\nimport LoginScreenLayout from \"../uxkit/LoginScreenLayout\";\nimport {BASE_URL} from \"../utils\";\n\nconst NO_SURVEY_SCHEDULE_AVAILABLE = \"NO_SURVEY_SCHEDULE_AVAILABLE\";\nconst SURVEY_ALREADY_SUBMITTED = \"SURVEY_ALREADY_SUBMITTED\";\nconst SURVEY_UNSUPPORTED = 'SURVEY_UNSUPPORTED';\n\nconst errorCodesToContinueFormNavigation = [\n NO_SURVEY_SCHEDULE_AVAILABLE,\n SURVEY_ALREADY_SUBMITTED,\n SURVEY_UNSUPPORTED,\n];\n\nclass Login extends Component {\n constructor(props) {\n super(props);\n this.state = {\n authToken: null,\n samlCallbackUrl: null,\n relayStateValue: '',\n samlResponse: '',\n loading: false,\n errorMsg: null,\n forms: []\n };\n\n this.hiddenForm = React.createRef();\n }\n\n componentDidMount() {\n this.setState({\n authToken: null,\n samlCallbackUrl: null,\n relayStateValue: '',\n samlResponse: '',\n loading: false,\n errorMsg: null,\n forms: []\n });\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n const {navigatingToCanvasDashboard} = this.state;\n if (!!navigatingToCanvasDashboard) {\n this.hiddenForm.current.submit();\n }\n }\n\n handleChange = (event) => {\n let fieldName = event.target.name;\n let fieldValue = event.target.value;\n\n this.setState({\n [fieldName]: fieldValue,\n errorMsg: null,\n })\n };\n\n handleKeyPress = async (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit().then();\n }\n };\n\n handleSubmit = async () => {\n const {emailAddress, password} = this.state;\n\n try {\n this.setState({loading: true});\n\n const axiosResult = await axios.post(\"/login\", {username: emailAddress, password}, {headers: {'Content-Type': 'application/json'}});\n if (!!axiosResult) {\n const status = axiosResult.status;\n if (status === 200) {\n const {token} = axiosResult.data;\n\n const forms = await this.handleGetForms(token);\n \n if (forms && forms.length > 0) {\n this.setState({\n authToken: token,\n forms: forms,\n loading: false\n });\n } else {\n await this.handleCanvasLogin(token);\n }\n } else {\n this.setState({errorMsg: `Please try again, if the problem persists contact Support.`, loading: false});\n }\n } else {\n this.setState({errorMsg: `Please try again, if the problem persists contact Support.`, loading: false});\n }\n } catch (error) {\n const status = error.response && error.response.status;\n let errorMsg = `Please try again, if the problem persists contact Support.`;\n if (status === 401) {\n errorMsg = `Your email address or password is incorrect.`;\n }\n this.setState({errorMsg, loading: false});\n }\n };\n\n handleCanvasLogin = async (authToken) => {\n try {\n const axiosResult = await axios.post(\"/canvasLogin\", {}, {\n headers: {\n 'Content-Type': 'application/json',\n 'authToken': authToken,\n }\n });\n if (!!axiosResult) {\n const status = axiosResult.status;\n if (status === 200) {\n const xmlData = new DOMParser().parseFromString(axiosResult.data, 'application/xml');\n const form = xmlData.getElementById('samlpost');\n const samlResponse = xmlData.getElementsByName('SAMLResponse')[0];\n const relayStateValue = xmlData.getElementsByName('RelayState')[0];\n const url = form.action;\n this.setState({\n samlCallbackUrl: url,\n samlResponse: samlResponse.defaultValue,\n relayStateValue: relayStateValue.defaultValue,\n navigatingToCanvasDashboard: true\n });\n } else {\n this.setState({errorMsg: `Please try again, if the problem persists contact Support.`});\n }\n } else {\n this.setState({errorMsg: `Please try again, if the problem persists contact Support.`});\n }\n } catch (error) {\n const status = error.response && error.response.status;\n let errorMsg = `Please try again, if the problem persists contact Support.`;\n if (status === 401) {\n errorMsg = `Your email address or password is incorrect.`;\n }\n this.setState({errorMsg});\n }\n };\n\n handleGetForms = async (authToken) => {\n try {\n const axiosResult = await axios.post(\"/listSurveyToFire\", {}, {\n headers: {\n 'Content-Type': 'application/json',\n 'authToken': authToken,\n }\n });\n\n if (!!axiosResult) {\n const status = axiosResult.status;\n if (status === 200) {\n return axiosResult.data.data;\n } else {\n console.error(`Please try again, if the problem persists contact Support.`);\n }\n } else {\n console.error(`Please try again, if the problem persists contact Support.`);\n }\n } catch (error) {\n console.error({errorMsg: `Please try again, if the problem persists contact Support.`});\n }\n };\n\n handleSubmitForm = async (data) => {\n const {authToken, forms} = this.state;\n\n try {\n await this.setState({loading: true});\n\n const axiosResult = await axios.post(\"/submitSurvey\", data, {\n headers: {\n 'Content-Type': 'application/json',\n 'authToken': authToken,\n }\n });\n\n const status = axiosResult.status;\n\n if (status) {\n if (status === 200) {\n forms.shift();\n if (forms.length > 0) {\n this.setState({\n forms: forms,\n loading: false\n });\n } else {\n await this.handleCanvasLogin(authToken);\n }\n } else {\n this.setState({errorMsg: `Please try submitting again, if the problem persists contact Support.`, loading: false});\n }\n } else {\n this.setState({errorMsg: `Please try submitting again, if the problem persists contact Support.`, loading: false})\n }\n } catch (error) {\n const errorData = error.response && error.response.data && error.response.data.slice(0, -1);\n const isIgnorableError = errorCodesToContinueFormNavigation.find(e => e.includes(errorData));\n if(!isIgnorableError){\n this.setState({errorMsg: `Please try submitting again, if the problem persists contact Support.`, loading: false});\n } else {\n forms.shift();\n if (forms.length > 0) {\n this.setState({\n forms: forms,\n loading: false\n });\n } else {\n await this.handleCanvasLogin(authToken);\n }\n }\n }\n };\n\n handleSnoozeForms = async () => {\n const {authToken, forms} = this.state;\n\n try {\n this.setState({loading: true});\n\n const data = {\n surveysToSnoozeData: forms\n }\n\n await axios.post(\"/snoozeSurvey\", data, {\n headers: {\n 'Content-Type': 'application/json',\n 'authToken': authToken,\n }\n });\n await this.handleCanvasLogin(authToken);\n } catch (error) {\n await this.handleCanvasLogin(authToken);\n }\n };\n\n render() {\n const {\n authToken,\n samlCallbackUrl,\n relayStateValue,\n samlResponse,\n errorMsg,\n loading,\n forms,\n navigatingToCanvasDashboard\n } = this.state;\n\n const disableSignInButton = loading;\n\n let content;\n\n if(!authToken && !navigatingToCanvasDashboard) {\n content = \n
\n \n

Sign in to your account

\n {!!errorMsg? (\n this.setState({errorMsg: null})}>\n {errorMsg}\n \n ) : null}\n\n \n\n Email address input is case sensitive.\n\n \n\n \n\n

\n Forgot your password?\n

\n\n\n

\n Privacy Policy\n   \n Terms and Conditions\n

\n

\n If you have trouble logging in, try resetting your password or {' '}\n get in touch with us through this\n form.\n

\n
\n
\n
;\n } else if(forms.length > 0 && !navigatingToCanvasDashboard) {\n content = 1 ? `Submit and Go to Next Survey` : `Submit`}\n snoozable={forms[0].snoozable}\n onSubmit={this.handleSubmitForm}\n onSnooze={this.handleSnoozeForms}\n />;\n }\n\n return (\n
\n
\n \n \n
\n {\n navigatingToCanvasDashboard &&\n
\n
\n
Loading
\n
\n
\n }\n {content}\n
\n )\n }\n}\n\nexport default withRouter(Login)\n","import React, {Component} from 'react'\nimport {Link, withRouter} from 'react-router-dom';\nimport DocumentTitle from \"react-document-title\";\nimport LoginScreenLayout from \"../uxkit/LoginScreenLayout\";\nimport Input from \"../uxkit/Input\";\nimport Alert from \"../uxkit/Alert\";\nimport {BASE_URL, processServerResponse} from \"../utils\";\nimport axios from \"axios\";\n\nclass ForgetPassword extends Component {\n constructor(props){\n super(props);\n\n this.state = {\n emailAddress: '',\n errorMsg: null,\n loading: false,\n submittedOk: null,\n }\n }\n\n handleChange = (event) => {\n let fieldName = event.target.name;\n let fieldValue = event.target.value;\n\n this.setState({\n [fieldName]: fieldValue,\n errorMsg:null,\n })\n };\n\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit(e)\n }\n };\n\n handleSubmit = async () => {\n const {emailAddress} = this.state;\n\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n const valid = re.test(emailAddress);\n\n if(!valid){\n this.setState({errorMsg: The email is invalid.});\n return;\n }\n\n try {\n this.setState({loading: true});\n\n const payload = {\n username: emailAddress,\n };\n const axiosResult = await axios.post(\"/requestPasswordReset\", payload, {headers: {'Content-Type': 'application/json'}});\n this.setState(processServerResponse(axiosResult))\n } catch (error) {\n const status = error.response.status;\n let errorMsg = Server returned ${status} code.;\n\n this.setState({errorMsg})\n } finally {\n this.setState({loading: false});\n }\n };\n\n\n render() {\n const {emailAddress, errorMsg, submittedOk, loading} = this.state;\n const disableBtn = emailAddress.length === 0 || !!submittedOk || loading;\n\n return (\n \n
\n \n

Reset your password

\n\n {!!errorMsg &&\n \n {errorMsg}\n \n }\n\n {!!submittedOk &&\n \n Instructions on how to set the new password have been sent to your email.\n \n }\n\n \n\n {!submittedOk &&\n Email address input is case sensitive.\n }\n\n \n\n

\n \n Remember your password? Then it's time to login!\n \n

\n\n
\n
\n
\n )\n }\n}\n\nexport default withRouter(ForgetPassword)","import React, {Component} from 'react'\nimport {withRouter} from 'react-router-dom';\nimport DocumentTitle from \"react-document-title\";\nimport LoginScreenLayout from \"../uxkit/LoginScreenLayout\";\nimport Input from \"../uxkit/Input\";\nimport axios from \"axios\";\nimport {BASE_URL, processServerResponse} from \"../utils\";\nimport Alert from \"../uxkit/Alert\";\n\nclass ResetPassword extends Component {\n constructor(props) {\n super(props);\n\n const {location: {search}, history} = props;\n const params = new URLSearchParams(search);\n const token = params.get('reset_password_token');\n const user = params.get('user');\n if (token === null || user === null) {\n history.replace(BASE_URL);\n }\n\n this.state = {\n resetToken: token,\n userName: user,\n password: '',\n passwordConfirmation: '',\n loading: false,\n submittedOk: false,\n errorMsg: null,\n }\n }\n\n handleChange = (event) => {\n let fieldName = event.target.name;\n let fieldValue = event.target.value;\n\n this.setState({\n [fieldName]: fieldValue,\n errorMsg: null,\n })\n };\n\n\n handleKeyPress = (e) => {\n if (e.key === 'Enter') {\n this.handleSubmit()\n }\n };\n\n isStrongPassword = (password) => {\n const passwordRegex = /(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[`~!@#$%^&*()_+=?]).{8,}/;\n\n if (password.length < 8) {\n this.setState({errorMsg: Your password must be at least 8 characters in length.});\n return false\n }\n\n if (!passwordRegex.test(password)) {\n this.setState({errorMsg: Your password must contain at least 1 uppercase letter, 1 lowercase letter, 1 number and 1 special character.});\n return false\n }\n\n return true\n };\n\n handleSubmit = async () => {\n const {resetToken, password, passwordConfirmation, userName} = this.state;\n\n if (password !== passwordConfirmation) {\n this.setState({\n errorMsg: Password and password confirmation fields must match.,\n });\n return;\n }\n\n if (this.isStrongPassword(password)) {\n try {\n this.setState({loading: true});\n\n const payload = {userName, resetToken, password};\n const axiosResult = await axios.post(\"/resetPassword\", payload, {headers: {'Content-Type': 'application/json'}});\n this.setState(processServerResponse(axiosResult))\n } catch (error) {\n const status = error.response.status;\n let errorMsg = Server returned {status} code.;\n\n this.setState({errorMsg})\n } finally {\n this.setState({loading: false});\n }\n }\n };\n\n render() {\n const {password, passwordConfirmation, loading, submittedOk, errorMsg} = this.state;\n const disableBtn = password === '' || passwordConfirmation === '' || !!submittedOk || loading;\n\n return (\n \n
\n \n

Set your new password

\n\n {!!errorMsg &&\n \n {errorMsg}\n \n }\n\n {!!submittedOk &&\n \n Your password was set successfully.\n \n }\n\n \n\n \n\n \n
\n
\n
\n )\n }\n}\n\nexport default withRouter(ResetPassword)","import {Component} from 'react'\nimport {withRouter} from 'react-router-dom';\n\nclass RequestId extends Component {\n componentDidMount() {\n const {location:{search}, setRequestId} = this.props;\n const params = new URLSearchParams(search);\n const requestId = params.get('requestId');\n if (requestId !== null) {\n setRequestId(requestId)\n }\n }\n\n render() {\n return this.props.children\n }\n}\n\nexport default withRouter(RequestId)","import React from 'react';\nimport './App.css';\nimport Login from \"./pages/login\";\nimport ForgetPassword from \"./pages/forgetPassword\";\nimport ResetPassword from \"./pages/resetPassword\";\n\nimport axios from 'axios';\nimport {BrowserRouter, Route, Switch} from \"react-router-dom\";\nimport {datadogRum} from \"@datadog/browser-rum\";\nimport '@trilogyeducation/bcs-style-library/public/scss/main.scss';\n\nimport {BASE_URL} from \"./utils\";\nimport RequestId from \"./components/requestId\";\n\nclass App extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n requestId: '',\n otChanged: false\n }\n }\n\n componentWillMount() {\n this.initApp();\n }\n\n\n initApp = () => {\n window.addEventListener('otChanged', () => {\n let newOtChanged = window.localStorage.getItem(\"otChanged\");\n this.setState({\n otChanged: newOtChanged\n });\n this.loadDD(newOtChanged);\n })\n }\n\n performanceCookiesAllowed = otChanged =>\n otChanged && decodeURIComponent(document.cookie.split(\"; \").find((row) => row.startsWith(\"OptanonConsent=\"))?.split(\"groups=\")[1]).includes('C0002:1');\n\n loadDD = async (otChanged) => {\n if (otChanged && this.performanceCookiesAllowed(otChanged)) {\n try {\n const response = await axios.post(\"/prepareApp\", {headers: {'Content-Type': 'application/json'}});\n if (response.data) {\n if (response.data.dataDogRumConfig) {\n datadogRum.init(response.data.dataDogRumConfig);\n }\n }\n } catch (e) {\n console.log(e);\n }\n }\n }\n\n\n\n\n setRequestId = (newRequestId) => {\n const {requestId} = this.state;\n if (requestId === '') {\n this.setState({\n requestId: newRequestId\n });\n }\n };\n\n render() {\n const {requestId} = this.state;\n\n return (\n \n \n \n }/>\n\n }/>\n\n }/>\n\n }/>\n\n {window.location.replace(\"https://www.bootcampspot.com/privacy-policy\")}}/>\n\n {window.location.replace(\"https://www.bootcampspot.com/terms-and-conditions\")}}/>\n \n \n \n )\n };\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\n\nReactDOM.render(, document.getElementById('root'));\n"],"sourceRoot":""}