UNPKG

@clerk/clerk-js

Version:
1 lines • 32.8 kB
"use strict";(globalThis.webpackChunk_clerk_clerk_js=globalThis.webpackChunk_clerk_clerk_js||[]).push([["710"],{5518:function(e,t,i){i.d(t,{Vh:()=>h,Vs:()=>b,bx:()=>p,mQ:()=>g,s2:()=>f,t3:()=>d,xT:()=>u}),i(5027);var r=i(2208),a=i(8690),l=i(7772),n=i(577);let o=e=>t=>"safeIdentifier"in t&&t.safeIdentifier===e;function s(e){if((0,r.iW)()){let t=e.find(({strategy:e})=>"passkey"===e);if(t)return t}return null}function d(e,t,i){return e&&0!==e.length?i===l.kJ.Password?function(e,t){let i=s(e);if(i)return i;let r=e.sort(n.sZ)[0];return"password"===r.strategy?r:e.find(o(t))||r||null}(e,t):function(e,t){let i=s(e);if(i)return i;let r=e.sort(n.b8),a=r.find(o(t));if(a)return a;let l=r[0];return"email_link"===l.strategy?l:e.find(o(t))||l||null}(e,t):null}let c=["passkey","email_code","password","phone_code","email_link"];function u(e){return!!e&&c.includes(e.strategy)}function p(e){if(!e||0===e.length)return null;let t=e.find(e=>"totp"===e.strategy);if(t)return t;let i=e.find(e=>"phone_code"===e.strategy);return i||e[0]}let m=["reset_password_phone_code","reset_password_email_code"],h=e=>!!e&&m.includes(e);function f(e){let t;return"tel"===e.type?"phoneNumber":(t=e.value,/^\S+@\S+\.\S+$/.test(t))?"emailAddress":"username"}let b=(e,t,i)=>{if(!t)return null;let r=e.find(e=>"strategy"===e.id)?.value;if(r&&"phone_code"!==r)return null;let l=e.find(e=>e.id===i)?.value;if(!l||!l?.startsWith("+"))return null;let n=(0,a.jR)(l,t);return"sms"===n?null:n},g=(e,t,i)=>{if(!e||!t||"phoneNumber"!==t||!i||!i?.startsWith("+"))return null;let r=(0,a.jR)(i,e);return"sms"===r?null:r}},5049:function(e,t,i){i.r(t),i.d(t,{SignUp:()=>es,SignUpStart:()=>j,SignUpContinue:()=>q,SignUpSSOCallback:()=>B,SignUpVerifyEmail:()=>er,SignUpVerifyPhone:()=>el,SignUpModal:()=>ed});var r=i(9109),a=i(3799),l=i(9144),n=i(7508),o=i(5112),s=i(1576),d=i(4204),c=i(4511),u=i(4676),p=i(2418),m=i(2672),h=i(2654),f=i(1455),b=i(8350),g=i(8870),_=i(6788),v=i(6127),y=i(431),A=i(8314),S=i(7321),U=i(1217);let C=e=>{let{handleSubmit:t,fields:i,formState:a,canToggleEmailPhone:l,onlyLegalAcceptedMissing:n=!1,handleEmailPhoneToggle:o}=e,{showOptionalFields:s}=(0,d.useAppearance)().parsedLayout,c=e=>("emailAddress"===e||"phoneNumber"===e)&&l?!!i[e]:!!i[e]&&(s||i[e]?.required);return(0,r.BX)(y.l.Root,{onSubmit:t,gap:8,children:[!n&&(0,r.BX)(d.Col,{gap:6,children:[(c("firstName")||c("lastName"))&&(0,r.BX)(y.l.ControlRow,{elementId:"name",sx:{[U.mqu.sm]:{flexWrap:"wrap"}},children:[c("firstName")&&(0,r.tZ)(y.l.PlainInput,{...a.firstName.props,isRequired:i.firstName?.required,isOptional:!i.firstName?.required}),c("lastName")&&(0,r.tZ)(y.l.PlainInput,{...a.lastName.props,isRequired:i.lastName?.required,isOptional:!i.lastName?.required})]}),c("username")&&(0,r.tZ)(y.l.ControlRow,{elementId:"username",children:(0,r.tZ)(y.l.PlainInput,{...a.username.props,isRequired:i.username?.required,isOptional:!i.username?.required})}),c("emailAddress")&&(0,r.tZ)(y.l.ControlRow,{elementId:"emailAddress",children:(0,r.tZ)(y.l.PlainInput,{...a.emailAddress.props,isRequired:i.emailAddress?.required,isOptional:!i.emailAddress?.required,isDisabled:i.emailAddress?.disabled,actionLabel:l?(0,d.localizationKeys)("signUp.start.actionLink__use_phone"):void 0,onActionClicked:l?()=>o("phoneNumber"):void 0})}),c("phoneNumber")&&(0,r.tZ)(y.l.ControlRow,{elementId:"phoneNumber",children:(0,r.tZ)(y.l.PhoneInput,{...a.phoneNumber.props,isRequired:i.phoneNumber?.required,isOptional:!i.phoneNumber?.required,actionLabel:l?(0,d.localizationKeys)("signUp.start.actionLink__use_email"):void 0,onActionClicked:l?()=>o("emailAddress"):void 0})}),c("password")&&(0,r.tZ)(y.l.ControlRow,{elementId:"password",children:(0,r.tZ)(y.l.PasswordInput,{...a.password.props,isRequired:i.password?.required,isOptional:!i.password?.required})})]}),(0,r.BX)(d.Col,{center:!0,children:[(0,r.tZ)(S.S,{}),(0,r.BX)(d.Col,{gap:6,sx:{width:"100%"},children:[c("legalAccepted")&&(0,r.tZ)(y.l.ControlRow,{elementId:"legalAccepted",children:(0,r.tZ)(A.H,{...a.legalAccepted.props,isRequired:i.legalAccepted?.required})}),(0,r.tZ)(y.l.SubmitButton,{hasArrow:!0,localizationKey:(0,d.localizationKeys)("formButtonPrimary")})]})]})]})};var Z=i(5027);let N=["emailAddress","phoneNumber","username","firstName","lastName","password","ticket","legalAccepted"];function P(e){return N.reduce((t,i)=>{let r=function(e,t){switch(e){case"emailAddress":return function({attributes:e,hasTicket:t,hasEmail:i,activeCommIdentifierType:r,isProgressiveSignUp:a}){if(a){if(!((!t||t&&i)&&e.email_address?.enabled)||w(e,a)&&"emailAddress"!==r)return;let{emailShouldBeRequired:l}=R(e);return{required:l,disabled:!!t&&!!i}}if((!t||t&&i)&&e.email_address?.enabled&&e.email_address?.used_for_first_factor&&"emailAddress"===r)return{required:!0,disabled:!!t&&!!i}}(t);case"phoneNumber":return function({attributes:e,hasTicket:t,activeCommIdentifierType:i,isProgressiveSignUp:r}){if(r){if(!e.phone_number?.enabled||w(e,r)&&"phoneNumber"!==i)return;let{phoneShouldBeRequired:t}=R(e);return{required:t}}if(!t&&e.phone_number?.enabled&&e.phone_number.used_for_first_factor&&"phoneNumber"===i)return{required:!0}}(t);case"password":var i=t.attributes;if(i.password?.enabled&&i.password.required)return{required:!!i.password?.required};return;case"ticket":var r=t.hasTicket;if(r)return{required:!0};return;case"legalAccepted":var a=t.legalConsentRequired;if(a)return{required:!0};return;case"username":case"firstName":case"lastName":var l=e,n=t.attributes;let o=(0,Z.a1)(l);if(n[o]?.enabled)return{required:n[o]?.required};return;default:return}}(i,e);return r&&(t[i]=r),t},{})}let E=(e,t,i)=>{if(i?.emailAddress)return"emailAddress";if(i?.phoneNumber)return"phoneNumber";if(w(e,t))return"emailAddress";let{email_address:r,phone_number:a}=e;return(r?.enabled&&t?r.required:r?.used_for_first_factor)?"emailAddress":(a?.enabled&&t?a.required:a?.used_for_first_factor)?"phoneNumber":null};function w(e,t){let{email_address:i,phone_number:r}=e;return!!(t?i?.enabled&&r?.enabled&&!i.required&&!r.required:i?.used_for_first_factor&&r?.used_for_first_factor)}let k={mirrorServer:[e=>!e.passwordRequired,e=>e.email.required||e.phone.required||e.username.required&&e.username.firstFactor],none:[e=>!e.email.enabled&&!e.phone.enabled&&!e.username.enabled],email:[e=>e.email.enabled&&!e.phone.enabled&&!e.username.enabled,e=>e.email.enabled&&!e.email.required&&e.phone.enabled&&!e.phone.required,e=>e.username.firstFactor&&!e.username.required&&e.email.enabled&&!e.email.required,e=>e.username.required&&!e.username.firstFactor&&e.email.enabled&&e.phone.enabled],phone:[e=>e.phone.enabled&&!e.email.required&&!e.phone.required,e=>e.username.firstFactor&&!e.username.required&&e.phone.enabled&&!e.phone.required,e=>e.phone.firstFactor&&!e.email.firstFactor&&!e.username.firstFactor,e=>e.username.required&&!e.username.firstFactor&&e.phone.enabled&&e.email.enabled,e=>!e.email.enabled&&e.phone.enabled&&e.username.enabled],username:[e=>e.username.enabled&&e.username.firstFactor&&!e.email.enabled&&!e.phone.enabled,e=>e.username.required&&!e.username.firstFactor&&e.email.enabled&&e.phone.enabled]};function R(e){let t={passwordRequired:!!(e.password?.enabled&&e.password.required),email:{enabled:!!e.email_address?.enabled,required:!!e.email_address?.required,firstFactor:!!e.email_address?.used_for_first_factor},phone:{enabled:!!e.phone_number?.enabled,required:!!e.phone_number?.required,firstFactor:!!e.phone_number?.used_for_first_factor},username:{enabled:!!e.username?.enabled,required:!!e.username?.required,firstFactor:!!e.username?.used_for_first_factor}},i=e=>k[e].some(e=>e(t));if(i("mirrorServer"))return{emailShouldBeRequired:t.email.required,phoneShouldBeRequired:t.phone.required,usernameShouldBeRequired:t.username.required};if(i("none"))return{emailShouldBeRequired:!1,phoneShouldBeRequired:!1,usernameShouldBeRequired:!1};let r=i("email"),a=i("phone"),l=i("username");return!t.passwordRequired||r||a||l?{emailShouldBeRequired:r,phoneShouldBeRequired:a,usernameShouldBeRequired:l}:{emailShouldBeRequired:!0,phoneShouldBeRequired:!1,usernameShouldBeRequired:!1}}var I=i(6565),z=i(9955),K=i(138);let F=l.memo(e=>{let t=(0,a.cL)(),{navigate:i}=(0,u.useRouter)(),l=(0,m.useCardState)(),n=(0,s.useSignUpContext)(),o=(0,s.useCoreSignUp)(),d=n.ssoCallbackUrl,c=n.afterSignUpUrl||"/",p="popup"===n.oauthFlow||"auto"===n.oauthFlow&&(0,I.t)(),{continueSignUp:h=!1,onAlternativePhoneCodeProviderClick:f,...b}=e;return(0,r.tZ)(K.L,{...b,idleAfterDelay:!p,oauthCallback:t=>{if(p){let i=window.open("about:blank","","width=600,height=800"),r=setInterval(()=>{(!i||i.closed)&&(clearInterval(r),l.setIdle())},500);return o.authenticateWithPopup({strategy:t,redirectUrl:d,redirectUrlComplete:c,popup:i,continueSignUp:h,unsafeMetadata:n.unsafeMetadata,legalAccepted:e.legalAccepted,oidcPrompt:n.oidcPrompt}).catch(e=>(0,g.S3)(e,[],l.setError))}return o.authenticateWithRedirect({continueSignUp:h,redirectUrl:d,redirectUrlComplete:c,strategy:t,unsafeMetadata:n.unsafeMetadata,legalAccepted:e.legalAccepted,oidcPrompt:n.oidcPrompt}).catch(e=>(0,g.S3)(e,[],l.setError))},web3Callback:r=>t.authenticateWithWeb3({customNavigate:i,redirectUrl:c,signUpContinueUrl:"continue",unsafeMetadata:n.unsafeMetadata,strategy:r,legalAccepted:e.legalAccepted}).catch(e=>(0,z.H)(e,l.setError)),alternativePhoneCodeCallback:e=>{f?.(e)}})});var L=i(6052);let q=(0,m.withCardStateProvider)(function(){let e=(0,m.useCardState)(),t=(0,a.cL)(),{navigate:i}=(0,u.useRouter)(),{displayConfig:n,userSettings:o}=(0,s.useEnvironment)(),{attributes:c,usernameSettings:y}=o,{t:A,locale:S}=(0,d.useLocalizations)(),{afterSignUpUrl:U,signInUrl:Z,unsafeMetadata:N,initialValues:k={},isCombinedFlow:R}=(0,s.useSignUpContext)(),I=(0,s.useCoreSignUp)(),z=!!l.useContext(s.SignInContext),K=!!(R&&z),q=o.signUp.progressive,[T,B]=l.useState(E(c,o.signUp.progressive)),O=(0,s.useSignUpContext)(),x={firstName:(0,_.Yp)("firstName",k.firstName||"",{type:"text",label:(0,d.localizationKeys)("formFieldLabel__firstName"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__firstName")}),lastName:(0,_.Yp)("lastName",k.lastName||"",{type:"text",label:(0,d.localizationKeys)("formFieldLabel__lastName"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__lastName")}),emailAddress:(0,_.Yp)("emailAddress",k.emailAddress||I.emailAddress||"",{type:"email",label:(0,d.localizationKeys)("formFieldLabel__emailAddress"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__emailAddress")}),username:(0,_.Yp)("username",k.username||"",{type:"text",label:(0,d.localizationKeys)("formFieldLabel__username"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__username"),transformer:e=>e.trim(),buildErrorMessage:e=>(0,v.f)(e,{t:A,locale:S,usernameSettings:y})}),phoneNumber:(0,_.Yp)("phoneNumber",k.phoneNumber||"",{type:"tel",label:(0,d.localizationKeys)("formFieldLabel__phoneNumber"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__phoneNumber")}),password:(0,_.Yp)("password","",{type:"password",label:(0,d.localizationKeys)("formFieldLabel__password"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__password"),validatePassword:!0}),legalAccepted:(0,_.Yp)("legalAccepted","",{type:"checkbox",label:"",defaultChecked:!1,isRequired:o.signUp.legal_consent_enabled||!1})},M=(0,l.useMemo)(()=>I.missingFields&&1===I.missingFields.length&&"legal_accepted"===I.missingFields[0]&&I.unverifiedFields&&0===I.unverifiedFields.length,[I.missingFields,I.unverifiedFields]);if((0,l.useEffect)(()=>{I.id||!0===t.__internal_setActiveInProgress||i(n.signUpUrl)},[]),!I.id)return(0,r.tZ)(f.W,{});let V=!!x.emailAddress.value,D=I.verifications?.externalAccount?.status=="verified",X=P({attributes:c,hasEmail:V,activeCommIdentifierType:T,signUp:I,isProgressiveSignUp:q,legalConsentRequired:o.signUp.legal_consent_enabled});!function(e,t){if(t){let i=!!t.emailAddress,r=t.verifications?.emailAddress?.status==="verified",a=t.verifications?.phoneNumber?.status==="verified",l=t.verifications?.externalAccount?.status==="verified",n=t.verifications?.web3Wallet?.status==="verified",o=null!==t.legalAcceptedAt;i&&r&&delete e.emailAddress,a&&delete e.phoneNumber,(l||n)&&delete e.password,t.firstName&&delete e.firstName,t.lastName&&delete e.lastName,t.username&&delete e.username,o&&delete e.legalAccepted,Object.entries(e).forEach(([t,i])=>{i&&!i.required&&delete e[t]})}}(X,I);let W=o.authenticatableSocialStrategies,H=async r=>{r.preventDefault();let a=Object.entries(X).reduce((e,[t,i])=>[...e,...i&&x[t]?[x[t]]:[]],[]);N&&a.push({id:"unsafeMetadata",value:N});let l=!!a.find(e=>"emailAddress"===e.id)?.value,n=!!a.find(e=>"phoneNumber"===e.id)?.value;return I.missingFields.includes("email_address")&&I.missingFields.includes("phone_number")&&!l&&!n&&w(c,q)&&(a.push(x.emailAddress),a.push(x.phoneNumber)),e.setLoading(),e.setError(void 0),I.update((0,_.ni)(a)).then(e=>(0,L.completeSignUpFlow)({signUp:e,verifyEmailPath:"./verify-email-address",verifyPhonePath:"./verify-phone-number",handleComplete:()=>t.setActive({session:e.createdSessionId,redirectUrl:U}),navigate:i,oidcPrompt:O.oidcPrompt})).catch(t=>(0,g.S3)(t,a,e.setError)).finally(()=>e.setIdle())},Y=w(c,q),$=!D&&W.length>0,j=M?(0,d.localizationKeys)("signUp.legalConsent.continue.title"):(0,d.localizationKeys)("signUp.continue.title"),G=M?(0,d.localizationKeys)("signUp.legalConsent.continue.subtitle"):(0,d.localizationKeys)("signUp.continue.subtitle");return(0,r.tZ)(d.Flow.Part,{part:"complete",children:(0,r.BX)(p.Z.Root,{children:[(0,r.BX)(p.Z.Content,{children:[(0,r.BX)(h.h.Root,{showLogo:!0,children:[(0,r.tZ)(h.h.Title,{localizationKey:j}),(0,r.tZ)(h.h.Subtitle,{localizationKey:G})]}),(0,r.tZ)(p.Z.Alert,{children:e.error}),(0,r.tZ)(d.Flex,{direction:"col",elementDescriptor:d.descriptors.main,gap:8,children:(0,r.BX)(b.G,{children:[$&&!M&&(0,r.tZ)(F,{enableOAuthProviders:$,enableWeb3Providers:!1,enableAlternativePhoneCodeProviders:!1,continueSignUp:!0}),(0,r.tZ)(C,{handleSubmit:H,fields:X,formState:x,onlyLegalAcceptedMissing:M,canToggleEmailPhone:Y,handleEmailPhoneToggle:e=>{w(c,q)&&B(e)}})]})})]}),(0,r.tZ)(p.Z.Footer,{children:K?null:(0,r.BX)(p.Z.Action,{elementId:"signUp",children:[(0,r.tZ)(p.Z.ActionText,{localizationKey:(0,d.localizationKeys)("signUp.continue.actionText")}),(0,r.tZ)(p.Z.ActionLink,{localizationKey:(0,d.localizationKeys)("signUp.continue.actionLink"),to:K?"../../":t.buildUrlWithAuth(Z)})]})})]})})});var T=i(8969);let B=(0,T.sN)(T.L);var O=i(6543),x=i(6842),M=i(753),V=i(4029),D=i(2464),X=i(5518),W=i(3234),H=i(4174);let Y=()=>{let e=(0,a.cL)(),t=(0,m.useCardState)(),{navigate:i}=(0,u.useRouter)(),{signInUrl:l,waitlistUrl:n}=(0,s.useSignUpContext)(),o=(0,W.H)(),{userSettings:c}=(0,s.useEnvironment)(),{mode:f}=c.signUp,b=async()=>{await i(e.buildUrlWithAuth(n))},g=f===M.ci.RESTRICTED?(0,d.localizationKeys)("signUp.restrictedAccess.subtitle"):(0,d.localizationKeys)("signUp.restrictedAccess.subtitleWaitlist");return(0,r.BX)(p.Z.Root,{children:[(0,r.BX)(p.Z.Content,{children:[(0,r.BX)(h.h.Root,{showLogo:!0,children:[(0,r.tZ)(d.Icon,{icon:H.gO,sx:e=>({margin:"auto",width:e.sizes.$10,height:e.sizes.$10})}),(0,r.tZ)(h.h.Title,{localizationKey:(0,d.localizationKeys)("signUp.restrictedAccess.title")}),(0,r.tZ)(h.h.Subtitle,{localizationKey:g})]}),(0,r.tZ)(p.Z.Alert,{children:t.error}),f===M.ci.RESTRICTED&&o&&(0,r.tZ)(d.Flex,{direction:"col",gap:4,children:(0,r.tZ)(d.Button,{localizationKey:(0,d.localizationKeys)("signUp.restrictedAccess.blockButton__emailSupport"),onClick:()=>{window.location.href=`mailto:${o}`}})}),f===M.ci.WAITLIST&&(0,r.tZ)(d.Flex,{direction:"col",gap:4,children:(0,r.tZ)(d.Button,{localizationKey:(0,d.localizationKeys)("signUp.restrictedAccess.blockButton__joinWaitlist"),onClick:b})})]}),(0,r.tZ)(p.Z.Footer,{children:(0,r.BX)(p.Z.Action,{elementId:"signUp",children:[(0,r.tZ)(p.Z.ActionText,{localizationKey:(0,d.localizationKeys)("signUp.restrictedAccess.actionText")}),(0,r.tZ)(p.Z.ActionLink,{localizationKey:(0,d.localizationKeys)("signUp.restrictedAccess.actionLink"),to:e.buildUrlWithAuth(l)})]})})]})},$=e=>{let{handleSubmit:t,fields:i,formState:a,onUseAnotherMethod:l,phoneCodeProvider:n}=e,{providerToDisplayData:o,strategyToDisplayData:s}=(0,D.vO)(),c=n.name,u=n.channel,f=(0,m.useCardState)();return(0,r.tZ)(p.Z.Root,{children:(0,r.BX)(p.Z.Content,{children:[(0,r.BX)(h.h.Root,{showLogo:!0,showDivider:!0,children:[(0,r.tZ)(d.Col,{center:!0,children:(0,r.tZ)(d.Image,{src:o[n.channel]?.iconUrl,alt:`${s[u].name} logo`,sx:e=>({width:e.sizes.$7,height:e.sizes.$7,maxWidth:"100%",marginBottom:e.sizes.$6})})}),(0,r.tZ)(h.h.Title,{localizationKey:(0,d.localizationKeys)("signUp.start.alternativePhoneCodeProvider.title",{provider:c})}),(0,r.tZ)(h.h.Subtitle,{localizationKey:(0,d.localizationKeys)("signUp.start.alternativePhoneCodeProvider.subtitle",{provider:c})})]}),(0,r.tZ)(p.Z.Alert,{children:f.error}),(0,r.tZ)(d.Flex,{direction:"col",elementDescriptor:d.descriptors.main,gap:6,children:(0,r.BX)(y.l.Root,{onSubmit:t,gap:8,children:[(0,r.tZ)(d.Col,{gap:6,children:(0,r.tZ)(y.l.ControlRow,{elementId:"phoneNumber",children:(0,r.tZ)(y.l.PhoneInput,{...a.phoneNumber.props,label:(0,d.localizationKeys)("signUp.start.alternativePhoneCodeProvider.label",{provider:c||""}),isRequired:!0,isOptional:!1,actionLabel:void 0,onActionClicked:void 0})})}),(0,r.BX)(d.Col,{center:!0,children:[(0,r.tZ)(S.S,{}),(0,r.BX)(d.Col,{gap:6,sx:{width:"100%"},children:[!!i.legalAccepted&&i.legalAccepted?.required&&(0,r.tZ)(y.l.ControlRow,{elementId:"legalAccepted",children:(0,r.tZ)(A.H,{...a.legalAccepted.props,isRequired:i.legalAccepted?.required})}),(0,r.tZ)(y.l.SubmitButton,{hasArrow:!0,localizationKey:(0,d.localizationKeys)("formButtonPrimary")})]})]}),(0,r.tZ)(d.Col,{center:!0,children:(0,r.tZ)(d.Button,{variant:"link",colorScheme:"neutral",onClick:l,localizationKey:(0,d.localizationKeys)("signUp.start.alternativePhoneCodeProvider.actionLink")})})]})})]})})},j=(0,T.sN)((0,m.withCardStateProvider)(function(){let e=(0,m.useCardState)(),t=(0,a.cL)(),i=(0,D._m)(),n=(0,s.useCoreSignUp)(),{showOptionalFields:o}=(0,d.useAppearance)().parsedLayout,{userSettings:c,authConfig:y}=(0,s.useEnvironment)(),{navigate:A}=(0,u.useRouter)(),{attributes:U}=c,{setActive:Z}=(0,a.cL)(),N=(0,s.useSignUpContext)(),k=!!l.useContext(s.SignInContext),{afterSignUpUrl:R,signInUrl:I,unsafeMetadata:z}=N,K=!!(N.isCombinedFlow&&k),[q,T]=l.useState(()=>E(U,c.signUp.progressive,{phoneNumber:N.initialValues?.phoneNumber===null?void 0:N.initialValues?.phoneNumber,emailAddress:N.initialValues?.emailAddress===null?void 0:N.initialValues?.emailAddress,...K?{emailAddress:n.emailAddress,phoneNumber:n.phoneNumber}:{}})),{t:B,locale:W}=(0,d.useLocalizations)(),H=N.initialValues||{},[j,G]=l.useState(null),[J,Q]=l.useState(!1),{userSettings:{passwordSettings:ee,usernameSettings:et}}=(0,s.useEnvironment)(),{mode:ei}=c.signUp,er={firstName:(0,_.Yp)("firstName",n.firstName||H.firstName||"",{type:"text",label:(0,d.localizationKeys)("formFieldLabel__firstName"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__firstName")}),lastName:(0,_.Yp)("lastName",n.lastName||H.lastName||"",{type:"text",label:(0,d.localizationKeys)("formFieldLabel__lastName"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__lastName")}),emailAddress:(0,_.Yp)("emailAddress",n.emailAddress||H.emailAddress||"",{type:"email",label:(0,d.localizationKeys)("formFieldLabel__emailAddress"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__emailAddress")}),username:(0,_.Yp)("username",n.username||H.username||"",{type:"text",label:(0,d.localizationKeys)("formFieldLabel__username"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__username"),transformer:e=>e.trim(),buildErrorMessage:e=>(0,v.f)(e,{t:B,locale:W,usernameSettings:et})}),phoneNumber:(0,_.Yp)("phoneNumber",n.phoneNumber||H.phoneNumber||"",{type:"tel",label:(0,d.localizationKeys)("formFieldLabel__phoneNumber"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__phoneNumber")}),legalAccepted:(0,_.Yp)("legalAccepted","",{type:"checkbox",label:"",defaultChecked:!1,isRequired:c.signUp.legal_consent_enabled||!1}),password:(0,_.Yp)("password","",{type:"password",label:(0,d.localizationKeys)("formFieldLabel__password"),placeholder:(0,d.localizationKeys)("formFieldInputPlaceholder__password"),validatePassword:!0,buildErrorMessage:e=>(0,x.GM)(e,{t:B,locale:W,passwordSettings:ee})}),ticket:(0,_.Yp)("ticket",(0,V.XV)("__clerk_ticket")||(0,V.XV)("__clerk_invitation_token")||"")},ea=!!er.ticket.value,el=!!(n.id&&null!==n.status&&((0,V.XV)("__clerk_ticket")||(0,V.XV)("__clerk_invitation_token"))),en=!!er.emailAddress.value,eo=c.signUp.progressive,es=c.signUp.legal_consent_enabled,ed=N.oidcPrompt,ec=P({attributes:U,hasTicket:ea||el,hasEmail:en,activeCommIdentifierType:q,isProgressiveSignUp:eo,legalConsentRequired:es});l.useLayoutEffect(()=>{er.ticket.value&&(i.setLoading(),e.setLoading(),n.create({strategy:"ticket",ticket:er.ticket.value}).then(e=>{er.emailAddress.setValue(e.emailAddress||""),"missing_requirements"===e.status&&Q(!0);let t=N.ssoCallbackUrl,i=N.afterSignUpUrl||"/";return(0,L.completeSignUpFlow)({signUp:e,redirectUrl:t,redirectUrlComplete:i,verifyEmailPath:"verify-email-address",verifyPhonePath:"verify-phone-number",handleComplete:()=>((0,V.xy)("__clerk_ticket"),(0,V.xy)("__clerk_invitation_token"),Z({session:e.createdSessionId,redirectUrl:R})),navigate:A,oidcPrompt:ed})}).catch(t=>{er.ticket.setValue(""),(0,g.S3)(t,[],e.setError)}).finally(()=>{n.missingFields.some(e=>"saml"===e||"enterprise_sso"===e)||(i.setIdle(),e.setIdle())}))},[]),l.useEffect(()=>{!async function(){let t=n.verifications.externalAccount.error;if(t){switch(t.code){case M.O1.NOT_ALLOWED_TO_SIGN_UP:case M.O1.OAUTH_ACCESS_DENIED:case M.O1.NOT_ALLOWED_ACCESS:case M.O1.SAML_USER_ATTRIBUTE_MISSING:case M.O1.OAUTH_EMAIL_DOMAIN_RESERVED_BY_SAML:case M.O1.USER_LOCKED:case M.O1.ENTERPRISE_SSO_USER_ATTRIBUTE_MISSING:case M.O1.ENTERPRISE_SSO_EMAIL_ADDRESS_DOMAIN_MISMATCH:case M.O1.ENTERPRISE_SSO_HOSTED_DOMAIN_MISMATCH:case M.O1.SAML_EMAIL_ADDRESS_DOMAIN_MISMATCH:case M.O1.ORGANIZATION_MEMBERSHIP_QUOTA_EXCEEDED_FOR_SSO:case M.O1.CAPTCHA_INVALID:case M.O1.FRAUD_DEVICE_BLOCKED:case M.O1.FRAUD_ACTION_BLOCKED:case M.O1.SIGNUP_RATE_LIMIT_EXCEEDED:e.setError(t);break;default:e.setError("Unable to complete action at this time. If the problem persists please contact support.")}await n.create({})}}()},[]);let eu=async t=>{t.preventDefault();let i=Object.entries(ec).reduce((e,[t,i])=>(e.push(...i&&er[t]?[er[t]]:[]),e),[]);if(z&&i.push({id:"unsafeMetadata",value:z}),ec.ticket||el){let e=()=>{};if(i.push({id:"strategy",value:"ticket",clearFeedback:e,setValue:e,onChange:e,setError:e}),!ec.ticket&&el){let t=(0,V.XV)("__clerk_ticket")||(0,V.XV)("__clerk_invitation_token");t&&i.push({id:"ticket",value:t,clearFeedback:e,setValue:e,onChange:e,setError:e})}}let r=j?.channel||(0,X.Vs)(i,y.preferredChannels,"phoneNumber");if(r){let e=()=>{};i.push({id:"strategy",value:"phone_code",clearFeedback:e,setValue:e,onChange:e,setError:e}),i.push({id:"channel",value:r,clearFeedback:e,setValue:e,onChange:e,setError:e})}let a=!!i.find(e=>"emailAddress"===e.id)?.value,l=!!i.find(e=>"phoneNumber"===e.id)?.value;!a&&!l&&w(U,eo)&&(i.push(er.emailAddress),i.push(er.phoneNumber)),e.setLoading(),e.setError(void 0);let o=N.ssoCallbackUrl,s=N.afterSignUpUrl||"/";return(ec.ticket||el?n.upsert((0,_.ni)(i)):n.create((0,_.ni)(i))).then(e=>(0,L.completeSignUpFlow)({signUp:e,verifyEmailPath:"verify-email-address",verifyPhonePath:"verify-phone-number",handleComplete:()=>Z({session:e.createdSessionId,redirectUrl:R}),navigate:A,redirectUrl:o,redirectUrlComplete:s,oidcPrompt:ed})).catch(t=>(0,g.S3)(t,i,e.setError)).finally(()=>e.setIdle())};if(i.isLoading)return(0,r.tZ)(f.W,{});let ep=w(U,eo),em=Object.entries(ec).filter(([e,t])=>o||t?.required),eh=function(e){let{authenticatableSocialStrategies:t,web3FirstFactors:i}=e;return e.hasValidAuthFactor||!t.length&&!i.length}(c)&&em.length>0,ef=(!(ea||el)||J)&&c.authenticatableSocialStrategies.length>0,eb=!(ea||el)&&c.web3FirstFactors.length>0,eg=!(ea||el)&&c.alternativePhoneCodeChannels.length>0;return ei===M.ci.PUBLIC||ea||el?(0,r.tZ)(d.Flow.Part,{part:"start",children:j?(0,r.tZ)($,{handleSubmit:eu,fields:ec,formState:er,onUseAnotherMethod:()=>{G(null)},phoneCodeProvider:j}):(0,r.BX)(p.Z.Root,{children:[(0,r.BX)(p.Z.Content,{children:[(0,r.BX)(h.h.Root,{showLogo:!0,children:[(0,r.tZ)(h.h.Title,{localizationKey:K?(0,d.localizationKeys)("signUp.start.titleCombined"):(0,d.localizationKeys)("signUp.start.title")}),(0,r.tZ)(h.h.Subtitle,{localizationKey:K?(0,d.localizationKeys)("signUp.start.subtitleCombined"):(0,d.localizationKeys)("signUp.start.subtitle")})]}),(0,r.tZ)(p.Z.Alert,{children:e.error}),(0,r.BX)(d.Flex,{direction:"col",elementDescriptor:d.descriptors.main,gap:6,children:[(0,r.BX)(b.G,{children:[(ef||eb||eg)&&(0,r.tZ)(F,{enableOAuthProviders:ef,enableWeb3Providers:eb,enableAlternativePhoneCodeProviders:eg,onAlternativePhoneCodeProviderClick:e=>{G((0,O.H)(e)||null)},continueSignUp:J,legalAccepted:!!er.legalAccepted.checked||void 0}),eh&&(0,r.tZ)(C,{handleSubmit:eu,fields:ec,formState:er,canToggleEmailPhone:ep,handleEmailPhoneToggle:e=>{w(U,eo)&&T(e)}})]}),!eh&&(0,r.tZ)(S.S,{})]})]}),(0,r.tZ)(p.Z.Footer,{children:(0,r.BX)(p.Z.Action,{elementId:"signUp",children:[(0,r.tZ)(p.Z.ActionText,{localizationKey:(0,d.localizationKeys)("signUp.start.actionText")}),(0,r.tZ)(p.Z.ActionLink,{localizationKey:(0,d.localizationKeys)("signUp.start.actionLink"),to:K?"../":t.buildUrlWithAuth(I)})]})})]})}):(0,r.tZ)(Y,{})}));var G=i(3465);let J=e=>{let{afterSignUpUrl:t}=(0,s.useSignUpContext)(),{setActive:i}=(0,a.cL)(),{navigate:l}=(0,u.useRouter)();return(0,r.tZ)(G.U,{cardTitle:e.cardTitle,cardSubtitle:e.cardSubtitle,resendButton:e.resendButton,onCodeEntryFinishedAction:(r,a,n)=>{e.attempt(r).then(async e=>(await a(),(0,L.completeSignUpFlow)({signUp:e,verifyEmailPath:"../verify-email-address",verifyPhonePath:"../verify-phone-number",continuePath:"../continue",handleComplete:()=>i({session:e.createdSessionId,redirectUrl:t}),navigate:l}))).catch(e=>n(e))},onResendCodeClicked:e.prepare,safeIdentifier:e.safeIdentifier,onIdentityPreviewEditClicked:()=>l("../",{searchParams:(0,V.z3)()}),alternativeMethodsLabel:e.alternativeMethodsLabel,onShowAlternativeMethodsClicked:e.onShowAlternativeMethodsClicked,showAlternativeMethods:e.showAlternativeMethods})},Q=()=>{let e=(0,s.useCoreSignUp)(),t=(0,m.useCardState)(),i=e.verifications.emailAddress.status,a=!e.status||"verified"===i;return(0,D.ib)(a?void 0:()=>e.prepareEmailAddressVerification({strategy:"email_code"}).catch(e=>(0,g.S3)(e,[],t.setError)),{name:"prepare",strategy:"email_code",number:e.emailAddress},{staleTime:100}),(0,r.tZ)(d.Flow.Part,{part:"emailCode",children:(0,r.tZ)(J,{cardTitle:(0,d.localizationKeys)("signUp.emailCode.title"),cardSubtitle:(0,d.localizationKeys)("signUp.emailCode.subtitle"),inputLabel:(0,d.localizationKeys)("signUp.emailCode.formSubtitle"),resendButton:(0,d.localizationKeys)("signUp.emailCode.resendButton"),prepare:()=>{if(!a)return e.prepareEmailAddressVerification({strategy:"email_code"}).catch(e=>(0,g.S3)(e,[],t.setError))},attempt:t=>e.attemptEmailAddressVerification({code:t}),safeIdentifier:e.emailAddress})})};var ee=i(5495),et=i(4814);let ei=()=>{let{t:e}=(0,d.useLocalizations)(),t=(0,s.useCoreSignUp)(),i=(0,s.useSignUpContext)(),{afterSignUpUrl:n}=i,o=(0,m.useCardState)(),{navigate:c}=(0,u.useRouter)(),{setActive:p}=(0,a.cL)(),[h,f]=l.useState(!1),{startEmailLinkFlow:b,cancelEmailLinkFlow:_}=(0,et.E)(t);l.useEffect(()=>{v()},[]);let v=()=>b({redirectUrl:i.emailLinkRedirectUrl}).then(e=>y(e)).catch(e=>{(0,g.S3)(e,[],o.setError)}),y=async t=>{let i=t.verifications.emailAddress;"expired"===i.status?o.setError(e((0,d.localizationKeys)("formFieldError__verificationLinkExpired"))):i.verifiedFromTheSameClient()?f(!0):await (0,L.completeSignUpFlow)({signUp:t,continuePath:"../continue",verifyEmailPath:"../verify-email-address",verifyPhonePath:"../verify-phone-number",handleComplete:()=>p({session:t.createdSessionId,redirectUrl:n}),navigate:c})};return h?(0,r.tZ)(T.Ej,{title:(0,d.localizationKeys)("signUp.emailLink.verifiedSwitchTab.title"),subtitle:(0,d.localizationKeys)("signUp.emailLink.verifiedSwitchTab.subtitleNewTab"),status:"verified_switch_tab"}):(0,r.tZ)(d.Flow.Part,{part:"emailLink",children:(0,r.tZ)(ee.J,{cardTitle:(0,d.localizationKeys)("signUp.emailLink.title"),cardSubtitle:(0,d.localizationKeys)("signUp.emailLink.subtitle"),formTitle:(0,d.localizationKeys)("signUp.emailLink.formTitle"),formSubtitle:(0,d.localizationKeys)("signUp.emailLink.formSubtitle"),resendButton:(0,d.localizationKeys)("signUp.emailLink.resendButton"),onResendCodeClicked:()=>{_(),v()},safeIdentifier:t.emailAddress})})},er=(0,m.withCardStateProvider)(()=>{let{userSettings:e}=(0,s.useEnvironment)(),{attributes:t}=e;return t.email_address?.verifications?.includes("email_link")?(0,r.tZ)(ei,{}):(0,r.tZ)(Q,{})}),ea=(0,m.withCardStateProvider)(()=>{let e=(0,s.useCoreSignUp)(),t=(0,m.useCardState)(),i=e.verifications.phoneNumber.channel,a=e.verifications.phoneNumber.status,l=!e.status||"verified"===a,n=!!i&&"sms"!==i,o=n?i:void 0;(0,D.ib)(l||n?void 0:()=>e.preparePhoneNumberVerification({strategy:"phone_code",channel:void 0}).catch(e=>(0,g.S3)(e,[],t.setError)),{name:"signUp.preparePhoneNumberVerification",strategy:"phone_code",number:e.phoneNumber},{staleTime:100});let c=(0,d.localizationKeys)("signUp.phoneCode.title"),u=(0,d.localizationKeys)("signUp.phoneCode.subtitle"),p=(0,d.localizationKeys)("signUp.phoneCode.resendButton");if(n){let e=(0,O.H)(i)?.name;c=(0,d.localizationKeys)("signUp.alternativePhoneCodeProvider.title",{provider:e||""}),u=(0,d.localizationKeys)("signUp.alternativePhoneCodeProvider.subtitle",{provider:e||""}),p=(0,d.localizationKeys)("signUp.alternativePhoneCodeProvider.resendButton")}return t.isLoading?(0,r.tZ)(f.W,{}):(0,r.tZ)(d.Flow.Part,{part:"phoneCode",children:(0,r.tZ)(J,{cardTitle:c,cardSubtitle:u,resendButton:p,prepare:()=>{if(!l)return e.preparePhoneNumberVerification({strategy:"phone_code",channel:o}).catch(e=>(0,g.S3)(e,[],t.setError))},attempt:t=>e.attemptPhoneNumberVerification({code:t}),safeIdentifier:e.phoneNumber,alternativeMethodsLabel:n?(0,d.localizationKeys)("footerActionLink__alternativePhoneCodeProvider"):void 0,onShowAlternativeMethodsClicked:n?()=>{t.setLoading(),t.setError(void 0),e.preparePhoneNumberVerification({strategy:"phone_code",channel:void 0}).catch(e=>(0,g.S3)(e,[],t.setError)).finally(()=>t.setIdle())}:void 0,showAlternativeMethods:!!n||void 0})})}),el=()=>(0,r.tZ)(ea,{});function en(){let e=(0,a.cL)();return l.useEffect(()=>{e.redirectToSignUp()},[]),null}function eo(){(0,c.z)();let{__internal_setComponentNavigationContext:e}=(0,a.cL)(),{navigate:t,indexPath:i}=(0,u.useRouter)(),p=(0,s.useSignUpContext)();return l.useEffect(()=>e?.({indexPath:i,navigate:t}),[i,t]),(0,r.tZ)(d.Flow.Root,{flow:"signUp",children:(0,r.BX)(u.Switch,{children:[(0,r.tZ)(u.Route,{path:"verify-email-address",canActivate:e=>!!e.client.signUp.emailAddress,children:(0,r.tZ)(er,{})}),(0,r.tZ)(u.Route,{path:"verify-phone-number",canActivate:e=>!!e.client.signUp.phoneNumber,children:(0,r.tZ)(el,{})}),(0,r.tZ)(u.Route,{path:"sso-callback",children:(0,r.tZ)(B,{signUpUrl:p.signUpUrl,signInUrl:p.signInUrl,signUpForceRedirectUrl:p.afterSignUpUrl,signInForceRedirectUrl:p.afterSignInUrl,secondFactorUrl:p.secondFactorUrl,continueSignUpUrl:"../continue",verifyEmailAddressUrl:"../verify-email-address",verifyPhoneNumberUrl:"../verify-phone-number"})}),(0,r.tZ)(u.Route,{path:"verify",children:(0,r.tZ)(o.$,{redirectUrlComplete:p.afterSignUpUrl,verifyEmailPath:"../verify-email-address",verifyPhonePath:"../verify-phone-number"})}),(0,r.BX)(u.Route,{path:"continue",children:[(0,r.tZ)(u.Route,{path:"verify-email-address",canActivate:e=>!!e.client.signUp.emailAddress,children:(0,r.tZ)(er,{})}),(0,r.tZ)(u.Route,{path:"verify-phone-number",canActivate:e=>!!e.client.signUp.phoneNumber,children:(0,r.tZ)(el,{})}),(0,r.tZ)(u.Route,{index:!0,children:(0,r.tZ)(q,{})})]}),(0,r.tZ)(u.Route,{path:"tasks",children:(0,r.tZ)(n.x7,{})}),(0,r.tZ)(u.Route,{index:!0,children:(0,r.tZ)(j,{})}),(0,r.tZ)(u.Route,{children:(0,r.tZ)(en,{})})]})})}eo.displayName="SignUp";let es=(0,s.withCoreSessionSwitchGuard)(eo),ed=e=>{let t={signInUrl:`/${u.VIRTUAL_ROUTER_BASE_PATH}/sign-in`,waitlistUrl:`/${u.VIRTUAL_ROUTER_BASE_PATH}/waitlist`,...e};return(0,r.tZ)(u.Route,{path:"sign-up",children:(0,r.tZ)(s.SignUpContext.Provider,{value:{componentName:"SignUp",...t,routing:"virtual",mode:"modal"},children:(0,r.tZ)("div",{children:(0,r.tZ)(es,{...t,routing:"virtual"})})})})}},6052:function(e,t,i){i.r(t),i.d(t,{completeSignUpFlow:()=>r.v});var r=i(5756)}}]);