{"version":3,"file":"7856.5b190133c0489eea4e9e.js","mappings":"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","sources":["..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/TwoFactorRegisterForm.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Services/API/useApiClient.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Components/Icons/VisibilityOff.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Utils/isLocalUrl.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/AdfsForm.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/RegisterForm.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./node_modules/moment/locale/ sync ^\\.\\/.*$","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/ForgotPasswordForm.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/SsoButtons.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/TermsOfUseModal.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/SigningCommon.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Validation/yup/methods/fullName.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Validation/yup/methods/inDomains.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Validation/yup/methods/phone.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Validation/yup/methods/simpleName.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Validation/yup/methods/unique.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Validation/yup/methods/dateString.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Validation/yup/methods/emailList.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/SigningForm.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Components/Inputs/Checkbox.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Components/Icons/Visibility.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Services/LegacyAPI/AccountClient.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/ChangePasswordForm.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/SeparatorWithText.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/TwoFactorConfirmForm.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Pages/Components/Signing/LoginForm.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Components/Inputs/PasswordInputFL.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport * as yup from \"yup\";\r\nimport { SpinningButton } from \"Components/ReactstrapSlim\";\r\nimport { InputFL, ValidationSummary } from \"Components/Inputs\";\r\nimport { AccountClient, TwoFactorResponse } from \"Services/LegacyAPI/AccountClient\";\r\nimport { useApiClient } from \"Services/API/useApiClient\";\r\n\r\ninterface TwoFactorRegisterFormModel {\r\n PhoneNumber: string,\r\n}\r\n\r\nconst TwoFactorRegisterFormSchema: yup.SchemaOf = yup.object({\r\n PhoneNumber: yup.string().required(\"Phone number is required\").phone(\"Phone number is not valid\").defined(),\r\n}).defined();\r\n\r\n\r\n\r\nexport interface TwoFactorRegisterFormProps {\r\n isActive: boolean;\r\n email: string,\r\n lstoken: string,\r\n onSuccess: (logonResult: TwoFactorResponse) => boolean;\r\n}\r\n\r\nexport const TwoFactorRegisterForm: React.FC = function ({ isActive, email, lstoken, onSuccess }) {\r\n const accountClient = useApiClient(AccountClient);\r\n const [isLoading, setIsLoading] = useState(false); \r\n const [serverErrors, setServerErrors] = useState>([]); \r\n\r\n const formMethods = useForm({\r\n resolver: yupResolver(TwoFactorRegisterFormSchema),\r\n mode: \"onBlur\"\r\n });\r\n\r\n const onSubmit = async () => {\r\n if (isLoading)\r\n return;\r\n setIsLoading(true);\r\n setServerErrors([]);\r\n try { \r\n const isValid = await formMethods.trigger();\r\n if (isValid) {\r\n const formValues = formMethods.getValues();\r\n const twoFactorRegisterResult = await accountClient.twoFactorRegister({\r\n ...formValues,\r\n UserName: email,\r\n LSToken: lstoken\r\n });\r\n if (twoFactorRegisterResult.success) {\r\n onSuccess(twoFactorRegisterResult);\r\n } else {\r\n setServerErrors([[\"email\", twoFactorRegisterResult.error]]);\r\n }\r\n }\r\n } catch (err: any) {\r\n if (err.error) {\r\n setServerErrors([[\"email\", err.error]]);\r\n }\r\n console.log(err);\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const submitOnEnterHandler = (e: React.KeyboardEvent) => {\r\n if (e.key === \"Enter\") {\r\n onSubmit();\r\n }\r\n } \r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n setTimeout(function () {\r\n formMethods.setFocus(\"PhoneNumber\");\r\n }, 500);\r\n }\r\n }, [isActive])\r\n\r\n return (\r\n
\r\n
\r\n Two factor authentication\r\n
\r\n
\r\n Please specify your phone number for two factor authentication.\r\n
\r\n
\r\n \r\n \r\n Continue\r\n
\r\n
\r\n )\r\n}","import ClientBase from \"Services/API/ClientBase\";\r\nimport { useContext, useMemo } from \"react\";\r\nimport { LayoutContext } from \"Components/LayoutContext\";\r\n\r\nexport function useApiClient(clientType: new (baseUrl?: string) => T): T {\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n const client = useMemo(() => {\r\n const client = new clientType();\r\n client.onError = (message, httpStatus) => {\r\n console.log(\"API client error\", message, httpStatus);\r\n layoutContext.showError(message);\r\n };\r\n return client;\r\n }, [clientType]);\r\n\r\n return client;\r\n}","import React from \"react\";\r\nimport { forwardRef } from \"react\";\r\nimport { Icon, IconProps } from \"./common\";\r\n\r\nconst VisibilityOff: Icon = forwardRef(({ color = \"currentColor\", size = 24, ...rest }, ref) => \r\n \r\n);\r\nexport default VisibilityOff;","export function isLocalUrl(url: string | undefined | null): boolean {\r\n if (!url) {\r\n return false;\r\n } else {\r\n return url === \"/\" || !!url.match(/^~?\\/[^\\/\\\\]/);\r\n }\r\n}","import React, { useEffect } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport * as yup from \"yup\";\r\nimport { InputFL } from \"Components/Inputs\";\r\nimport { SigningEmailProps, useSigningEmailEffect } from \"./SigningCommon\";\r\n\r\n\r\ninterface AdfsFormModel {\r\n email: string,\r\n}\r\n\r\nconst AdfsFormSchema: yup.SchemaOf = yup.object({\r\n email: yup.string()\r\n .required(\"Email is required\")\r\n .email(\"Email is not valid\")\r\n .defined(),\r\n}).defined();\r\n\r\n\r\n\r\nexport interface AdfsFormProps extends SigningEmailProps {\r\n isActive: boolean;\r\n adfsProvider: LSCommon.Context.AdfsProvider | undefined, \r\n}\r\n\r\nexport const AdfsForm: React.FC = function ({ isActive, adfsProvider, ...signingEmailProps }) {\r\n const formMethods = useForm({\r\n defaultValues: {\r\n email: signingEmailProps.email,\r\n },\r\n resolver: yupResolver(AdfsFormSchema), \r\n mode: \"onTouched\"\r\n });\r\n\r\n useSigningEmailEffect(signingEmailProps, formMethods, \"email\");\r\n\r\n const onLoginClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n if (adfsProvider) {\r\n LSHelper.Sso.popupSsoLoginCommon(LSHelper.Sso.addParamToUrl(adfsProvider.Url!, \"SAMLRequest=\" + adfsProvider.SAMLRequest!), false, 1024, 450);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n setTimeout(function () {\r\n formMethods.setFocus(\"email\");\r\n }, 500);\r\n }\r\n }, [isActive])\r\n\r\n return (\r\n
\r\n
\r\n Log in\r\n
\r\n
\r\n You are now required to log in at {adfsProvider?.Name || \"Organization\"}\r\n
\r\n \r\n
\r\n )\r\n}","import { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { SpinningButton } from \"Components/ReactstrapSlim\";\r\nimport { CheckboxControlled, InputFL, PasswordInputFL, ValidationSummary } from \"Components/Inputs\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { FieldErrors, useForm } from \"react-hook-form\";\r\nimport { useApiClient } from \"Services/API/useApiClient\";\r\nimport { AccountClient, RegisterSuccessResponse } from \"Services/LegacyAPI/AccountClient\";\r\nimport * as yup from \"yup\";\r\nimport { SeparatorWithText } from \"./SeparatorWithText\";\r\nimport { SigningEmailProps, useSigningEmailEffect } from \"./SigningCommon\";\r\nimport { SsoButtons, SsoRegistrationOptions } from \"./SsoButtons\";\r\n\r\ninterface RegisterFormModel {\r\n FullName: string,\r\n Email: string,\r\n Password: string,\r\n RememberMe: boolean,\r\n AcceptTerms: boolean\r\n}\r\n\r\nconst termsValidationMessage = \"The terms must be accepted.\";\r\n\r\nconst RegisterFormModelSchema: yup.SchemaOf = yup.object({\r\n FullName: yup.string().fullName(true, \"Full name is required\").defined(),\r\n Email: yup.string()\r\n .required(\"Email is required\")\r\n .email(\"Email is not valid\")\r\n .defined(),\r\n Password: yup.string().required(\"Password is required\")\r\n .min(LiquidSpaceConfig.NewMinPasswordLength, \"Password must be at least ${min} characters long\")\r\n .max(LiquidSpaceConfig.MaxPasswordLength, \"Enter no more than ${max} characters\")\r\n .test(\"no-spaces\", \"Password shouldn't contain spaces\", (value) =>\r\n !value || !value.includes(\" \")),\r\n RememberMe: yup.boolean().required(),\r\n AcceptTerms: yup.boolean().required(termsValidationMessage)\r\n .oneOf([true], termsValidationMessage)\r\n}).defined();\r\n\r\n\r\nconst TermsLabel: React.FC = () => {\r\n return (<>\r\n By signing up you are giving the thumbs up to our Terms of Service and Privacy Policy.\r\n );\r\n}\r\n\r\nexport interface RegisterFormProps extends SigningEmailProps {\r\n isActive: boolean;\r\n onRegisterSuccess: (registerSuccessResponse: RegisterSuccessResponse) => boolean;\r\n onSwitchToLogin: () => void;\r\n registerProps?: LSStore.SigningRegisterProps;\r\n registerModel?: LSWebUI.Models.RegisterModel;\r\n}\r\n\r\nexport const RegisterForm: React.FC = function ({ isActive, onRegisterSuccess, onSwitchToLogin, registerProps, registerModel, ...signingEmailProps }) {\r\n const accountClient = useApiClient(AccountClient);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [serverErrors, setServerErrors] = useState>([]);\r\n\r\n const formMethods = useForm({\r\n resolver: yupResolver(RegisterFormModelSchema),\r\n defaultValues: {\r\n FullName: registerProps?.FullName || undefined,\r\n Email: signingEmailProps?.email,\r\n RememberMe: true,\r\n AcceptTerms: true\r\n },\r\n mode: \"onTouched\"\r\n });\r\n\r\n useSigningEmailEffect(signingEmailProps, formMethods, \"Email\");\r\n\r\n const onSubmit = async () => {\r\n if (isLoading)\r\n return;\r\n setIsLoading(true);\r\n setServerErrors([]);\r\n let finalIsLoading = false;\r\n try {\r\n const isValid = await formMethods.trigger();\r\n if (isValid) {\r\n const formValues = formMethods.getValues();\r\n const registerRequest: Partial = {\r\n ...registerProps,\r\n ...registerModel,\r\n ...formValues\r\n };\r\n\r\n const requestResult = await accountClient.register(registerRequest);\r\n\r\n if (requestResult.success) {\r\n finalIsLoading = onRegisterSuccess(requestResult);\r\n } else {\r\n if (requestResult.errors && requestResult.errors.length)\r\n setServerErrors(requestResult.errors.map(err => [\"email\", err]));\r\n else\r\n setServerErrors([[\"email\", \"Unexpected server error\"]]);\r\n }\r\n }\r\n else {\r\n let name: keyof FieldErrors;\r\n for (name in formMethods.formState.errors) {\r\n formMethods.setFocus(name);\r\n break;\r\n }\r\n }\r\n } catch (err: any) {\r\n if (err.error) {\r\n setServerErrors([[\"email\", err.error]]);\r\n }\r\n console.log(err);\r\n } finally {\r\n setIsLoading(finalIsLoading);\r\n }\r\n }\r\n\r\n const submitOnEnterHandler = (e: React.KeyboardEvent) => {\r\n if (e.key === \"Enter\") {\r\n onSubmit();\r\n }\r\n }\r\n\r\n const onLoginClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n onSwitchToLogin();\r\n }\r\n\r\n const ssoRegistrationOptions = useMemo(() => {\r\n if (registerModel) {\r\n const result: SsoRegistrationOptions = {\r\n RegistrationType: registerModel.RegistrationType,\r\n MemberIdToLink: registerModel.MemberId != Guid.Empty ? registerModel.MemberId : undefined,\r\n OriginatingVenueId: registerModel.OriginatingVenueId,\r\n Email: registerModel.Email ?? undefined,\r\n InvitationId: registerModel.InvitationId ?? undefined,\r\n InvitationOwnerId: registerModel.InvitationOwnerId ?? undefined,\r\n OwnerId: registerModel.OwnerId ?? undefined,\r\n ConnectionType: registerModel.ConnectionType ?? undefined,\r\n };\r\n return result;\r\n }\r\n else if (registerProps) {\r\n return {\r\n RegistrationType: registerProps.RegistrationType || LSCommon.Enums.RegistrationType.Direct,\r\n ConnectionType: registerProps.ConnectionType\r\n }\r\n }\r\n else {\r\n return undefined;\r\n }\r\n }, [registerModel])\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n setTimeout(function () {\r\n formMethods.setFocus(\"FullName\");\r\n }, 500);\r\n }\r\n }, [isActive])\r\n\r\n useEffect(() => {\r\n if (registerProps?.FullName && !formMethods.getValues(\"FullName\"))\r\n formMethods.setValue(\"FullName\", registerProps.FullName);\r\n }, [registerProps])\r\n\r\n return (\r\n
\r\n
\r\n Sign up\r\n
\r\n {(registerProps?.Message) &&
{registerProps?.Message}
}\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n } aria-label=\"accept terms of use\" className=\"srf-checkbox\" />\r\n Sign up\r\n
Do you have an account? Log in
\r\n \r\n \r\n
\r\n
\r\n )\r\n}","var map = {\n\t\"./af\": 25177,\n\t\"./af.js\": 25177,\n\t\"./ar\": 61509,\n\t\"./ar-dz\": 41488,\n\t\"./ar-dz.js\": 41488,\n\t\"./ar-kw\": 58676,\n\t\"./ar-kw.js\": 58676,\n\t\"./ar-ly\": 42353,\n\t\"./ar-ly.js\": 42353,\n\t\"./ar-ma\": 24496,\n\t\"./ar-ma.js\": 24496,\n\t\"./ar-sa\": 82682,\n\t\"./ar-sa.js\": 82682,\n\t\"./ar-tn\": 89756,\n\t\"./ar-tn.js\": 89756,\n\t\"./ar.js\": 61509,\n\t\"./az\": 95533,\n\t\"./az.js\": 95533,\n\t\"./be\": 28959,\n\t\"./be.js\": 28959,\n\t\"./bg\": 47777,\n\t\"./bg.js\": 47777,\n\t\"./bm\": 54903,\n\t\"./bm.js\": 54903,\n\t\"./bn\": 61290,\n\t\"./bn-bd\": 17357,\n\t\"./bn-bd.js\": 17357,\n\t\"./bn.js\": 61290,\n\t\"./bo\": 31545,\n\t\"./bo.js\": 31545,\n\t\"./br\": 11470,\n\t\"./br.js\": 11470,\n\t\"./bs\": 44429,\n\t\"./bs.js\": 44429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 56464,\n\t\"./cs.js\": 56464,\n\t\"./cv\": 73635,\n\t\"./cv.js\": 73635,\n\t\"./cy\": 64226,\n\t\"./cy.js\": 64226,\n\t\"./da\": 93601,\n\t\"./da.js\": 93601,\n\t\"./de\": 77853,\n\t\"./de-at\": 26111,\n\t\"./de-at.js\": 26111,\n\t\"./de-ch\": 54697,\n\t\"./de-ch.js\": 54697,\n\t\"./de.js\": 77853,\n\t\"./dv\": 60708,\n\t\"./dv.js\": 60708,\n\t\"./el\": 54691,\n\t\"./el.js\": 54691,\n\t\"./en-au\": 53872,\n\t\"./en-au.js\": 53872,\n\t\"./en-ca\": 28298,\n\t\"./en-ca.js\": 28298,\n\t\"./en-gb\": 56195,\n\t\"./en-gb.js\": 56195,\n\t\"./en-ie\": 66584,\n\t\"./en-ie.js\": 66584,\n\t\"./en-il\": 65543,\n\t\"./en-il.js\": 65543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 79402,\n\t\"./en-nz.js\": 79402,\n\t\"./en-sg\": 43004,\n\t\"./en-sg.js\": 43004,\n\t\"./eo\": 32934,\n\t\"./eo.js\": 32934,\n\t\"./es\": 97650,\n\t\"./es-do\": 20838,\n\t\"./es-do.js\": 20838,\n\t\"./es-mx\": 17730,\n\t\"./es-mx.js\": 17730,\n\t\"./es-us\": 56575,\n\t\"./es-us.js\": 56575,\n\t\"./es.js\": 97650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 90527,\n\t\"./fi.js\": 90527,\n\t\"./fil\": 95995,\n\t\"./fil.js\": 95995,\n\t\"./fo\": 52477,\n\t\"./fo.js\": 52477,\n\t\"./fr\": 85498,\n\t\"./fr-ca\": 26435,\n\t\"./fr-ca.js\": 26435,\n\t\"./fr-ch\": 37892,\n\t\"./fr-ch.js\": 37892,\n\t\"./fr.js\": 85498,\n\t\"./fy\": 37071,\n\t\"./fy.js\": 37071,\n\t\"./ga\": 41734,\n\t\"./ga.js\": 41734,\n\t\"./gd\": 70217,\n\t\"./gd.js\": 70217,\n\t\"./gl\": 77329,\n\t\"./gl.js\": 77329,\n\t\"./gom-deva\": 32124,\n\t\"./gom-deva.js\": 32124,\n\t\"./gom-latn\": 93383,\n\t\"./gom-latn.js\": 93383,\n\t\"./gu\": 95050,\n\t\"./gu.js\": 95050,\n\t\"./he\": 11713,\n\t\"./he.js\": 11713,\n\t\"./hi\": 43861,\n\t\"./hi.js\": 43861,\n\t\"./hr\": 26308,\n\t\"./hr.js\": 26308,\n\t\"./hu\": 90609,\n\t\"./hu.js\": 90609,\n\t\"./hy-am\": 17160,\n\t\"./hy-am.js\": 17160,\n\t\"./id\": 74063,\n\t\"./id.js\": 74063,\n\t\"./is\": 89374,\n\t\"./is.js\": 89374,\n\t\"./it\": 88383,\n\t\"./it-ch\": 21827,\n\t\"./it-ch.js\": 21827,\n\t\"./it.js\": 88383,\n\t\"./ja\": 23827,\n\t\"./ja.js\": 23827,\n\t\"./jv\": 89722,\n\t\"./jv.js\": 89722,\n\t\"./ka\": 41794,\n\t\"./ka.js\": 41794,\n\t\"./kk\": 27088,\n\t\"./kk.js\": 27088,\n\t\"./km\": 96870,\n\t\"./km.js\": 96870,\n\t\"./kn\": 84451,\n\t\"./kn.js\": 84451,\n\t\"./ko\": 63164,\n\t\"./ko.js\": 63164,\n\t\"./ku\": 98174,\n\t\"./ku.js\": 98174,\n\t\"./ky\": 78474,\n\t\"./ky.js\": 78474,\n\t\"./lb\": 79680,\n\t\"./lb.js\": 79680,\n\t\"./lo\": 15867,\n\t\"./lo.js\": 15867,\n\t\"./lt\": 45766,\n\t\"./lt.js\": 45766,\n\t\"./lv\": 69532,\n\t\"./lv.js\": 69532,\n\t\"./me\": 58076,\n\t\"./me.js\": 58076,\n\t\"./mi\": 41848,\n\t\"./mi.js\": 41848,\n\t\"./mk\": 30306,\n\t\"./mk.js\": 30306,\n\t\"./ml\": 73739,\n\t\"./ml.js\": 73739,\n\t\"./mn\": 99053,\n\t\"./mn.js\": 99053,\n\t\"./mr\": 86169,\n\t\"./mr.js\": 86169,\n\t\"./ms\": 73386,\n\t\"./ms-my\": 92297,\n\t\"./ms-my.js\": 92297,\n\t\"./ms.js\": 73386,\n\t\"./mt\": 77075,\n\t\"./mt.js\": 77075,\n\t\"./my\": 72264,\n\t\"./my.js\": 72264,\n\t\"./nb\": 22274,\n\t\"./nb.js\": 22274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 92572,\n\t\"./nl-be\": 43784,\n\t\"./nl-be.js\": 43784,\n\t\"./nl.js\": 92572,\n\t\"./nn\": 54566,\n\t\"./nn.js\": 54566,\n\t\"./oc-lnc\": 69330,\n\t\"./oc-lnc.js\": 69330,\n\t\"./pa-in\": 29849,\n\t\"./pa-in.js\": 29849,\n\t\"./pl\": 94418,\n\t\"./pl.js\": 94418,\n\t\"./pt\": 79834,\n\t\"./pt-br\": 48303,\n\t\"./pt-br.js\": 48303,\n\t\"./pt.js\": 79834,\n\t\"./ro\": 24457,\n\t\"./ro.js\": 24457,\n\t\"./ru\": 82271,\n\t\"./ru.js\": 82271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 33478,\n\t\"./se.js\": 33478,\n\t\"./si\": 17538,\n\t\"./si.js\": 17538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 46637,\n\t\"./sl.js\": 46637,\n\t\"./sq\": 86794,\n\t\"./sq.js\": 86794,\n\t\"./sr\": 45719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 45719,\n\t\"./ss\": 56000,\n\t\"./ss.js\": 56000,\n\t\"./sv\": 41011,\n\t\"./sv.js\": 41011,\n\t\"./sw\": 40748,\n\t\"./sw.js\": 40748,\n\t\"./ta\": 11025,\n\t\"./ta.js\": 11025,\n\t\"./te\": 11885,\n\t\"./te.js\": 11885,\n\t\"./tet\": 28861,\n\t\"./tet.js\": 28861,\n\t\"./tg\": 86571,\n\t\"./tg.js\": 86571,\n\t\"./th\": 55802,\n\t\"./th.js\": 55802,\n\t\"./tk\": 59527,\n\t\"./tk.js\": 59527,\n\t\"./tl-ph\": 29231,\n\t\"./tl-ph.js\": 29231,\n\t\"./tlh\": 31052,\n\t\"./tlh.js\": 31052,\n\t\"./tr\": 85096,\n\t\"./tr.js\": 85096,\n\t\"./tzl\": 79846,\n\t\"./tzl.js\": 79846,\n\t\"./tzm\": 81765,\n\t\"./tzm-latn\": 97711,\n\t\"./tzm-latn.js\": 97711,\n\t\"./tzm.js\": 81765,\n\t\"./ug-cn\": 48414,\n\t\"./ug-cn.js\": 48414,\n\t\"./uk\": 16618,\n\t\"./uk.js\": 16618,\n\t\"./ur\": 57777,\n\t\"./ur.js\": 57777,\n\t\"./uz\": 57609,\n\t\"./uz-latn\": 72475,\n\t\"./uz-latn.js\": 72475,\n\t\"./uz.js\": 57609,\n\t\"./vi\": 21135,\n\t\"./vi.js\": 21135,\n\t\"./x-pseudo\": 64051,\n\t\"./x-pseudo.js\": 64051,\n\t\"./yo\": 82218,\n\t\"./yo.js\": 82218,\n\t\"./zh-cn\": 52648,\n\t\"./zh-cn.js\": 52648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 31541,\n\t\"./zh-mo.js\": 31541,\n\t\"./zh-tw\": 50304,\n\t\"./zh-tw.js\": 50304\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;","import React, { useEffect, useState } from \"react\";\r\nimport { useForm, FieldErrors } from \"react-hook-form\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport * as yup from \"yup\";\r\nimport { Button, SpinningButton } from \"Components/ReactstrapSlim\";\r\nimport { InputFL, ValidationSummary } from \"Components/Inputs\";\r\nimport { AccountClient, IForgotPasswordRequest, ForgotPasswordRequest } from \"Services/API/API\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport { SigningEmailProps, useSigningEmailEffect } from \"./SigningCommon\";\r\nimport { useApiClient } from \"Services/API/useApiClient\";\r\n\r\ninterface ForgotPasswordFormModel {\r\n email: string,\r\n}\r\n\r\nconst ForgotPasswordFormSchema: yup.SchemaOf = yup.object({\r\n email: yup.string()\r\n .required(\"Email is required\")\r\n .email(\"Email is not valid\")\r\n .defined(),\r\n}).defined();\r\n\r\n\r\n\r\nexport interface ForgotPasswordFormProps extends SigningEmailProps {\r\n isActive: boolean;\r\n onSwitchBack: () => void;\r\n}\r\n\r\nexport const ForgotPasswordForm: React.FC = function ({ isActive, onSwitchBack, ...signingEmailProps }) {\r\n const accountClient = useApiClient(AccountClient);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [isSubmitted, setIsSubmitted] = useState(false);\r\n const [serverErrors, setServerErrors] = useState>([]);\r\n const [recaptchaToken, setRecaptchaToken] = useState(undefined);\r\n\r\n const formMethods = useForm({\r\n defaultValues: {\r\n email: signingEmailProps.email,\r\n },\r\n resolver: yupResolver(ForgotPasswordFormSchema),\r\n mode: \"onBlur\"\r\n });\r\n\r\n useSigningEmailEffect(signingEmailProps, formMethods, \"email\");\r\n\r\n const onSubmit = async () => {\r\n if (isLoading)\r\n return;\r\n setIsLoading(true);\r\n setServerErrors([]);\r\n try {\r\n if (!recaptchaToken) {\r\n setServerErrors([[\"email\", \"Please confirm you are not a robot\"]]);\r\n return;\r\n }\r\n const isValid = await formMethods.trigger();\r\n if (isValid) {\r\n const formValues = formMethods.getValues();\r\n\r\n const forgotPasswordRequest: Partial = {\r\n ...formValues,\r\n recaptchaToken\r\n };\r\n const forgotResult = await accountClient.forgotPassword(ForgotPasswordRequest.fromJS(forgotPasswordRequest));\r\n if (forgotResult.success) {\r\n setIsSubmitted(true);\r\n } else if (forgotResult.errorMessage) {\r\n setServerErrors([[\"email\", forgotResult.errorMessage]]);\r\n }\r\n }\r\n else {\r\n let name: keyof FieldErrors;\r\n for (name in formMethods.formState.errors) {\r\n formMethods.setFocus(name);\r\n break;\r\n }\r\n }\r\n } catch (err: any) {\r\n if (err.error) {\r\n setServerErrors([[\"email\", err.error]]);\r\n }\r\n console.log(err);\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const submitOnEnterHandler = (e: React.KeyboardEvent) => {\r\n if (e.key === \"Enter\") {\r\n onSubmit();\r\n }\r\n }\r\n\r\n const onBackClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n setIsSubmitted(false);\r\n onSwitchBack();\r\n }\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n setTimeout(function () {\r\n formMethods.setFocus(\"email\");\r\n }, 500);\r\n }\r\n }, [isActive])\r\n\r\n return (\r\n
\r\n {\r\n isSubmitted\r\n ? <>\r\n
\r\n
\r\n
Reset password instructions were sent to your email
\r\n \r\n
\r\n \r\n : <>\r\n
\r\n Forgot password\r\n
\r\n
\r\n We will send you an email with instructions\r\n to the email you used when you joined LiquidSpace.\r\n
\r\n
\r\n \r\n \r\n
\r\n setRecaptchaToken(token || undefined)}\r\n />\r\n
\r\n Reset password\r\n
Remembered? Go back
\r\n
\r\n \r\n }\r\n
\r\n )\r\n}","import React from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { Button, ButtonSize } from \"Components/ReactstrapSlim\";\r\nimport { useCookies } from \"react-cookie\";\r\n\r\nexport interface SsoRegistrationOptions {\r\n RegistrationType: LSCommon.Enums.RegistrationType,\r\n MemberIdToLink?: Guid,\r\n OriginatingVenueId?: Guid,\r\n Email?: string,\r\n InvitationId?: Guid,\r\n InvitationOwnerId?: Guid,\r\n OwnerId?: Guid,\r\n ConnectionType?: LSCommon.MemberConnectionType,\r\n}\r\n\r\nexport interface SsoButtonProps {\r\n ssoType: LSCrossTier.SsoType,\r\n size?: ButtonSize,\r\n ssoRegistrationOptions?: SsoRegistrationOptions,\r\n}\r\n\r\nexport const SsoButton: React.FC = ({ ssoType, ssoRegistrationOptions, size = \"lg\" }) => {\r\n const getPopupDimensions = (ssoType): [number, number] => {\r\n switch (ssoType) {\r\n case LSCrossTier.SsoType.Apple:\r\n return [440, 678];\r\n case LSCrossTier.SsoType.Facebook:\r\n return [700, 350];\r\n case LSCrossTier.SsoType.Google:\r\n return [440, 555];\r\n case LSCrossTier.SsoType.LinkedIn:\r\n return [740, 680];\r\n case LSCrossTier.SsoType.Twitter:\r\n return [700, 350];\r\n default:\r\n return [440, 600];\r\n }\r\n }\r\n\r\n const onClick = () => {\r\n const [popupWidth, popupHeight] = getPopupDimensions(ssoType);\r\n var modelJson = encodeURIComponent(JSON.stringify({ SsoType: ssoType, ...ssoRegistrationOptions }));\r\n console.log(modelJson);\r\n LSHelper.Sso.popupSsoLogin(`/Account/StartSsoLogOn?model=${modelJson}`, popupWidth, popupHeight);\r\n }\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport interface SsoButtonsProps {\r\n size?: ButtonSize,\r\n ssoRegistrationOptions?: SsoRegistrationOptions,\r\n}\r\n\r\nexport const SsoButtons: React.FC = ({ size, ssoRegistrationOptions }) => {\r\n const [cookies] = useCookies([\"sign-in-with-apple-enabled\"]);\r\n \r\n const buttonTypes = cookies[\"sign-in-with-apple-enabled\"]\r\n ? [\r\n LSCrossTier.SsoType.Google,\r\n LSCrossTier.SsoType.LinkedIn,\r\n LSCrossTier.SsoType.Apple,\r\n ]\r\n : [\r\n LSCrossTier.SsoType.Google,\r\n LSCrossTier.SsoType.LinkedIn\r\n ];\r\n\r\n return (\r\n <>\r\n {buttonTypes.map(bt => )}\r\n \r\n )\r\n}","import { Button, Modal, ModalBody, ModalHeader } from \"Components/ReactstrapSlim\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useApiClient } from \"Services/API/useApiClient\";\r\nimport { AccountClient } from \"Services/LegacyAPI/AccountClient\";\r\n\r\nexport interface TermsOfUseModalProps {\r\n show: boolean,\r\n onAccept: () => void;\r\n}\r\n\r\nexport const TermsOfUseModal: React.FC = ({ show, onAccept }) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const accountClient = useApiClient(AccountClient);\r\n const [termOfUseHtml, setTermOfUseHtml] = useState(\"\");\r\n\r\n const getTermsOfUseHtml = async () => {\r\n setTermOfUseHtml((await accountClient.termsOfUseHtml()).termOfUseHtml);\r\n }\r\n\r\n const toggle = () => {\r\n setIsOpen((open) => !open);\r\n }\r\n\r\n useEffect(() => { \r\n if (isOpen && !termOfUseHtml) {\r\n getTermsOfUseHtml();\r\n }\r\n }, [isOpen])\r\n\r\n useEffect(() => {\r\n setIsOpen(show);\r\n }, [show])\r\n\r\n return (\r\n Accept Terms of Use\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
)\r\n}","import { useEffect } from \"react\";\r\nimport { UseFormReturn, Path, SetFieldValue, FieldValues } from \"react-hook-form\";\r\n\r\nexport interface SigningSuccessData {\r\n userId: Guid | null,\r\n fullName: string | null, \r\n joinFlow?: boolean,\r\n redirectUrl?: string\r\n}\r\n\r\nexport interface SigningEmailProps {\r\n email?: string,\r\n onEmailChange?: (string) => void;\r\n}\r\n\r\nexport const useSigningEmailEffect = (signingEmailProps: SigningEmailProps, formMethods: UseFormReturn, formEmailFieldName: Path) => {\r\n\r\n const emailValue = formMethods.watch(formEmailFieldName); \r\n\r\n useEffect(() => { \r\n if (signingEmailProps.onEmailChange) {\r\n signingEmailProps.onEmailChange(emailValue);\r\n }\r\n }, [emailValue])\r\n\r\n useEffect(() => {\r\n formMethods.setValue(formEmailFieldName, signingEmailProps.email as SetFieldValue, { shouldValidate: signingEmailProps.email ? true : undefined });\r\n }, [signingEmailProps.email])\r\n}","import * as yup from \"yup\";\r\n\r\ndeclare module \"yup\" {\r\n export interface StringSchema {\r\n /**\r\n * Check for full name validity.\r\n * \r\n * @param {Boolean} [required=false] Is fullname required.\r\n * @param {String} [errorMessage=DEFAULT_MESSAGE] The error message to return if the validation fails.\r\n */\r\n fullName(\r\n required: boolean,\r\n errorMessage?: string\r\n ): StringSchema;\r\n }\r\n}\r\nconst YUP_FULL_NAME_METHOD = \"fullName\";\r\nyup.addMethod(yup.string, YUP_FULL_NAME_METHOD, function yupFullName(\r\n required: boolean,\r\n errorMessage = \"\"\r\n) {\r\n const errMsg =\r\n typeof errorMessage === \"string\" && errorMessage\r\n ? errorMessage\r\n : \"Full name is required.\";\r\n\r\n return this.test(YUP_FULL_NAME_METHOD, errMsg, (value: string) => {\r\n if (!value)\r\n return !required;\r\n else\r\n return value.split(\" \").filter(function (s) { return !!s; }).length > 1;\r\n });\r\n});\r\n","import * as yup from \"yup\";\r\n\r\ndeclare module \"yup\" {\r\n export interface StringSchema {\r\n /**\r\n * Check for phone number validity.\r\n * \r\n * @param {Boolean} [required=false] Is fullname required.\r\n * @param {String} [errorMessage=DEFAULT_MESSAGE] The error message to return if the validation fails.\r\n */\r\n inDomains(\r\n domains?: Array | undefined,\r\n errorMessage?: string\r\n ): StringSchema;\r\n }\r\n}\r\nconst YUP_IN_DOMAINS_METHOD = \"inDomains\";\r\nyup.addMethod(yup.string, YUP_IN_DOMAINS_METHOD, function yupInDomains(\r\n domains: Array,\r\n errorMessage = \"\"\r\n) {\r\n const errMsg =\r\n typeof errorMessage === \"string\" && errorMessage\r\n ? errorMessage\r\n : \"Email is not a part of your email domains.\";\r\n\r\n return this.test(YUP_IN_DOMAINS_METHOD, errMsg, (value: string) => {\r\n if (!value)\r\n return true;\r\n if (!domains || !domains.length)\r\n return true;\r\n\r\n const domainIndex = value.indexOf(\"@\");\r\n if (domainIndex < 0)\r\n return false;\r\n\r\n if (domainIndex + 1 == value.length)\r\n return false;\r\n\r\n const domain = value.substr(domainIndex + 1)?.toLowerCase() || \"\";\r\n return domains.map(d => d?.toLowerCase() ?? \"\").includes(domain);\r\n });\r\n});\r\n","import * as yup from \"yup\";\r\n\r\ndeclare module \"yup\" {\r\n export interface StringSchema {\r\n /**\r\n * Check for phone number validity.\r\n * \r\n * @param {String} [errorMessage=DEFAULT_MESSAGE] The error message to return if the validation fails.\r\n */\r\n phone( \r\n errorMessage?: string\r\n ): StringSchema;\r\n }\r\n}\r\n\r\nconst YUP_PHONE_METHOD = \"phone\";\r\n\r\nyup.addMethod(yup.string, YUP_PHONE_METHOD, function yupPhone(\r\n errorMessage: string = \"\"\r\n) {\r\n const errMsg =\r\n typeof errorMessage === \"string\" && errorMessage\r\n ? errorMessage\r\n : \"${path} must be a valid phone number.\";\r\n // @ts-ignore\r\n return this.test(YUP_PHONE_METHOD, errMsg, async (value: string) => {\r\n if (!value) {\r\n return true;\r\n }\r\n var result = value && value.length > 2;\r\n try {\r\n const gPhoneNumber = await import(\"google-libphonenumber\");\r\n const phoneUtil = gPhoneNumber.PhoneNumberUtil.getInstance();\r\n var phoneNumber: libphonenumber.PhoneNumber | null = null;\r\n //allow any supported country\r\n for (var i = 0; i < LiquidSpaceConfig.SupportedCountries.length; i++) {\r\n phoneNumber = phoneUtil.parse(value, LiquidSpaceConfig.SupportedCountries[i] ?? undefined);\r\n result = phoneUtil.isValidNumberForRegion(phoneNumber, LiquidSpaceConfig.SupportedCountries[i] ?? undefined);\r\n\r\n if (result)\r\n break;\r\n }\r\n //if not found in supported - try parse as international\r\n if (!result /*&& (params.allowInternational || true)*/) {\r\n var internationalNumberPrefix = \"+\";\r\n if (value.indexOf(internationalNumberPrefix, 0) == -1) {\r\n phoneNumber = phoneUtil.parse(internationalNumberPrefix + value);\r\n } else {\r\n phoneNumber = phoneUtil.parse(value);\r\n }\r\n result = phoneUtil.isValidNumber(phoneNumber);\r\n } \r\n // DEVONLY\r\n if (!result && (LiquidSpaceConfig.Environment == Enum.EnvironmentType.Development || LiquidSpaceConfig.Environment == Enum.EnvironmentType.Staging)) {\r\n phoneNumber = phoneUtil.parse(value, \"BY\");\r\n result = phoneUtil.isValidNumberForRegion(phoneNumber, \"BY\");\r\n }\r\n // DEVONLY\r\n } catch (e) {\r\n result = false;\r\n }\r\n\r\n return result;\r\n });\r\n});\r\n","import * as yup from \"yup\";\r\n\r\ndeclare module \"yup\" {\r\n export interface StringSchema {\r\n /**\r\n * Check for name validity.\r\n * \r\n * @param {Boolean} [required=false] Is name required.\r\n * @param {String} [errorMessage=DEFAULT_MESSAGE] The error message to return if the validation fails.\r\n */\r\n simpleName(\r\n required: boolean,\r\n errorMessage?: string\r\n ): StringSchema;\r\n }\r\n}\r\nconst YUP_NAME_METHOD = \"simpleName\";\r\nyup.addMethod(yup.string, YUP_NAME_METHOD, function yupSimpleName(\r\n required: boolean,\r\n errorMessage: string = \"\"\r\n) {\r\n const errMsg =\r\n typeof errorMessage === \"string\" && errorMessage\r\n ? errorMessage\r\n : \"Name is required.\";\r\n\r\n return this.test(YUP_NAME_METHOD, errMsg, (value: string) => {\r\n if (!value) {\r\n return !required;\r\n } \r\n else {\r\n return /([^\\s].+\\s?)+/.test(value);\r\n } \r\n });\r\n});\r\n","import * as yup from \"yup\";\r\n\r\ndeclare module \"yup\" {\r\n export interface ArraySchema {\r\n /**\r\n * Check array for unique elements.\r\n * \r\n * @param {String} [field=field_name] Is required.\r\n * @param {String} [errorMessage=DEFAULT_MESSAGE] The error message to return if the validation fails.\r\n */\r\n unique(\r\n field: string,\r\n errorMessage?: string\r\n ): ArraySchema;\r\n }\r\n}\r\n\r\nconst YUP_UNIQUE_METHOD = \"unique\";\r\nyup.addMethod(yup.array, YUP_UNIQUE_METHOD, function (field, message) {\r\n return this.test(YUP_UNIQUE_METHOD, message, function (array) {\r\n if (!array) {\r\n return true;\r\n }\r\n const notNullArray = array.filter(row => row);\r\n const uniqueData = Array.from(\r\n new Set(notNullArray.map((row) => row[field]?.toLowerCase())),\r\n );\r\n const isUnique = notNullArray.length === uniqueData.length;\r\n if (isUnique) {\r\n return true;\r\n }\r\n const index = notNullArray.findIndex(\r\n (row, i) => row[field]?.toLowerCase() !== uniqueData[i],\r\n );\r\n\r\n if (index == -1 || notNullArray[index][field] === \"\") {\r\n return true;\r\n }\r\n const repeatedValue = notNullArray[index][field];\r\n\r\n const firstIndex = array.findIndex(\r\n (row, i) => row && row[field]?.toLowerCase() === repeatedValue);\r\n\r\n const secondIndex = array.findIndex(\r\n (row, i) => i > firstIndex && row && row[field]?.toLowerCase() === repeatedValue);\r\n\r\n return this.createError({\r\n path: `${this.path}.${secondIndex}.${field}`,\r\n message,\r\n });\r\n });\r\n});","import * as yup from \"yup\";\r\nimport moment from \"moment\";\r\n\r\ndeclare module \"yup\" {\r\n export interface StringSchema {\r\n /**\r\n * Check for date string validity.\r\n * \r\n * @param {Boolean} [required=false] Is date required.\r\n * @param {String} [errorMessage=DEFAULT_MESSAGE] The error message to return if the validation fails.\r\n */\r\n dateString(\r\n required: boolean,\r\n errorMessage?: string\r\n ): StringSchema;\r\n }\r\n}\r\nconst YUP_DATE_STRING_METHOD = \"dateString\";\r\nyup.addMethod(yup.string, YUP_DATE_STRING_METHOD, function yupDateString(\r\n required: boolean,\r\n errorMessage = \"\"\r\n) {\r\n const errMsg =\r\n typeof errorMessage === \"string\" && errorMessage\r\n ? errorMessage\r\n : \"Date is required.\";\r\n\r\n return this.test(YUP_DATE_STRING_METHOD, errMsg, (value: string) => {\r\n if (!value)\r\n return !required;\r\n else \r\n return moment(value).isValid();\r\n });\r\n});\r\n","import * as yup from \"yup\";\r\n\r\ndeclare module \"yup\" {\r\n export interface StringSchema {\r\n /**\r\n * Check for name validity.\r\n * \r\n * @param {Boolean} [required=false] Is name required.\r\n * @param {String} [errorMessage=DEFAULT_MESSAGE] The error message to return if the validation fails.\r\n */\r\n emailList(\r\n required: boolean,\r\n errorMessage?: string\r\n ): StringSchema;\r\n }\r\n}\r\nconst YUP_NAME_METHOD = \"emailList\";\r\nconst emailRegex = /^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$/;\r\nyup.addMethod(yup.string, YUP_NAME_METHOD, function yupEmailList(\r\n required: boolean,\r\n errorMessage: \"\"\r\n) {\r\n const errMsg =\r\n typeof errorMessage === \"string\" && errorMessage\r\n ? errorMessage\r\n : \"Email list is not valid.\";\r\n\r\n return this.test(YUP_NAME_METHOD, errMsg, (value: string) => {\r\n if (!value) return !required;\r\n\r\n // Split the string by commas\r\n const emails = value.split(\",\").map((email) => email.trim());\r\n\r\n // Validate each email using the regex\r\n return emails.every((email) => emailRegex.test(email));\r\n });\r\n});\r\n","import classNames from \"classnames\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useApiClient } from \"Services/API/useApiClient\";\r\nimport { AccountClient, isLogonSuccessResponseTwoFactorConfirmationRequired, isLogonSuccessResponseTwoFactorRegistrationRequired, LogonSuccessResponse, RegisterSuccessResponse } from \"Services/LegacyAPI/AccountClient\";\r\nimport { isLocalUrl } from \"../../../Utils/isLocalUrl\";\r\nimport { AdfsForm } from \"./AdfsForm\";\r\nimport { ChangePasswordForm } from \"./ChangePasswordForm\";\r\nimport { ForgotPasswordForm } from \"./ForgotPasswordForm\";\r\nimport { LoginForm, LoginFormModel } from \"./LoginForm\";\r\nimport { RegisterForm } from \"./RegisterForm\";\r\nimport { SigningEmailProps, SigningSuccessData } from \"./SigningCommon\";\r\nimport { TwoFactorConfirmForm } from \"./TwoFactorConfirmForm\";\r\nimport { TwoFactorRegisterForm } from \"./TwoFactorRegisterForm\";\r\n\r\nexport interface SigningFormProps {\r\n isModal?: boolean,\r\n mode?: LSStore.SigningMode;\r\n returnUrl?: string,\r\n initialEmail?: string,\r\n registerFormProps?: LSStore.SigningRegisterProps,\r\n loginFormProps?: LSStore.SigningLoginProps,\r\n changePasswordFormProps?: LSWebUI.Models.ForgotPasswordViewModel,\r\n className?: string;\r\n registerModel?: LSWebUI.Models.RegisterModel;\r\n closeModal?: () => void;\r\n}\r\n\r\nexport const SigningForm: React.FC = function ({ className, registerModel, mode = LSStore.SigningMode.Login, initialEmail, returnUrl, closeModal, loginFormProps, registerFormProps, changePasswordFormProps, isModal = false }) {\r\n const [activeMode, setActiveMode] = useState(mode);\r\n const [previousMode, setPreviousMode] = useState(mode); \r\n const [email, setEmail] = useState(initialEmail || undefined);\r\n const [adfsProviders, setAdfsProviders] = useState([]);\r\n const [matchingAdfsProvider, setMatchingAdfsProvider] = useState(undefined);\r\n const signingModalState = useSelector(state => state.signingModal);\r\n \r\n const [lstoken, setLstoken] = useState(\"\");\r\n const [phoneNumberLast4, setPhoneNumberLast4] = useState(\"\"); \r\n\r\n const [loginProps, setLoginProps] = useState(loginFormProps || {});\r\n const [registerProps, setRegisterProps] = useState(registerFormProps || {});\r\n const [changePasswordProps, setChangePasswordProps] = useState(changePasswordFormProps);\r\n\r\n const signingEmailProps: SigningEmailProps = {\r\n email: email,\r\n onEmailChange: setEmail\r\n }; \r\n\r\n const accountClient = useApiClient(AccountClient);\r\n \r\n const modeClassName = (m: LSStore.SigningMode) => {\r\n return classNames(\"signing-mode\", { \"signing-mode--active\": activeMode == m });\r\n }\r\n const formTransition = (): React.CSSProperties | undefined => {\r\n const multiplier = activeMode;\r\n if (multiplier > 0)\r\n return { transform: `translateX(-${100 * multiplier}%)` };\r\n else\r\n return undefined;\r\n }\r\n\r\n const selectModeWithHistory = (selectedMode: LSStore.SigningMode) => {\r\n setPreviousMode(activeMode);\r\n setActiveMode(selectedMode);\r\n }\r\n\r\n const onLoginSuccess = (logonResult: LogonSuccessResponse, model?: LoginFormModel): boolean => {\r\n if (isLogonSuccessResponseTwoFactorRegistrationRequired(logonResult)) {\r\n setLstoken(logonResult.lstoken);\r\n selectModeWithHistory(LSStore.SigningMode.TwoFactorRegister);\r\n } else if (isLogonSuccessResponseTwoFactorConfirmationRequired(logonResult)) {\r\n setLstoken(logonResult.lstoken);\r\n setPhoneNumberLast4(logonResult.phoneNumberLast4);\r\n selectModeWithHistory(LSStore.SigningMode.TwoFactorConfirm);\r\n } else { \r\n onSigningSuccess({\r\n userId: logonResult.userId,\r\n fullName: logonResult.fullName,\r\n }); \r\n return true; \r\n }\r\n return false;\r\n }\r\n const onRegisterSuccess = (registerResponse: RegisterSuccessResponse) => {\r\n if (registerResponse.showTwoFactorForm && registerResponse.data) {\r\n setLstoken(registerResponse.data.TwoFactorConfirmModel.LSToken || \"\");\r\n if (registerResponse.data.InitialMode == \"tfRegister\") {\r\n selectModeWithHistory(LSStore.SigningMode.TwoFactorRegister);\r\n } else {\r\n setPhoneNumberLast4(registerResponse.data.TwoFactorConfirmModel.PhoneNumberLast4 || \"\");\r\n selectModeWithHistory(LSStore.SigningMode.TwoFactorConfirm);\r\n }\r\n } else {\r\n onSigningSuccess({\r\n userId: registerResponse.userId || null,\r\n fullName: registerResponse.fullName || null,\r\n joinFlow: true\r\n });\r\n return true;\r\n } \r\n\r\n return false;\r\n }\r\n\r\n const onSigningSuccess = (data?: SigningSuccessData) => {\r\n let ssoRedirectUrl: string | undefined;\r\n if (data) {\r\n User.id = data.userId;\r\n ssoRedirectUrl = data.redirectUrl;\r\n }\r\n\r\n if (isModal) {\r\n if (data && LSHelper.Account.onLogInSuccessCallback && typeof LSHelper.Account.onLogInSuccessCallback === \"function\")\r\n LSHelper.Account.onLogInSuccessCallback(data.userId!, data.fullName, data.joinFlow || false, signingModalState.caller);\r\n\r\n if (data && data.userId) {\r\n //$(document).trigger(\"userAuthenticated\", [data.userId, data.joinFlow]);\r\n document.dispatchEvent(new CustomEvent(\"userAuthenticated\"));\r\n }\r\n\r\n if (window.EMBEDDEDISLAND) {\r\n LSHelper.Account.reloadHeader();\r\n if (closeModal)\r\n closeModal(); \r\n } else if (!signingModalState.onlyHeaderReload) {\r\n if (signingModalState.popUpRedirectUrl || ssoRedirectUrl)\r\n window.location.href = ssoRedirectUrl || signingModalState.popUpRedirectUrl || window.location.href;\r\n else {\r\n window.location.reload();\r\n }\r\n } else {\r\n LSHelper.Account.reloadHeader();\r\n if(closeModal)\r\n closeModal();\r\n }\r\n }\r\n else {\r\n const urlParams = new URLSearchParams(window.location.search); \r\n let returnUrlToUse = returnUrl || urlParams.get(\"ReturnUrl\") || urlParams.get(\"returnUrl\") || ssoRedirectUrl;\r\n if (!returnUrlToUse || !isLocalUrl(returnUrlToUse)) {\r\n returnUrlToUse = \"/my/index\";\r\n }\r\n window.location.href = returnUrlToUse;\r\n } \r\n }\r\n\r\n const onSwtichToChangePassword = (changePasswordOptions: LSWebUI.Models.ForgotPasswordViewModel) => {\r\n setChangePasswordProps(changePasswordOptions);\r\n selectModeWithHistory(LSStore.SigningMode.ChangePassword);\r\n }\r\n\r\n useEffect(() => {\r\n document.SSO_logon_Completed = function (data) { \r\n onSigningSuccess(data);\r\n };\r\n document.function_SSO_accountLinking_Completed = function (errors, params) {\r\n onSigningSuccess();\r\n }\r\n return () => {\r\n delete document.SSO_logon_Completed;\r\n delete document.function_SSO_accountLinking_Completed;\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (isModal) {\r\n if (signingModalState.initialEmail)\r\n setEmail(signingModalState.initialEmail || undefined);\r\n if (signingModalState.loginProps) {\r\n setLoginProps(signingModalState.loginProps);\r\n }\r\n if (signingModalState.registerProps) {\r\n setRegisterProps(signingModalState.registerProps);\r\n }\r\n }\r\n }, [isModal])\r\n\r\n const getAdfsProvides = async (abortSignal: AbortSignal) => {\r\n try {\r\n setAdfsProviders(await accountClient.adfsProviders(abortSignal));\r\n } catch { }\r\n }\r\n\r\n useEffect(() => {\r\n const abortController = new AbortController();\r\n getAdfsProvides(abortController.signal);\r\n\r\n return function cleanup() {\r\n abortController.abort();\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (email)\r\n for (let i = 0; i < adfsProviders.length; i++)\r\n for (let j = 0; j < adfsProviders[i].EmailDomains.length; j++) {\r\n if (email.match(new RegExp(\"@\" + adfsProviders[i].EmailDomains[j] + \"$\", \"i\"))) {\r\n setMatchingAdfsProvider(adfsProviders[i]);\r\n if (activeMode != LSStore.SigningMode.Adfs)\r\n selectModeWithHistory(LSStore.SigningMode.Adfs);\r\n return;\r\n }\r\n }\r\n setMatchingAdfsProvider(undefined);\r\n if (activeMode == LSStore.SigningMode.Adfs)\r\n selectModeWithHistory(previousMode);\r\n }, [email]); \r\n return (\r\n
\r\n
\r\n {/* Note that modes go in the same order they are defined in the enum */}\r\n
\r\n selectModeWithHistory(LSStore.SigningMode.Login)} registerModel={registerModel} {...signingEmailProps} registerProps={registerProps} />\r\n
\r\n
\r\n selectModeWithHistory(LSStore.SigningMode.Register)} onSwitchToForgotPassword={() => selectModeWithHistory(LSStore.SigningMode.Forgot)} onSwtichToChangePassword={onSwtichToChangePassword} {...signingEmailProps} {...loginProps} />\r\n
\r\n
\r\n selectModeWithHistory(previousMode)} {...signingEmailProps} />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {changePasswordProps &&
\r\n \r\n
}\r\n
\r\n
\r\n )\r\n}","import classNames from \"classnames\";\r\nimport React, { PropsWithChildren } from \"react\";\r\nimport { Controller, Control, FieldPath, FieldValues } from \"react-hook-form\";\r\nimport { CustomInput, CustomInputProps } from \"Components/ReactstrapSlim\";\r\nimport resolvePath from \"Utils/resolvePath\";\r\n\r\nexport interface CheckboxProps extends Partial {\r\n id: CustomInputProps[\"id\"]\r\n}\r\n\r\nexport const Checkbox: React.FC = ({ className = \"\", type, ...rest }) => {\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport interface CheckboxControlledProps extends Partial {\r\n control: Control,\r\n name: FieldPath,\r\n}\r\n\r\nexport const CheckboxControlled = ({ control, name, className = \"\", type, ...rest }: PropsWithChildren>) => (\r\n {\r\n const { name, value, onChange, onBlur } = field;\r\n const mergedClasses = classNames(\r\n className,\r\n !!resolvePath(errors, name) && \"checkbox--invalid\"\r\n );\r\n return \r\n }}\r\n />\r\n);\r\n","import React from \"react\";\r\nimport { forwardRef } from \"react\";\r\nimport { Icon, IconProps } from \"./common\";\r\n\r\nconst Visibility: Icon = forwardRef(({ color = \"currentColor\", size = 24, ...rest }, ref) => \r\n \r\n);\r\nexport default Visibility;","import ClientBase from \"Services/API/ClientBase\";\r\n\r\nexport interface LogonSuccessResponseGeneric {\r\n success: true,\r\n userId: Guid,\r\n firstName: string,\r\n fullName: string,\r\n showTermsOfUse?: boolean,\r\n}\r\n\r\nexport interface LogonSuccessResponseTwoFactorRegistrationRequired {\r\n success: true,\r\n showTwoFactorRegister: true,\r\n lstoken: string,\r\n}\r\n\r\nexport const isLogonSuccessResponseTwoFactorRegistrationRequired = (logonSuccessResponse: LogonSuccessResponse): logonSuccessResponse is LogonSuccessResponseTwoFactorRegistrationRequired => {\r\n return (logonSuccessResponse as LogonSuccessResponseTwoFactorRegistrationRequired).showTwoFactorRegister === true;\r\n}\r\n\r\nexport interface LogonSuccessResponseTwoFactorConfirmationRequired {\r\n success: true,\r\n showTwoFactorConfirmation: true,\r\n phoneNumberLast4: string,\r\n lstoken: string,\r\n}\r\n\r\nexport const isLogonSuccessResponseTwoFactorConfirmationRequired = (logonSuccessResponse: LogonSuccessResponse): logonSuccessResponse is LogonSuccessResponseTwoFactorConfirmationRequired => {\r\n return (logonSuccessResponse as LogonSuccessResponseTwoFactorConfirmationRequired).showTwoFactorConfirmation === true;\r\n}\r\n\r\nexport type LogonSuccessResponse = LogonSuccessResponseGeneric | LogonSuccessResponseTwoFactorRegistrationRequired | LogonSuccessResponseTwoFactorConfirmationRequired;\r\n\r\nexport interface LogonErrorResponse {\r\n success: false,\r\n error: string,\r\n logonStatus?: LSCommon.Enums.LogonStatusEnum,\r\n passwordValid?: boolean\r\n}\r\n\r\nexport type LogonResponse = LogonErrorResponse | LogonSuccessResponse;\r\n\r\nexport interface RegisterSuccessResponse {\r\n success: true,\r\n returnUrl?: string,\r\n userId?: Guid,\r\n fullName?: string,\r\n showTwoFactorForm?: boolean,\r\n data?: LSWebUI.Models.TwoFactorModel,\r\n}\r\n\r\nexport interface RegisterErrorResponse {\r\n success: false,\r\n errors: string[],\r\n switchToLogin?: boolean\r\n}\r\n\r\nexport type RegisterResponse = RegisterErrorResponse | RegisterSuccessResponse;\r\n\r\nexport type TwoFactorSuccessResponse = LogonSuccessResponse;\r\n\r\nexport interface TwoFactorErrorResponse {\r\n success: false,\r\n error: string\r\n}\r\n\r\nexport type TwoFactorResponse = TwoFactorSuccessResponse | TwoFactorErrorResponse;\r\n\r\nexport interface TermOfUseHtmlResponse {\r\n termOfUseHtml: string\r\n}\r\n\r\nexport interface ChangePasswordSuccessShowTermsOfUseResponse {\r\n success: true,\r\n showTermsOfUse: true,\r\n memberId: Guid,\r\n}\r\n\r\nexport const isChangePasswordSuccessResponse = (response: ChangePasswordSuccessResponse): response is ChangePasswordSuccessShowTermsOfUseResponse => {\r\n return (response as ChangePasswordSuccessShowTermsOfUseResponse).showTermsOfUse === true;\r\n}\r\n\r\nexport type ChangePasswordSuccessResponse = ChangePasswordSuccessShowTermsOfUseResponse | LogonSuccessResponse;\r\n\r\nexport interface ChangePasswordErrorResponse {\r\n success: false,\r\n errors: string[],\r\n}\r\n\r\nexport type ChangePasswordResponse = ChangePasswordSuccessResponse | ChangePasswordErrorResponse;\r\n\r\n\r\nexport class AccountClient extends ClientBase {\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n async logon(logonRequest: Partial, signal?: AbortSignal | undefined): Promise {\r\n const url_ = \"/Account/LogOn\";\r\n\r\n const request = {...logonRequest};\r\n request.IsDialog = true;\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n const options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\",\r\n \"X-Requested-With\": \"XMLHttpRequest\", //required for .Net IsAjaxRequest() == true\r\n }\r\n };\r\n\r\n return fetch(url_, options_).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => _response.json() as Promise);\r\n });\r\n }\r\n\r\n async register(registerRequest: Partial, signal?: AbortSignal | undefined): Promise {\r\n const url_ = \"/Account/Register\";\r\n\r\n const content_ = JSON.stringify(registerRequest);\r\n\r\n const options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\",\r\n \"X-Requested-With\": \"XMLHttpRequest\", //required for .Net IsAjaxRequest() == true\r\n }\r\n };\r\n\r\n return fetch(url_, options_).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => _response.json() as Promise);\r\n });\r\n }\r\n\r\n\r\n async adfsProviders(signal?: AbortSignal | undefined): Promise {\r\n const url_ = \"/account/adfsProviders\";\r\n\r\n const options_ = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\",\r\n \"X-Requested-With\": \"XMLHttpRequest\", //required for .Net IsAjaxRequest() == true\r\n }\r\n };\r\n\r\n return fetch(url_, options_).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => _response.json() as Promise);\r\n });\r\n }\r\n\r\n async twoFactorRegister(twoFactorRegisterRequest: Partial, signal?: AbortSignal | undefined): Promise {\r\n const url_ = \"/Account/TwoFactorRegister\";\r\n\r\n const content_ = JSON.stringify(twoFactorRegisterRequest);\r\n\r\n const options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\",\r\n \"X-Requested-With\": \"XMLHttpRequest\", //required for .Net IsAjaxRequest() == true\r\n }\r\n };\r\n\r\n return fetch(url_, options_).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => _response.json() as Promise);\r\n });\r\n }\r\n\r\n async twoFactorConfirm(twoFactorConfirmRequest: Partial, signal?: AbortSignal | undefined): Promise {\r\n const url_ = \"/Account/TwoFactorConfirm\";\r\n\r\n const content_ = JSON.stringify(twoFactorConfirmRequest);\r\n\r\n const options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\",\r\n \"X-Requested-With\": \"XMLHttpRequest\", //required for .Net IsAjaxRequest() == true\r\n }\r\n };\r\n\r\n return fetch(url_, options_).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => _response.json() as Promise);\r\n });\r\n }\r\n\r\n async termsOfUseHtml(signal?: AbortSignal | undefined): Promise {\r\n const url_ = \"/Account/TermOfUseHtml\";\r\n\r\n const options_ = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\",\r\n \"X-Requested-With\": \"XMLHttpRequest\", //required for .Net IsAjaxRequest() == true\r\n }\r\n };\r\n\r\n return fetch(url_, options_).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => _response.json() as Promise);\r\n });\r\n }\r\n\r\n\r\n async forgotPassword(changePasswordRequest: LSWebUI.Models.ForgotPasswordViewModel, signal?: AbortSignal | undefined): Promise {\r\n const url_ = \"/Account/ForgotPasswordShowMessage\";\r\n\r\n const content_ = JSON.stringify(changePasswordRequest);\r\n\r\n const options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\",\r\n \"X-Requested-With\": \"XMLHttpRequest\", //required for .Net IsAjaxRequest() == true\r\n }\r\n };\r\n\r\n return fetch(url_, options_).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => _response.json() as Promise);\r\n });\r\n }\r\n\r\n async newScimClientToken(accountId: string, signal?: AbortSignal | undefined): Promise {\r\n const url_ = \"/Organization/NewEnterpriseToken\";\r\n\r\n const content_ = JSON.stringify({\r\n accountId: accountId\r\n });\r\n\r\n const options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/html\",\r\n \"X-Requested-With\": \"XMLHttpRequest\", //required for .Net IsAjaxRequest() == true\r\n }\r\n };\r\n\r\n return fetch(url_, options_).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => _response.text());\r\n });\r\n }\r\n\r\n async newScimClientSecret(signal?: AbortSignal | undefined): Promise {\r\n const url_ = \"/Organization/NewClientSecret\";\r\n\r\n const options_ = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"text/html\",\r\n \"X-Requested-With\": \"XMLHttpRequest\", //required for .Net IsAjaxRequest() == true\r\n }\r\n };\r\n\r\n return fetch(url_, options_).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => _response.text());\r\n });\r\n }\r\n}\r\n\r\nexport default AccountClient;","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport * as yup from \"yup\";\r\nimport { SpinningButton } from \"Components/ReactstrapSlim\";\r\nimport { PasswordInputFL, ValidationSummary } from \"Components/Inputs\";\r\nimport { useApiClient } from \"Services/API/useApiClient\";\r\nimport { AccountClient, LogonSuccessResponse, isChangePasswordSuccessResponse } from \"Services/LegacyAPI/AccountClient\";\r\n\r\ntype ChangePasswordFormModel = Pick;\r\n\r\nconst ChangePasswordFormSchema: yup.SchemaOf = yup.object({\r\n OldPassword: yup.string()\r\n .required(\"Current password is required\")\r\n .defined(),\r\n NewPassword: yup.string()\r\n .required(\"New password is required\")\r\n .min(LiquidSpaceConfig.NewMinPasswordLength, \"Password must be at least ${min} characters long\")\r\n .max(LiquidSpaceConfig.MaxPasswordLength, \"Enter no more than ${max} characters\")\r\n .test(\"no-spaces\", \"Password shouldn't contain spaces\", (value) =>\r\n !value || !value.includes(\" \"))\r\n .notOneOf([yup.ref(\"OldPassword\")], \"Password must be different from the current\")\r\n .defined(),\r\n ConfirmPassword: yup.string()\r\n .required(\"Confirmation password is required\")\r\n .oneOf([yup.ref(\"NewPassword\"), null], \"Passwords must match\")\r\n .defined(),\r\n}).defined();\r\n\r\nexport interface ChangePasswordFormProps extends LSWebUI.Models.ForgotPasswordViewModel {\r\n isActive: boolean;\r\n onSuccess: (logonResult: LogonSuccessResponse) => boolean;\r\n returnUrl?: string,\r\n}\r\n\r\nexport const ChangePasswordForm: React.FC = function ({ isActive, UserName, onSuccess, OldPassword, ForcePasswordChange, returnUrl }) {\r\n const accountClient = useApiClient(AccountClient);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [serverErrors, setServerErrors] = useState>([]);\r\n\r\n const formMethods = useForm({\r\n defaultValues: {\r\n OldPassword: OldPassword || \"\",\r\n },\r\n resolver: yupResolver(ChangePasswordFormSchema),\r\n mode: \"onBlur\"\r\n });\r\n\r\n const onSubmit = async () => {\r\n if (isLoading)\r\n return;\r\n setIsLoading(true);\r\n setServerErrors([]);\r\n try {\r\n const isValid = await formMethods.trigger();\r\n if (isValid) {\r\n const formValues = formMethods.getValues();\r\n\r\n const changePasswordRequest: LSWebUI.Models.ForgotPasswordViewModel = {\r\n UserName: UserName,\r\n ForcePasswordChange: false,\r\n ...formValues,\r\n };\r\n const changeResult = await accountClient.forgotPassword(changePasswordRequest);\r\n if (changeResult.success) {\r\n if (isChangePasswordSuccessResponse(changeResult)) {\r\n window.location.href = `/account/registerconfirmation?id=${changeResult.memberId}&changePassword=false&showTermsOfUse=true&returnUrl=${returnUrl}`;\r\n } else {\r\n onSuccess(changeResult);\r\n }\r\n } else {\r\n if (changeResult.errors && changeResult.errors.length)\r\n setServerErrors(changeResult.errors.map(err => [\"newPassword\", err]));\r\n else\r\n setServerErrors([[\"newPassword\", \"Unexpected server error\"]]);\r\n }\r\n }\r\n } catch (err: any) {\r\n if (err.error) {\r\n setServerErrors([[\"newPassword\", err.error]]);\r\n }\r\n console.log(err);\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const submitOnEnterHandler = (e: React.KeyboardEvent) => {\r\n if (e.key === \"Enter\") {\r\n onSubmit();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n setTimeout(function () {\r\n formMethods.setFocus(OldPassword ? \"NewPassword\" : \"OldPassword\");\r\n }, 500);\r\n }\r\n }, [isActive])\r\n\r\n return (\r\n
\r\n
\r\n Set a new password\r\n
\r\n
\r\n {!OldPassword &&
We sent you an email with instructions on how to reset your password.
}\r\n
If you have any questions, contact support@liquidspace.com
\r\n
\r\n {\r\n (OldPassword || !ForcePasswordChange) &&\r\n
\r\n \r\n {\r\n OldPassword\r\n ? \r\n : \r\n }\r\n \r\n \r\n Set password\r\n
\r\n }\r\n
\r\n )\r\n}","import React, { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport * as yup from \"yup\";\r\n\r\nexport interface SeparatorWithTextProps {\r\n text: string;\r\n}\r\nexport const SeparatorWithText: React.FC = ({ text }) => {\r\n return (\r\n
\r\n
{text}
\r\n
\r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport * as yup from \"yup\";\r\nimport { SpinningButton } from \"Components/ReactstrapSlim\";\r\nimport { InputFL, ValidationSummary } from \"Components/Inputs\";\r\nimport { AccountClient, TwoFactorResponse } from \"Services/LegacyAPI/AccountClient\";\r\nimport { useApiClient } from \"Services/API/useApiClient\";\r\n\r\ninterface TwoFactorConfirmFormModel {\r\n AuthyToken: string,\r\n}\r\n\r\nconst TwoFactorConfirmFormSchema: yup.SchemaOf = yup.object({\r\n AuthyToken: yup.string().required(\"Confrimation code is required\").defined(),\r\n}).defined();\r\n\r\n\r\n\r\nexport interface TwoFactorConfirmFormProps {\r\n isActive: boolean;\r\n email: string,\r\n lstoken: string,\r\n phoneNumberLast4: string,\r\n onSuccess: (logonResult: TwoFactorResponse) => boolean;\r\n}\r\n\r\nexport const TwoFactorConfirmForm: React.FC = function ({ isActive, email, lstoken, phoneNumberLast4, onSuccess }) {\r\n const accountClient = useApiClient(AccountClient);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [serverErrors, setServerErrors] = useState>([]);\r\n\r\n const formMethods = useForm({\r\n resolver: yupResolver(TwoFactorConfirmFormSchema),\r\n mode: \"onBlur\"\r\n });\r\n\r\n const onSubmit = async () => {\r\n if (isLoading)\r\n return;\r\n setIsLoading(true);\r\n setServerErrors([]);\r\n try {\r\n const isValid = await formMethods.trigger();\r\n if (isValid) {\r\n const formValues = formMethods.getValues();\r\n const twoFactorRegisterResult = await accountClient.twoFactorConfirm({\r\n ...formValues,\r\n UserName: email,\r\n LSToken: lstoken\r\n });\r\n if (twoFactorRegisterResult.success) {\r\n onSuccess(twoFactorRegisterResult);\r\n } else {\r\n setServerErrors([[\"email\", twoFactorRegisterResult.error]]);\r\n }\r\n }\r\n } catch (err: any) {\r\n if (err.error) {\r\n setServerErrors([[\"email\", err.error]]);\r\n }\r\n console.log(err);\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const submitOnEnterHandler = (e: React.KeyboardEvent) => {\r\n if (e.key === \"Enter\") {\r\n onSubmit();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n setTimeout(function () {\r\n formMethods.setFocus(\"AuthyToken\");\r\n }, 500);\r\n }\r\n }, [isActive])\r\n\r\n return (\r\n
\r\n
\r\n Two factor authentication\r\n
\r\n
\r\n We've sent you a confirmation code on your phone number ending with *{phoneNumberLast4}\r\n
\r\n
\r\n \r\n \r\n Confirm\r\n
\r\n
\r\n )\r\n}","import { yupResolver } from \"@hookform/resolvers/yup\";\r\nimport { SpinningButton } from \"Components/ReactstrapSlim\";\r\nimport { CheckboxControlled, InputFL, PasswordInputFL, ValidationSummary } from \"Components/Inputs\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { FieldErrors, useForm } from \"react-hook-form\";\r\nimport { useApiClient } from \"Services/API/useApiClient\";\r\nimport { AccountClient, isLogonSuccessResponseTwoFactorConfirmationRequired, isLogonSuccessResponseTwoFactorRegistrationRequired, LogonSuccessResponse } from \"Services/LegacyAPI/AccountClient\";\r\nimport * as yup from \"yup\";\r\nimport { SeparatorWithText } from \"./SeparatorWithText\";\r\nimport { SigningEmailProps, useSigningEmailEffect } from \"./SigningCommon\";\r\nimport { SsoButtons } from \"./SsoButtons\";\r\nimport { TermsOfUseModal } from \"./TermsOfUseModal\";\r\n\r\nexport interface LoginFormModel {\r\n email: string,\r\n password: string,\r\n rememberMe?: boolean,\r\n}\r\n\r\nconst LoginFormSchema: yup.SchemaOf = yup.object({\r\n email: yup.string()\r\n .required(\"Email is required\")\r\n .email(\"Email is not valid\")\r\n .defined(),\r\n password: yup.string().required(\"Password is required\")\r\n .min(LiquidSpaceConfig.MinPasswordLength, \"Password must be at least ${min} characters long\")\r\n .max(LiquidSpaceConfig.MaxPasswordLength, \"Enter no more than ${max} characters\")\r\n .test(\"no-spaces\", \"Password shouldn't contain spaces\", (value) =>\r\n !value || !value.includes(\" \")),\r\n rememberMe: yup.boolean().optional(),\r\n}).defined();\r\n\r\n\r\n\r\nexport type LoginFormProps = SigningEmailProps & LSStore.SigningLoginProps & {\r\n isActive: boolean;\r\n onSwitchToForgotPassword: () => void;\r\n onSwitchToSignup: () => void;\r\n onSwtichToChangePassword: (changePasswordOptions: LSWebUI.Models.ForgotPasswordViewModel) => void;\r\n onLoginSuccess: (logonResult: LogonSuccessResponse, model: LoginFormModel) => boolean;\r\n}\r\n\r\nexport const LoginForm: React.FC = function ({ isActive, onLoginSuccess, onSwitchToForgotPassword, onSwitchToSignup, onSwtichToChangePassword, message, ...signingEmailProps }) {\r\n const accountClient = useApiClient(AccountClient);\r\n // const layoutContext = useContext(LayoutContext);\r\n // const accountClient = useMemo(() => {\r\n // const client = new AccountClient();\r\n // client.onError = (message, response) => {\r\n // debugger;\r\n // layoutContext.showError(message);\r\n // };\r\n // return client;\r\n // }, [])\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [showTermsOfUse, setShowTermsOfUse] = useState(false);\r\n const [serverErrors, setServerErrors] = useState>([]);\r\n const [termsOfUseAccepted, setTermsOfUseAccepted] = useState(undefined);\r\n\r\n const formMethods = useForm({\r\n resolver: yupResolver(LoginFormSchema),\r\n defaultValues: {\r\n rememberMe: true,\r\n email: signingEmailProps.email,\r\n },\r\n mode: \"onTouched\"\r\n });\r\n\r\n useSigningEmailEffect(signingEmailProps, formMethods, \"email\");\r\n\r\n const onSubmit = async () => {\r\n if (isLoading)\r\n return;\r\n setIsLoading(true);\r\n setServerErrors([]);\r\n let finalIsLoading = false;\r\n try {\r\n const isValid = await formMethods.trigger();\r\n if (isValid) {\r\n const formValues = formMethods.getValues();\r\n\r\n const logonResult = await accountClient.logon({\r\n UserName: formValues.email,\r\n Password: formValues.password,\r\n RememberMe: formValues.rememberMe,\r\n TermsOfUseAccepted: termsOfUseAccepted\r\n });\r\n \r\n if (logonResult.success) {\r\n if (!isLogonSuccessResponseTwoFactorRegistrationRequired(logonResult)\r\n && !isLogonSuccessResponseTwoFactorConfirmationRequired(logonResult)\r\n && logonResult.showTermsOfUse) {\r\n setShowTermsOfUse(true);\r\n } else {\r\n finalIsLoading = onLoginSuccess(logonResult, formValues);\r\n }\r\n } else {\r\n if ((logonResult.logonStatus == LSCommon.Enums.LogonStatusEnum.ForcedPasswordChange\r\n || logonResult.logonStatus == LSCommon.Enums.LogonStatusEnum.PasswordExpired)\r\n && logonResult.passwordValid) {\r\n onSwtichToChangePassword({\r\n UserName: formValues.email,\r\n OldPassword: formValues.password,\r\n\r\n ConfirmPassword: null,\r\n ForcePasswordChange: false,\r\n NewPassword: null\r\n });\r\n }\r\n else {\r\n setServerErrors([[\"email\", logonResult.error]]);\r\n }\r\n }\r\n }\r\n else {\r\n let name: keyof FieldErrors;\r\n for (name in formMethods.formState.errors) {\r\n formMethods.setFocus(name);\r\n break;\r\n }\r\n }\r\n } catch (err: any) {\r\n if (err.error) {\r\n setServerErrors([[\"email\", err.error]]);\r\n }\r\n console.log(err);\r\n } finally {\r\n setIsLoading(finalIsLoading);\r\n }\r\n }\r\n\r\n const onForgotPasswordClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n onSwitchToForgotPassword();\r\n }\r\n const onSignUpClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n onSwitchToSignup();\r\n }\r\n\r\n const submitOnEnterHandler = (e: React.KeyboardEvent) => {\r\n if (e.key === \"Enter\") {\r\n onSubmit();\r\n }\r\n }\r\n\r\n const onTermsOfUseAccept = () => {\r\n setTermsOfUseAccepted(true);\r\n setShowTermsOfUse(false);\r\n onSubmit();\r\n }\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n setTimeout(function () {\r\n formMethods.setFocus(\"email\");\r\n }, 500);\r\n }\r\n }, [isActive])\r\n\r\n return (\r\n
\r\n
\r\n Log in\r\n
\r\n {message &&
{message}
}\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Forgot password?\r\n
\r\n Log in\r\n
Don’t have an account? Sign up
\r\n \r\n \r\n
\r\n \r\n
\r\n )\r\n}","import React, { PropsWithChildren } from \"react\";\r\nimport { useState } from \"react\";\r\nimport { InputFL, InputFLProps } from \"./InputFL\";\r\nimport * as Icons from \"Components/Icons\";\r\nimport { FieldValues } from \"react-hook-form\";\r\n\r\nexport const PasswordInputFL = ({ children, type, ...rest }: PropsWithChildren>) => {\r\n const [isPasswordVisible, setIsPasswordVisible] = useState(false);\r\n const togglePasswordVisible = () => {\r\n setIsPasswordVisible((wasVisible) => !wasVisible);\r\n }\r\n return (\r\n \r\n {isPasswordVisible ? : }\r\n \r\n );\r\n}"],"names":["TwoFactorRegisterFormSchema","yup","PhoneNumber","required","phone","defined","TwoFactorRegisterForm","isActive","email","lstoken","onSuccess","accountClient","useApiClient","AccountClient","isLoading","setIsLoading","useState","serverErrors","setServerErrors","formMethods","useForm","resolver","yupResolver","mode","onSubmit","async","trigger","formValues","getValues","twoFactorRegisterResult","twoFactorRegister","UserName","LSToken","success","error","err","console","log","useEffect","setTimeout","setFocus","React","className","ValidationSummary","errors","formState","InputFL","control","name","placeholder","autoComplete","onKeyDown","e","key","SpinningButton","onClick","color","size","fluid","clientType","layoutContext","useContext","LayoutContext","useMemo","client","onError","message","httpStatus","showError","forwardRef","rest","ref","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","isLocalUrl","url","match","AdfsFormSchema","AdfsForm","adfsProvider","signingEmailProps","defaultValues","useSigningEmailEffect","Name","href","preventDefault","LSHelper","Sso","popupSsoLoginCommon","addParamToUrl","Url","SAMLRequest","termsValidationMessage","RegisterFormModelSchema","FullName","fullName","Email","Password","min","LiquidSpaceConfig","NewMinPasswordLength","max","MaxPasswordLength","test","value","includes","RememberMe","AcceptTerms","oneOf","TermsLabel","target","RegisterForm","onRegisterSuccess","onSwitchToLogin","registerProps","registerModel","undefined","finalIsLoading","registerRequest","requestResult","register","length","map","submitOnEnterHandler","ssoRegistrationOptions","RegistrationType","MemberIdToLink","MemberId","Guid","Empty","OriginatingVenueId","InvitationId","InvitationOwnerId","OwnerId","ConnectionType","LSCommon","Enums","Direct","setValue","Message","PasswordInputFL","CheckboxControlled","label","SeparatorWithText","text","SsoButtons","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","Error","code","keys","Object","resolve","module","exports","ForgotPasswordFormSchema","ForgotPasswordForm","onSwitchBack","isSubmitted","setIsSubmitted","recaptchaToken","setRecaptchaToken","forgotPasswordRequest","forgotResult","forgotPassword","ForgotPasswordRequest","fromJS","errorMessage","onBackClick","Button","ReCAPTCHA","sitekey","RecaptchaKeys","Explicit","SiteKey","onChange","token","SsoButton","ssoType","popupWidth","popupHeight","LSCrossTier","SsoType","Apple","Facebook","Google","LinkedIn","Twitter","getPopupDimensions","modelJson","encodeURIComponent","JSON","stringify","popupSsoLogin","classNames","getKey","toLowerCase","describe","cookies","useCookies","buttonTypes","bt","TermsOfUseModal","show","onAccept","isOpen","setIsOpen","termOfUseHtml","setTermOfUseHtml","toggle","open","termsOfUseHtml","getTermsOfUseHtml","Modal","centered","ModalHeader","lightWordsCount","ModalBody","dangerouslySetInnerHTML","__html","formEmailFieldName","emailValue","watch","onEmailChange","shouldValidate","YUP_FULL_NAME_METHOD","errMsg","this","split","filter","s","YUP_IN_DOMAINS_METHOD","domains","domainIndex","indexOf","domain","substr","YUP_PHONE_METHOD","result","phoneUtil","PhoneNumberUtil","getInstance","phoneNumber","i","SupportedCountries","parse","isValidNumberForRegion","isValidNumber","Environment","Enum","EnvironmentType","Development","Staging","YUP_NAME_METHOD","YUP_UNIQUE_METHOD","field","array","notNullArray","row","uniqueData","Array","from","Set","index","findIndex","repeatedValue","firstIndex","secondIndex","createError","path","YUP_DATE_STRING_METHOD","moment","isValid","emailRegex","trim","every","SigningForm","LSStore","SigningMode","Login","initialEmail","returnUrl","closeModal","loginFormProps","registerFormProps","changePasswordFormProps","isModal","activeMode","setActiveMode","previousMode","setPreviousMode","setEmail","adfsProviders","setAdfsProviders","matchingAdfsProvider","setMatchingAdfsProvider","signingModalState","useSelector","state","signingModal","setLstoken","phoneNumberLast4","setPhoneNumberLast4","loginProps","setLoginProps","setRegisterProps","changePasswordProps","setChangePasswordProps","modeClassName","m","selectModeWithHistory","selectedMode","onLoginSuccess","logonResult","model","isLogonSuccessResponseTwoFactorRegistrationRequired","TwoFactorRegister","isLogonSuccessResponseTwoFactorConfirmationRequired","onSigningSuccess","userId","TwoFactorConfirm","data","ssoRedirectUrl","User","redirectUrl","Account","onLogInSuccessCallback","joinFlow","caller","document","dispatchEvent","CustomEvent","window","EMBEDDEDISLAND","onlyHeaderReload","reloadHeader","popUpRedirectUrl","location","reload","urlParams","URLSearchParams","search","returnUrlToUse","get","SSO_logon_Completed","function_SSO_accountLinking_Completed","params","abortController","AbortController","abortSignal","getAdfsProvides","signal","abort","j","EmailDomains","RegExp","Adfs","style","transform","Register","registerResponse","showTwoFactorForm","TwoFactorConfirmModel","InitialMode","PhoneNumberLast4","LoginForm","onSwitchToSignup","onSwitchToForgotPassword","Forgot","onSwtichToChangePassword","changePasswordOptions","ChangePassword","TwoFactorConfirmForm","ChangePasswordForm","Checkbox","type","CustomInput","Controller","render","onBlur","mergedClasses","resolvePath","checked","logonSuccessResponse","showTwoFactorRegister","showTwoFactorConfirmation","isChangePasswordSuccessResponse","response","showTermsOfUse","ClientBase","jsonParseReviver","constructor","super","logon","logonRequest","url_","request","IsDialog","content_","fetch","body","method","headers","then","_response","transformResult","json","twoFactorRegisterRequest","twoFactorConfirm","twoFactorConfirmRequest","changePasswordRequest","newScimClientToken","accountId","newScimClientSecret","ChangePasswordFormSchema","OldPassword","NewPassword","notOneOf","ConfirmPassword","ForcePasswordChange","changeResult","memberId","TwoFactorConfirmFormSchema","AuthyToken","LoginFormSchema","password","MinPasswordLength","rememberMe","optional","setShowTermsOfUse","termsOfUseAccepted","setTermsOfUseAccepted","TermsOfUseAccepted","logonStatus","LogonStatusEnum","ForcedPasswordChange","PasswordExpired","passwordValid","onTermsOfUseAccept","children","isPasswordVisible","setIsPasswordVisible","togglePasswordVisible","wasVisible","Icons"],"sourceRoot":""}