{
  "version": 3,
  "sources": ["../../src/pages/loginAccountBind/index.tsx", "../../src/components/phoneInputItem/index.tsx"],
  "sourcesContent": ["import { AuthType, checkHasBoundLoginPhoneOrEmail } from '@particle-network/auth-core';\nimport { useRequest, useThrottleFn } from 'ahooks';\nimport { Button, Form, Input, Modal } from 'antd';\nimport { parsePhoneNumber } from 'libphonenumber-js/max';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport Header from '../../components/header';\nimport PhoneInputItem from '../../components/phoneInputItem';\nimport PowerFooter from '../../components/power-footer';\nimport { useAuthCoreModal, useCustomNavigate, useParticleAuth, useTranslation } from '../../context';\nimport { useUserInfo } from '../../context/hooks';\nimport useMessage from '../../context/hooks/useMessage';\nimport { EmailRegExp } from '../../utils';\nimport { PageType } from '../account/accountVerify/config';\nimport { encryptValue, getAccountList } from '../loginAccount';\nimport styles from './index.less';\n\nexport interface IAccountInfo {\n  type: AuthType;\n  icon: string;\n  name: string;\n  value: string;\n  id?: string;\n  isOriginal?: boolean;\n}\n\ninterface IState {\n  authType: AuthType;\n  verifyToken: string;\n}\n\nconst LoginAccountBind = (props: any) => {\n  const state = props;\n  const authType = (state as IState)?.authType || '';\n  const verifyToken = (state as IState)?.verifyToken || '';\n  const { t } = useTranslation();\n  const [form] = Form.useForm();\n  const navigate = useCustomNavigate();\n  const message = useMessage();\n  const { userInfo } = useUserInfo();\n  const { showSelectSecurityAccount } = useParticleAuth();\n  const [submitLoading, setSubmitLoading] = useState(false);\n  const { runAsync: loginBindingsCheckRequest } = useRequest(checkHasBoundLoginPhoneOrEmail, {\n    manual: true,\n  });\n  const { authCoreModal } = useAuthCoreModal();\n  const accountList = useMemo(() => {\n    return getAccountList({ userInfo, t });\n  }, [userInfo, t]);\n\n  const accountInfo: IAccountInfo = useMemo(() => {\n    const data = (accountList?.find?.((item) => item.type === authType) || {}) as IAccountInfo;\n    return data;\n  }, [accountList, authType]);\n\n  /**\n   *  \u53EF\u4EE5\u5DF2\u7ECF\u7ED1\u5B9A\n   */\n  const canLink = useMemo(() => {\n    return !accountInfo.value && !accountInfo.id;\n  }, [accountInfo]);\n\n  /**\n   * \u662F\u5426\u53EF\u4EE5\u89E3\u7ED1\n   * \u5982\u679CisOriginal=true \u8BF4\u660E\u662F\u539F\u59CB\u8D26\u53F7\uFF0C\u4E0D\u80FD\u89E3\u7ED1\n   */\n  const canUnlink = useMemo(() => {\n    return !accountInfo.isOriginal && !canLink;\n  }, [accountInfo]);\n\n  const bindLoginAccount = () => {\n    form.validateFields().then((values) => {\n      const targetInputValue: string = form.getFieldsValue()?.inputValue?.replace(/\\s/g, '')?.trim?.() || '';\n      setSubmitLoading(true);\n      // \u5224\u65AD\u6B64\u624B\u673A\u53F7\u662F\u5426\u662F\u5B89\u5168\u624B\u673A\u53F7\u7801\uFF0C\u5982\u679C\u662F\u5B89\u5168\u624B\u673A\u53F7\u7801\uFF0C\u5C31\u63D0\u793A\u201D\u5B89\u5168\u624B\u673A\u53F7\u7801\u4E0D\u80FD\u4F5C\u4E3A\u767B\u5F55\u8D26\u53F7\u201C\n      if (authType === 'phone' && userInfo?.security_account?.phone === targetInputValue) {\n        Modal.error({\n          title: t('new.duplicate_phonel_bindings'),\n          wrapClassName: 'auth-core-modal-error',\n          getContainer: () => {\n            return authCoreModal.rootBody as HTMLElement;\n          },\n        });\n        setSubmitLoading(false);\n        return;\n      } else if (\n        authType === 'email' &&\n        userInfo?.security_account?.email?.toLowerCase() === targetInputValue?.toLowerCase()\n      ) {\n        Modal.error({\n          title: t('new.duplicate_email_bindings'),\n          wrapClassName: 'auth-core-modal-error',\n          getContainer: () => {\n            return authCoreModal.rootBody as HTMLElement;\n          },\n        });\n        setSubmitLoading(false);\n        return;\n      }\n\n      const params: any = {};\n      if (authType === AuthType.phone) {\n        params.phone = targetInputValue;\n      } else {\n        params.email = targetInputValue;\n      }\n      loginBindingsCheckRequest(params)\n        .then((res) => {\n          navigate('/account/verify', {\n            state: {\n              account: targetInputValue,\n              authType,\n              verifyToken,\n              pageType: PageType.BindLoginAccount,\n            },\n          });\n          setSubmitLoading(false);\n        })\n        .catch((error) => {\n          setSubmitLoading(false);\n          if (error.error_code === 20109) {\n            Modal.error({\n              title: authType === AuthType.phone ? t('error.server_phone_20109') : t('error.server_email_20109'),\n              wrapClassName: 'auth-core-modal-error',\n              getContainer: () => {\n                return authCoreModal.rootBody as HTMLElement;\n              },\n            });\n          } else {\n            message.error(error.message);\n          }\n        });\n    });\n  };\n\n  const { run: toAccountVerify } = useThrottleFn(\n    (params) => {\n      navigate('/account/verify', {\n        state: {\n          account: params.account, // \u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n          authType,\n          unbindAccount: form.getFieldValue('inputValue'),\n          pageType: PageType.UnbindLoginAccount,\n        },\n      });\n    },\n    { wait: 3000 }\n  );\n\n  const unbindLoginAccount = () => {\n    // \u89E3\u7ED1\u9A8C\u8BC1\u9700\u8981\u9A8C\u8BC1\u5B89\u5168\u8D26\u53F7\n    if (userInfo?.security_account?.email && userInfo?.security_account?.phone) {\n      showSelectSecurityAccount(true, {\n        authType,\n        unbindAccount: form.getFieldValue('inputValue'),\n        pageType: PageType.UnbindLoginAccount,\n      });\n    } else {\n      toAccountVerify({\n        account: userInfo?.security_account?.email || userInfo?.security_account?.phone,\n      });\n    }\n  };\n\n  useEffect(() => {\n    if (accountInfo?.value || accountInfo?.id) {\n      if (authType === AuthType.phone) {\n        const phoneNumber = parsePhoneNumber(accountInfo?.value.replace(/\\s/g, ''));\n        const countryCode = phoneNumber.countryCallingCode;\n        const nationalNumber = phoneNumber.nationalNumber;\n        form.setFieldsValue({\n          inputValue: encryptValue(`+${countryCode} ${nationalNumber}`),\n        });\n      } else {\n        form.setFieldsValue({\n          inputValue: encryptValue(accountInfo?.value || accountInfo?.id || ''),\n        });\n      }\n    }\n  }, [accountInfo?.value, accountInfo?.id, authType]);\n\n  return (\n    <div className='login-account-bind '>\n      <style>{styles as unknown as string}</style>\n      <Header displayBackBtn={true}>{accountInfo.name}</Header>\n      <Form className='account-bind-form' layout='vertical' form={form} onFinish={bindLoginAccount}>\n        {authType === AuthType.phone ? (\n          <PhoneInputItem\n            name='inputValue'\n            form={form}\n            disabled={!canLink}\n            previewMode='input'\n            extra={<div className='link-account-hint'>{t('new.link_account_hint').format(accountInfo.name)}</div>}\n          />\n        ) : (\n          <Form.Item\n            name='inputValue'\n            validateTrigger='onBlur'\n            extra={<div className='link-account-hint'>{t('new.link_account_hint').format(accountInfo.name)}</div>}\n            rules={[\n              {\n                required: true,\n                validator: async (rule, value) => {\n                  if (!value) {\n                    return Promise.reject(t('account.input_vaild_email'));\n                  } else if (!EmailRegExp.test(value)) {\n                    return Promise.reject(t('login.email_format_error'));\n                  }\n                  return Promise.resolve();\n                },\n              },\n            ]}\n          >\n            <Input\n              className='account-input'\n              placeholder={accountInfo.name}\n              disabled={!canLink}\n              onChange={(e) =>\n                form.setFields([\n                  {\n                    name: 'email',\n                    value: e.target.value,\n                    errors: [],\n                  },\n                ])\n              }\n            />\n          </Form.Item>\n        )}\n\n        <Form.Item>\n          {canLink ? (\n            <Button\n              className='primary-antd-btn link-btn'\n              // onClick={bindLoginAccount}\n              loading={submitLoading}\n              htmlType='submit'\n            >\n              {t('account.link')}\n            </Button>\n          ) : (\n            <></>\n            // <Button\n            //     className=\"primary-antd-btn unlink-btn\"\n            //     disabled={!canUnlink}\n            //     onClick={() => {\n            //         unbindLoginAccount();\n            //     }}\n            // >\n            //     Unlink\n            // </Button>\n          )}\n        </Form.Item>\n      </Form>\n      <PowerFooter />\n    </div>\n  );\n};\n\nexport default LoginAccountBind;\n", "import { DownOutlined } from '@ant-design/icons';\nimport { useClickAway } from 'ahooks';\nimport type { FormInstance } from 'antd';\nimport { Form, Input, InputNumber } from 'antd';\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode';\nimport { isValidPhoneNumber, parsePhoneNumber } from 'libphonenumber-js/max';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { useTranslation } from '../../context';\nimport { defaultCountriesData, getCurrentCountry } from '../../api/model/all-countries';\nimport styles from './index.less';\ninterface Iprops {\n  form: FormInstance;\n  name: string;\n  disabled?: boolean;\n  previewMode?: string;\n  [key: string]: any;\n}\n\nconst PhoneInputItem = (props: Iprops) => {\n  const form = props.form;\n  const phoneValue = Form.useWatch(props.name, form);\n  const [countryData, setCountryData] = useState(['United States', 'us', '1']);\n  const { t } = useTranslation();\n  const [visbSelectCountry, setVisbSelectCountry] = useState(false);\n  const clickRef = useRef<any>();\n  const forItemRef = useRef<any>();\n  const [searchValue, setSearchValue] = useState('');\n  const searchInputRef = useRef<any>();\n  const countriesList = useMemo(() => {\n    return defaultCountriesData.filter((item) => {\n      return item.join('+').toLowerCase().includes(searchValue.toLowerCase());\n    });\n  }, [searchValue]);\n\n  useClickAway(() => {\n    setVisbSelectCountry(false);\n  }, clickRef);\n\n  useEffect(() => {\n    if (visbSelectCountry) {\n      setSearchValue('');\n    }\n  }, [visbSelectCountry]);\n\n  useEffect(() => {\n    if (phoneValue?.includes('*')) {\n      return;\n    }\n    const countryCode = `+${countryData[2]}`;\n    const value = (phoneValue || '').replace(/^\\+\\d+/, '').trim();\n    form.setFieldsValue({\n      [props.name]: `${countryCode} ${value}`,\n    });\n    if (value) {\n      form.validateFields(['_phone']);\n    }\n  }, [countryData, phoneValue]);\n\n  useEffect(() => {\n    try {\n      if (phoneValue?.includes?.('*')) {\n        form.setFieldsValue({\n          _phone: phoneValue,\n        });\n      } else if (phoneValue) {\n        if (isValidPhoneNumber(phoneValue)) {\n          const phoneNumber = parsePhoneNumber(phoneValue);\n          const value = phoneNumber.nationalNumber;\n\n          form.setFieldsValue({\n            _phone: value,\n          });\n\n          const countryCode = phoneNumber.countryCallingCode.toString();\n          const regionCode = phoneNumber.country;\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              setCountryData(items[items.length - 1]);\n            }\n          }\n        }\n      } else {\n        const currentCountry = getCurrentCountry();\n        if (currentCountry) {\n          setCountryData(currentCountry);\n        }\n      }\n    } catch (error) {\n      // pass\n    }\n  }, [phoneValue]);\n\n  return (\n    <>\n      <style>{styles as unknown as string}</style>\n      <div className='phone-input-item-container'>\n        <Form.Item\n          className={!props.disabled || (props.disabled && props.previewMode !== 'input') ? 'hidden' : ''}\n          extra={props.extra}\n          name={props.name}\n        >\n          <Input disabled={props.disabled}></Input>\n        </Form.Item>\n        <Form.Item\n          name='_phone'\n          className={props.disabled && props.previewMode == 'input' ? 'hidden' : ''}\n          extra={props.extra}\n          // getValueFromEvent={(event) => {\n          //     return event.target.value.replace(/\\D+/g, '');\n          // }}\n          rules={[\n            {\n              required: true,\n              validator: (rule, value) => {\n                try {\n                  if (!value) {\n                    return Promise.reject(t('login.input_phone_holder'));\n                  } else {\n                    try {\n                      value = `+${countryData[2]} ${value}`;\n                      if (!isValidPhoneNumber(value)) {\n                        return Promise.reject(t('login.phone_format_error'));\n                      }\n                    } catch (error) {\n                      return Promise.reject(t('login.phone_format_error'));\n                    }\n                  }\n                } catch (error) {\n                  return Promise.reject(t('login.phone_format_error'));\n                }\n                return Promise.resolve();\n              },\n            },\n          ]}\n        >\n          <InputNumber\n            placeholder={t('account.mobile') as string}\n            disabled={props.disabled}\n            controls={false}\n            onChange={(value) => {\n              form.setFieldsValue({\n                [props.name]: `+${countryData[2]} ${value}`,\n              });\n            }}\n            onFocus={() => {\n              document.querySelector('.ant-input-number-group-wrapper')?.setAttribute('data-focus', 'true');\n            }}\n            onBlur={() => {\n              document.querySelector('.ant-input-number-group-wrapper')?.setAttribute('data-focus', 'false');\n            }}\n            addonBefore={\n              <div className='country-box phone' ref={forItemRef}>\n                <div\n                  className='prefix-wrap'\n                  onClick={() => {\n                    if (!props.disabled) {\n                      setVisbSelectCountry(!visbSelectCountry);\n                      setTimeout(() => {\n                        searchInputRef.current?.focus();\n                      });\n                    }\n                  }}\n                  ref={clickRef}\n                >\n                  <div className='account-select-opt'>\n                    <div className='account-select-icon'>{getUnicodeFlagIcon(`${countryData[1]}`)}</div>\n                    <DownOutlined className='down-more' />\n                  </div>\n                  <span>+{countryData[2]}</span>\n                </div>\n\n                {visbSelectCountry && (\n                  <div className='account-select-country-list '>\n                    <div\n                      className='account-select-country-item search-input-wrap'\n                      onClick={(e) => {\n                        e.stopPropagation();\n                      }}\n                    >\n                      <Input\n                        ref={searchInputRef}\n                        className='search-input'\n                        type='text'\n                        placeholder={t('login.search_country_holder') as string}\n                        allowClear\n                        onChange={(e) => {\n                          const value = e?.target?.value || '';\n                          setSearchValue(value);\n                        }}\n                      />\n                    </div>\n                    {countriesList && !!countriesList.length ? (\n                      <div className='p-country-list'>\n                        {countriesList.map((item, index) => (\n                          <div\n                            key={`${item[0]}-${item[1]}-${item[2]}`}\n                            className='account-select-country-item'\n                            onClick={() => {\n                              setCountryData(item);\n                              setVisbSelectCountry(false);\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                      </div>\n                    ) : (\n                      <div className='no-data'>No data</div>\n                    )}\n                  </div>\n                )}\n              </div>\n            }\n          />\n        </Form.Item>\n      </div>\n    </>\n  );\n};\n\nexport default PhoneInputItem;\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,UAAU,sCAAsC;AACzD,SAAS,YAAY,qBAAqB;AAC1C,SAAS,QAAQ,QAAAA,OAAM,SAAAC,QAAO,aAAa;AAC3C,SAAS,oBAAAC,yBAAwB;AACjC,OAAOC,UAAS,aAAAC,YAAW,WAAAC,UAAS,YAAAC,iBAAgB;;;ACJpD,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAE7B,SAAS,MAAM,OAAO,mBAAmB;AACzC,OAAO,wBAAwB;AAC/B,SAAS,oBAAoB,wBAAwB;AACrD,OAAO,SAAS,WAAW,SAAS,QAAQ,gBAAgB;;;;;;AAY5D,IAAM,iBAAiB,CAAC,UAAkB;AACxC,QAAM,OAAO,MAAM;AACnB,QAAM,aAAa,KAAK,SAAS,MAAM,MAAM,IAAI;AACjD,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,CAAC,iBAAiB,MAAM,GAAG,CAAC;AAC3E,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,CAAC,mBAAmB,oBAAoB,IAAI,SAAS,KAAK;AAChE,QAAM,WAAW,OAAY;AAC7B,QAAM,aAAa,OAAY;AAC/B,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,EAAE;AACjD,QAAM,iBAAiB,OAAY;AACnC,QAAM,gBAAgB,QAAQ,MAAM;AAClC,WAAO,qBAAqB,OAAO,CAAC,SAAS;AAC3C,aAAO,KAAK,KAAK,GAAG,EAAE,YAAY,EAAE,SAAS,YAAY,YAAY,CAAC;AAAA,IACxE,CAAC;AAAA,EACH,GAAG,CAAC,WAAW,CAAC;AAEhB,eAAa,MAAM;AACjB,yBAAqB,KAAK;AAAA,EAC5B,GAAG,QAAQ;AAEX,YAAU,MAAM;AACd,QAAI,mBAAmB;AACrB,qBAAe,EAAE;AAAA,IACnB;AAAA,EACF,GAAG,CAAC,iBAAiB,CAAC;AAEtB,YAAU,MAAM;AACd,QAAI,yCAAY,SAAS,MAAM;AAC7B;AAAA,IACF;AACA,UAAM,cAAc,IAAI,YAAY;AACpC,UAAM,SAAS,cAAc,IAAI,QAAQ,UAAU,EAAE,EAAE,KAAK;AAC5D,SAAK,eAAe;AAAA,MAClB,CAAC,MAAM,OAAO,GAAG,eAAe;AAAA,IAClC,CAAC;AACD,QAAI,OAAO;AACT,WAAK,eAAe,CAAC,QAAQ,CAAC;AAAA,IAChC;AAAA,EACF,GAAG,CAAC,aAAa,UAAU,CAAC;AAE5B,YAAU,MAAM;AA1DlB;AA2DI,QAAI;AACF,WAAI,8CAAY,aAAZ,oCAAuB,MAAM;AAC/B,aAAK,eAAe;AAAA,UAClB,QAAQ;AAAA,QACV,CAAC;AAAA,MACH,WAAW,YAAY;AACrB,YAAI,mBAAmB,UAAU,GAAG;AAClC,gBAAM,cAAc,iBAAiB,UAAU;AAC/C,gBAAM,QAAQ,YAAY;AAE1B,eAAK,eAAe;AAAA,YAClB,QAAQ;AAAA,UACV,CAAC;AAED,gBAAM,cAAc,YAAY,mBAAmB,SAAS;AAC5D,gBAAM,aAAa,YAAY;AAE/B,cAAI,eAAe,YAAY;AAC7B,kBAAM,QAAQ,qBAAqB;AAAA,cACjC,CAAC,SAAS,KAAK,GAAG,SAAS,MAAM,eAAe,KAAK,GAAG,YAAY,MAAM,WAAW,YAAY;AAAA,YACnG;AACA,gBAAI,SAAS,MAAM,SAAS,GAAG;AAC7B,6BAAe,MAAM,MAAM,SAAS,EAAE;AAAA,YACxC;AAAA,UACF;AAAA,QACF;AAAA,MACF,OAAO;AACL,cAAM,iBAAiB,kBAAkB;AACzC,YAAI,gBAAgB;AAClB,yBAAe,cAAc;AAAA,QAC/B;AAAA,MACF;AAAA,IACF,SAAS,OAAP;AAAA,IAEF;AAAA,EACF,GAAG,CAAC,UAAU,CAAC;AAEf,SACE,0DACE,oCAAC,eAAO,sBAA4B,GACpC,oCAAC,SAAI,WAAU,gCACb;AAAA,IAAC,KAAK;AAAA,IAAL;AAAA,MACC,WAAW,CAAC,MAAM,YAAa,MAAM,YAAY,MAAM,gBAAgB,UAAW,WAAW;AAAA,MAC7F,OAAO,MAAM;AAAA,MACb,MAAM,MAAM;AAAA;AAAA,IAEZ,oCAAC,SAAM,UAAU,MAAM,UAAU;AAAA,EACnC,GACA;AAAA,IAAC,KAAK;AAAA,IAAL;AAAA,MACC,MAAK;AAAA,MACL,WAAW,MAAM,YAAY,MAAM,eAAe,UAAU,WAAW;AAAA,MACvE,OAAO,MAAM;AAAA,MAIb,OAAO;AAAA,QACL;AAAA,UACE,UAAU;AAAA,UACV,WAAW,CAAC,MAAM,UAAU;AAC1B,gBAAI;AACF,kBAAI,CAAC,OAAO;AACV,uBAAO,QAAQ,OAAO,EAAE,0BAA0B,CAAC;AAAA,cACrD,OAAO;AACL,oBAAI;AACF,0BAAQ,IAAI,YAAY,MAAM;AAC9B,sBAAI,CAAC,mBAAmB,KAAK,GAAG;AAC9B,2BAAO,QAAQ,OAAO,EAAE,0BAA0B,CAAC;AAAA,kBACrD;AAAA,gBACF,SAAS,OAAP;AACA,yBAAO,QAAQ,OAAO,EAAE,0BAA0B,CAAC;AAAA,gBACrD;AAAA,cACF;AAAA,YACF,SAAS,OAAP;AACA,qBAAO,QAAQ,OAAO,EAAE,0BAA0B,CAAC;AAAA,YACrD;AACA,mBAAO,QAAQ,QAAQ;AAAA,UACzB;AAAA,QACF;AAAA,MACF;AAAA;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa,EAAE,gBAAgB;AAAA,QAC/B,UAAU,MAAM;AAAA,QAChB,UAAU;AAAA,QACV,UAAU,CAAC,UAAU;AACnB,eAAK,eAAe;AAAA,YAClB,CAAC,MAAM,OAAO,IAAI,YAAY,MAAM;AAAA,UACtC,CAAC;AAAA,QACH;AAAA,QACA,SAAS,MAAM;AApJ3B;AAqJc,yBAAS,cAAc,iCAAiC,MAAxD,mBAA2D,aAAa,cAAc;AAAA,QACxF;AAAA,QACA,QAAQ,MAAM;AAvJ1B;AAwJc,yBAAS,cAAc,iCAAiC,MAAxD,mBAA2D,aAAa,cAAc;AAAA,QACxF;AAAA,QACA,aACE,oCAAC,SAAI,WAAU,qBAAoB,KAAK,cACtC;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,kBAAI,CAAC,MAAM,UAAU;AACnB,qCAAqB,CAAC,iBAAiB;AACvC,2BAAW,MAAM;AAjKvC;AAkKwB,uCAAe,YAAf,mBAAwB;AAAA,gBAC1B,CAAC;AAAA,cACH;AAAA,YACF;AAAA,YACA,KAAK;AAAA;AAAA,UAEL,oCAAC,SAAI,WAAU,wBACb,oCAAC,SAAI,WAAU,yBAAuB,mBAAmB,GAAG,YAAY,IAAI,CAAE,GAC9E,oCAAC,gBAAa,WAAU,aAAY,CACtC;AAAA,UACA,oCAAC,cAAK,KAAE,YAAY,EAAG;AAAA,QACzB,GAEC,qBACC,oCAAC,SAAI,WAAU,kCACb;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,CAAC,MAAM;AACd,gBAAE,gBAAgB;AAAA,YACpB;AAAA;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACC,KAAK;AAAA,cACL,WAAU;AAAA,cACV,MAAK;AAAA,cACL,aAAa,EAAE,6BAA6B;AAAA,cAC5C,YAAU;AAAA,cACV,UAAU,CAAC,MAAM;AA7LzC;AA8L0B,sBAAM,UAAQ,4BAAG,WAAH,mBAAW,UAAS;AAClC,+BAAe,KAAK;AAAA,cACtB;AAAA;AAAA,UACF;AAAA,QACF,GACC,iBAAiB,CAAC,CAAC,cAAc,SAChC,oCAAC,SAAI,WAAU,oBACZ,cAAc,IAAI,CAAC,MAAM,UACxB;AAAA,UAAC;AAAA;AAAA,YACC,KAAK,GAAG,KAAK,MAAM,KAAK,MAAM,KAAK;AAAA,YACnC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,6BAAe,IAAI;AACnB,mCAAqB,KAAK;AAAA,YAC5B;AAAA;AAAA,UAEA,oCAAC,SAAI,WAAU,iBACb,oCAAC,SAAI,WAAU,kBAAgB,mBAAmB,GAAG,KAAK,IAAI,CAAE,GAChE,oCAAC,UAAK,WAAU,kBAAgB,KAAK,EAAG,CAC1C;AAAA,UACA,oCAAC,SAAI,WAAU,kBAAgB,MAAM,KAAK,EAAG;AAAA,QAC/C,CACD,CACH,IAEA,oCAAC,SAAI,WAAU,aAAU,SAAO,CAEpC,CAEJ;AAAA;AAAA,IAEJ;AAAA,EACF,CACF,CACF;AAEJ;AAEA,IAAOC,0BAAQ;;;;;;ADtMf,IAAM,mBAAmB,CAAC,UAAe;AACvC,QAAM,QAAQ;AACd,QAAM,YAAY,+BAAkB,aAAY;AAChD,QAAM,eAAe,+BAAkB,gBAAe;AACtD,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,CAAC,IAAI,IAAIC,MAAK,QAAQ;AAC5B,QAAM,WAAW,kBAAkB;AACnC,QAAM,UAAU,mBAAW;AAC3B,QAAM,EAAE,SAAS,IAAI,YAAY;AACjC,QAAM,EAAE,0BAA0B,IAAI,gBAAgB;AACtD,QAAM,CAAC,eAAe,gBAAgB,IAAIC,UAAS,KAAK;AACxD,QAAM,EAAE,UAAU,0BAA0B,IAAI,WAAW,gCAAgC;AAAA,IACzF,QAAQ;AAAA,EACV,CAAC;AACD,QAAM,EAAE,cAAc,IAAI,iBAAiB;AAC3C,QAAM,cAAcC,SAAQ,MAAM;AAChC,WAAO,eAAe,EAAE,UAAU,EAAE,CAAC;AAAA,EACvC,GAAG,CAAC,UAAU,CAAC,CAAC;AAEhB,QAAM,cAA4BA,SAAQ,MAAM;AAjDlD;AAkDI,UAAM,SAAQ,gDAAa,SAAb,qCAAoB,CAAC,SAAS,KAAK,SAAS,cAAa,CAAC;AACxE,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,QAAQ,CAAC;AAK1B,QAAM,UAAUA,SAAQ,MAAM;AAC5B,WAAO,CAAC,YAAY,SAAS,CAAC,YAAY;AAAA,EAC5C,GAAG,CAAC,WAAW,CAAC;AAMhB,QAAM,YAAYA,SAAQ,MAAM;AAC9B,WAAO,CAAC,YAAY,cAAc,CAAC;AAAA,EACrC,GAAG,CAAC,WAAW,CAAC;AAEhB,QAAM,mBAAmB,MAAM;AAC7B,SAAK,eAAe,EAAE,KAAK,CAAC,WAAW;AAtE3C;AAuEM,YAAM,qBAA2B,4BAAK,eAAe,MAApB,mBAAuB,eAAvB,mBAAmC,QAAQ,OAAO,QAAlD,mBAAuD,SAAvD,gCAAmE;AACpG,uBAAiB,IAAI;AAErB,UAAI,aAAa,aAAW,0CAAU,qBAAV,mBAA4B,WAAU,kBAAkB;AAClF,cAAM,MAAM;AAAA,UACV,OAAO,EAAE,+BAA+B;AAAA,UACxC,eAAe;AAAA,UACf,cAAc,MAAM;AAClB,mBAAO,cAAc;AAAA,UACvB;AAAA,QACF,CAAC;AACD,yBAAiB,KAAK;AACtB;AAAA,MACF,WACE,aAAa,aACb,gDAAU,qBAAV,mBAA4B,UAA5B,mBAAmC,oBAAkB,qDAAkB,gBACvE;AACA,cAAM,MAAM;AAAA,UACV,OAAO,EAAE,8BAA8B;AAAA,UACvC,eAAe;AAAA,UACf,cAAc,MAAM;AAClB,mBAAO,cAAc;AAAA,UACvB;AAAA,QACF,CAAC;AACD,yBAAiB,KAAK;AACtB;AAAA,MACF;AAEA,YAAM,SAAc,CAAC;AACrB,UAAI,aAAa,SAAS,OAAO;AAC/B,eAAO,QAAQ;AAAA,MACjB,OAAO;AACL,eAAO,QAAQ;AAAA,MACjB;AACA,gCAA0B,MAAM,EAC7B,KAAK,CAAC,QAAQ;AACb,iBAAS,mBAAmB;AAAA,UAC1B,OAAO;AAAA,YACL,SAAS;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF,CAAC;AACD,yBAAiB,KAAK;AAAA,MACxB,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,yBAAiB,KAAK;AACtB,YAAI,MAAM,eAAe,OAAO;AAC9B,gBAAM,MAAM;AAAA,YACV,OAAO,aAAa,SAAS,QAAQ,EAAE,0BAA0B,IAAI,EAAE,0BAA0B;AAAA,YACjG,eAAe;AAAA,YACf,cAAc,MAAM;AAClB,qBAAO,cAAc;AAAA,YACvB;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,kBAAQ,MAAM,MAAM,OAAO;AAAA,QAC7B;AAAA,MACF,CAAC;AAAA,IACL,CAAC;AAAA,EACH;AAEA,QAAM,EAAE,KAAK,gBAAgB,IAAI;AAAA,IAC/B,CAAC,WAAW;AACV,eAAS,mBAAmB;AAAA,QAC1B,OAAO;AAAA,UACL,SAAS,OAAO;AAAA,UAChB;AAAA,UACA,eAAe,KAAK,cAAc,YAAY;AAAA,UAC9C;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,EAAE,MAAM,IAAK;AAAA,EACf;AAEA,QAAM,qBAAqB,MAAM;AApJnC;AAsJI,UAAI,0CAAU,qBAAV,mBAA4B,YAAS,0CAAU,qBAAV,mBAA4B,QAAO;AAC1E,gCAA0B,MAAM;AAAA,QAC9B;AAAA,QACA,eAAe,KAAK,cAAc,YAAY;AAAA,QAC9C;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,sBAAgB;AAAA,QACd,WAAS,0CAAU,qBAAV,mBAA4B,YAAS,0CAAU,qBAAV,mBAA4B;AAAA,MAC5E,CAAC;AAAA,IACH;AAAA,EACF;AAEA,EAAAC,WAAU,MAAM;AACd,SAAI,2CAAa,WAAS,2CAAa,KAAI;AACzC,UAAI,aAAa,SAAS,OAAO;AAC/B,cAAM,cAAcC,kBAAiB,2CAAa,MAAM,QAAQ,OAAO,GAAG;AAC1E,cAAM,cAAc,YAAY;AAChC,cAAM,iBAAiB,YAAY;AACnC,aAAK,eAAe;AAAA,UAClB,YAAY,aAAa,IAAI,eAAe,gBAAgB;AAAA,QAC9D,CAAC;AAAA,MACH,OAAO;AACL,aAAK,eAAe;AAAA,UAClB,YAAY,cAAa,2CAAa,WAAS,2CAAa,OAAM,EAAE;AAAA,QACtE,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF,GAAG,CAAC,2CAAa,OAAO,2CAAa,IAAI,QAAQ,CAAC;AAElD,SACE,gBAAAC,OAAA,cAAC,SAAI,WAAU,yBACb,gBAAAA,OAAA,cAAC,eAAO,wBAA4B,GACpC,gBAAAA,OAAA,cAAC,kBAAO,gBAAgB,QAAO,YAAY,IAAK,GAChD,gBAAAA,OAAA,cAACL,OAAA,EAAK,WAAU,qBAAoB,QAAO,YAAW,MAAY,UAAU,oBACzE,aAAa,SAAS,QACrB,gBAAAK,OAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA,UAAU,CAAC;AAAA,MACX,aAAY;AAAA,MACZ,OAAO,gBAAAD,OAAA,cAAC,SAAI,WAAU,uBAAqB,EAAE,uBAAuB,EAAE,OAAO,YAAY,IAAI,CAAE;AAAA;AAAA,EACjG,IAEA,gBAAAA,OAAA;AAAA,IAACL,MAAK;AAAA,IAAL;AAAA,MACC,MAAK;AAAA,MACL,iBAAgB;AAAA,MAChB,OAAO,gBAAAK,OAAA,cAAC,SAAI,WAAU,uBAAqB,EAAE,uBAAuB,EAAE,OAAO,YAAY,IAAI,CAAE;AAAA,MAC/F,OAAO;AAAA,QACL;AAAA,UACE,UAAU;AAAA,UACV,WAAW,OAAO,MAAM,UAAU;AAChC,gBAAI,CAAC,OAAO;AACV,qBAAO,QAAQ,OAAO,EAAE,2BAA2B,CAAC;AAAA,YACtD,WAAW,CAAC,YAAY,KAAK,KAAK,GAAG;AACnC,qBAAO,QAAQ,OAAO,EAAE,0BAA0B,CAAC;AAAA,YACrD;AACA,mBAAO,QAAQ,QAAQ;AAAA,UACzB;AAAA,QACF;AAAA,MACF;AAAA;AAAA,IAEA,gBAAAA,OAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,aAAa,YAAY;AAAA,QACzB,UAAU,CAAC;AAAA,QACX,UAAU,CAAC,MACT,KAAK,UAAU;AAAA,UACb;AAAA,YACE,MAAM;AAAA,YACN,OAAO,EAAE,OAAO;AAAA,YAChB,QAAQ,CAAC;AAAA,UACX;AAAA,QACF,CAAC;AAAA;AAAA,IAEL;AAAA,EACF,GAGF,gBAAAF,OAAA,cAACL,MAAK,MAAL,MACE,UACC,gBAAAK,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MAEV,SAAS;AAAA,MACT,UAAS;AAAA;AAAA,IAER,EAAE,cAAc;AAAA,EACnB,IAEA,gBAAAA,OAAA,cAAAA,OAAA,cAAE,CAWN,CACF,GACA,gBAAAA,OAAA,cAAC,0BAAY,CACf;AAEJ;AAEA,IAAOG,4BAAQ;",
  "names": ["Form", "Input", "parsePhoneNumber", "React", "useEffect", "useMemo", "useState", "phoneInputItem_default", "Form", "useState", "useMemo", "useEffect", "parsePhoneNumber", "React", "phoneInputItem_default", "Input", "loginAccountBind_default"]
}
