{"version":3,"file":"chunks/9325.chunk.83f5c16f0e9d0d57fc83.js","mappings":"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","sources":["webpack://northern-tuna-portal/./common/react/components/Forms/ConfirmationCodeInput/ConfirmationCodeInput.tsx","webpack://northern-tuna-portal/./common/react/components/Forms/PhoneOrEmailInput/PhoneOrEmailInput.tsx","webpack://northern-tuna-portal/./common/react/components/Pages/Login/SendCodeButton.tsx","webpack://northern-tuna-portal/./common/react/components/Pages/Login/Login.tsx"],"sourcesContent":["import * as React from 'react';\nimport MaskedInput from 'react-text-mask';\n\nimport { FieldProps } from 'formik';\n\nimport '@common/react/scss/components/confirmationCode.scss';\n\ninterface Props {\n\tfieldProps: FieldProps;\n\tdisabled?: boolean;\n\tmask?: any;\n}\n\nexport const ConfirmationCodeInput: React.FC = ({\n\tfieldProps: { field },\n\tdisabled,\n\tmask = [/\\d/, /\\d/, /\\d/, /\\d/],\n}) => {\n\treturn
\n\t\t\n\t\t
;\n};\n","import React from 'react';\nimport MaskedInput from 'react-text-mask';\n\nimport { FieldProps } from 'formik';\nimport * as Yup from 'yup';\n\nimport { phoneRegexp } from '@common/react/utils/validationHelpers';\n\ninterface Props {\n\tplaceholder?: string;\n\tfieldProps: FieldProps;\n\tclassName?: string;\n\tdisabled?: boolean;\n\tallPhoneMask?: boolean;\n}\n\nconst removePhoneMask = (value: string, withOne?: boolean) => (value\n\t? (withOne ? value.replace(/^\\+1/, '') : value).replace(/[+\\(\\)\\-\\s_]/g, '') : '');\n\nconst removeMask = (value: string) => (value\n\t? value.replace(/\\+(.) \\((...)\\) (...)-(...)/g, '$1$2$3$4') : '');\n\nconst allCountriesPhoneMask = ['+', /[1-9]/, ' ', '(', /[\\d]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\n\nexport const allPhoneFormat = (phone: string | null | undefined): string => (phone\n\t? phone.replace(/^\\+([1-9])([1-9]\\d{2})(\\d{3})(\\d{4})$/, '+$1 ($2) $3-$4') : '');\n\nexport const emailOrPhoneValidator = Yup.string()\n\t.test(\n\t\t'is-valid',\n\t\t'Enter Valid Phone/Email',\n\t\t(value) => {\n\t\t\tconst emailRegex = /^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,4})+$/;\n\n\t\t\tconst isValidEmail = emailRegex.test(value || '');\n\t\t\tconst isValidPhone = phoneRegexp.test(value || '');\n\n\t\t\treturn isValidEmail || isValidPhone;\n\t\t},\n\t);\n\nconst PhoneOrEmailInput: React.FC = ({\n\tplaceholder = '',\n\tfieldProps: { field, form },\n\tclassName = 'form-control',\n\tallPhoneMask,\n\tdisabled,\n}) => {\n\tconst value = React.useMemo(() => removeMask(field.value), [field.value]);\n\n\tconst pipe = (value, t) => {\n\t\tconst trimRawValue = t.rawValue.trim();\n\t\tif (['_', '+', '-', '(', ')'].includes(trimRawValue)) {\n\t\t\treturn {\n\t\t\t\tvalue: '+1 (',\n\t\t\t\tindexesOfPipedChars: [0, 1, 2, 3, 4],\n\t\t\t};\n\t\t}\n\t\tconst text = ['0', '1'].includes(trimRawValue) ? `+1 (${trimRawValue}` : value;\n\t\tconst withoutPhoneMask = removePhoneMask(value);\n\n\t\tconst hasPhoneMask = text.match(/^\\+/);\n\t\tconst textWithoutMinusMask = hasPhoneMask ? text.replace(/-/, '') : text;\n\t\tconst hasPreviousValuePhoneMask = t.previousConformedValue?.match(/^\\+/);\n\n\t\treturn (withoutPhoneMask.match(/\\D/) || value.trim() === '') && withoutPhoneMask\n\t\t\t? textWithoutMinusMask.replace(hasPreviousValuePhoneMask ? /[+\\(\\)\\s_]/g : /[+\\(\\)\\s]/g, '')\n\t\t\t\t.replace(/^1/, (value) => (hasPreviousValuePhoneMask ? '' : value))\n\t\t\t: text;\n\t};\n\n\tconst handleChange = (e) => {\n\t\tconst value = e.target.value;\n\t\tconst withoutPhoneMask = removePhoneMask(value);\n\t\tform.setFieldValue(field.name, value && !(withoutPhoneMask.match(/\\D/) || value.trim() === '')\n\t\t\t? `+${value.match(/^\\+1/) && !allPhoneMask ? '' : 1}${withoutPhoneMask}` : value);\n\t};\n\n\tconst mask = (value) => {\n\t\tconst withoutPhoneMask = removePhoneMask(value);\n\t\treturn (withoutPhoneMask.match(/\\D/) || value.trim() === '') && value ? value.split('').map((i) => /./) : allCountriesPhoneMask;\n\t};\n\n\treturn ;\n};\n\nexport default PhoneOrEmailInput;\n","import React from 'react';\n\nimport * as Yup from 'yup';\nimport Alert from 'antd/lib/alert';\nimport Modal from 'antd/lib/modal';\n\nimport { ItemProvider } from '@common/react/components/Core/ItemProvider/ItemProvider';\nimport { ItemEditor } from '@common/react/components/Core/ItemEditor/ItemEditor';\nimport FormikField from '@common/react/components/Forms/FormikField/FormikField';\nimport { ConfirmationCodeInput } from '@common/react/components/Forms/ConfirmationCodeInput/ConfirmationCodeInput';\nimport { RequestButton } from '@common/react/components/UI/LoadingButton/LoadingButton';\nimport { phoneRegexp, simpleStringValidator } from '@common/react/utils/validationHelpers';\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\nimport { BaseInit } from '@common/react/objects/BaseInit';\nimport { AuthResult } from '@common/react/components/Core/Application/Application';\nimport Button from '@common/react/components/Forms/Button';\n\ninterface Props> {\n\tphone: string;\n\tafterSubmit?: ({ phone: string }, res: AuthResult) => void;\n\tauthRequest: string;\n\tsendCodeRequest: string;\n\tresendCodeRequest?: string;\n\topenModal?: boolean;\n}\n\nconst validationSchemaConfirm = Yup.object().shape({\n\tloginCode: simpleStringValidator,\n});\n\nconst SendCodeButton: = BaseInit>(p: Props) =>\nReact.ReactElement = = BaseInit>(props: Props) => {\n\tconst {\n\t\tphone,\n\t\tafterSubmit,\n\t\tauthRequest = 'authByCode',\n\t\tsendCodeRequest = 'sendLoginCode',\n\t\topenModal = false,\n\t\tresendCodeRequest = sendCodeRequest,\n\t} = props;\n\tconst [open, setOpen] = React.useState(openModal);\n\tconst isPhoneValid = React.useMemo(() => {\n\t\treturn phoneRegexp.test(phone || '');\n\t}, [phone]);\n\n\tconst [time, setTime] = React.useState(30);\n\tconst ref = React.useRef(null);\n\n\tconst startTimer = () => {\n\t\tref.current = null;\n\t\tsetTime(60);\n\t\tref.current = setInterval(() => {\n\t\t\tsetTime((prev) => {\n\t\t\t\tconst newTime = prev - 1;\n\t\t\t\tif (!newTime && ref.current) {\n\t\t\t\t\tclearInterval(ref.current);\n\t\t\t\t\tref.current = null;\n\t\t\t\t}\n\t\t\t\treturn newTime;\n\t\t\t});\n\t\t}, 1000);\n\t\treturn () => {\n\t\t\tif (ref.current) {\n\t\t\t\tclearInterval(ref.current);\n\t\t\t}\n\t\t};\n\t};\n\n\tReact.useEffect(() => {\n\t\tstartTimer();\n\t}, []);\n\n\tReact.useEffect(() => {\n\t\tif (openModal && !open) {\n\t\t\tsetOpen(openModal);\n\t\t}\n\t}, [openModal]);\n\n\tif (!isPhoneValid) return <>;\n\n\treturn <>\n\t\t {\n\t\t\t\tsetOpen(true);\n\t\t\t}}\n\t\t>\n\t\t\tSend Code\n\t\t\n\t\t {\n\t\t\t\tsetOpen(false);\n\t\t\t}}\n\t\t\tdestroyOnClose\n\t\t\twidth={500}\n\t\t\tfooter={null}\n\t\t>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\tSecurity code has been sent to your phone number.\n\t\t\t\t\t
}\n\t\t\t\t/>\n\t\t\t\n\t\t\t
\n\t\t\t\tDidn't receive a code?\n\t\t\t\t{' '}\n\t\t\t\t{time ? `Resend code in ${time} seconds.`\n\t\t\t\t\t: (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tstartTimer();\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\t\t\tModal.error({\n\t\t\t\t\t\t\t\t\ttitle: 'Error',\n\t\t\t\t\t\t\t\t\tcontent: e,\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (ref.current) {\n\t\t\t\t\t\t\t\t\tclearInterval(ref.current);\n\t\t\t\t\t\t\t\t\tref.current = null;\n\t\t\t\t\t\t\t\t\tsetTime(0);\n\t\t\t\t\t\t\t\t\tstartTimer();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\trequestType={resendCodeRequest}\n\t\t\t\t\t\t\trequestProps={{ phoneNumber: phone }}\n\t\t\t\t\t\t\tsuccessMessage=\"Security code has been successfully sent.\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tResend code\n\t\t\t\t\t\t)}\n\t\t\t
\n\t\t\t\n\t\t\t\tid={-1}\n\t\t\t\tadd={{\n\t\t\t\t\tloginCode: '',\n\t\t\t\t\tlogin: phone,\n\t\t\t\t\tpath: '/',\n\t\t\t\t}}\n\t\t\t\ttype=\"\"\n\t\t\t\tsaveRequest={authRequest}\n\t\t\t\tvalidationSchema={validationSchemaConfirm}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\treadonly={false}\n\t\t\t\t\tformikProps={{ enableReinitialize: true }}\n\t\t\t\t\tsuccessMessage=\"\"\n\t\t\t\t\tafterSubmit={(values, res) => {\n\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\tafterSubmit && afterSubmit({ phone }, res);\n\t\t\t\t\t}}\n\t\t\t\t\tsaveText=\"Send\"\n\t\t\t\t\tedit={(formikBag, deleteItem, { loading }) =>
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst value = e.currentTarget.value;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfieldProps.field.onChange(e);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (value.length === 4 && !loading) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tformikBag.submitForm();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
}\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t;\n};\n\nexport default SendCodeButton;\n","import * as React from 'react';\nimport { Link, Navigate, useLocation } from 'react-router-dom';\n\nimport * as Yup from 'yup';\n\nimport { AuthResult, useApplicationContext } from '@common/react/components/Core/Application/Application';\nimport { BaseInit } from '@common/react/objects/BaseInit';\nimport { simpleStringValidator } from '@common/react/utils/validationHelpers';\nimport FormikField from '@common/react/components/Forms/FormikField/FormikField';\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\nimport PhoneOrEmailInput, { emailOrPhoneValidator } from '@common/react/components/Forms/PhoneOrEmailInput/PhoneOrEmailInput';\nimport ServerPageProvider from '@common/react/components/Core/ServerPageProvider/ServerPageProvider';\nimport { ItemProvider } from '@common/react/components/Core/ItemProvider/ItemProvider';\nimport { ItemEditor } from '@common/react/components/Core/ItemEditor/ItemEditor';\nimport { callWithConnectionOnce } from '@common/react/utils/configureSignarR';\nimport { WithId } from '@common/typescript/objects/WithId';\nimport SendCodeButton from '@common/react/components/Pages/Login/SendCodeButton';\n\nimport '@common/react/scss/components/login.scss';\n\nexport interface LoginFormValues extends WithId {\n\tlogin: string;\n\tpassword: string;\n\tcode: string;\n\tpath: string;\n}\n\nconst validationSchema = Yup.object().shape({\n\tlogin: emailOrPhoneValidator,\n\tpassword: simpleStringValidator,\n});\n\nexport interface AuthCodeComponentProps = BaseInit> {\n\tformValues: LoginFormValues;\n\tafterSubmit: (item: LoginFormValues, res: AuthResult) => void;\n\tcancelAuthWithCode: () => void;\n}\n\ninterface LoginProps> {\n\tcontainerClassName?: string;\n\tafterBaseRedirectUser?: (user: User) => React.ReactNode;\n\trenderAuthWithCode?: (props: AuthCodeComponentProps) => React.ReactNode;\n\tlogo?: React.ReactNode;\n\twithFieldTitle?: boolean;\n\ttitle?: string;\n\twithoutServerPage?: boolean;\n\trequest?: string;\n\tafterSubmit?: (item: LoginFormValues, res: AuthResult) => void;\n\tonSaveRequestError?: ((error: string) => void);\n\tbuttons?: React.ReactNode;\n\tafterLogin?: () => void;\n\trecoverPath?: string;\n\tauthByCodeRequest?: string;\n\tsendCodeRequest?: string;\n}\n\nconst Login: = BaseInit>(p: LoginProps) =>\nReact.ReactElement = = BaseInit>(props) => {\n\tconst search = useLocation().search;\n\n\tconst [isVisible, setIsVisible] = React.useState(false);\n\tconst [openLoginCode, setOpenLoginCode] = React.useState(false);\n\tconst [formValues, setFormValues] = React.useState(null);\n\n\tconst { getUser, getHostOptions, handleLogin } = useApplicationContext();\n\tconst user = getUser();\n\tconst hostOptions = getHostOptions();\n\n\tconst {\n\t\tafterBaseRedirectUser,\n\t\trenderAuthWithCode,\n\t\twithFieldTitle,\n\t\tcontainerClassName = '',\n\t\tlogo,\n\t\tbuttons,\n\t\ttitle = 'Login',\n\t\twithoutServerPage,\n\t\trequest = 'auth',\n\t\trecoverPath = '/recover',\n\t\tafterSubmit = (item, res) => {\n\t\t\thandleLogin(res?.initObject as TInit);\n\n\t\t\tsetFormValues(null);\n\t\t},\n\t\tonSaveRequestError = (error) => {\n\t\t\tif (error === '2FA enabled' && renderAuthWithCode) {\n\t\t\t\tsetIsVisible(true);\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (error === 'The confirmation code has been sent.') {\n\t\t\t\tsetOpenLoginCode(true);\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\tafterLogin,\n\t\tauthByCodeRequest = 'authByCode',\n\t\tsendCodeRequest,\n\t} = props;\n\n\tconst [afterLoginTrigger, setLoginTrigger] = React.useState(false);\n\n\tReact.useEffect(() => {\n\t\tif (user && !afterLoginTrigger) {\n\t\t\tafterLogin && afterLogin();\n\t\t\tsetLoginTrigger(true);\n\t\t}\n\t}, [!!user]);\n\n\tconst redirectUser = React.useCallback((user: User) => {\n\t\tif (hostOptions?.redirectUrlName) {\n\t\t\tconst redirectUrl = new URLSearchParams(search).get(hostOptions.redirectUrlName);\n\t\t\tif (redirectUrl) {\n\t\t\t\treturn ;\n\t\t\t}\n\t\t}\n\n\t\tif (afterBaseRedirectUser) {\n\t\t\treturn afterBaseRedirectUser(user);\n\t\t}\n\n\t\treturn ;\n\t}, [afterBaseRedirectUser]);\n\n\tconst beforeSubmit = (values, actions, submit) => {\n\t\tsetFormValues(values);\n\n\t\tcallWithConnectionOnce(() => { submit(); });\n\t};\n\n\tconst cancelAuthWithCode = () => {\n\t\tsetIsVisible(false);\n\t};\n\n\treturn (<>\n\t\t{!withoutServerPage\n\t\t\t\t&& }\n\t\t\t\t\tinner={(serverPage) => <>}\n\t\t\t\t/>\n\t\t}\n\t\t
\n\t\t\t{logo}\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\tid={-1}\n\t\t\t\t\ttype={request}\n\t\t\t\t\treadonly={false}\n\t\t\t\t\tadd={{\n\t\t\t\t\t\tlogin: '',\n\t\t\t\t\t\tpassword: '',\n\t\t\t\t\t\tcode: '',\n\t\t\t\t\t\tpath: '/',\n\t\t\t\t\t}}\n\t\t\t\t\tvalidationSchema={validationSchema}\n\t\t\t\t\tonSaveRequestError={onSaveRequestError}\n\t\t\t\t>\n\t\t\t\t\t{renderAuthWithCode && isVisible && !user\n\t\t\t\t\t\t? renderAuthWithCode({ formValues, afterSubmit, cancelAuthWithCode })\n\t\t\t\t\t\t:
\n\t\t\t\t\t\t\t{user && redirectUser(user)}\n\t\t\t\t\t\t\t{title &&
\n\t\t\t\t\t\t\t\t

{title}

\n\t\t\t\t\t\t\t
}\n\t\t\t\t\t\t\t <>\n\t\t\t\t\t\t\t\t\t <>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{authByCodeRequest && fieldProps.field.value\n\t\t\t\t\t\t\t\t\t\t\t\t&& \n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{recoverPath &&
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\tForget Password?\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\n\t);\n};\n\nexport default Login;\n"],"names":["ConfirmationCodeInput","field","fieldProps","disabled","mask","className","type","guide","id","name","htmlFor","removePhoneMask","value","withOne","replace","allCountriesPhoneMask","emailOrPhoneValidator","Yup","test","isValidEmail","isValidPhone","phoneRegexp","placeholder","form","allPhoneMask","React","removeMask","match","trim","split","map","i","pipe","t","trimRawValue","rawValue","includes","indexesOfPipedChars","text","withoutPhoneMask","textWithoutMinusMask","hasPreviousValuePhoneMask","previousConformedValue","onChange","e","target","setFieldValue","onBlur","validationSchemaConfirm","shape","loginCode","simpleStringValidator","props","phone","afterSubmit","authRequest","sendCodeRequest","openModal","resendCodeRequest","open","setOpen","isPhoneValid","time","setTime","ref","startTimer","current","setInterval","prev","newTime","clearInterval","requestType","requestProps","phoneNumber","onSuccess","res","title","onCancel","destroyOnClose","width","footer","showIcon","style","marginBottom","message","display","marginLeft","beforeAction","onError","Modal","content","successMessage","ItemProvider","add","login","path","saveRequest","validationSchema","ItemEditor","readonly","formikProps","enableReinitialize","values","saveText","edit","formikBag","deleteItem","loading","FormikField","containerClassName","fieldName","render","currentTarget","length","submitForm","Button","isLoading","password","search","useLocation","isVisible","setIsVisible","openLoginCode","setOpenLoginCode","formValues","setFormValues","useApplicationContext","getUser","getHostOptions","handleLogin","user","hostOptions","afterBaseRedirectUser","renderAuthWithCode","withFieldTitle","logo","buttons","withoutServerPage","request","recoverPath","item","initObject","onSaveRequestError","error","afterLogin","authByCodeRequest","afterLoginTrigger","setLoginTrigger","redirectUser","redirectUrlName","redirectUrl","URLSearchParams","get","Navigate","to","ServerPageProvider","defaultTitle","loader","inner","serverPage","code","cancelAuthWithCode","withButtons","beforeSubmit","actions","submit","callWithConnectionOnce","inputProps","PhoneOrEmailInput","Link"],"sourceRoot":""}