{"version":3,"file":"static/js/126.chunk.js","mappings":"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","sources":["Components/AccountScreens/Login/SocialButtons/FacebookButton.tsx","Components/AccountScreens/Login/SocialButtons/AppleButton.tsx","Components/AccountScreens/Login/SocialButtons/GoogleButton.tsx","Components/AccountScreens/Login/SocialButtons/SocialButtons.tsx","Components/AccountScreens/Signup/EmailInput.tsx","Components/AccountScreens/Login/Login.tsx","Components/Shared/CodeInput/CodeInput.tsx","Components/AccountScreens/Login/LoginConfirm/LoginConfirm.tsx","Components/AccountScreens/Signup/Signup.tsx","Components/AccountScreens/AccountScreens.tsx","Components/AccountScreens/FormInputs/PhoneFormField/PhoneFormField.tsx","Components/Shared/Alert/Alert.tsx","Components/Shared/Button/Button.tsx","Helpers/PATH.resource.ts","Helpers/validators.ts","interfaces/interfaces.ts"],"sourcesContent":["import React from 'react'\r\nimport { useLogin } from 'react-facebook'\r\n\r\n// ASSETS\r\nimport facebookIcon from '../../../../assets/loginIcons/f_logo_RGB-Blue_58.png'\r\n\r\n// INTERFACES\r\nimport { IUserName, LoginProviders } from '../../../../interfaces/interfaces'\r\n\r\ninterface IFacebookButtonProps {\r\n loginSuccess: (\r\n loginProvider: LoginProviders,\r\n accessToken?: string,\r\n name?: IUserName\r\n ) => void\r\n}\r\n\r\nconst FacebookButton: React.FC = ({\r\n loginSuccess,\r\n}: IFacebookButtonProps): React.JSX.Element => {\r\n const { login } = useLogin() //, status, isLoading, error\r\n return (\r\n {\r\n void login({ scope: 'email' })\r\n .then((response) => {\r\n void loginSuccess(\r\n LoginProviders.facebook,\r\n response.authResponse.accessToken\r\n )\r\n })\r\n .catch((error) => {\r\n console.error(error)\r\n })\r\n }}\r\n >\r\n \r\n \"Facebook\"\r\n \r\n Continue with Facebook\r\n \r\n )\r\n}\r\n\r\nexport default FacebookButton\r\n","import { IUserName, LoginProviders } from '../../../../interfaces/interfaces'\r\nimport appleIcon from '../../../../assets/loginIcons/apple.png'\r\nimport AppleLogin from 'react-apple-login'\r\nimport React from 'react'\r\n\r\ninterface IAppleCredentialResponse {\r\n error: string\r\n authorization: { id_token: string }\r\n user?: { name: IUserName }\r\n}\r\n\r\ninterface IAppleButtonProps {\r\n loginSuccess: (\r\n loginProvider: LoginProviders,\r\n accessToken?: string,\r\n name?: IUserName\r\n ) => void\r\n}\r\n\r\nexport default function AppleButton(props: IAppleButtonProps) {\r\n const loginUrl = `https://${window.location.host}/auth/login`\r\n return (\r\n {\r\n if (credentialResponse.error) {\r\n return\r\n }\r\n props.loginSuccess(\r\n LoginProviders.apple,\r\n credentialResponse.authorization.id_token,\r\n credentialResponse.user?.name\r\n )\r\n }}\r\n render={(renderProps) => (\r\n \r\n \r\n \"Apple\"\r\n \r\n Continue with Apple\r\n \r\n )}\r\n usePopup={true}\r\n />\r\n )\r\n}\r\n","import {\r\n GoogleCredentialResponse,\r\n GoogleLogin,\r\n GoogleOAuthProvider,\r\n} from '@react-oauth/google'\r\nimport React from 'react'\r\nimport { LoginProviders } from '../../../../interfaces/interfaces'\r\n\r\ninterface IGoogleButtonProps {\r\n loginSuccess: (loginProvider: LoginProviders, accessToken?: string) => void\r\n}\r\n\r\nexport default function GoogleButton(props: IGoogleButtonProps) {\r\n const handleGoogleLoginSuccess = (\r\n credentialResponse: GoogleCredentialResponse\r\n ): void => {\r\n props.loginSuccess(LoginProviders.google, credentialResponse.credential)\r\n }\r\n\r\n if (process.env.REACT_APP_GOOGLE_CLIENT_ID) {\r\n return (\r\n \r\n \r\n \r\n )\r\n } else {\r\n return <>\r\n }\r\n}\r\n","import './social-buttons.css'\r\nimport React, { useContext } from 'react'\r\n\r\n// COMPONENTS\r\nimport FacebookButton from './FacebookButton'\r\nimport AppleButton from './AppleButton'\r\nimport GoogleButton from './GoogleButton'\r\n\r\nimport { notIosApp } from '../../../../Helpers/IOS'\r\n\r\nimport {\r\n IUserName,\r\n LoginDetails,\r\n LoginMethod,\r\n LoginProviders,\r\n} from '../../../../interfaces/interfaces'\r\nimport { FacebookProvider } from 'react-facebook'\r\nimport { GlobalContext } from '../../../../Context/GlobalContext'\r\n\r\nexport interface ISocialProps {\r\n loginSuccess: (props: LoginDetails) => void\r\n}\r\n\r\nconst SocialButtons: React.FC = (\r\n props: ISocialProps\r\n): React.JSX.Element => {\r\n const global = useContext(GlobalContext)\r\n const handleLoginSuccess = (\r\n loginProvider: LoginProviders,\r\n accessToken?: string,\r\n name?: IUserName\r\n ): void => {\r\n if (!accessToken) {\r\n return\r\n }\r\n\r\n props.loginSuccess({\r\n loginProvider: loginProvider,\r\n loginMethod: LoginMethod.thirdPartyProvider,\r\n accessToken: accessToken,\r\n name: name,\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {!global.partnerId && (\r\n <>\r\n {notIosApp() && (\r\n <>\r\n \r\n {process.env.REACT_APP_FACEBOOK_APP_ID && (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n )}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default SocialButtons\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Tick } from '../../../assets/svg/Svg-Exports'\r\n\r\ninterface IEmailInputProps {\r\n emailName: string\r\n isConfirmField: boolean\r\n emailVal: string\r\n onChangeHandler: (e: React.ChangeEvent) => void\r\n isValid: boolean\r\n isDisabled?: boolean\r\n handleKeyPress?: (e: React.KeyboardEvent) => void\r\n}\r\n\r\nconst EmailInput: React.FC = ({\r\n emailName,\r\n isConfirmField,\r\n emailVal,\r\n onChangeHandler,\r\n isValid,\r\n isDisabled,\r\n handleKeyPress,\r\n}: IEmailInputProps): JSX.Element => {\r\n const [value, setValue] = useState(() => (emailVal ? emailVal : ''))\r\n\r\n useEffect(() => {\r\n if (emailVal && emailVal.length > 0) {\r\n setValue(emailVal)\r\n }\r\n }, [emailVal])\r\n\r\n const onChange = (e: React.ChangeEvent) => {\r\n const val = e.target.value\r\n setValue(val)\r\n onChangeHandler(e)\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n {\r\n
\r\n {isValid && }\r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default EmailInput\r\n","import './login.css'\r\nimport React, { useEffect, useState } from 'react'\r\n\r\nimport { simpleValidateEmail } from '../../../Helpers/validators'\r\nimport Button from '../../Shared/Button/Button'\r\nimport {\r\n ICheckUserDetails,\r\n LoginDetails,\r\n LoginMethod,\r\n} from '../../../interfaces/interfaces'\r\nimport SocialButtons from './SocialButtons/SocialButtons'\r\nimport EmailInput from '../Signup/EmailInput'\r\nimport PhoneFormField, {\r\n isPhoneValid,\r\n} from '../FormInputs/PhoneFormField/PhoneFormField'\r\n\r\ninterface ILoginProps {\r\n loginMethod: LoginMethod\r\n onChangeLoginMethod: (newLoginMethod?: LoginMethod) => void\r\n checkUserCallback: (props: ICheckUserDetails) => void\r\n login: (props: LoginDetails) => void\r\n}\r\n\r\nconst phoneID = 'phoneNumber'\r\n\r\nconst Login: React.FC = ({\r\n loginMethod,\r\n onChangeLoginMethod,\r\n checkUserCallback,\r\n login,\r\n}: ILoginProps): React.JSX.Element => {\r\n const [userDetails, setUserDetails] = useState({\r\n loginMethod: LoginMethod.phoneNumber,\r\n phoneNumber: '',\r\n code: '',\r\n country: undefined,\r\n })\r\n const [isFormValid, setIsFormValid] = useState(false)\r\n\r\n useEffect((): void => {\r\n switch (loginMethod) {\r\n case LoginMethod.email:\r\n setUserDetails({\r\n loginMethod: loginMethod,\r\n email: '',\r\n code: '',\r\n })\r\n break\r\n default:\r\n setUserDetails({\r\n loginMethod: LoginMethod.phoneNumber,\r\n phoneNumber: '',\r\n code: '',\r\n country: undefined,\r\n })\r\n break\r\n }\r\n\r\n setIsFormValid(false)\r\n }, [loginMethod])\r\n\r\n const checkUser = (): void => {\r\n if (userDetails.loginMethod === LoginMethod.thirdPartyProvider) {\r\n return\r\n }\r\n\r\n const request = {\r\n userDetails: {\r\n ...userDetails,\r\n email: userDetails.email?.toLowerCase(),\r\n },\r\n doesUserExist: false,\r\n } as ICheckUserDetails\r\n\r\n checkUserCallback(request)\r\n }\r\n\r\n const handleKeyPress = (e: React.KeyboardEvent): void => {\r\n if (e.key === 'Enter') {\r\n checkUser()\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {userDetails.loginMethod === LoginMethod.email && (\r\n \r\n ) => {\r\n const { name, value } = e.target\r\n setIsFormValid(simpleValidateEmail(value))\r\n setUserDetails({\r\n ...userDetails,\r\n [name]: value,\r\n })\r\n }}\r\n />\r\n )}\r\n {userDetails.loginMethod === LoginMethod.phoneNumber && (\r\n <>\r\n {\r\n setIsFormValid(isPhoneValid(value))\r\n setUserDetails({\r\n ...userDetails,\r\n country: country,\r\n [name]: value,\r\n })\r\n }}\r\n />\r\n \r\n )}\r\n \r\n
\r\n
\r\n
Or use
\r\n
\r\n
\r\n onChangeLoginMethod()}\r\n />\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default Login\r\n","import React, { useState, useEffect, useRef } from 'react'\r\nimport { Tick } from '../../../assets/svg/Svg-Exports'\r\n\r\n// delete this component when issues with the main one are resolved\r\ninterface ICodeInput {\r\n charsPerEntry: number\r\n onEntryAction: (code: string, isValid: boolean) => void\r\n identifier: string\r\n labelText: string\r\n placeholderChars: string\r\n validationCheck: (val: string) => boolean\r\n}\r\n\r\nconst CodeInput: React.FC = ({\r\n charsPerEntry = 1,\r\n onEntryAction,\r\n identifier,\r\n labelText,\r\n placeholderChars,\r\n validationCheck,\r\n}: ICodeInput): React.JSX.Element => {\r\n const [codeValue, setCodeValue] = useState('')\r\n const [isValid, setIsValid] = useState(false)\r\n const codeInputRef = useRef(null)\r\n\r\n useEffect(() => {\r\n if (codeInputRef.current) {\r\n codeInputRef.current.focus()\r\n }\r\n }, [])\r\n\r\n const checkAndSetValidity = (value: string): void => {\r\n if (validationCheck) {\r\n if (validationCheck(value)) {\r\n setIsValid(true)\r\n } else {\r\n setIsValid(false)\r\n }\r\n } else {\r\n setIsValid(true)\r\n }\r\n }\r\n\r\n const onInputEntry = (e: React.ChangeEvent): void => {\r\n const { value } = e.target\r\n\r\n if (value.length === charsPerEntry) {\r\n checkAndSetValidity(value)\r\n\r\n setCodeValue(value)\r\n } else {\r\n setIsValid(false)\r\n onEntryAction(codeValue, false)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (isValid) {\r\n onEntryAction(codeValue, isValid)\r\n } else {\r\n setIsValid(false)\r\n }\r\n }, [codeValue, isValid, onEntryAction])\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
{isValid && }
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default CodeInput\r\n","import { AxiosResponse } from 'axios'\r\nimport React, { useCallback, useEffect, useState } from 'react'\r\nimport Identification from '../../../../axios/IdentificationAPI'\r\nimport { numericValidator } from '../../../../Helpers/validators'\r\nimport CodeInput from '../../../Shared/CodeInput/CodeInput'\r\nimport {\r\n IUserData,\r\n LoginDetails,\r\n LoginMethod,\r\n} from '../../../../interfaces/interfaces'\r\nimport './LoginConfirm.css'\r\nimport Button from '../../../Shared/Button/Button'\r\n\r\ninterface ILoginConfirmProps {\r\n loginProps: IUserData\r\n onCancel: () => void\r\n setLoading: (isLoading: boolean) => void\r\n setFormError: (errorMessage: string | undefined) => void\r\n login: (props: LoginDetails) => void\r\n createValidationCooldown: () => void\r\n resendTimeout: number\r\n}\r\n\r\nconst LoginConfirm: React.FC = ({\r\n loginProps,\r\n onCancel,\r\n setLoading,\r\n setFormError,\r\n login,\r\n createValidationCooldown,\r\n resendTimeout,\r\n}: ILoginConfirmProps): React.JSX.Element => {\r\n const [codeValue, setCodeValue] = useState('')\r\n const [isValid, setIsValid] = useState(false)\r\n\r\n const sendConfirmation = useCallback(async (): Promise => {\r\n setFormError(undefined)\r\n let response: AxiosResponse | undefined = undefined\r\n\r\n if (resendTimeout > 0) {\r\n return\r\n }\r\n\r\n setLoading(true)\r\n\r\n try {\r\n if (\r\n loginProps.loginMethod === LoginMethod.email &&\r\n loginProps.email\r\n ) {\r\n response = await Identification.sendEmailConfirmNo(\r\n loginProps.email?.toLowerCase()\r\n )\r\n } else if (loginProps.phoneNumber) {\r\n const phoneNumber = loginProps.phoneNumber\r\n response = await Identification.sendSMSConfirmNo(phoneNumber)\r\n }\r\n\r\n if (response) {\r\n if (!response.data || !response.data.success) {\r\n if (response.data && response.data.friendlyErrorMessage) {\r\n setFormError(response.data.friendlyErrorMessage)\r\n\r\n return\r\n }\r\n\r\n throw new Error(\r\n `An error occured while confirming user via ${loginProps.loginMethod}`\r\n )\r\n }\r\n }\r\n } catch (ex) {\r\n console.error(ex)\r\n setFormError('Failed to send a confirmation message')\r\n } finally {\r\n setLoading(false)\r\n createValidationCooldown()\r\n }\r\n }, [loginProps])\r\n\r\n useEffect((): void => {\r\n sendConfirmation()\r\n }, [])\r\n\r\n const checkCode = (): void => {\r\n setFormError(undefined)\r\n\r\n if (!isValid) {\r\n setFormError('Please enter a valid code')\r\n\r\n return\r\n }\r\n\r\n const propsWithCode: IUserData = {\r\n ...loginProps,\r\n code: codeValue,\r\n }\r\n\r\n login(propsWithCode)\r\n }\r\n\r\n const updateCode = (code: string, isValid: boolean): void => {\r\n setCodeValue(code)\r\n setIsValid(isValid)\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

\r\n To keep your account secure, please enter the 6 digit code\r\n we sent to:\r\n

\r\n

\r\n {loginProps?.loginMethod === LoginMethod.email\r\n ? loginProps.email\r\n : loginProps?.phoneNumber}\r\n

\r\n \r\n

{`You will be able to resend code in 3 minutes.`}

\r\n
\r\n 0}\r\n />\r\n \r\n
\r\n {\r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LoginConfirm\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Tick } from '../../../assets/svg/Svg-Exports'\r\n\r\nimport { alphaValidator, validateEmail } from '../../../Helpers/validators'\r\nimport Button from '../../Shared/Button/Button'\r\nimport Identification from '../../../axios/IdentificationAPI'\r\nimport Cookies from 'js-cookie'\r\nimport { CHECK_TIMESTAMP } from '../../../Helpers/AUTH.resource'\r\n\r\nimport './Signup.css'\r\nimport EmailInput from './EmailInput'\r\nimport {\r\n ICheckUserDetails,\r\n IUserData,\r\n LoginMethod,\r\n MessageType,\r\n} from '../../../interfaces/interfaces'\r\nimport Alert from '../../Shared/Alert/Alert'\r\nimport PhoneFormField, {\r\n isPhoneValid,\r\n} from '../FormInputs/PhoneFormField/PhoneFormField'\r\n\r\ninterface ISignupProps {\r\n checkUserCallback: IUserData\r\n setLoading: (isLoading: boolean) => void\r\n onSuccess: (jwt: string) => void\r\n checkUser: (\r\n props: ICheckUserDetails\r\n ) => Promise\r\n setFormError: (message: string) => void\r\n onCancel: () => void\r\n}\r\n\r\ninterface ISignupForm {\r\n email: string\r\n phone: string\r\n firstName: string\r\n lastName: string\r\n confirmPhone?: string\r\n confirmEmail?: string\r\n type: LoginMethod\r\n}\r\n\r\ntype SignupState = {\r\n [Property in keyof T as Exclude]: boolean\r\n}\r\n\r\nconst validateField = (\r\n name: string,\r\n value: string,\r\n form: ISignupForm\r\n): { [name: string]: boolean } => {\r\n let isFieldValid: boolean | null = false\r\n\r\n switch (name) {\r\n case 'email':\r\n isFieldValid = validateEmail(value)\r\n break\r\n case 'confirmEmail':\r\n isFieldValid = value.toLowerCase() === form.email.toLowerCase()\r\n break\r\n case 'phone':\r\n isFieldValid = isPhoneValid(value)\r\n break\r\n case 'confirmPhone':\r\n isFieldValid = value === form.phone\r\n break\r\n case 'firstName':\r\n case 'lastName':\r\n isFieldValid = alphaValidator(value) && value.length > 1\r\n break\r\n }\r\n\r\n return { [name]: isFieldValid }\r\n}\r\n\r\nconst defaultFormState = {} as SignupState\r\n\r\nconst Signup: React.FC = ({\r\n checkUserCallback,\r\n setLoading,\r\n onSuccess,\r\n checkUser,\r\n setFormError,\r\n onCancel,\r\n}: ISignupProps): React.JSX.Element => {\r\n const [form, setForm] = useState({} as ISignupForm)\r\n const [formState, setFormState] =\r\n useState>(defaultFormState)\r\n const [errorMessage, setErrorMessage] = useState(\r\n undefined\r\n )\r\n const [isFormValid, setIsFormValid] = useState(false)\r\n\r\n const checkFormValid = (): boolean => {\r\n const isValid = Object.values(formState).every(\r\n (value) => value === true\r\n )\r\n\r\n return isValid\r\n }\r\n\r\n useEffect(() => {\r\n let isValidCopy = {} as SignupState\r\n\r\n for (const key in form) {\r\n if (key === 'type') {\r\n return\r\n }\r\n\r\n const val = form[key as keyof ISignupForm]\r\n\r\n if (val) {\r\n isValidCopy = {\r\n ...isValidCopy,\r\n ...validateField(key, val, form),\r\n }\r\n }\r\n }\r\n\r\n if (isValidCopy) {\r\n setFormState(isValidCopy)\r\n }\r\n }, [form])\r\n\r\n useEffect(() => {\r\n const isValidForm = checkFormValid()\r\n setIsFormValid(isValidForm)\r\n }, [formState])\r\n\r\n useEffect(() => {\r\n let formData = {} as ISignupForm\r\n\r\n if (\r\n checkUserCallback.loginMethod === LoginMethod.email &&\r\n checkUserCallback.email\r\n ) {\r\n formData = {\r\n firstName: '',\r\n lastName: '',\r\n type: checkUserCallback.loginMethod,\r\n email: checkUserCallback.email,\r\n confirmEmail: '',\r\n phone: '',\r\n }\r\n } else if (\r\n checkUserCallback.loginMethod === LoginMethod.phoneNumber &&\r\n checkUserCallback.phoneNumber\r\n ) {\r\n formData = {\r\n firstName: '',\r\n lastName: '',\r\n type: checkUserCallback.loginMethod,\r\n email: '',\r\n phone: checkUserCallback.phoneNumber,\r\n confirmPhone: '',\r\n }\r\n } else if (\r\n checkUserCallback.loginMethod === LoginMethod.thirdPartyProvider\r\n ) {\r\n formData = {\r\n firstName: checkUserCallback.name?.firstName ?? '',\r\n lastName: checkUserCallback.name?.lastName ?? '',\r\n type: checkUserCallback.loginMethod,\r\n email: checkUserCallback.email ?? '',\r\n phone: checkUserCallback.phoneNumber ?? '',\r\n confirmPhone: '',\r\n }\r\n }\r\n\r\n setForm(formData)\r\n\r\n let newFormState = {} as SignupState\r\n\r\n if (checkUserCallback.loginMethod === LoginMethod.phoneNumber) {\r\n newFormState = {\r\n phone: true,\r\n email: false,\r\n confirmPhone: false,\r\n firstName: false,\r\n lastName: false,\r\n }\r\n } else if (checkUserCallback.loginMethod === LoginMethod.email) {\r\n newFormState = {\r\n phone: false,\r\n email: true,\r\n confirmEmail: false,\r\n firstName: false,\r\n lastName: false,\r\n }\r\n }\r\n\r\n setFormState({ ...formState, ...newFormState })\r\n }, [checkUserCallback.loginMethod])\r\n\r\n const handlePhoneChange = (name: string, value: string): void => {\r\n const updatedValidity = validateField(name, value, form)\r\n\r\n setForm({\r\n ...form,\r\n [name]: value,\r\n })\r\n setFormState({ ...formState, ...updatedValidity })\r\n }\r\n\r\n const handleInput = (e: React.ChangeEvent): void => {\r\n const { name, value } = e.target\r\n const updatedValidity = validateField(name, value, form)\r\n\r\n setForm({\r\n ...form,\r\n [name]: value,\r\n })\r\n setFormState({ ...formState, ...updatedValidity })\r\n }\r\n\r\n const onSignup = async (): Promise => {\r\n if (!isFormValid) {\r\n return\r\n }\r\n\r\n setLoading(true)\r\n Cookies.remove('_cjItemC1')\r\n\r\n setLoading(true)\r\n let request: ICheckUserDetails\r\n\r\n switch (form.type) {\r\n case LoginMethod.email:\r\n request = {\r\n userDetails: {\r\n loginMethod: form.type,\r\n email: form.email,\r\n code: '',\r\n },\r\n doesUserExist: false,\r\n }\r\n break\r\n case LoginMethod.phoneNumber:\r\n request = {\r\n userDetails: {\r\n loginMethod: form.type,\r\n phoneNumber: form.phone,\r\n code: '',\r\n },\r\n doesUserExist: false,\r\n }\r\n break\r\n default:\r\n return\r\n }\r\n\r\n try {\r\n const response = await checkUser(request)\r\n\r\n if (response?.doesUserExist) {\r\n setFormError('User already exists.')\r\n\r\n return\r\n }\r\n } catch (error) {\r\n console.error(error)\r\n }\r\n\r\n try {\r\n const transformPhoneNum = form.phone\r\n\r\n await Identification.registerUser(\r\n form.firstName,\r\n form.lastName,\r\n form.email.toLowerCase(),\r\n transformPhoneNum\r\n )\r\n .then((response) => {\r\n if (response.data.success) {\r\n void CHECK_TIMESTAMP(true).then((jwt) => {\r\n if (!jwt) {\r\n throw new Error(\r\n 'Refresh token could not be created.'\r\n )\r\n }\r\n\r\n onSuccess(jwt)\r\n })\r\n } else if (response.data.errorMessage) {\r\n console.error(response.data.errorMessage)\r\n } else if (response.data.friendlyErrorMessage) {\r\n setErrorMessage(response.data.friendlyErrorMessage)\r\n }\r\n })\r\n .catch((ex) => {\r\n console.error('er', ex)\r\n })\r\n } catch (ex) {\r\n console.error('err', ex)\r\n } finally {\r\n setLoading(false)\r\n }\r\n }\r\n\r\n return (\r\n
false}>\r\n \r\n {errorMessage && (\r\n \r\n )}\r\n {checkUserCallback.loginMethod === LoginMethod.email &&\r\n form.email &&\r\n form.email.length > 0 && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n\r\n {(checkUserCallback.loginMethod === LoginMethod.phoneNumber ||\r\n checkUserCallback.loginMethod ===\r\n LoginMethod.thirdPartyProvider) && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n {formState.firstName && }\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {formState.lastName && }\r\n
\r\n
\r\n
\r\n\r\n {checkUserCallback.loginMethod === LoginMethod.email && (\r\n \r\n )}\r\n {checkUserCallback.loginMethod === LoginMethod.phoneNumber && (\r\n \r\n )}\r\n\r\n undefined}\r\n btnStyle=\"secondary\"\r\n btnSize=\"large\"\r\n />\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Signup\r\n","import { AxiosResponse } from 'axios'\r\nimport React, { useState, useCallback, useEffect } from 'react'\r\n\r\nimport { SET_WITH_EXPIRY } from '../../Helpers/AUTH.resource'\r\nimport { PATH_VALUES } from '../../Helpers/PATH.resource'\r\n\r\nimport Loader from '../Shared/Loader/Loader'\r\nimport Login from './Login/Login'\r\nimport LoginConfirm from './Login/LoginConfirm/LoginConfirm'\r\nimport Signup from './Signup/Signup'\r\nimport './accountscreens.css'\r\nimport {\r\n ICheckUserDetails,\r\n LoginDetails,\r\n LoginMethod,\r\n AccountPages,\r\n MessageType,\r\n} from '../../interfaces/interfaces'\r\nimport Alert from '../Shared/Alert/Alert'\r\nimport NavBarGeneral from '../NavBarGeneral/NavBarGeneral'\r\nimport IdentificationAPI from '../../axios/IdentificationAPI'\r\n\r\nconst cooldownSeconds = 15\r\n\r\ninterface IUserCheckRequest {\r\n emailAddress?: string\r\n phone?: string\r\n}\r\n\r\ninterface IAccountScreens {\r\n onSuccess: (jwt: string) => void\r\n onClose?: () => void\r\n embeded?: boolean\r\n}\r\n\r\nconst AccountScreens: React.FC = ({\r\n onSuccess,\r\n onClose,\r\n embeded,\r\n}: IAccountScreens): React.JSX.Element => {\r\n const [currentPage, setCurrentPage] = useState(\r\n AccountPages.login\r\n )\r\n const [isLoading, setIsLoading] = useState(false)\r\n const [validationProps, setValidationProps] = useState()\r\n const [loginMethod, setLoginMethod] = useState(\r\n LoginMethod.phoneNumber\r\n )\r\n const [formError, setFormError] = useState()\r\n const [resendTimeout, setResendTimeout] = useState(0)\r\n\r\n useEffect((): void => {\r\n setFormError(undefined)\r\n }, [currentPage])\r\n\r\n const headerText = useCallback((): string => {\r\n let header = ''\r\n\r\n switch (currentPage) {\r\n case AccountPages.login:\r\n header = 'Continue with...'\r\n break\r\n case AccountPages.signUp:\r\n header = 'Confirm...'\r\n break\r\n case AccountPages.validationMethod:\r\n header = 'Confirm...'\r\n break\r\n }\r\n\r\n return header\r\n }, [currentPage])\r\n\r\n const changeLoginMethod = (newLoginMethod?: LoginMethod): void => {\r\n if (newLoginMethod) {\r\n setLoginMethod(newLoginMethod)\r\n } else {\r\n setLoginMethod(\r\n loginMethod === LoginMethod.email\r\n ? LoginMethod.phoneNumber\r\n : LoginMethod.email\r\n )\r\n }\r\n }\r\n\r\n const checkUserAfterLogin = async (\r\n props: ICheckUserDetails\r\n ): Promise => {\r\n const newProps: ICheckUserDetails | undefined =\r\n await checkUserDetails(props)\r\n\r\n if (!newProps) {\r\n return\r\n }\r\n\r\n setValidationProps(newProps)\r\n\r\n if (newProps.doesUserExist) {\r\n setCurrentPage(AccountPages.validationMethod)\r\n } else {\r\n setCurrentPage(AccountPages.signUp)\r\n }\r\n }\r\n\r\n useEffect((): (() => void) => {\r\n const timer =\r\n resendTimeout &&\r\n setInterval(() => setResendTimeout(resendTimeout - 1), 12000)\r\n\r\n return (): void => clearInterval(timer)\r\n }, [resendTimeout])\r\n\r\n /**\r\n * Checks to see if the user already has an account\r\n * Will only be used for email and phone numbers\r\n * @param props The props will change depending on the login method used\r\n * @returns\r\n */\r\n const checkUserDetails = async (\r\n props: ICheckUserDetails\r\n ): Promise => {\r\n const request: IUserCheckRequest = {}\r\n\r\n try {\r\n if (!props) {\r\n throw new Error('Login details have not been set')\r\n }\r\n\r\n switch (props.userDetails.loginMethod) {\r\n case LoginMethod.email:\r\n request.emailAddress = props.userDetails.email\r\n break\r\n\r\n case LoginMethod.phoneNumber:\r\n if (props.userDetails.phoneNumber) {\r\n request.phone = props.userDetails.phoneNumber\r\n break\r\n } else {\r\n setFormError('Please enter a phone number')\r\n break\r\n }\r\n\r\n default:\r\n throw new Error(\r\n 'Checking existing users is only done for email/phone number login methods.'\r\n )\r\n }\r\n\r\n const response = await IdentificationAPI.checkUser(request)\r\n\r\n if (response) {\r\n if (response.success) {\r\n props.doesUserExist = response.exists\r\n }\r\n\r\n return props\r\n }\r\n } catch (ex) {\r\n console.error(ex)\r\n }\r\n }\r\n\r\n const login = async (props: LoginDetails): Promise => {\r\n setIsLoading(true)\r\n\r\n try {\r\n let response: AxiosResponse | undefined = undefined\r\n\r\n switch (props.loginMethod) {\r\n case LoginMethod.email:\r\n if (props.email && props.code) {\r\n response = await IdentificationAPI.verifyEmailCode(\r\n props.email,\r\n props.code\r\n )\r\n break\r\n } else {\r\n setFormError('Please enter email and code.')\r\n break\r\n }\r\n\r\n case LoginMethod.phoneNumber:\r\n if (props.phoneNumber && props.code) {\r\n const phoneNumber = props.phoneNumber\r\n response = await IdentificationAPI.verifyMobileCode(\r\n phoneNumber,\r\n props.code\r\n )\r\n break\r\n } else {\r\n setFormError('Please enter phone number and code.')\r\n break\r\n }\r\n\r\n case LoginMethod.thirdPartyProvider:\r\n const { loginProvider, accessToken, name } = props\r\n\r\n if (accessToken === undefined) {\r\n throw new Error('Invalid access token')\r\n }\r\n\r\n if (loginProvider) {\r\n response = await IdentificationAPI.socialLogin(\r\n loginProvider,\r\n accessToken,\r\n name\r\n )\r\n } else {\r\n setFormError('Something went wrong')\r\n console.error('No login provider')\r\n }\r\n\r\n break\r\n default:\r\n throw new Error('Invalid Login Method')\r\n }\r\n\r\n if (!response) {\r\n throw new Error('Invalid response')\r\n }\r\n\r\n if (response.data.jwtToken) {\r\n SET_WITH_EXPIRY(response.data.jwtToken)\r\n onSuccess(response.data.jwtToken)\r\n } else if (response.data.friendlyErrorMessage) {\r\n setFormError(response.data.friendlyErrorMessage)\r\n } else {\r\n throw new Error(\r\n 'Unable to sign in user. No jwtToken returned from response'\r\n )\r\n }\r\n } catch (ex) {\r\n setFormError('An error occurred while signing you in')\r\n } finally {\r\n setIsLoading(false)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {isLoading && (\r\n \r\n )}\r\n <>\r\n {formError && (\r\n \r\n )}\r\n\r\n {\r\n {\r\n [AccountPages.login]: (\r\n \r\n ),\r\n [AccountPages.signUp]: validationProps ? (\r\n \r\n setCurrentPage(AccountPages.login)\r\n }\r\n />\r\n ) : (\r\n changeLoginMethod\r\n ),\r\n [AccountPages.validationMethod]: validationProps ? (\r\n \r\n setResendTimeout(cooldownSeconds)\r\n }\r\n resendTimeout={resendTimeout}\r\n loginProps={validationProps.userDetails}\r\n onCancel={() =>\r\n setCurrentPage(AccountPages.login)\r\n }\r\n login={login}\r\n />\r\n ) : (\r\n changeLoginMethod\r\n ),\r\n }[currentPage]\r\n }\r\n

\r\n \r\n By signing in or creating an account, you agree with\r\n our Terms & Conditions and Privacy Statement\r\n \r\n

\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default AccountScreens\r\n","import React, { useEffect, useState } from 'react'\r\nimport './PhoneFormField.css'\r\n\r\nimport { Tick } from '../../../../assets/svg/Svg-Exports'\r\nimport { ParsedCountry, PhoneInput } from 'react-international-phone'\r\nimport 'react-international-phone/style.css'\r\nimport { PhoneNumberUtil } from 'google-libphonenumber'\r\n\r\nimport { convertPhoneNumber } from '../../../../Helpers/utils'\r\n\r\nconst phoneUtil = PhoneNumberUtil.getInstance()\r\n\r\nexport const isPhoneValid = (phone: string): boolean => {\r\n try {\r\n const isValidNum = phoneUtil.isValidNumber(\r\n phoneUtil.parseAndKeepRawInput(phone)\r\n )\r\n\r\n return isValidNum\r\n } catch (error) {\r\n return false\r\n }\r\n}\r\n\r\ninterface IPhoneFormFieldProps {\r\n labelText: string\r\n fieldID: string\r\n initialPhoneValue?: string\r\n onChangeHandler: (name: string, value: string, country?: string) => void\r\n isValid: boolean\r\n subText?: string\r\n isDisabled?: boolean\r\n country?: string\r\n}\r\n\r\nconst PhoneFormField: React.FC = ({\r\n labelText = 'Phone number',\r\n fieldID,\r\n initialPhoneValue,\r\n onChangeHandler,\r\n isValid,\r\n subText = '',\r\n isDisabled = false,\r\n country,\r\n}: IPhoneFormFieldProps): JSX.Element => {\r\n const inputID = !fieldID || fieldID === '' ? 'phone' : fieldID\r\n const [phoneValue, setPhoneValue] = useState(\r\n initialPhoneValue\r\n ) //initialPhoneValue ? initialPhoneValue : '');\r\n\r\n useEffect(() => {\r\n if (initialPhoneValue && initialPhoneValue !== phoneValue) {\r\n setPhoneValue(initialPhoneValue)\r\n }\r\n }, [initialPhoneValue, phoneValue])\r\n\r\n const onPhoneChange = (\r\n phone: string,\r\n meta: {\r\n country: ParsedCountry\r\n inputValue: string\r\n }\r\n ): void => {\r\n // convertPhoneNumber removes spaces, leading zeroes and '+'+\r\n const convertedPhoneNumber = `+${meta.country.dialCode}${convertPhoneNumber(meta.inputValue)}`\r\n setPhoneValue(convertedPhoneNumber)\r\n onChangeHandler(inputID, convertedPhoneNumber, meta.country.iso2)\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {subText &&

{subText}

}\r\n
\r\n \r\n
\r\n {isValid && }\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default PhoneFormField\r\n","import React from 'react'\r\nimport './alert.css'\r\nimport { MessageType } from '../../../interfaces/interfaces'\r\nimport {\r\n CheckAlertIcon,\r\n InfoIcon,\r\n WarningIcon,\r\n} from '../../../assets/svg/Svg-Exports'\r\n\r\ninterface IAlert {\r\n message: string\r\n type: MessageType\r\n}\r\n\r\nconst getIcon = (type: MessageType): JSX.Element => {\r\n let icon = <>\r\n\r\n switch (type) {\r\n case MessageType.info:\r\n icon = \r\n break\r\n case MessageType.error:\r\n case MessageType.warning:\r\n icon = \r\n break\r\n case MessageType.success:\r\n icon = \r\n break\r\n }\r\n\r\n return icon\r\n}\r\n\r\nconst Alert: React.FC = ({ message, type }: IAlert): JSX.Element => {\r\n return (\r\n

\r\n {getIcon(type)}\r\n {message}\r\n

\r\n )\r\n}\r\n\r\nexport default Alert\r\n","import React from \"react\";\r\n\r\nimport \"./button.css\";\r\n\r\ninterface IButtonProps {\r\n buttonAction: (e: React.MouseEvent) => void;\r\n buttonTxt: string;\r\n btnStyle?: string;\r\n btnSize?: string;\r\n disabled?: boolean;\r\n}\r\n\r\nconst Button: React.FC = ({\r\n buttonAction,\r\n buttonTxt,\r\n btnStyle,\r\n btnSize,\r\n disabled,\r\n}: IButtonProps) => {\r\n\r\n return (\r\n \r\n {buttonTxt}\r\n \r\n );\r\n};\r\n\r\nexport default Button;\r\n","const regexp = new RegExp('#([^\\\\s]*)', 'g')\r\n\r\nconst getOS = (): string => {\r\n const userAgent = window.navigator.userAgent,\r\n platform = window.navigator.platform,\r\n macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],\r\n windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],\r\n iosPlatforms = ['iPhone', 'iPad', 'iPod']\r\n\r\n let os = ''\r\n\r\n if (macosPlatforms.indexOf(platform) !== -1) {\r\n os = 'Mac OS'\r\n } else if (iosPlatforms.indexOf(platform) !== -1) {\r\n os = 'iOS'\r\n } else if (windowsPlatforms.indexOf(platform) !== -1) {\r\n os = 'Windows'\r\n } else if (/Android/.test(userAgent)) {\r\n os = 'Android'\r\n } else if (!os && /Linux/.test(platform)) {\r\n os = 'Linux'\r\n }\r\n\r\n return os\r\n}\r\n\r\nconst removeTrailingSlash = (urlBefore: string): string => {\r\n let url = urlBefore.replace(regexp, '')\r\n\r\n if (url.includes('?')) {\r\n url = url.split('?')[0]\r\n }\r\n\r\n return url[url.length - 1] === '/' ? url.substr(0, url.length - 1) : url\r\n}\r\n\r\nexport const MEDIA_BASE_PATH = document\r\n .querySelector('[data-media-base-path]')\r\n ?.getAttribute('data-media-base-path') as string\r\n\r\nconst trimMediaUrl = (url: string): string => {\r\n if (MEDIA_BASE_PATH && url.startsWith(MEDIA_BASE_PATH)) {\r\n return url.replace(MEDIA_BASE_PATH, '')\r\n }\r\n\r\n return url\r\n}\r\n\r\nexport const PATH_VALUES = {\r\n isHome: () =>\r\n removeTrailingSlash(window.location.href) ===\r\n removeTrailingSlash(window.location.origin),\r\n\r\n pathName: window.location.pathname.substring(\r\n window.location.pathname.lastIndexOf('/') + 1\r\n ),\r\n trimMediaUrl: trimMediaUrl,\r\n params: window.location.search,\r\n baseUrl: window.location.origin,\r\n hostName: window.location.hostname,\r\n fullUrl: window.location.href,\r\n referrer: document.referrer,\r\n navigationType:\r\n window.performance &&\r\n window.performance.getEntriesByType('navigation')?.[0]?.entryType,\r\n os: getOS(),\r\n zoomLevel: Math.round(window.devicePixelRatio * 100),\r\n}\r\n","export const validateEmail = (email: string): boolean => {\r\n const re =\r\n /^(([^<>()[\\]\\\\.,;:\\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,}))$/\r\n\r\n if (email.length < 3 || !re.test(String(email).toLowerCase())) {\r\n return false\r\n } else return true\r\n}\r\n\r\nexport const simpleValidateEmail = (email: string): boolean => {\r\n const re =\r\n /^[-!#$%&'*+/0-9=?A-Z^_a-z`{|}~](\\.?[-!#$%&'*+/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-*\\.?[a-zA-Z0-9])*\\.[a-zA-Z](-?[a-zA-Z0-9])+$/\r\n\r\n return re.test(email)\r\n}\r\n\r\nexport const alphaValidator = (name: string): boolean => {\r\n const re = /^[(a-z)\\s-]+$/i\r\n\r\n return re.test(String(name))\r\n}\r\n\r\nexport const alphaNumericValidatorWDash = (name: string): boolean => {\r\n const re = /^[0-9a-zA-Z-]+$/i\r\n\r\n return re.test(String(name))\r\n}\r\n\r\nexport const numericValidator = (val: string): boolean => {\r\n const re = /^\\d+$/\r\n\r\n return re.test(String(val))\r\n}\r\n\r\nexport function isValueEmpty(v: any): boolean {\r\n return v === undefined || v === null\r\n}\r\n","import {\r\n IAudienceType,\r\n IStandardResponse,\r\n VirtualCartStatus,\r\n} from '../axios/interfacesAPI'\r\n\r\nexport interface IJWTToken {\r\n aud: string\r\n iis: string\r\n exp: number\r\n 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier': string\r\n // whatever else is in the JWT.\r\n}\r\n\r\nexport enum MyAccountType {\r\n Upcoming = 1,\r\n Past = 2,\r\n Cancelled = 3,\r\n}\r\n\r\nexport enum OrderStatus {\r\n Start = 0,\r\n InProgress = 1,\r\n PaymentStart = 2,\r\n OrderComplete = 3,\r\n\r\n OrderEdited = 54,\r\n OrderTimedOut = 55,\r\n OrderAbandoned = 56,\r\n PaymentFailed = 57,\r\n OrderCancelled = 58,\r\n OrderRefused = 59,\r\n CustomerDeleted = 60,\r\n}\r\n\r\nexport interface ITicket {\r\n id: number\r\n sequienceId: number\r\n ticketTypeId: number\r\n name: string\r\n friendlyName: string\r\n quantity: number\r\n validFrom: Date\r\n validTo: Date\r\n barcode: string\r\n externalId: string // ?? string\r\n pricePennies: number\r\n totalPricePennies: number\r\n taxPennies: number\r\n totalTaxPennies: number\r\n bookingFeePennies: number\r\n totalBookingFeePennies: number\r\n discountPennies: number\r\n maxPersons: number\r\n voucherCode: string // can be an empty string\r\n voucherRate: string // can be an empty string\r\n isVirtual: boolean\r\n supplierTicketReference?: string // can be null\r\n}\r\n\r\nexport interface IOrderCharges {\r\n orderId: number\r\n sequenceId: number\r\n name: string\r\n quantity: number\r\n chargeObject: string\r\n externalId: string // ?? may be a string then IOrderedTicket from APIInterfaces needs changing\r\n pricePennies: number\r\n totalPricePennies: number\r\n unitTaxPennies: number\r\n totalTaxPennies: number\r\n}\r\n\r\nexport interface IOrderFee {\r\n id: string\r\n orderId: string\r\n feeTypeId: number\r\n feeNetAmountPennies: number\r\n feeTaxPennies: number\r\n paidOut: boolean\r\n datePaid: Date\r\n feeName: string\r\n}\r\n\r\nexport interface IBookedTicket extends ITicket {\r\n quantity: number\r\n totalPricePennies: number\r\n totalTaxPennies: number\r\n inclusionBookingFeePennies: number\r\n}\r\n\r\n// TODO: This does not match the response for https://api-uat.lovetovisit.com/account/orders\r\n// This needs to be updated.\r\nexport interface IMyAccountOrder {\r\n //completed order\r\n attractionId: number\r\n attractionName: string\r\n eventId: number\r\n eventName: string\r\n hasBookingProtect: boolean\r\n landingPageUrl?: string\r\n myAccountType?: MyAccountType\r\n orderCharges: Array\r\n orderDate: Date\r\n orderId: number\r\n orderIdentifier: string\r\n orderTotal: number\r\n ourReference: string\r\n sessionDate: string\r\n sessionId: number\r\n sessionTime: string\r\n status: OrderStatus\r\n theirReference: string\r\n ticketUrls?: string\r\n tickets: Array\r\n totalTicketQuantity: number\r\n}\r\n\r\nexport interface IImage {\r\n url: string\r\n altText: string\r\n caption?: string\r\n}\r\n\r\nexport interface IVideo {\r\n url: string\r\n embedCode?: string\r\n}\r\n\r\nexport interface IMedia {\r\n // Attractions: string;\r\n // BottomText: string;\r\n // Carousel: string;\r\n // Events: string;\r\n images?: IImage[]\r\n // Title: string;\r\n // TopText: string;\r\n video?: IVideo\r\n logo?: string // might be some ILogo; //\r\n}\r\n\r\nexport interface IBooking extends IMyAccountOrder {\r\n title: string\r\n summary?: string\r\n imageUrl: string\r\n landingPageUrl: string\r\n virtualCartStatus?: VirtualCartStatus\r\n}\r\n\r\nexport enum Base {\r\n dataBingMapsApi = 'data-bing-maps-api',\r\n dataJs = 'data-js',\r\n dataMediaBasePath = 'data-media-base-path',\r\n dataSubcomponent = 'data-subcomponent',\r\n entityHome = 'entity-home',\r\n entityPartnerId = 'entity-partner-id',\r\n urlApi = 'url-api',\r\n urlLtv = 'url-ltv',\r\n urlMedia = 'url-media',\r\n urlPartner = 'url-partner',\r\n urlStatic = 'url-static',\r\n urlUmbraco = 'url-umbraco',\r\n}\r\n\r\nexport interface IBaseProps {\r\n 'data-bing-maps-api'?: string\r\n 'data-js'?: string\r\n 'data-media-base-path'?: string\r\n 'data-subcomponent'?: string\r\n 'entity-home'?: string\r\n 'entity-partner-id'?: string\r\n 'url-api'?: string\r\n 'url-media'?: string\r\n 'url-static'?: string\r\n 'url-umbraco'?: string\r\n 'entity-attraction-name'?: string\r\n 'entity-name'?: string\r\n 'entity-logo-url'?: string\r\n 'entity-image'?: string\r\n 'entity-summary'?: string\r\n 'entity-start'?: string\r\n 'entity-end'?: string\r\n 'entity-booking-only'?: string\r\n 'entity-attraction-id'?: string\r\n 'entity-event-id'?: string\r\n 'entity-latitude'?: string\r\n 'entity-longitude'?: string\r\n 'entity-max-distance'?: string\r\n 'entity-originHref'?: string\r\n 'entity-href'?: string\r\n 'entity-id'?: string\r\n 'entity-image-arr'?: string\r\n 'entity-link'?: string\r\n 'entity-image-main'?: string\r\n 'entity-type'?: string\r\n 'entity-show-back'?: boolean\r\n 'entity-map-max-zoom'?: string\r\n 'url-logo'?: string\r\n 'data-campaign-code'?: string\r\n 'data-title-confirm'?: string\r\n 'data-text-confirm'?: string\r\n 'data-title'?: string\r\n 'data-text'?: string\r\n 'entity-ticketing-info'?: string\r\n 'entity-image-alt'?: string\r\n 'entity-image-caption'?: string\r\n 'entity-image-media-tags'?: string\r\n 'entity-original-price'?: string\r\n 'entity-from-price'?: string\r\n 'entity-hero-video'?: string\r\n 'entity-hero-link'?: string\r\n 'entity-hero-title'?: string\r\n 'entity-hero-image'?: string\r\n // [string: string]: string;\r\n}\r\n\r\nexport interface IAddress {\r\n id: number\r\n line1: string\r\n line2: string\r\n line3: string\r\n line4: string\r\n postcode: string\r\n country: string\r\n primary: boolean\r\n latitude: number\r\n longitude: number\r\n}\r\n\r\nexport interface ICountry {\r\n value: string\r\n label: string\r\n}\r\n\r\nexport interface IBillingAddress {\r\n line1: string\r\n line2: string\r\n line3: string\r\n line4: string\r\n postcode: string\r\n country: ICountry\r\n}\r\n\r\ninterface IEntityBaseMediaImages {\r\n mediaId: number\r\n mediaTypes: string[]\r\n altText: string\r\n caption: string\r\n id: number\r\n height: number\r\n url: string\r\n width: number\r\n}\r\n\r\ninterface IEntityBaseMediaVideo {\r\n embedCode: string\r\n url: string\r\n}\r\n\r\nexport interface IEntityBaseMedia {\r\n images?: IEntityBaseMediaImages[]\r\n video?: IEntityBaseMediaVideo\r\n}\r\n\r\nexport enum ContentType {\r\n Attraction = 1,\r\n Event,\r\n Article,\r\n}\r\n\r\nexport type ContentTypes = keyof typeof ContentType\r\n\r\ninterface IEntityBase {\r\n audienceTypes?: IAudienceType[]\r\n entityId: number\r\n explanation?: string\r\n filterTypes?: string[] //as in model\r\n id: number\r\n hideChildren?: boolean\r\n locations: ILocation[]\r\n media: IEntityBaseMedia[]\r\n summary?: string\r\n title: string\r\n url: string\r\n reopenDate?: Date\r\n tagName?: string\r\n name?: string\r\n}\r\n\r\nexport interface IArticle extends IEntityBase {\r\n contentType: 'Article'\r\n authorImage?: IMedia\r\n authorName?: string\r\n authorSubtitle?: string\r\n isSponsored: boolean\r\n publishDate: Date\r\n}\r\n\r\nexport interface IEvent extends IEntityBase {\r\n contentType: 'Event'\r\n bookingEnabled: boolean\r\n endDate: Date\r\n eventTypes: string[] // as in model\r\n isBoosted: boolean\r\n startDate: Date\r\n parentName?: string\r\n parentUrl?: string\r\n}\r\n\r\nexport interface IAttraction extends IEntityBase {\r\n contentType: 'Attraction'\r\n attractionTypes: string[]\r\n bookingEnabled: boolean\r\n carousel?: IEntity[]\r\n facilities?: string\r\n isBoosted: boolean\r\n isOpen?: boolean\r\n\r\n // not in any Model\r\n socialVideo?: string // needed for AttractionPageImage\r\n // tagName?: string;\r\n}\r\n\r\nexport type IEntity = IArticle | IAttraction | IEvent\r\n\r\nexport interface IUserLoved {\r\n lovedId: number\r\n attractionId: number\r\n attractionName: string\r\n eventId: number\r\n eventName: string\r\n articleId: number\r\n articleName: string\r\n}\r\n\r\nexport interface IUserPreferences {\r\n marketingPreferenceId: string\r\n active: boolean\r\n description?: string\r\n}\r\n\r\nexport interface IUser {\r\n userId: string\r\n firstName: string\r\n lastName: string\r\n email: string\r\n phone: string | null\r\n password?: string\r\n phoneVerified?: boolean\r\n userStatus?: UserStatus\r\n role?: Role[]\r\n claims?: string[] // may be number[]\r\n addresses?: ISavedUserAddress[]\r\n createdOn?: string\r\n updatedOn?: string\r\n}\r\n\r\nexport interface IUserAccountInfo {\r\n firstName: string\r\n lastName: string\r\n phone: string | null\r\n email: string\r\n}\r\n\r\nexport interface ISessionTime {\r\n session: ITime\r\n date: Date\r\n}\r\n\r\nexport interface ITime {\r\n // ISessionSelected\r\n sessionId: number\r\n date: Date\r\n time: string\r\n peak?: boolean\r\n}\r\n\r\nexport enum SessionType {\r\n NoSessions = 0,\r\n DateAndTime = 1,\r\n DateOnly = 2,\r\n NoDate = 3,\r\n}\r\n\r\nexport interface IDateTracker {\r\n slots: number\r\n session: number[]\r\n date: Date\r\n}\r\n\r\nexport interface IDateSessions {\r\n [date: string]: IDateTracker\r\n}\r\n\r\nexport interface IBookingIDs {\r\n attractionId?: number // ?\r\n eventId?: number // ?\r\n sessionId?: number // ?\r\n}\r\n\r\nexport interface ITicketType {\r\n name: string\r\n note: string\r\n friendlyName: string\r\n childTickets: ITicketType[] // ?\r\n quantity: number\r\n totalTaxPennies: number\r\n totalPricePennies: number\r\n pricePennies: number\r\n inclusionBookingFeePennies: number\r\n bookingFeePennies: number\r\n giftAidPennies: number\r\n taxRate?: number\r\n isParent: boolean\r\n validQuantities: number[]\r\n totalPrice: number\r\n maxQuantity: number\r\n minQuantity: number\r\n available: string\r\n externalId: string\r\n}\r\n\r\nexport interface ISelectedTicketType {\r\n type?: string\r\n}\r\n\r\nexport interface ISeat {\r\n isParent: boolean\r\n friendlyName: string\r\n name: string\r\n quantity: number\r\n seatLetter: string\r\n seatNumber: string\r\n externalId: string\r\n pricePennies: number\r\n inclusionBookingFeePennies: number\r\n bookingFeePennies: number\r\n x: number\r\n y: number\r\n restrictedView: boolean\r\n specialInfo: string\r\n sold: boolean\r\n ticketTypes: ITicketType[]\r\n note: string\r\n discountPennies: number\r\n sectionHeight: number\r\n sectionWidth: number\r\n sectionTopLeftX: number\r\n sectionTopRightY: number\r\n childSeats: ISeat[]\r\n colour?: string\r\n selected?: boolean\r\n}\r\n\r\nexport interface IWidgetData {\r\n url: string\r\n sessionDateTime: string\r\n channelId: number\r\n eventId: number\r\n venueId: number\r\n}\r\n\r\nexport interface ISeatPickerLabels {\r\n label: string\r\n x: number\r\n y: number\r\n angle: number\r\n size: number\r\n colour: string\r\n labelPosition: string\r\n}\r\n\r\nexport interface ISeatPickerShapes {\r\n x: number\r\n y: number\r\n width: number\r\n height: number\r\n shapeBorderRadius: number\r\n}\r\n\r\nexport interface IBookingTicketState {\r\n attractionId: number // ?\r\n attractionName: string // ?\r\n eventId: number // ?\r\n sessionId: number // ?\r\n ticketTypes: ITicketType[] // ?\r\n promotionalMessage: string\r\n useWidget?: boolean\r\n seats: ISeat[]\r\n timeout?: boolean // ? or number\r\n widgetDetails: IWidgetData\r\n maxPartySize: number\r\n minPartySize: number\r\n hasSeatpicker?: boolean\r\n eventName: string\r\n tickets: ITicket[]\r\n shapes: ISeatPickerShapes[]\r\n labels: ISeatPickerLabels[]\r\n allowLeavingSingleSeats: boolean\r\n allowDiscontiguousSeats: boolean\r\n width?: number\r\n height?: number\r\n showGiftAid?: boolean\r\n giftAidDefault: boolean\r\n // giftAidStatus?: number; // ?\r\n}\r\n\r\nexport interface IBookingTicketCompleteState extends ITicket {\r\n ticketTypes: ITicketType[] // ?\r\n giftAidStatus?: number // ?\r\n}\r\n\r\nexport interface ISessionSelected {\r\n date: Date\r\n sessionId?: number\r\n time?: string\r\n // the following comes from HomeSummary.tsx\r\n minSize?: number\r\n startDate?: Date\r\n startTime?: string\r\n showTimePicker?: boolean\r\n}\r\n\r\nexport interface IReserveDates {\r\n sessionId: number\r\n ids: IBookingIDs\r\n}\r\n\r\nexport interface IErrorObject {\r\n status?: boolean\r\n call?: string\r\n errors?: string\r\n title?: string\r\n errorMessage?: string\r\n friendlyErrorMessage?: string\r\n newFriendlyErrorMessage?: string\r\n}\r\n\r\nexport interface IQuestionValues {\r\n id: number\r\n option: string // | number;\r\n captureAddress: boolean\r\n additionalPrice: number\r\n hasAdditionalPrice: boolean\r\n index: number\r\n checked: boolean\r\n // priceType:\r\n // groupId: number;\r\n // groupName: string;\r\n}\r\n\r\nexport enum QuestionType {\r\n Unknown = 0, // Not a question - could be an add on\r\n Checkbox = 1, // One answer - e.g: yes/no\r\n DropDownBox = 2, // One answer from a list\r\n MultiSelect = 3, // More than one answer from a list\r\n Date = 4, // Datepicker\r\n ShortText = 5, // TextBox\r\n LongText = 6, // TextArea\r\n Integer = 7, // Number or Count\r\n}\r\n\r\nexport interface IAnswer {\r\n // id: number;\r\n groupId?: number\r\n groupName?: string\r\n // questionTitle: string;\r\n externalId: string\r\n questionType: QuestionType\r\n value: string | number\r\n hasAdditionalPrice?: boolean\r\n additionalPrice?: number\r\n // captureAddress?: boolean;\r\n}\r\n\r\nexport interface IQuestion {\r\n externalId: string\r\n required: boolean\r\n needsAnAnswer: boolean\r\n isParent: boolean\r\n values: IQuestionValues[]\r\n childQuestions: IQuestion[]\r\n questionType: QuestionType\r\n groupId?: number\r\n friendlyName?: string\r\n groupName?: string\r\n questionTitle: string\r\n hasAdditionalPrice?: boolean\r\n additionalPrice?: number\r\n priceType: number\r\n questionNote: string\r\n answered?: boolean\r\n questionText: string\r\n}\r\n\r\nexport interface IReserveResponse {\r\n orderIdentifier?: string\r\n deliveryQuestion: IQuestion\r\n\r\n // cancelBooking API.ts\r\n attractionId: number\r\n eventId: number\r\n sessionId: number\r\n\r\n hasDelivery?: boolean // PageContainer\r\n}\r\n\r\nexport interface IBookingConfirmedResponse {\r\n total: number\r\n error?: string\r\n tickets: ITicketType[]\r\n eventName: string\r\n attractionName: string\r\n orderCharges: ITicket[] //?\r\n bookingRef: string\r\n email: string\r\n discountPennies: number\r\n voucherCode?: string\r\n showGiftAid: boolean\r\n orderIdentifier: string // ?\r\n unexpiredGiftCards: IGiftCard[] | null\r\n}\r\n\r\nexport interface ICompleteBookingProp {\r\n attractionId: number\r\n eventId: number\r\n sessionId: number\r\n orderIdentifier: string\r\n referralCode?: string\r\n}\r\n\r\nexport interface IBookingCompleted {\r\n bookingRef: string\r\n email: string\r\n eventName: string\r\n attractionName: string\r\n sessionDateTime: string // ?\r\n total: number\r\n rewardSentence?: string | null\r\n giftCardPennies: number\r\n orderCharges: ITicket[]\r\n tickets: ITicketType[]\r\n}\r\n\r\nexport interface IBookingStateQuestions {\r\n orderQuestions: IQuestion[]\r\n ticketQuestions: IQuestion[]\r\n}\r\n\r\nexport interface IBookingState {\r\n ids: IBookingIDs\r\n attractionName: string\r\n usesSeatPicker: boolean\r\n discountValue: number\r\n sessions: ITime[] // ? first call, all sessions for attraction/event\r\n loading?: string[]\r\n sessionSelected: ISessionSelected // ? date/time selected session\r\n ticketObject: IBookingTicketState // ? individual tickets available\r\n ticketObjectCopy: IBookingTicketState // ? individual tickets available\r\n ticketObjectDeepCopy: IBookingTicketState // ? individual tickets available\r\n ticketComplete: IBookingTicketCompleteState // ? individual tickets available\r\n ticketsSelection: [object] // ? individual tickets available\r\n sessionType?: SessionType // ?\r\n price: number\r\n priceExclGiftCards: number\r\n promoCodeInput: string\r\n numTickets: number\r\n confettiPage: boolean\r\n errorObject: IErrorObject // ?\r\n sessionDateSelected: object // ?\r\n showAddTickets: boolean\r\n questions: IBookingStateQuestions // ?\r\n extraPages: {\r\n attractionId: number\r\n eventId: number\r\n sessionId: number\r\n orderIdentifier: string\r\n bookingProtect: IBookingProtection // ?\r\n orderAnswers: IAnswer[] // ?\r\n ticketAnswers: IAnswer[] // ?\r\n }\r\n orderComplete: boolean\r\n confirmedResponse: IBookingConfirmedResponse\r\n bookingProgress: string\r\n // ticketComplete: {\r\n // ticketTypes: number[]; // ?\r\n // giftAidStatus?: number; // ?\r\n // },\r\n userID?: string\r\n showTime: boolean\r\n hasSeatpicker: boolean\r\n giftAidDefault?: boolean\r\n bookingProtect?: boolean // can be uppercase somewhere in the app\r\n ticketsSelected?: boolean\r\n completedBooking?: IBookingCompleted // ?\r\n orderIdentifier?: string\r\n reserveResponse?: IReserveResponse\r\n callTimes?: string // ?\r\n started: boolean // ?\r\n timesResponse: boolean // ?\r\n times?: ITime[]\r\n seatPickerLoading?: boolean\r\n timeLeft?: number // ?\r\n timeoutTimeUnit?: number // ?\r\n showGiftAid?: boolean\r\n updateRequired?: boolean\r\n token?: string // ?\r\n affiliateCode?: string\r\n affiliateTrackingCode?: string\r\n orderBookingFee: number\r\n referralCode?: string // TODO: OC not sure if it is being returned\r\n}\r\n\r\nexport interface IGiftCard {\r\n code: string\r\n expiryDate: null | Date\r\n value: number\r\n}\r\n\r\nexport interface IBookingProtection {\r\n bookingProtectionId: string\r\n productOfferingId: string\r\n logoUrl: string\r\n termsAndConditionsUrl: string\r\n premium: number\r\n addProtect: boolean // ?\r\n}\r\n\r\nexport interface IEncoreSeatWidgetBookingData {\r\n attractionId: number\r\n eventId: number\r\n sessionId: number\r\n promotionalMessage: string\r\n}\r\n\r\nexport interface ILocation {\r\n latitude: number\r\n longitude: number\r\n maxDistance?: number\r\n district?: string\r\n id?: number\r\n openingHours?: string\r\n}\r\n\r\nexport interface IPinOption {\r\n color: string\r\n icon: string\r\n title?: string\r\n}\r\n\r\nexport interface IPin {\r\n location: number[]\r\n option: IPinOption\r\n clusterEnabled: boolean\r\n metadata?: IEntity // ?\r\n addHandler?: IHandler\r\n}\r\n\r\ninterface IHandler {\r\n type: string\r\n callback: () => void\r\n}\r\n\r\nexport interface IFilterDataMap extends IFilterType {\r\n index: number\r\n state: boolean\r\n}\r\n\r\nexport interface IAccountNavItems {\r\n title: string\r\n subTitle: string\r\n href: string\r\n component: JSX.Element\r\n}\r\n\r\nexport interface IFeed {\r\n feedResponse: object // ??\r\n newsfeed: IEntity[]\r\n feedType: string\r\n pushPins: IPin[]\r\n center: number[]\r\n itemTotal: number\r\n pageNum: boolean\r\n loading: boolean\r\n location: number[]\r\n}\r\n\r\nexport interface IUserAddress {\r\n addressId: number\r\n addressType: number\r\n buildingName: string\r\n buildingNumber: string\r\n countryId: string\r\n county: string\r\n district: string\r\n formattedAddress: string\r\n isPrimary: boolean\r\n latitude: number\r\n longitude: number\r\n line1: string\r\n line2: string\r\n line3: string\r\n line4: string\r\n locality: string\r\n postcode: string\r\n subBuildingName: string\r\n subBuildingNumber: string\r\n thoroughfare: string\r\n townOrCity: string\r\n}\r\n\r\nexport interface IDateRange {\r\n from: string\r\n to: string\r\n one?: boolean\r\n}\r\n\r\nexport interface IFilterType {\r\n image: IImage\r\n isTilePinned?: boolean\r\n key: string\r\n name: string\r\n}\r\n\r\nexport interface IMessage {\r\n text: string\r\n title: string\r\n}\r\n\r\nexport interface ISeatNote {\r\n rowId: string\r\n restrictedView: boolean\r\n specialInfo: string\r\n partnerId: string\r\n pricePennies: number\r\n inclusionBookingFeePennies: number\r\n bookingFeePennies: number\r\n}\r\n\r\nexport interface INote {\r\n message: IMessage[]\r\n alternativeSeating: ISeatNote[]\r\n alternativeTickets: ITicket\r\n}\r\n\r\nexport enum Pages {\r\n ImportantInformation = 5,\r\n Questions = 10,\r\n AddOns = 15,\r\n TermsAndConditions = 20,\r\n Insurance = 25,\r\n Summary = 99,\r\n}\r\n\r\nexport interface IReservationNote {\r\n pages: Pages[]\r\n importantInformation: INote\r\n orderQuestions: IQuestion[]\r\n ticketQuestions: IQuestion[]\r\n termsAndConditions: IMessage[]\r\n bookingProtect: IBookingProtection\r\n}\r\n\r\nexport interface ITicketQuantityInfo {\r\n children?: string\r\n name: string\r\n note: string\r\n price?: number\r\n quantity: number\r\n}\r\n\r\nexport enum UserStatus {\r\n none = 0,\r\n active = 1,\r\n inactive = 2,\r\n anonymized = 99,\r\n}\r\n\r\nenum Role {\r\n internal = 'Role Type - Internal',\r\n admin = 'Role Type - Admin',\r\n finance = 'Role Type - Finance',\r\n marketing = 'Role Type - Marketing',\r\n affiliate = 'Role Type - Affiliate',\r\n consumer = 'Role Type - Consumer',\r\n}\r\n\r\n// export interface ILTVUser {\r\n// userId: string;\r\n// firstName: string;\r\n// lastName: string;\r\n// email: string;\r\n// phone: string;\r\n// phoneVerified: boolean;\r\n// userStatus: UserStatus;\r\n// role: Role;\r\n// addresses: IAddress[];\r\n// createdOn: Date;\r\n// updatedOn: Date;\r\n// }\r\n\r\nexport enum AccountPages {\r\n login = 'login',\r\n validationMethod = 'validation',\r\n signUp = 'signup',\r\n}\r\n\r\nexport enum LoginMethod {\r\n email = 'email',\r\n phoneNumber = 'phone',\r\n thirdPartyProvider = 'thirdParty',\r\n}\r\n\r\nexport enum LoginProviders {\r\n google = 'google',\r\n facebook = 'facebook',\r\n apple = 'apple',\r\n}\r\n\r\nexport type LoginDetails = IUserData //IUserEmail | IUserPhone | IUserThirdParty;\r\n\r\nexport interface ICheckUserDetails {\r\n userDetails: IUserData\r\n doesUserExist: boolean\r\n}\r\n\r\nexport interface IUserCheckRequest {\r\n emailAddress?: string\r\n phone?: string\r\n}\r\n\r\nexport interface IUserData {\r\n loginMethod: LoginMethod\r\n email?: string\r\n phoneNumber?: string\r\n country?: string\r\n\r\n loginProvider?: LoginProviders\r\n accessToken?: string\r\n name?: IUserName\r\n\r\n code?: string\r\n}\r\n\r\nexport interface IUserThirdParty {\r\n loginMethod: LoginMethod\r\n loginProvider: LoginProviders\r\n accessToken: string\r\n name?: IUserName\r\n}\r\n\r\nexport interface IUserName {\r\n firstName: string\r\n lastName: string\r\n}\r\n\r\nexport enum MessageType {\r\n info = 'info',\r\n success = 'success',\r\n warning = 'warning',\r\n error = 'error',\r\n}\r\n\r\nexport interface IAddressObj {\r\n formattedAddress?: string\r\n line1?: string\r\n line2?: string\r\n line3?: string\r\n line4?: string\r\n townOrCity: string\r\n county?: string\r\n postcode: string\r\n thoroughfare?: string\r\n buildingname?: string\r\n subbuildingname?: string\r\n subbuildingnumber?: string\r\n buildingnumber?: string\r\n locality?: string\r\n district?: string\r\n countryId?: string\r\n latitude?: number\r\n longitude?: number\r\n addressType?: number\r\n}\r\n\r\nexport interface IAddressDetails extends IAddressObj {\r\n isPrimary?: boolean\r\n}\r\n\r\nexport interface IAddresErrorStateObj {\r\n line1: boolean\r\n townOrCity: boolean\r\n postcode: boolean\r\n}\r\n\r\nexport interface IStyleBase {\r\n titleOpacity?: number\r\n buttonHeight?: number\r\n headerHeight?: number\r\n feedTop?: number\r\n buttonPadding?: number\r\n searchBarCss?: React.CSSProperties\r\n headerTop?: string\r\n display?: string\r\n paddingTop?: string\r\n top?: string\r\n}\r\n\r\nexport interface ISavedUserAddress {\r\n //got from API\r\n addressId: number\r\n formattedAddress: string\r\n line1: string\r\n line2: string\r\n line3: string\r\n line4: string\r\n postcode: string\r\n countryId: string\r\n latitude: number\r\n longitude: number\r\n thoroughfare: string\r\n buildingName: string\r\n subBuildingName: string\r\n buildingNumber: string\r\n subBuildingNumber: string\r\n locality: string\r\n townOrCity: string\r\n county: string\r\n district: string\r\n addressType: number\r\n isPrimary: boolean\r\n}\r\n\r\nexport interface ISavedUserDetails {\r\n //got from API\r\n userId: string\r\n firstName: string\r\n lastName: string\r\n email: string\r\n phone: string\r\n password?: string\r\n phoneVerified?: boolean\r\n userStatus?: UserStatus\r\n role?: Role[]\r\n claims?: string[] // may be number[]\r\n addresses?: ISavedUserAddress[]\r\n createdOn?: string\r\n updatedOn?: string\r\n}\r\n\r\nexport interface ISearchDropdownDefaults {\r\n keywordSearch: boolean\r\n dateSearch: boolean\r\n audienceSearch: boolean\r\n locationSearchText: boolean\r\n mobileSearch: boolean\r\n locationSearchDropdown: boolean\r\n}\r\n\r\nexport interface ISearchDisplayVariables {\r\n textSearch: string\r\n locationText: string\r\n dateRange?: IDateRange\r\n audienceTypes: IAudienceType[]\r\n}\r\n\r\nexport interface ILoyaltyRewards {\r\n rewardId: string\r\n pointsNeededForNextRedemption: number\r\n redeemableReward: number\r\n}\r\n\r\nexport interface ILoyaltyAccount extends IStandardResponse {\r\n dateOfBirth: string\r\n countryId: string\r\n postcode: string\r\n interests: string\r\n membershipType: LoyaltyMembershipType\r\n cardNumber: string\r\n currentPoints: number\r\n rewards: ILoyaltyRewards[]\r\n unexpiredGiftCards: IGiftCard[]\r\n}\r\n\r\nexport interface ICountryData {\r\n countryId: string\r\n name: string\r\n currencyCode: string\r\n htmlCurrencyCode: string | null\r\n currencyName: string | null\r\n phoneCode: string\r\n postcodeRegex: string\r\n languageCode: string | null\r\n isInEu: boolean\r\n isActive: boolean\r\n musementId: number\r\n londonTheatreDirectId: number\r\n tiqetsId: number | null\r\n}\r\n\r\nexport interface IGetCountryDataResponse extends IStandardResponse {\r\n countries: ICountryData[]\r\n}\r\n\r\nexport enum LoyaltyMembershipType {\r\n Basic = 'Basic',\r\n Full = 'Full',\r\n}\r\n"],"names":["_ref","loginSuccess","login","useLogin","_jsxs","className","onClick","scope","then","response","LoginProviders","facebook","authResponse","accessToken","catch","error","console","children","_jsx","src","alt","AppleButton","props","loginUrl","concat","window","location","host","AppleLogin","clientId","redirectURI","encodeURI","designProp","width","height","scale","border_radius","callback","credentialResponse","_credentialResponse$u","apple","authorization","id_token","user","name","render","renderProps","disabled","usePopup","GoogleButton","handleGoogleLoginSuccess","google","credential","GoogleOAuthProvider","process","GoogleLogin","shape","text","containerProps","logo_alignment","onSuccess","global","useContext","GlobalContext","handleLoginSuccess","loginProvider","loginMethod","LoginMethod","thirdPartyProvider","_Fragment","partnerId","notIosApp","FacebookProvider","version","appId","FacebookButton","emailName","isConfirmField","emailVal","onChangeHandler","isValid","isDisabled","handleKeyPress","value","setValue","useState","useEffect","length","htmlFor","id","type","autoComplete","autoFocus","onKeyDown","onChange","e","val","target","Tick","onChangeLoginMethod","checkUserCallback","userDetails","setUserDetails","phoneNumber","code","country","undefined","isFormValid","setIsFormValid","email","checkUser","_userDetails$email","request","_objectSpread","toLowerCase","doesUserExist","EmailInput","key","simpleValidateEmail","PhoneFormField","fieldID","initialPhoneValue","labelText","isPhoneValid","Button","buttonTxt","btnStyle","btnSize","buttonAction","SocialButtons","charsPerEntry","onEntryAction","identifier","placeholderChars","validationCheck","codeValue","setCodeValue","setIsValid","codeInputRef","useRef","current","focus","ref","placeholder","checkAndSetValidity","maxLength","loginProps","onCancel","setLoading","setFormError","createValidationCooldown","resendTimeout","sendConfirmation","useCallback","async","_loginProps$email","Identification","sendEmailConfirmNo","sendSMSConfirmNo","data","success","friendlyErrorMessage","Error","ex","CodeInput","numericValidator","updateCode","checkCode","propsWithCode","validateField","form","isFieldValid","validateEmail","phone","alphaValidator","defaultFormState","setForm","formState","setFormState","errorMessage","setErrorMessage","isValidCopy","isValidForm","Object","values","every","formData","firstName","lastName","confirmEmail","confirmPhone","_checkUserCallback$na","_checkUserCallback$na2","_checkUserCallback$na3","_checkUserCallback$na4","_checkUserCallback$em","_checkUserCallback$ph","newFormState","handlePhoneChange","updatedValidity","handleInput","onSubmit","Alert","MessageType","info","message","subText","Cookies","remove","transformPhoneNum","registerUser","CHECK_TIMESTAMP","jwt","onClose","embeded","currentPage","setCurrentPage","AccountPages","isLoading","setIsLoading","validationProps","setValidationProps","setLoginMethod","formError","setResendTimeout","headerText","header","signUp","validationMethod","changeLoginMethod","newLoginMethod","timer","setInterval","clearInterval","checkUserDetails","emailAddress","IdentificationAPI","exists","verifyEmailCode","verifyMobileCode","socialLogin","jwtToken","SET_WITH_EXPIRY","NavBarGeneral","headingLabel","Loader","position","messages","Login","newProps","Signup","LoginConfirm","href","PATH_VALUES","baseUrl","rel","phoneUtil","PhoneNumberUtil","getInstance","isValidNumber","parseAndKeepRawInput","inputID","phoneValue","setPhoneValue","PhoneInput","defaultCountry","forceDialCode","disableDialCodeAndPrefix","disableFormatting","showDisabledDialCodeAndPrefix","onPhoneChange","meta","convertedPhoneNumber","dialCode","convertPhoneNumber","inputValue","iso2","inputProps","getIcon","icon","InfoIcon","warning","WarningIcon","CheckAlertIcon","regexp","RegExp","removeTrailingSlash","urlBefore","url","replace","includes","split","substr","MEDIA_BASE_PATH","_document$querySelect","document","querySelector","getAttribute","isHome","origin","pathName","pathname","substring","lastIndexOf","trimMediaUrl","startsWith","params","search","hostName","hostname","fullUrl","referrer","navigationType","performance","_window$performance$g","getEntriesByType","_window$performance$g2","entryType","os","getOS","userAgent","navigator","platform","indexOf","test","zoomLevel","Math","round","devicePixelRatio","String","alphaNumericValidatorWDash","isValueEmpty","v","SessionType","Pages"],"sourceRoot":""}