{
  "version": 3,
  "sources": ["../../src/pages/login/index.tsx", "../../src/pages/login/components/captcha-input.tsx", "../../src/pages/login/components/email-login.tsx", "../../src/pages/login/components/phone-login.tsx", "../../src/pages/login/components/social-login.tsx"],
  "sourcesContent": ["import { LoadingOutlined } from '@ant-design/icons';\nimport {\n  AuthType,\n  getConnectCaptcha,\n  isNullish,\n  requireNotNullish,\n  type CaptchaRequest,\n  type ConnectParam,\n  type PhoneCaptchaRequest,\n  type SocialAuthType,\n} from '@particle-network/auth-core';\nimport { Image } from 'antd';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport logoImg from '../../common/images/logo.png';\nimport PowerFooter from '../../components/power-footer';\nimport { useParticleAuth, useTranslation } from '../../context';\nimport useLogin from '../../context/hooks/useLogin';\nimport { EmailRegExp, isValidE164PhoneNumber } from '../../utils';\nimport CaptchaInput from './components/captcha-input';\nimport EmailLogin from './components/email-login';\nimport loginStyles from './components/login.less';\nimport PhoneLogin from './components/phone-login';\nimport SocialLogin from './components/social-login';\nimport styles from './index.less';\n\nfunction Login(props?: ConnectParam) {\n  // @ts-ignore\n  const { email, phone, authorization, chain } = props || {};\n\n  const { modalOptions, setLoginAuthorization } = useParticleAuth();\n  const { socialAuthLogin } = useLogin();\n\n  const getDefaultLoginType = () => {\n    const indexPhone = modalOptions.authTypes?.indexOf(AuthType.phone) ?? -1;\n    const indexEmail = modalOptions.authTypes?.indexOf(AuthType.email) ?? -1;\n    if (\n      (!isNullish(phone) && (indexPhone >= 0 || !modalOptions.authTypes?.length)) ||\n      (!email &&\n        ((indexPhone >= 0 && indexEmail < 0) || (indexPhone >= 0 && indexEmail >= 0 && indexPhone < indexEmail)))\n    ) {\n      return AuthType.phone;\n    } else {\n      return AuthType.email;\n    }\n  };\n\n  const [loginType, setLoginType] = useState<AuthType>(getDefaultLoginType()); // email or phone\n\n  const { t } = useTranslation();\n\n  const [account, setAccount] = useState<string | undefined>('');\n\n  const [showInputCaptcha, setShowInputCaptcha] = useState(false);\n\n  const [loginWithAccount, setLoginWithAccount] = useState(false);\n\n  const [supportAuthTypes, setSupportAuthTypes] = useState<AuthType[]>(modalOptions.authTypes || []);\n\n  const displayInputCaptcha = (visible: boolean) => {\n    setShowInputCaptcha(visible);\n  };\n\n  useEffect(() => {\n    document.documentElement.setAttribute('data-login-type', loginType || '');\n  }, [loginType]);\n\n  useEffect(() => {\n    if (!loginWithAccount) {\n      const allTypes = Object.values(AuthType).filter(\n        (authType) => authType !== AuthType.jwt && authType !== AuthType.telegram\n      );\n      if (!modalOptions.authTypes) {\n        setSupportAuthTypes(allTypes);\n      } else {\n        const types = modalOptions.authTypes.filter(\n          (authType) => authType !== AuthType.jwt && authType !== AuthType.telegram && allTypes.includes(authType)\n        );\n        if (!types.includes(AuthType.email) && !types.includes(AuthType.phone) && types.length > 0) {\n          types.unshift(AuthType.email);\n        }\n        if (types.length === 1 && (types[0] === AuthType.email || types[0] === AuthType.phone)) {\n          //clear all\n          types.length = 0;\n        }\n        setSupportAuthTypes(types);\n      }\n    } else {\n      setSupportAuthTypes([]);\n    }\n  }, [loginWithAccount, modalOptions.authTypes]);\n\n  useEffect(() => {\n    if (authorization) {\n      setLoginAuthorization({ authorization, chain: requireNotNullish(chain) });\n    } else {\n      setLoginAuthorization(undefined);\n    }\n\n    loginDirectly();\n  }, []);\n\n  //\u53D1\u9001\u9A8C\u8BC1\u7801\n  const sendCaptcha = async (data: CaptchaRequest): Promise<boolean> => {\n    setAccount('email' in data && data.email ? data.email : (data as PhoneCaptchaRequest).phone);\n    const result = await getConnectCaptcha(data).then((result) => {\n      console.log(`request captcha success: ${result}`);\n      return result;\n    });\n    return result;\n  };\n\n  // login directly\n  const loginDirectly = () => {\n    if (email && loginType === AuthType.email) {\n      if (EmailRegExp.test(email)) {\n        setLoginWithAccount(true);\n        setAccount(email);\n      }\n    } else if (phone && loginType === AuthType.phone) {\n      const e164Phone = isValidE164PhoneNumber(phone);\n      if (e164Phone) {\n        setLoginWithAccount(true);\n        setAccount(e164Phone);\n      }\n    }\n  };\n\n  const thirdpartyAuthLogin = (authType: AuthType) => {\n    setLoginType(authType);\n    socialAuthLogin({\n      socialType: authType as SocialAuthType,\n      prompt: 'select_account',\n      authorization,\n      chain,\n    });\n  };\n\n  const loginContent = () => {\n    if (showInputCaptcha) {\n      return (\n        <CaptchaInput\n          sendCaptcha={sendCaptcha}\n          setShowInputCaptcha={displayInputCaptcha}\n          account={account}\n          loginWithAccount={loginWithAccount}\n          chain={chain}\n        />\n      );\n    } else if (loginType === AuthType.email) {\n      return (\n        <EmailLogin\n          sendCaptcha={sendCaptcha}\n          setShowInputCaptcha={displayInputCaptcha}\n          setLoginType={changeLoginType}\n          account={email || account}\n          supportAuthTypes={supportAuthTypes}\n          loginWithAccount={!!email || loginWithAccount}\n        />\n      );\n    } else if (loginType === AuthType.phone) {\n      return (\n        <PhoneLogin\n          sendCaptcha={sendCaptcha}\n          setShowInputCaptcha={displayInputCaptcha}\n          setLoginType={changeLoginType}\n          account={phone || account}\n          supportAuthTypes={supportAuthTypes}\n          loginWithAccount={!!phone || loginWithAccount}\n        />\n      );\n    }\n  };\n\n  const changeLoginType = (type: AuthType) => {\n    setLoginType(type);\n  };\n\n  const authTypeDisplayed = (type: AuthType): string => {\n    if (type === AuthType.jwt) {\n      return 'JWT';\n    } else {\n      return type.titleCase();\n    }\n  };\n\n  const loggingHint = (loginType: AuthType): string => {\n    if (loginType === AuthType.jwt || loginType === AuthType.telegram) {\n      return t('login.create_wallet');\n    } else {\n      return t('login.social_login').format(authTypeDisplayed(loginType));\n    }\n  };\n\n  const projectLogo: string = useMemo(() => {\n    let img = modalOptions.customStyle?.logo;\n    if (!img) {\n      img = logoImg;\n    }\n    return (img || '') as string;\n  }, [modalOptions.customStyle?.logo]);\n\n  return (\n    <div className='login-container-box'>\n      <style>{loginStyles as unknown as string}</style>\n      <style>{styles as unknown as string}</style>\n      <div className='wrap'>\n        <div className='login-logo'>\n          <Image\n            className='product-logo'\n            preview={false}\n            height={64}\n            src={projectLogo}\n            key={projectLogo}\n            placeholder={\n              <div className='placeholder-wrap'>\n                <LoadingOutlined style={{ fontSize: 24 }} spin />\n              </div>\n            }\n            fallback={logoImg}\n            onError={(e) => {\n              e.currentTarget.src = logoImg;\n            }}\n          />\n        </div>\n        <div className='login-header0'>{modalOptions.customStyle?.projectName ?? t('common.particle_auth')}</div>\n\n        {showInputCaptcha ? (\n          <div className='login-des'>{account}</div>\n        ) : (\n          <div className='login-des'>\n            {loginType === AuthType.email || loginType === AuthType.phone ? (\n              modalOptions.customStyle?.subtitle ?? t('login.to_continue').format('App')\n            ) : (\n              <div className='third-party-des'>{loggingHint(loginType)}</div>\n            )}\n          </div>\n        )}\n\n        {loginContent()}\n\n        {!showInputCaptcha && !loginWithAccount && (loginType === AuthType.email || loginType === AuthType.phone) && (\n          <SocialLogin\n            supportAuthTypes={supportAuthTypes}\n            preferredAuthType={loginType}\n            onPreferredAuthTypeChange={setLoginType}\n            thirdpartyAuthLogin={thirdpartyAuthLogin}\n          />\n        )}\n      </div>\n      <PowerFooter className='footer-box-v2' />\n    </div>\n  );\n}\n\nexport default Login;\n", "import { ApiError, getCloudflareTurnstileResponse, isApiError, type CaptchaRequest } from '@particle-network/auth-core';\nimport { useInterval } from 'ahooks';\nimport { Button } from 'antd';\nimport throttle from 'lodash/throttle.js';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport SVGIcon from '../../../components/icon/svg-icon';\nimport AuthCode from '../../../components/react-auth-code-input';\nimport { useParticleAuth, useTranslation } from '../../../context';\nimport { useCustomize } from '../../../context/hooks/useCustomize';\nimport useLogin from '../../../context/hooks/useLogin';\nimport useMessage from '../../../context/hooks/useMessage';\nimport styles from './captcha-input.less';\n\nfunction CaptchaInput(props: any) {\n  const { sendCaptcha, setShowInputCaptcha, account, loginWithAccount, chain } = props;\n\n  const [loading, setLoading] = useState(false);\n\n  const { themeType, language } = useCustomize();\n  const [codeVal, setCodeVal] = useState<string>('');\n  const { loginHandler } = useLogin();\n  const [noInput, setNoInput] = useState(false);\n  const [wrongInput, setWrongInput] = useState(false);\n  const [invalidInput, setInvalidInput] = useState(false);\n  const [resendTip, setResendTip] = useState(false);\n  const [confirmBtn, setConfirmBtn] = useState(false);\n  const { authCoreModal } = useParticleAuth();\n  const { t } = useTranslation();\n  const message = useMessage();\n  const codeInput = useRef<any>(null);\n  const codePattern = /^\\d{6}$/;\n  const [interval, setInterval] = useState<number | undefined>(1000);\n\n  const [countdown, setCountdown] = useState(60);\n\n  useInterval(() => {\n    if (countdown > 0) {\n      const result = countdown - 1;\n      setCountdown(result);\n      if (result === 0) {\n        setInterval(undefined);\n      }\n    }\n  }, interval);\n\n  const startCountdown = () => {\n    setCountdown(60);\n    setInterval(1000);\n  };\n\n  const getCaptcha = () => {\n    if (account.includes('@')) {\n      sendCaptchaImpl({ email: account });\n    } else {\n      getCloudflareTurnstileResponse({\n        theme: themeType,\n        language,\n        getContainer: () => {\n          return authCoreModal.rootBody as HTMLElement;\n        },\n      })\n        .then((token) => {\n          sendCaptchaImpl({\n            phone: account,\n            // eslint-disable-next-line camelcase\n            cf_turnstile_response: token,\n          });\n        })\n        .catch(() => {\n          message.error(t('error.server_20112'));\n        });\n    }\n  };\n\n  const sendCaptchaImpl = (param: CaptchaRequest) => {\n    sendCaptcha(param)\n      .then(() => {\n        console.log('send captcha success');\n        startCountdown();\n        setConfirmBtn(false);\n        setResendTip(false);\n      })\n      .catch(() => {\n        setCountdown(0);\n        setInterval(undefined);\n      });\n  };\n\n  const codeChange = (value: any) => {\n    setWrongInput(false);\n    // const code = value.join(\"\");\n    const code = value;\n    const patt = /^[0-9]+$/g;\n    if (code.length === 0) {\n      setWrongInput(false);\n      setNoInput(true);\n    } else {\n      if (!patt.test(code)) {\n        setNoInput(false);\n        setWrongInput(true);\n      } else {\n        setNoInput(false);\n        setWrongInput(false);\n      }\n    }\n  };\n\n  const login = (code?: string) => {\n    setNoInput(false);\n    setWrongInput(false);\n    setInvalidInput(false);\n    code = code || codeVal;\n    console.log(`code --> ${code}`);\n    if (noInput || wrongInput) {\n      return;\n    }\n    if (codePattern.test(code)) {\n      throttleLoginImpl(code);\n    } else {\n      if ((code.length > 0 && code.length < 6) || !codePattern.test(code)) {\n        setWrongInput(true);\n        setNoInput(false);\n      }\n      if (code.length === 0) {\n        setWrongInput(false);\n        setNoInput(true);\n      }\n    }\n  };\n\n  const loginImpl = async (code: string) => {\n    if (resendTip) {\n      return;\n    }\n    setLoading(true);\n    let data;\n    if (account.includes('@')) {\n      data = {\n        code: code,\n        email: account,\n        chain,\n      };\n    } else {\n      data = {\n        code: code,\n        phone: account,\n        chain,\n      };\n    }\n    try {\n      await loginHandler(data, false);\n    } catch (error) {\n      handleLoginError(error);\n    }\n  };\n\n  const handleLoginError = (error: any) => {\n    console.log('login error', error);\n    setLoading(false);\n    if (isApiError(error)) {\n      const errorCode = error.error_code;\n      if (errorCode === ApiError.InvalidCode) {\n        setInvalidInput(true);\n      } else if (errorCode === ApiError.ResendCode) {\n        setResendTip(true);\n        setConfirmBtn(true);\n      }\n    }\n  };\n\n  const onCodeInputChange = (codeArray: string) => {\n    codeChange(codeArray);\n    setCodeVal(codeArray);\n    setNoInput(false);\n    setWrongInput(false);\n    setInvalidInput(false);\n    setResendTip(false);\n    if (codePattern.test(codeArray)) {\n      throttleLoginImpl(codeArray);\n    }\n  };\n\n  const throttleLoginImpl = useCallback(\n    throttle(\n      (code) => {\n        loginImpl(code);\n      },\n      1000,\n      {\n        leading: true,\n        trailing: false,\n      }\n    ),\n    []\n  );\n\n  const handleCodeInputFocus = () => {\n    const elements = document.getElementsByClassName('input-code-item');\n    //@ts-ignore\n    elements[Math.min(codeVal.length, 5)]?.focus();\n  };\n\n  const verifyCodeErrorMessage = useMemo(() => {\n    const error = [\n      noInput ? t('login.enter_captcha') : '',\n      wrongInput ? t('login.captcha_input_error') : '',\n      invalidInput ? t('login.invalid_code') : '',\n      resendTip ? t('login.please_send_again') : '',\n    ]\n      .map((val) => val.trim())\n      .filter((val) => !!val)\n      .join(',');\n\n    return error.includes(',') ? error + '.' : error;\n  }, [noInput, wrongInput, invalidInput, resendTip, t]);\n\n  useEffect(() => {\n    const elements = document.getElementsByClassName('react-input-code');\n    const contextmenuEvent = (e: any) => e.preventDefault();\n    elements[0]?.addEventListener('contextmenu', contextmenuEvent);\n    return () => {\n      elements[0]?.removeEventListener('contextmenu', contextmenuEvent);\n    };\n  }, []);\n\n  return (\n    <div className='captcha-box'>\n      <style>{styles as unknown as string}</style>\n      <div className='captcha-form'>\n        <div className='input-code-content'>\n          <div onClick={handleCodeInputFocus}>\n            <AuthCode\n              containerClassName='react-input-code'\n              inputClassName='input-code-item'\n              allowedCharacters='numeric'\n              length={6}\n              ref={codeInput}\n              placeholder={' '}\n              onChange={onCodeInputChange}\n            />\n          </div>\n        </div>\n      </div>\n      <div className='error-tip'>{verifyCodeErrorMessage}</div>\n\n      <div className='btn-box'>\n        <Button\n          type='primary'\n          htmlType='submit'\n          className='primary-antd-btn submit-btn'\n          onClick={() => login()}\n          disabled={confirmBtn}\n          loading={loading}\n        >\n          {t('common.confirm')}\n        </Button>\n\n        <Button className='get-btn' disabled={countdown > 0} type='link' onClick={getCaptcha}>\n          {t('login.send_again')} {countdown > 0 ? `(${countdown}s)` : ''}\n        </Button>\n\n        {!loginWithAccount && (\n          <div\n            className='back-box'\n            onClick={() => {\n              setShowInputCaptcha(false);\n            }}\n          >\n            <SVGIcon className='arrow1-icon' name='arrow1_icon' />\n            <span>{t('login.back')}</span>\n          </div>\n        )}\n      </div>\n    </div>\n  );\n}\n\nexport default CaptchaInput;\n", "import { Button, Form, Input } from 'antd';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useTranslation } from '../../../context';\nimport { EmailRegExp } from '../../../utils';\nimport styles from './login.less';\n\nfunction EmailLogin(props: any) {\n  const { t } = useTranslation();\n\n  const { sendCaptcha, setShowInputCaptcha, account, supportAuthTypes, loginWithAccount } = props;\n\n  const [form] = Form.useForm();\n  const [errorTip, setErrorTip] = useState(false);\n  const [noInputTip, setNoInputTip] = useState(false);\n\n  const [loading, setLoading] = useState(false);\n  const emailBoxRef = useRef<any>(null);\n  const emailInput = useRef<any>(null);\n\n  useEffect(() => {\n    if (loginWithAccount && account && sendCaptcha) {\n      form.setFieldsValue({\n        email: account,\n      });\n      getCaptcha(account);\n    }\n  }, []);\n\n  const getCaptcha = (email: string) => {\n    emailInput.current.focus();\n    if (!email) {\n      setNoInputTip(true);\n      setErrorTip(false);\n    } else if (!EmailRegExp.test(email)) {\n      setErrorTip(true);\n    } else {\n      sendCaptchaImpl(email);\n    }\n  };\n\n  const sendCaptchaImpl = (email: string) => {\n    setLoading(true);\n    sendCaptcha({\n      email: email,\n    })\n      .then((result: boolean) => {\n        setShowInputCaptcha(result);\n      })\n      .catch(() => {\n        setLoading(false);\n      });\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='login-style'>\n        <Form\n          name='login-form'\n          onFinish={(values) => getCaptcha(values.email.trim())}\n          className='form-box'\n          requiredMark={false}\n          form={form}\n          labelCol={{\n            style: { textAlign: 'left' },\n          }}\n        >\n          <div className='email-box' ref={emailBoxRef}>\n            <Form.Item name='email' label='' className='form-item' initialValue={account?.includes('@') ? account : ''}>\n              <Input\n                className='email-input'\n                placeholder={t('login.email_address') || undefined}\n                ref={emailInput}\n                onChange={() => {\n                  setErrorTip(false);\n                  setNoInputTip(false);\n                }}\n                readOnly={loginWithAccount}\n                onFocus={() => {\n                  emailBoxRef.current.setAttribute('data-focus', 'true');\n                }}\n                onBlur={() => {\n                  emailBoxRef.current.removeAttribute('data-focus');\n                }}\n              />\n            </Form.Item>\n          </div>\n\n          <div className='error-tip'>{errorTip && t('login.email_format_error')}</div>\n          <div className='error-tip'>{noInputTip && t('login.input_email_holder')}</div>\n\n          <Form.Item className='form-item'>\n            <Button type='primary' htmlType='submit' className='primary-antd-btn submit-btn' loading={loading}>\n              {t('login.get_captcha')}\n            </Button>\n          </Form.Item>\n\n          {!loginWithAccount && supportAuthTypes.length > 0 && (\n            <div className='login-or'>\n              <div className='or-line'></div>\n              {t('login.or')}\n              <div className='or-line'></div>\n            </div>\n          )}\n        </Form>\n      </div>\n    </>\n  );\n}\n\nexport default EmailLogin;\n", "import { DownOutlined } from '@ant-design/icons';\nimport { getCloudflareTurnstileResponse } from '@particle-network/auth-core';\nimport { Button, Form, Input } from 'antd';\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode';\nimport type { CountryCode } from 'libphonenumber-js/max';\nimport { isValidPhoneNumber, parsePhoneNumber, parsePhoneNumberWithError } from 'libphonenumber-js/max';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { defaultCountriesData } from '../../../api/model/all-countries';\nimport { useAuthCoreModal, useTranslation } from '../../../context';\nimport { useCustomize } from '../../../context/hooks/useCustomize';\nimport useMessage from '../../../context/hooks/useMessage';\nimport { isPhoneValid } from '../../../utils';\nimport styles from './login.less';\n\nfunction PhoneLogin(props: any) {\n  const { t } = useTranslation();\n\n  const { sendCaptcha, setShowInputCaptcha, account, supportAuthTypes, loginWithAccount } = props;\n\n  const [selectVisible, setSelectVisible] = useState(false);\n\n  const { themeType, language } = useCustomize();\n\n  const [countryData, setCountryData] = useState(['United States', 'us', '1']);\n\n  const [form] = Form.useForm();\n\n  const clickRef = useRef<any>();\n  const { authCoreModal } = useAuthCoreModal();\n  const [errorTip, setErrorTip] = useState(false);\n  const [noInputTip, setNoInputTip] = useState(false);\n\n  const [loading, setLoading] = useState(false);\n  const message = useMessage();\n  const phoneInput = useRef<any>(null);\n\n  const [phoneValue, setPhoneValue] = useState<string>();\n\n  useEffect(() => {\n    if (selectVisible) {\n      document.addEventListener('click', clickCallback, true);\n      return () => {\n        document.removeEventListener('click', clickCallback, true);\n      };\n    }\n  }, [selectVisible]);\n\n  useEffect(() => {\n    let currentCountry;\n    if (account && !account.includes('@')) {\n      if (isValidPhoneNumber(account)) {\n        const phoneNumber = parsePhoneNumber(account);\n        const countryCode = phoneNumber.countryCallingCode.toString();\n        const regionCode = phoneNumber.country;\n        form.setFieldsValue({\n          phone: phoneNumber.nationalNumber,\n        });\n        if (countryCode && regionCode) {\n          const items = defaultCountriesData.filter(\n            (item) => item[2].toString() === countryCode && item[1].toLowerCase() === regionCode.toLowerCase()\n          );\n          if (items && items.length > 0) {\n            currentCountry = items[items.length - 1];\n          }\n        }\n      }\n    }\n    if (!currentCountry) {\n      const language = navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;\n      const locales = language.split('-');\n      const region = locales.length > 1 ? locales[1] : locales[0];\n      if (region && region.length > 0) {\n        currentCountry = defaultCountriesData.find((item) => item[1].toUpperCase() === region);\n      }\n    }\n    if (currentCountry) {\n      setCountryData(currentCountry);\n    }\n\n    if (loginWithAccount && account && sendCaptcha && isValidPhoneNumber(account)) {\n      getCaptcha(account, currentCountry ? currentCountry[1].toUpperCase() : undefined);\n    }\n  }, []);\n\n  const clickCallback = (event: any) => {\n    setTimeout(() => {\n      if (clickRef.current?.contains(event.target)) {\n        return;\n      }\n      setSelectVisible(false);\n    });\n  };\n\n  // \u9A8C\u8BC1 form\n  const validateForm = (phoneValue: string, regionCode: string, isValidateEmpty = true) => {\n    if (!phoneValue && isValidateEmpty) {\n      setNoInputTip(true);\n      return;\n    }\n\n    if (phoneValue?.length === 1) {\n      setErrorTip(true);\n      return;\n    }\n\n    if (!isPhoneValid(phoneValue, regionCode)) {\n      setErrorTip(true);\n      return false;\n    } else {\n      setErrorTip(false);\n      return true;\n    }\n  };\n\n  const getCaptcha = (phone: string, regionCode?: string) => {\n    phoneInput.current.focus();\n    if (!phone) {\n      setNoInputTip(true);\n      return;\n    }\n    if (phone.length === 1) {\n      setErrorTip(true);\n      return;\n    }\n\n    if (!regionCode) {\n      regionCode = countryData[1].toUpperCase();\n    }\n    if (isPhoneValid(phone, regionCode)) {\n      const countryCode = regionCode.toUpperCase() as CountryCode;\n      const phoneE164 = parsePhoneNumber(phone, countryCode).format('E.164');\n      console.log('login phone: ' + phoneE164);\n      setPhoneValue(phoneE164);\n      setLoading(true);\n      getCloudflareTurnstileResponse({\n        theme: themeType,\n        language,\n        getContainer: () => {\n          return authCoreModal.rootBody as HTMLElement;\n        },\n      })\n        .then((token) => {\n          sendCaptchaImpl(token, phoneE164);\n        })\n        .catch(() => {\n          setLoading(false);\n          message.error(t('error.server_20112'));\n        });\n    } else {\n      setErrorTip(true);\n    }\n  };\n\n  const sendCaptchaImpl = (token: string, phoneValue: string) => {\n    setLoading(true);\n    sendCaptcha({\n      phone: phoneValue,\n      // eslint-disable-next-line camelcase\n      cf_turnstile_response: token,\n    })\n      .then((result: boolean) => {\n        setShowInputCaptcha(result);\n      })\n      .catch(() => {\n        setLoading(false);\n      });\n  };\n\n  const initialAccountValue = () => {\n    try {\n      if (account?.includes('@')) {\n        return '';\n      } else if (account?.length > 0) {\n        const phoneNumber = parsePhoneNumberWithError(account);\n        return phoneNumber.nationalNumber;\n      }\n    } catch (error) {\n      console.log('initialAccountValue', error);\n    }\n    return '';\n  };\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='login-style'>\n        {selectVisible && (\n          <div className='select-country' ref={clickRef}>\n            {defaultCountriesData.map((item, index) => {\n              return (\n                <div\n                  key={index}\n                  className='country-item'\n                  onClick={() => {\n                    setCountryData(item);\n                    setSelectVisible(false);\n\n                    setTimeout(() => {\n                      const phoneValue = form.getFieldsValue().phone;\n                      if (phoneValue) {\n                        validateForm(phoneValue, item[1].toUpperCase(), false);\n                      }\n                    });\n                  }}\n                >\n                  <div className='country-box'>\n                    <div className='country-flag'>{getUnicodeFlagIcon(`${item[1]}`)}</div>\n                    <span className='country-name'>{item[0]}</span>\n                  </div>\n                  <div className='country-code'>{'+' + item[2]}</div>\n                </div>\n              );\n            })}\n          </div>\n        )}\n        <Form\n          name='login-form'\n          onFinish={(values) => getCaptcha(values.phone, undefined)}\n          className='form-box'\n          requiredMark={false}\n          form={form}\n          labelCol={{\n            style: { textAlign: 'left' },\n          }}\n        >\n          <div className='phone-box'>\n            <div\n              className='phone-select'\n              defaultValue={`+${countryData[2]}`}\n              onClick={() => {\n                if (!loading) {\n                  setSelectVisible(true);\n                }\n              }}\n            >\n              {getUnicodeFlagIcon(`${countryData[1]}`)}\n              <DownOutlined className='down-more' />\n            </div>\n            <div className='country-code'>+{countryData[2]}</div>\n            <Form.Item\n              name='phone'\n              // label={t(\"login.enter_phone\")}\n              label=''\n              className='form-item'\n              getValueFromEvent={(event) => {\n                return event.target.value.replace(/\\D+/g, '');\n              }}\n              initialValue={initialAccountValue()}\n            >\n              <Input\n                type='text'\n                className='phone-input'\n                placeholder={t('login.mobile_number') || undefined}\n                ref={phoneInput}\n                onChange={() => {\n                  setErrorTip(false);\n                  setNoInputTip(false);\n                }}\n                readOnly={loginWithAccount}\n                onFocus={() => {\n                  document.querySelector('.phone-box')?.setAttribute('data-focus', 'true');\n                }}\n                onBlur={() => {\n                  document.querySelector('.phone-box')?.removeAttribute('data-focus');\n                }}\n              />\n            </Form.Item>\n          </div>\n\n          <div className='error-tip'>{errorTip && t('login.phone_format_error')}</div>\n          <div className='error-tip'>{noInputTip && t('login.input_phone_holder')}</div>\n\n          <Form.Item className='form-item'>\n            <Button type='primary' htmlType='submit' className='primary-antd-btn submit-btn' loading={loading}>\n              {t('login.get_captcha')}\n            </Button>\n          </Form.Item>\n        </Form>\n        {!loginWithAccount && supportAuthTypes.length > 0 && (\n          <div className='login-or'>\n            <div className='or-line'></div>\n            {t('login.or')}\n            <div className='or-line'></div>\n          </div>\n        )}\n      </div>\n    </>\n  );\n}\n\nexport default PhoneLogin;\n", "import { AuthType } from '@particle-network/auth-core';\nimport React, { useMemo, useState } from 'react';\nimport apple from '../../../common/images/apple_icon.png';\nimport discord from '../../../common/images/discord_icon.png';\nimport email from '../../../common/images/email_icon.png';\nimport facebook from '../../../common/images/facebook_icon.png';\nimport github from '../../../common/images/github_icon.png';\nimport google from '../../../common/images/google_icon.png';\nimport jwt from '../../../common/images/jwt_icon.png';\nimport linkedin from '../../../common/images/linkedin_icon.png';\nimport microsoft from '../../../common/images/microsoft_icon.png';\nimport passkeys from '../../../common/images/passkeys_icon.png';\nimport phone from '../../../common/images/phone_icon.png';\nimport telegram from '../../../common/images/telegram_icon.png';\nimport twitch from '../../../common/images/twitch_icon.png';\nimport twitter from '../../../common/images/twitter_icon.png';\nimport SVGIcon from '../../../components/icon/svg-icon';\n\ninterface Props {\n  supportAuthTypes: AuthType[];\n  preferredAuthType?: AuthType;\n  onPreferredAuthTypeChange?: (authType: AuthType) => void;\n  thirdpartyAuthLogin: (authType: AuthType) => void;\n}\nconst SocialLogin = (props: Props) => {\n  const { supportAuthTypes, preferredAuthType, onPreferredAuthTypeChange, thirdpartyAuthLogin } = props;\n\n  const [collapse, setCollapse] = useState(true);\n\n  const authLogin = (authType: AuthType) => {\n    thirdpartyAuthLogin(authType);\n  };\n\n  const toggleEmailOrPhone = (authType: AuthType) => {\n    onPreferredAuthTypeChange?.(authType);\n  };\n\n  const imgs = {\n    email,\n    phone,\n    facebook,\n    google,\n    apple,\n    twitter,\n    discord,\n    github,\n    twitch,\n    microsoft,\n    linkedin,\n    jwt,\n    telegram,\n    passkeys,\n  };\n\n  const items = useMemo(() => {\n    const authTypes = supportAuthTypes as AuthType[];\n    const hasEmailAndPhone = authTypes.includes(AuthType.email) && authTypes.includes(AuthType.phone);\n    const items: React.ReactNode[] = [];\n    if (hasEmailAndPhone) {\n      if (preferredAuthType === AuthType.phone) {\n        items.push(<img key='email-login' src={email} alt='' onClick={() => toggleEmailOrPhone(AuthType.email)} />);\n      } else {\n        items.push(<img key='phone-login' src={phone} alt='' onClick={() => toggleEmailOrPhone(AuthType.phone)} />);\n      }\n    }\n    const displayAuthTypes = authTypes.filter((authType) => authType !== AuthType.email && authType !== AuthType.phone);\n\n    items.push(\n      ...displayAuthTypes.map((authType) => (\n        <img key={`${authType}-login`} src={imgs[authType]} alt='' onClick={() => authLogin(authType as AuthType)} />\n      ))\n    );\n\n    const collapseIcon = (\n      <div\n        key='collapse-login'\n        className='collapse-login-icon'\n        onClick={() => setCollapse(!collapse)}\n        data-is-collapse={collapse}\n      >\n        <SVGIcon className='collapse-icon' name='collapse_icon' />\n      </div>\n    );\n\n    if (items.length > 5) {\n      items.splice(4, 0, collapseIcon);\n    }\n\n    if (collapse) {\n      items.splice(5, items.length - 5);\n    }\n\n    return items;\n  }, [collapse, preferredAuthType, supportAuthTypes]);\n\n  return (\n    <div className='change-login-mode' data-collapse={!!collapse}>\n      <div className='change-social'>{items}</div>\n    </div>\n  );\n};\n\nexport default SocialLogin;\n"],
  "mappings": "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",
  "names": ["AuthType", "React", "useEffect", "useMemo", "useState", "_a", "captcha_input_default", "Button", "React", "useEffect", "useRef", "useState", "useState", "useRef", "useEffect", "React", "Button", "getCloudflareTurnstileResponse", "Button", "Form", "Input", "React", "useEffect", "useRef", "useState", "useState", "Form", "useRef", "useEffect", "language", "phoneValue", "getCloudflareTurnstileResponse", "React", "Input", "Button", "React", "useMemo", "useState", "useState", "useMemo", "items", "React", "_a", "_b", "_c", "_d", "_e", "AuthType", "useState", "useEffect", "result", "React", "captcha_input_default", "loginType", "useMemo", "login_default"]
}
