{"version":3,"file":"completeSignUpFlow.mjs","names":[],"sources":["../../../src/internal/clerk-js/completeSignUpFlow.ts"],"sourcesContent":["import type { SignUpResource } from '../../types';\nimport { forwardClerkQueryParams } from './queryParams';\n\ntype CompleteSignUpFlowProps = {\n  signUp: SignUpResource;\n  verifyEmailPath?: string;\n  verifyPhonePath?: string;\n  protectCheckPath?: string;\n  continuePath?: string;\n  navigate: (to: string, options?: { searchParams?: URLSearchParams }) => Promise<unknown>;\n  handleComplete?: () => Promise<void>;\n  redirectUrl?: string;\n  redirectUrlComplete?: string;\n  oidcPrompt?: string;\n};\n\nexport const completeSignUpFlow = ({\n  signUp,\n  verifyEmailPath,\n  verifyPhonePath,\n  protectCheckPath,\n  continuePath,\n  navigate,\n  handleComplete,\n  redirectUrl = '',\n  redirectUrlComplete = '',\n  oidcPrompt,\n}: CompleteSignUpFlowProps): Promise<unknown> | undefined => {\n  if (signUp.status === 'complete') {\n    return handleComplete && handleComplete();\n  } else if (signUp.status === 'missing_requirements') {\n    if (signUp.missingFields.some(mf => mf === 'enterprise_sso')) {\n      return signUp.authenticateWithRedirect({\n        strategy: 'enterprise_sso',\n        redirectUrl,\n        redirectUrlComplete,\n        continueSignUp: true,\n        oidcPrompt,\n      });\n    }\n\n    const params = forwardClerkQueryParams();\n\n    // The protect_check field is the authoritative gating signal. Sign-up also surfaces it\n    // via a missing_fields entry; treat either as equivalent.\n    const isProtectGated = !!signUp.protectCheck || signUp.missingFields.some(mf => mf === 'protect_check');\n    if (isProtectGated && protectCheckPath) {\n      return navigate(protectCheckPath, { searchParams: params });\n    }\n\n    if (signUp.unverifiedFields?.includes('email_address') && verifyEmailPath) {\n      return navigate(verifyEmailPath, { searchParams: params });\n    }\n    if (signUp.unverifiedFields?.includes('phone_number') && verifyPhonePath) {\n      return navigate(verifyPhonePath, { searchParams: params });\n    }\n\n    if (continuePath) {\n      return navigate(continuePath, { searchParams: params });\n    }\n  }\n  return;\n};\n"],"mappings":";;;AAgBA,MAAa,sBAAsB,EACjC,QACA,iBACA,iBACA,kBACA,cACA,UACA,gBACA,cAAc,IACd,sBAAsB,IACtB,iBAC2D;CAC3D,IAAI,OAAO,WAAW,YACpB,OAAO,kBAAkB,eAAe;MACnC,IAAI,OAAO,WAAW,wBAAwB;EACnD,IAAI,OAAO,cAAc,MAAK,OAAM,OAAO,gBAAgB,GACzD,OAAO,OAAO,yBAAyB;GACrC,UAAU;GACV;GACA;GACA,gBAAgB;GAChB;EACF,CAAC;EAGH,MAAM,SAAS,wBAAwB;EAKvC,KADuB,CAAC,CAAC,OAAO,gBAAgB,OAAO,cAAc,MAAK,OAAM,OAAO,eAAe,MAChF,kBACpB,OAAO,SAAS,kBAAkB,EAAE,cAAc,OAAO,CAAC;EAG5D,IAAI,OAAO,kBAAkB,SAAS,eAAe,KAAK,iBACxD,OAAO,SAAS,iBAAiB,EAAE,cAAc,OAAO,CAAC;EAE3D,IAAI,OAAO,kBAAkB,SAAS,cAAc,KAAK,iBACvD,OAAO,SAAS,iBAAiB,EAAE,cAAc,OAAO,CAAC;EAG3D,IAAI,cACF,OAAO,SAAS,cAAc,EAAE,cAAc,OAAO,CAAC;CAE1D;AAEF"}