UNPKG

@particle-network/auth-core-modal

Version:

Auth Core provides MPC (Multi-Party Computation)-based threshold signatures.

502 lines (501 loc) 33 kB
"use client"; import{a as le}from"./chunk-TX7RTUXA.js";import{a as Ee}from"./chunk-AB2T2SL2.js";import{a as Se}from"./chunk-FZ52HJ5J.js";import{a as ae}from"./chunk-YBOB65TJ.js";import{b as ie}from"./chunk-S7NKTA7D.js";import{a as _e}from"./chunk-6XLKFNW7.js";import{C as ne,H as re,g as xe,h as be,i as ue,j as ye,k as ve,l as we,m as Ce,n as Te,o as Ne,p as ke,q as de,qa as Pe,r as Ie,s as Ae,ta as se,u as te,w as he,x as Le}from"./chunk-E4XMQAPX.js";import"./chunk-L535NPP3.js";import{LoadingOutlined as ko}from"@ant-design/icons";import{AuthType as a,getConnectCaptcha as Io,isNullish as Ao,requireNotNullish as Lo}from"@particle-network/auth-core";import{Image as _o}from"antd";import y,{useEffect as fe,useMemo as Eo,useState as K}from"react";import{useTranslation as So}from"react-i18next";var ce="data:image/png;base64,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";import{ApiError as Me,getCloudflareTurnstileResponse as Ke,isApiError as Ze}from"@particle-network/auth-core";import{useInterval as Re}from"ahooks";import{Button as Fe}from"antd";import eo from"lodash/throttle.js";import L,{useCallback as oo,useEffect as to,useMemo as no,useRef as io,useState as D}from"react";import{useTranslation as ro}from"react-i18next";var je=`.captcha-box { text-align: center; } .captcha-box .error-tip { position: absolute; left: calc((100% - 316px) / 2); text-align: left; margin-top: 5px; font-weight: 400; font-size: 12px; line-height: 19px; color: var(--error-color); width: 100%; } .captcha-box .get-btn { width: 316px; padding: 0; margin-top: 14px; border: none; font-weight: 400; font-size: 16px; line-height: 19px; color: var(--text-color); background-color: transparent !important; box-shadow: none; } .captcha-box .get-btn[disabled] { font-weight: 400 !important; color: var(--secondary-text-color); opacity: 1 !important; } @media (max-width: 380px) { .captcha-box .get-btn { width: 90vw; } } @media (min-width: 600px) { .captcha-box .get-btn { width: calc(90 * var(--vw)); } } .captcha-box .submit-btn { width: 322px; margin-top: 38px; } .captcha-box .btn-box { display: flex; flex-direction: column; align-items: center; } .captcha-box .back-box { position: relative; left: -4px; display: flex; justify-content: center; align-items: center; height: 19px; margin-top: 60px; margin-bottom: 30px; font-weight: 400; font-size: 16px; line-height: 19px; color: var(--accent-color); cursor: pointer; gap: 8px; } .captcha-box .back-box img { width: 9.42px; margin-right: 7px; } .captcha-box .back-box svg { position: relative; top: -1px; color: var(--accent-color); } .captcha-box .captcha-title { position: absolute; top: 14px; left: 0; right: 0; font-weight: 600; font-size: 18px; text-align: center; color: var(--text-color); } .captcha-box .captcha-form { padding-top: 44px; max-width: 316px; margin: auto; } .captcha-box .captcha-form .input-code-content { position: relative; } `;function ao(B){let{sendCaptcha:l,setShowInputCaptcha:v,account:x,loginWithAccount:i,chain:s}=B,[C,N]=D(!1),{themeType:_,language:u}=re(),[E,d]=D(""),{loginHandler:k}=ne(),[p,h]=D(!1),[S,r]=D(!1),[T,b]=D(!1),[I,j]=D(!1),[M,W]=D(!1),{authCoreModal:O}=se(),{t:P}=ro(),$=ae(),J=io(null),H=/^\d{6}$/,[U,z]=D(1e3),[F,o]=D(60);Re(()=>{if(F>0){let t=F-1;o(t),t===0&&z(void 0)}},U);let m=()=>{o(60),z(1e3)},g=()=>{x.includes("@")?e({email:x}):Ke({theme:_,language:u,getContainer:()=>O.rootBody}).then(t=>{e({phone:x,cf_turnstile_response:t})}).catch(()=>{$.error(P("error.server_20112"))})},e=t=>{l(t).then(()=>{m(),W(!1),j(!1)}).catch(()=>{o(0),z(void 0)})},n=t=>{r(!1);let f=t,Y=/^[0-9]+$/g;f.length===0?(r(!1),h(!0)):Y.test(f)?(h(!1),r(!1)):(h(!1),r(!0))},A=t=>{h(!1),r(!1),b(!1),t=t||E,!(p||S)&&(H.test(t)?X(t):((t.length>0&&t.length<6||!H.test(t))&&(r(!0),h(!1)),t.length===0&&(r(!1),h(!0))))},Z=async t=>{if(I)return;N(!0);let f;x.includes("@")?f={code:t,email:x,chain:s}:f={code:t,phone:x,chain:s};try{await k(f,!1)}catch(Y){R(Y)}},R=t=>{if(N(!1),Ze(t)){let f=t.error_code;f===Me.InvalidCode?b(!0):f===Me.ResendCode&&(j(!0),W(!0))}},ee=t=>{n(t),d(t),h(!1),r(!1),b(!1),j(!1),H.test(t)&&X(t)},X=oo(eo(t=>{Z(t)},1e3,{leading:!0,trailing:!1}),[]),Ye=()=>{var f;(f=document.getElementsByClassName("input-code-item")[Math.min(E.length,5)])==null||f.focus()},Qe=no(()=>{let t=[p?P("login.enter_captcha"):"",S?P("login.captcha_input_error"):"",T?P("login.invalid_code"):"",I?P("login.please_send_again"):""].map(f=>f.trim()).filter(f=>!!f).join(",");return t.includes(",")?t+".":t},[p,S,T,I]);return to(()=>{var Y;let t=document.getElementsByClassName("react-input-code"),f=oe=>oe.preventDefault();return(Y=t[0])==null||Y.addEventListener("contextmenu",f),()=>{var oe;(oe=t[0])==null||oe.removeEventListener("contextmenu",f)}},[]),L.createElement("div",{className:"captcha-box"},L.createElement("style",null,je),L.createElement("div",{className:"captcha-form"},L.createElement("div",{className:"input-code-content"},L.createElement("div",{onClick:Ye},L.createElement(Ee,{containerClassName:"react-input-code",inputClassName:"input-code-item",allowedCharacters:"numeric",length:6,ref:J,placeholder:" ",onChange:ee})))),L.createElement("div",{className:"error-tip"},Qe),L.createElement("div",{className:"btn-box"},L.createElement(Fe,{type:"primary",htmlType:"submit",className:"primary-antd-btn submit-btn",onClick:()=>A(),disabled:M,loading:C},P("common.confirm")),L.createElement(Fe,{className:"get-btn",disabled:F>0,type:"link",onClick:g},P("login.send_again")," ",F>0?`(${F}s)`:""),!i&&L.createElement("div",{className:"back-box",onClick:()=>{v(!1)}},L.createElement(ie,{className:"arrow1-icon",name:"arrow1_icon"}),L.createElement("span",null,P("login.back")))))}var Be=ao;import{Button as so,Form as pe,Input as co}from"antd";import w,{useEffect as po,useRef as De,useState as ge}from"react";import{useTranslation as mo}from"react-i18next";var Q=`.login-style .form-item { margin-bottom: 0; } .login-header0 { display: flex; justify-content: center; align-items: center; width: 100%; height: 26px; margin-top: 26px; font-weight: 600; font-size: 22px; line-height: 22px; text-align: center; color: var(--text-color); } .login-header0 img { position: absolute; left: 0; margin-left: 16px; } @media (max-height: 610px) { .login-header0 { margin-top: 18px; } } .login-des { width: 100%; height: 23px; margin-top: 7px; font-weight: 400; font-size: 16px; line-height: 19px; text-align: center; color: var(--secondary-text-color); } .form-box { display: flex; flex-direction: column; align-items: center; width: 100%; padding-top: 44px; } .form-box .ant-form-item-explain-error { position: absolute; } .form-box .form-item { display: flex; flex-direction: column; width: 100%; text-align: center; } .form-box .email-box { width: 316px; max-width: 90vw; height: 47px; line-height: 47px; display: flex; justify-content: center; align-items: center; background-color: var(--input-background-color); border-radius: var(--primary-btn-border-radius); font-size: 15px; border: 1px solid var(--input-background-color); overflow: hidden; } @media (min-width: 600px) { .form-box .email-box { max-width: calc(90 * var(--vw)); } } .form-box .email-box[data-focus='true'] { border: 1px solid var(--accent-color); } .form-box .email-box .email-input { width: 316px; max-width: 90vw; height: 47px; padding: 4px 13px; border: 1px solid var(--input-background-color); border-radius: var(--primary-btn-border-radius); font-size: 15px; line-height: 47px; color: var(--text-color); background-color: var(--input-background-color); } @media (min-width: 600px) { .form-box .email-box .email-input { max-width: calc(90 * var(--vw)); } } .form-box .phone-box { display: flex; justify-content: center; align-items: center; width: 316px; max-width: 90vw; height: 47px; border: 1px solid var(--input-background-color); border-radius: var(--primary-btn-border-radius); overflow: hidden; font-size: 15px; line-height: 47px; background-color: var(--input-background-color); } .form-box .phone-box[data-focus='true'] { border: 1px solid var(--accent-color); } .form-box .phone-box .phone-select { display: flex; flex-shrink: 0; justify-content: center; align-items: center; width: 60px; height: 47px; padding-left: 8px; font-weight: 500; font-size: 15px; color: var(--text-color); cursor: pointer; border-right: 1px solid var(--input-border-color); } .form-box .phone-box .phone-select .down-more { margin-left: 8px; font-size: 10px; } .form-box .phone-box .country-code { display: flex; flex-shrink: 0; align-items: center; height: 47px; margin: 0 8px; line-height: 47px; color: var(--text-color); } .form-box .phone-box .phone-input { flex-shrink: 1; width: 100%; height: 47px; padding: 0; border: none !important; border-radius: 0; outline: none; font-size: 15px; line-height: 47px; color: var(--text-color); background-color: transparent; box-shadow: none; } .form-box .phone-box .phone-input:focus { border: none !important; box-shadow: none !important; } @media (min-width: 600px) { .form-box .phone-box { max-width: calc(90 * var(--vw)); } } .form-box .phone-input, .form-box .email-input { height: 37px; line-height: 37px; width: 85%; overflow: hidden; border-color: var(--input-background-color) !important; } .form-box .phone-input:-webkit-autofill, .form-box .email-input:-webkit-autofill, .form-box .phone-input:-webkit-autofill:hover, .form-box .email-input:-webkit-autofill:hover, .form-box .phone-input:-webkit-autofill:focus, .form-box .email-input:-webkit-autofill:focus { -webkit-text-fill-color: var(--text-color) !important; -webkit-box-shadow: 0 0 0 150px var(--input-background-color) inset !important; } .form-box .phone-input::-ms-reveal, .form-box .email-input::-ms-reveal, .form-box .phone-input::-ms-clear, .form-box .email-input::-ms-clear { display: none; } .form-box .phone-input:focus, .form-box .email-input:focus { color: var(--text-color, #000) !important; border-color: var(--input-background-color) !important; } .form-box .error-tip { position: absolute; margin-top: 51px; font-weight: 400; font-size: 12px; line-height: 19px; color: var(--error-color); width: 316px; left: calc((100% - 316px) / 2); text-align: left; } .form-box .submit-btn { width: 316px; max-width: 90vw; margin-top: 35px; } @media (min-width: 600px) { .form-box .submit-btn { max-width: calc(90 * var(--vw)); } } @media (max-height: 610px) { .form-box { padding-top: 20px; } } .login-or { display: flex; justify-content: center; align-items: center; width: 100%; height: 13px; margin: 35px 0; font-weight: 500; font-size: 11px; line-height: 22px; white-space: nowrap; color: var(--secondary-text-color); gap: 15px; } .login-or .or-line { width: 143px; border-top: 1px solid var(--icon-border-color); } @media (max-height: 610px) { .login-or { margin: 18px 0; } } .change-login-mode { display: flex; justify-content: center; width: 100%; } .change-login-mode .change-social { display: flex; flex-wrap: wrap; justify-content: center; width: 315px; height: 106px; } .change-login-mode .change-social .first-way { margin: 5px 10px; } .change-login-mode .change-social img { width: 43px; height: 43px; margin: 5px 10px; border: 1px solid var(--icon-border-color); border-radius: 50%; background: #fff; cursor: pointer; } .change-login-mode .change-social img:hover { opacity: var(--hover-opacity); } .change-login-mode .change-social .collapse-login-icon { display: flex; justify-content: center; align-items: center; width: 43px; height: 43px; margin: 5px 10px; border-radius: 50%; font-size: 24px; color: grey; transform: rotate(180deg); cursor: pointer; } .change-login-mode .change-social .collapse-login-icon[data-is-collapse='false'] { transform: rotate(0deg); } .change-login-mode .change-social .collapse-login-icon svg { width: 43px; height: 43px; color: #b4b6c6; } .change-login-mode .change-social .collapse-login-icon svg circle { fill: var(--bg-color-2); } .change-login-mode .change-social .collapse-login-icon:hover { opacity: var(--hover-opacity); } .select-country { position: absolute; z-index: 1000; width: 316px; max-width: 90vw; height: 291px; margin-top: 96px; left: 50%; transform: translateX(-50%); margin-left: 0; border: 0; border: 1px solid var(--input-background-color); border-radius: var(--card-border-radius); overflow: auto; overflow-x: hidden; background-color: var(--input-background-color); } .select-country::-webkit-scrollbar { display: none; width: 0; } .select-country .country-item { display: flex; justify-content: space-between; align-items: center; width: 100%; height: 46px; border-bottom: 1px solid var(--card-unclickable-background-color); cursor: pointer; } .select-country .country-item:hover { background-color: var(--card-unclickable-background-color); } .select-country .country-item .country-box { display: flex; align-items: center; } .select-country .country-item .country-name { font-weight: 500; font-size: 14px; color: var(--text-color); } .select-country .country-item .country-code { margin-right: 15px; font-weight: 500; font-size: 14px; color: var(--secondary-text-color); } .select-country .country-item .country-flag { margin-right: 10px; margin-left: 15px; } @media (min-width: 600px) { .select-country { max-width: calc(90 * var(--vw)); } } `;function uo(B){let{t:l}=mo(),{sendCaptcha:v,setShowInputCaptcha:x,account:i,supportAuthTypes:s,loginWithAccount:C}=B,[N]=pe.useForm(),[_,u]=ge(!1),[E,d]=ge(!1),[k,p]=ge(!1),h=De(null),S=De(null);po(()=>{C&&i&&v&&(N.setFieldsValue({email:i}),r(i))},[]);let r=b=>{S.current.focus(),b?te.test(b)?T(b):u(!0):(d(!0),u(!1))},T=b=>{p(!0),v({email:b}).then(I=>{x(I)}).catch(()=>{p(!1)})};return w.createElement(w.Fragment,null,w.createElement("style",null,Q),w.createElement("div",{className:"login-style"},w.createElement(pe,{name:"login-form",onFinish:b=>r(b.email.trim()),className:"form-box",requiredMark:!1,form:N,labelCol:{style:{textAlign:"left"}}},w.createElement("div",{className:"email-box",ref:h},w.createElement(pe.Item,{name:"email",label:"",className:"form-item",initialValue:i!=null&&i.includes("@")?i:""},w.createElement(co,{className:"email-input",placeholder:l("login.email_address")||void 0,ref:S,onChange:()=>{u(!1),d(!1)},readOnly:C,onFocus:()=>{h.current.setAttribute("data-focus","true")},onBlur:()=>{h.current.removeAttribute("data-focus")}}))),w.createElement("div",{className:"error-tip"},_&&l("login.email_format_error")),w.createElement("div",{className:"error-tip"},E&&l("login.input_email_holder")),w.createElement(pe.Item,{className:"form-item"},w.createElement(so,{type:"primary",htmlType:"submit",className:"primary-antd-btn submit-btn",loading:k},l("login.get_captcha"))),!C&&s.length>0&&w.createElement("div",{className:"login-or"},w.createElement("div",{className:"or-line"}),l("login.or"),w.createElement("div",{className:"or-line"})))))}var ze=uo;import{DownOutlined as ho}from"@ant-design/icons";import{getCloudflareTurnstileResponse as go}from"@particle-network/auth-core";import{Button as fo,Form as me,Input as xo}from"antd";import He from"country-flag-icons/unicode";import{isValidPhoneNumber as Ue,parsePhoneNumber as Ve,parsePhoneNumberWithError as bo}from"libphonenumber-js/max";import c,{useEffect as qe,useRef as We,useState as G}from"react";import{useTranslation as yo}from"react-i18next";function vo(B){let{t:l}=yo(),{sendCaptcha:v,setShowInputCaptcha:x,account:i,supportAuthTypes:s,loginWithAccount:C}=B,[N,_]=G(!1),{themeType:u,language:E}=re(),[d,k]=G(["United States","us","1"]),[p]=me.useForm(),h=We(),{authCoreModal:S}=Pe(),[r,T]=G(!1),[b,I]=G(!1),[j,M]=G(!1),W=ae(),O=We(null),[P,$]=G();qe(()=>{if(N)return document.addEventListener("click",J,!0),()=>{document.removeEventListener("click",J,!0)}},[N]),qe(()=>{let o;if(i&&!i.includes("@")&&Ue(i)){let m=Ve(i),g=m.countryCallingCode.toString(),e=m.country;if(p.setFieldsValue({phone:m.nationalNumber}),g&&e){let n=le.filter(A=>A[2].toString()===g&&A[1].toLowerCase()===e.toLowerCase());n&&n.length>0&&(o=n[n.length-1])}}if(!o){let g=(navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language).split("-"),e=g.length>1?g[1]:g[0];e&&e.length>0&&(o=le.find(n=>n[1].toUpperCase()===e))}o&&k(o),C&&i&&v&&Ue(i)&&U(i,o?o[1].toUpperCase():void 0)},[]);let J=o=>{setTimeout(()=>{var m;(m=h.current)!=null&&m.contains(o.target)||_(!1)})},H=(o,m,g=!0)=>{if(!o&&g){I(!0);return}if((o==null?void 0:o.length)===1){T(!0);return}return he(o,m)?(T(!1),!0):(T(!0),!1)},U=(o,m)=>{if(O.current.focus(),!o){I(!0);return}if(o.length===1){T(!0);return}if(m||(m=d[1].toUpperCase()),he(o,m)){let g=m.toUpperCase(),e=Ve(o,g).format("E.164");$(e),M(!0),go({theme:u,language:E,getContainer:()=>S.rootBody}).then(n=>{z(n,e)}).catch(()=>{M(!1),W.error(l("error.server_20112"))})}else T(!0)},z=(o,m)=>{M(!0),v({phone:m,cf_turnstile_response:o}).then(g=>{x(g)}).catch(()=>{M(!1)})},F=()=>{try{if(i!=null&&i.includes("@"))return"";if((i==null?void 0:i.length)>0)return bo(i).nationalNumber}catch{}return""};return c.createElement(c.Fragment,null,c.createElement("style",null,Q),c.createElement("div",{className:"login-style"},N&&c.createElement("div",{className:"select-country",ref:h},le.map((o,m)=>c.createElement("div",{key:m,className:"country-item",onClick:()=>{k(o),_(!1),setTimeout(()=>{let g=p.getFieldsValue().phone;g&&H(g,o[1].toUpperCase(),!1)})}},c.createElement("div",{className:"country-box"},c.createElement("div",{className:"country-flag"},He(`${o[1]}`)),c.createElement("span",{className:"country-name"},o[0])),c.createElement("div",{className:"country-code"},"+"+o[2])))),c.createElement(me,{name:"login-form",onFinish:o=>U(o.phone,void 0),className:"form-box",requiredMark:!1,form:p,labelCol:{style:{textAlign:"left"}}},c.createElement("div",{className:"phone-box"},c.createElement("div",{className:"phone-select",defaultValue:`+${d[2]}`,onClick:()=>{j||_(!0)}},He(`${d[1]}`),c.createElement(ho,{className:"down-more"})),c.createElement("div",{className:"country-code"},"+",d[2]),c.createElement(me.Item,{name:"phone",label:"",className:"form-item",getValueFromEvent:o=>o.target.value.replace(/\D+/g,""),initialValue:F()},c.createElement(xo,{type:"text",className:"phone-input",placeholder:l("login.mobile_number")||void 0,ref:O,onChange:()=>{T(!1),I(!1)},readOnly:C,onFocus:()=>{var o;(o=document.querySelector(".phone-box"))==null||o.setAttribute("data-focus","true")},onBlur:()=>{var o;(o=document.querySelector(".phone-box"))==null||o.removeAttribute("data-focus")}}))),c.createElement("div",{className:"error-tip"},r&&l("login.phone_format_error")),c.createElement("div",{className:"error-tip"},b&&l("login.input_phone_holder")),c.createElement(me.Item,{className:"form-item"},c.createElement(fo,{type:"primary",htmlType:"submit",className:"primary-antd-btn submit-btn",loading:j},l("login.get_captcha")))),!C&&s.length>0&&c.createElement("div",{className:"login-or"},c.createElement("div",{className:"or-line"}),l("login.or"),c.createElement("div",{className:"or-line"}))))}var Oe=vo;import{AuthType as V}from"@particle-network/auth-core";import q,{useMemo as wo,useState as Co}from"react";var To=B=>{let{supportAuthTypes:l,preferredAuthType:v,onPreferredAuthTypeChange:x,thirdpartyAuthLogin:i}=B,[s,C]=Co(!0),N=d=>{i(d)},_=d=>{x==null||x(d)},u={email:ue,phone:de,facebook:ye,google:we,apple:xe,twitter:Ae,discord:be,github:ve,twitch:Ie,microsoft:Ne,linkedin:Te,jwt:Ce,telegram:Se,passkeys:ke},E=wo(()=>{let d=l,k=d.includes(V.email)&&d.includes(V.phone),p=[];k&&(v===V.phone?p.push(q.createElement("img",{key:"email-login",src:ue,alt:"",onClick:()=>_(V.email)})):p.push(q.createElement("img",{key:"phone-login",src:de,alt:"",onClick:()=>_(V.phone)})));let h=d.filter(r=>r!==V.email&&r!==V.phone);p.push(...h.map(r=>q.createElement("img",{key:`${r}-login`,src:u[r],alt:"",onClick:()=>N(r)})));let S=q.createElement("div",{key:"collapse-login",className:"collapse-login-icon",onClick:()=>C(!s),"data-is-collapse":s},q.createElement(ie,{className:"collapse-icon",name:"collapse_icon"}));return p.length>5&&p.splice(4,0,S),s&&p.splice(5,p.length-5),p},[s,v,l]);return q.createElement("div",{className:"change-login-mode","data-collapse":!!s},q.createElement("div",{className:"change-social"},E))},$e=To;var Je=`.login-container-box { position: relative; z-index: 1; width: 100%; height: 100%; overflow: hidden; display: flex; flex-direction: column; } .login-container-box .wrap { position: relative; width: 100%; height: 100%; padding-bottom: 40px; overflow-y: auto; padding-top: 56px; flex: 1; } @media (max-width: 600px) { .login-container-box .wrap { padding-top: 7vh; } } .login-container-box .wrap .login-logo { display: flex; justify-content: center; align-items: center; height: 64px; line-height: 1.5715; } .login-container-box .wrap .login-logo .product-logo { max-width: 100%; height: 64px; object-fit: contain; } .login-container-box .wrap .placeholder-wrap { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; } .login-container-box .footer-box { position: absolute; bottom: 10px; margin: 0; text-align: center; } @media only screen and (max-height: 300px) { .login-container-box .footer-box { position: absolute; top: unset; bottom: 10px; margin-bottom: 0; } } [data-login-type='facebook'][data-hash='#/login'] .footer-box, [data-login-type='google'][data-hash='#/login'] .footer-box { position: absolute !important; } `;function Po(B){var z,F,o,m,g;let{email:l,phone:v,authorization:x,chain:i}=B||{},{modalOptions:s,setLoginAuthorization:C}=se(),{socialAuthLogin:N}=ne(),_=()=>{var A,Z,R,ee,X;let e=(Z=(A=s.authTypes)==null?void 0:A.indexOf(a.phone))!=null?Z:-1,n=(ee=(R=s.authTypes)==null?void 0:R.indexOf(a.email))!=null?ee:-1;return!Ao(v)&&(e>=0||!((X=s.authTypes)!=null&&X.length))||!l&&(e>=0&&n<0||e>=0&&n>=0&&e<n)?a.phone:a.email},[u,E]=K(_()),{t:d}=So(),[k,p]=K(""),[h,S]=K(!1),[r,T]=K(!1),[b,I]=K(s.authTypes||[]),j=e=>{S(e)};fe(()=>{document.documentElement.setAttribute("data-login-type",u||"")},[u]),fe(()=>{if(r)I([]);else{let e=Object.values(a).filter(n=>n!==a.jwt&&n!==a.telegram);if(!s.authTypes)I(e);else{let n=s.authTypes.filter(A=>A!==a.jwt&&A!==a.telegram&&e.includes(A));!n.includes(a.email)&&!n.includes(a.phone)&&n.length>0&&n.unshift(a.email),n.length===1&&(n[0]===a.email||n[0]===a.phone)&&(n.length=0),I(n)}}},[r,s.authTypes]),fe(()=>{C(x?{authorization:x,chain:Lo(i)}:void 0),W()},[]);let M=async e=>(p("email"in e&&e.email?e.email:e.phone),await Io(e).then(A=>A)),W=()=>{if(l&&u===a.email)te.test(l)&&(T(!0),p(l));else if(v&&u===a.phone){let e=Le(v);e&&(T(!0),p(e))}},O=e=>{E(e),N({socialType:e,prompt:"select_account",authorization:x,chain:i})},P=()=>{if(h)return y.createElement(Be,{sendCaptcha:M,setShowInputCaptcha:j,account:k,loginWithAccount:r,chain:i});if(u===a.email)return y.createElement(ze,{sendCaptcha:M,setShowInputCaptcha:j,setLoginType:$,account:l||k,supportAuthTypes:b,loginWithAccount:!!l||r});if(u===a.phone)return y.createElement(Oe,{sendCaptcha:M,setShowInputCaptcha:j,setLoginType:$,account:v||k,supportAuthTypes:b,loginWithAccount:!!v||r})},$=e=>{E(e)},J=e=>e===a.jwt?"JWT":e.titleCase(),H=e=>e===a.jwt||e===a.telegram?d("login.create_wallet"):d("login.social_login").format(J(e)),U=Eo(()=>{var n;let e=(n=s.customStyle)==null?void 0:n.logo;return e||(e=ce),e||""},[(z=s.customStyle)==null?void 0:z.logo]);return y.createElement("div",{className:"login-container-box"},y.createElement("style",null,Q),y.createElement("style",null,Je),y.createElement("div",{className:"wrap"},y.createElement("div",{className:"login-logo"},y.createElement(_o,{className:"product-logo",preview:!1,height:64,src:U,key:U,placeholder:y.createElement("div",{className:"placeholder-wrap"},y.createElement(ko,{style:{fontSize:24},spin:!0})),fallback:ce,onError:e=>{e.currentTarget.src=ce}})),y.createElement("div",{className:"login-header0"},(o=(F=s.customStyle)==null?void 0:F.projectName)!=null?o:d("common.particle_auth")),h?y.createElement("div",{className:"login-des"},k):y.createElement("div",{className:"login-des"},u===a.email||u===a.phone?(g=(m=s.customStyle)==null?void 0:m.subtitle)!=null?g:d("login.to_continue").format("App"):y.createElement("div",{className:"third-party-des"},H(u))),P(),!h&&!r&&(u===a.email||u===a.phone)&&y.createElement($e,{supportAuthTypes:b,preferredAuthType:u,onPreferredAuthTypeChange:E,thirdpartyAuthLogin:O})),y.createElement(_e,{className:"footer-box-v2"}))}var Kt=Po;export{Kt as default};