@clerk/react 6.0.0-snapshot.v20251217165918 → 6.0.0-snapshot.v20251218165926

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -586,7 +586,7 @@ if (typeof globalThis.__BUILD_DISABLE_RHC__ === "undefined") {
586
586
  }
587
587
  var SDK_METADATA = {
588
588
  name: "@clerk/react",
589
- version: "6.0.0-snapshot.v20251217165918",
589
+ version: "6.0.0-snapshot.v20251218165926",
590
590
  environment: process.env.NODE_ENV
591
591
  };
592
592
  var _status, _domain, _proxyUrl, _publishableKey, _eventBus, _stateProxy, _instance, _IsomorphicClerk_instances, waitForClerkJS_fn;
@@ -1562,6 +1562,17 @@ var _IsomorphicClerk = class _IsomorphicClerk {
1562
1562
  this.premountMethodCalls.set("authenticateWithOKXWallet", callback);
1563
1563
  }
1564
1564
  };
1565
+ this.authenticateWithSolana = async (params) => {
1566
+ const callback = () => {
1567
+ var _a;
1568
+ return (_a = this.clerkjs) == null ? void 0 : _a.authenticateWithSolana(params);
1569
+ };
1570
+ if (this.clerkjs && this.loaded) {
1571
+ return callback();
1572
+ } else {
1573
+ this.premountMethodCalls.set("authenticateWithSolana", callback);
1574
+ }
1575
+ };
1565
1576
  this.authenticateWithWeb3 = async (params) => {
1566
1577
  const callback = () => {
1567
1578
  var _a;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/polyfills.ts","../src/index.ts","../src/components/SignInButton.tsx","../src/components/SignInWithMetamaskButton.tsx","../src/components/SignOutButton.tsx","../src/components/SignUpButton.tsx","../src/contexts/ClerkProvider.tsx","../src/contexts/ClerkContextProvider.tsx","../src/isomorphicClerk.ts","../src/stateProxy.ts"],"sourcesContent":["/**\n * Vite does not define `global` by default\n * One workaround is to use the `define` config prop\n * https://vitejs.dev/config/#define\n * We are solving this in the SDK level to reduce setup steps.\n */\nif (typeof window !== 'undefined' && !window.global) {\n window.global = typeof global === 'undefined' ? window : global;\n}\n\nexport {};\n","import './polyfills';\nimport './types/appearance';\n\nimport { setClerkJsLoadingErrorPackageName } from '@clerk/shared/loadClerkJsScript';\n\nimport { setErrorThrowerOptions } from './errors/errorThrower';\n\nexport * from './components';\nexport * from './contexts';\n\nexport * from './hooks';\nexport type {\n BrowserClerk,\n BrowserClerkConstructor,\n ClerkProp,\n HeadlessBrowserClerk,\n HeadlessBrowserClerkConstructor,\n IsomorphicClerkOptions,\n} from '@clerk/shared/types';\nexport type { ClerkProviderProps } from './types';\n\nsetErrorThrowerOptions({ packageName: PACKAGE_NAME });\nsetClerkJsLoadingErrorPackageName(PACKAGE_NAME);\n","import type { SignInButtonProps, SignInProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport type { WithClerkProp } from '../types';\nimport { assertSingleChild, normalizeWithDefaultValue, safeExecute } from '../utils';\nimport { withClerk } from './withClerk';\n\nexport const SignInButton = withClerk(\n ({ clerk, children, ...props }: WithClerkProp<React.PropsWithChildren<SignInButtonProps>>) => {\n const {\n signUpFallbackRedirectUrl,\n forceRedirectUrl,\n fallbackRedirectUrl,\n signUpForceRedirectUrl,\n mode,\n initialValues,\n withSignUp,\n oauthFlow,\n ...rest\n } = props;\n children = normalizeWithDefaultValue(children, 'Sign in');\n const child = assertSingleChild(children)('SignInButton');\n\n const clickHandler = () => {\n const opts: SignInProps = {\n forceRedirectUrl,\n fallbackRedirectUrl,\n signUpFallbackRedirectUrl,\n signUpForceRedirectUrl,\n initialValues,\n withSignUp,\n oauthFlow,\n };\n\n if (mode === 'modal') {\n return clerk.openSignIn({ ...opts, appearance: props.appearance });\n }\n return clerk.redirectToSignIn({\n ...opts,\n signInFallbackRedirectUrl: fallbackRedirectUrl,\n signInForceRedirectUrl: forceRedirectUrl,\n });\n };\n\n const wrappedChildClickHandler: React.MouseEventHandler = async e => {\n if (child && typeof child === 'object' && 'props' in child) {\n await safeExecute(child.props.onClick)(e);\n }\n return clickHandler();\n };\n\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React.cloneElement(child as React.ReactElement<unknown>, childProps);\n },\n { component: 'SignInButton', renderWhileLoading: true },\n);\n","import React from 'react';\n\nimport type { SignInWithMetamaskButtonProps, WithClerkProp } from '../types';\nimport { assertSingleChild, normalizeWithDefaultValue, safeExecute } from '../utils';\nimport { withClerk } from './withClerk';\n\nexport const SignInWithMetamaskButton = withClerk(\n ({ clerk, children, ...props }: WithClerkProp<SignInWithMetamaskButtonProps>) => {\n const { redirectUrl, ...rest } = props;\n\n children = normalizeWithDefaultValue(children, 'Sign in with Metamask');\n const child = assertSingleChild(children)('SignInWithMetamaskButton');\n\n // TODO: Properly fix this code\n // eslint-disable-next-line @typescript-eslint/require-await\n const clickHandler = async () => {\n async function authenticate() {\n await clerk.authenticateWithMetamask({ redirectUrl: redirectUrl || undefined });\n }\n void authenticate();\n };\n\n const wrappedChildClickHandler: React.MouseEventHandler = async e => {\n await safeExecute((child as any).props.onClick)(e);\n return clickHandler();\n };\n\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React.cloneElement(child as React.ReactElement<unknown>, childProps);\n },\n { component: 'SignInWithMetamask', renderWhileLoading: true },\n);\n","import type { SignOutOptions } from '@clerk/shared/types';\nimport React from 'react';\n\nimport type { WithClerkProp } from '../types';\nimport { assertSingleChild, normalizeWithDefaultValue, safeExecute } from '../utils';\nimport { withClerk } from './withClerk';\n\nexport type SignOutButtonProps = {\n redirectUrl?: string;\n signOutOptions?: SignOutOptions;\n children?: React.ReactNode;\n};\n\nexport const SignOutButton = withClerk(\n ({ clerk, children, ...props }: React.PropsWithChildren<WithClerkProp<SignOutButtonProps>>) => {\n const { redirectUrl = '/', signOutOptions, ...rest } = props;\n\n children = normalizeWithDefaultValue(children, 'Sign out');\n const child = assertSingleChild(children)('SignOutButton');\n\n const clickHandler = () => clerk.signOut({ redirectUrl, ...signOutOptions });\n const wrappedChildClickHandler: React.MouseEventHandler = async e => {\n await safeExecute((child as any).props.onClick)(e);\n return clickHandler();\n };\n\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React.cloneElement(child as React.ReactElement<unknown>, childProps);\n },\n { component: 'SignOutButton', renderWhileLoading: true },\n);\n","import type { SignUpButtonProps, SignUpProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport type { WithClerkProp } from '../types';\nimport { assertSingleChild, normalizeWithDefaultValue, safeExecute } from '../utils';\nimport { withClerk } from './withClerk';\n\nexport const SignUpButton = withClerk(\n ({ clerk, children, ...props }: WithClerkProp<React.PropsWithChildren<SignUpButtonProps>>) => {\n const {\n fallbackRedirectUrl,\n forceRedirectUrl,\n signInFallbackRedirectUrl,\n signInForceRedirectUrl,\n mode,\n initialValues,\n oauthFlow,\n ...rest\n } = props;\n\n children = normalizeWithDefaultValue(children, 'Sign up');\n const child = assertSingleChild(children)('SignUpButton');\n\n const clickHandler = () => {\n const opts: SignUpProps = {\n fallbackRedirectUrl,\n forceRedirectUrl,\n signInFallbackRedirectUrl,\n signInForceRedirectUrl,\n initialValues,\n oauthFlow,\n };\n\n if (mode === 'modal') {\n return clerk.openSignUp({\n ...opts,\n appearance: props.appearance,\n unsafeMetadata: props.unsafeMetadata,\n });\n }\n\n return clerk.redirectToSignUp({\n ...opts,\n signUpFallbackRedirectUrl: fallbackRedirectUrl,\n signUpForceRedirectUrl: forceRedirectUrl,\n });\n };\n\n const wrappedChildClickHandler: React.MouseEventHandler = async e => {\n if (child && typeof child === 'object' && 'props' in child) {\n await safeExecute(child.props.onClick)(e);\n }\n return clickHandler();\n };\n\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React.cloneElement(child as React.ReactElement<unknown>, childProps);\n },\n { component: 'SignUpButton', renderWhileLoading: true },\n);\n","import type { IsomorphicClerkOptions } from '@clerk/shared/types';\nimport type { Ui } from '@clerk/ui/internal';\nimport React from 'react';\n\nimport { multipleClerkProvidersError } from '../errors/messages';\nimport type { ClerkProviderProps } from '../types';\nimport { withMaxAllowedInstancesGuard } from '../utils';\nimport { ClerkContextProvider } from './ClerkContextProvider';\n\nfunction ClerkProviderBase<TUi extends Ui>(props: ClerkProviderProps<TUi>) {\n const { initialState, children, ...restIsomorphicClerkOptions } = props;\n const isomorphicClerkOptions = restIsomorphicClerkOptions as unknown as IsomorphicClerkOptions;\n\n return (\n <ClerkContextProvider\n initialState={initialState}\n isomorphicClerkOptions={isomorphicClerkOptions}\n >\n {children}\n </ClerkContextProvider>\n );\n}\n\nconst ClerkProvider = withMaxAllowedInstancesGuard(ClerkProviderBase, 'ClerkProvider', multipleClerkProvidersError);\n\nClerkProvider.displayName = 'ClerkProvider';\n\nexport { ClerkProvider };\n","import { deriveState } from '@clerk/shared/deriveState';\nimport {\n __experimental_CheckoutProvider as CheckoutProvider,\n ClientContext,\n OrganizationProvider,\n SessionContext,\n UserContext,\n} from '@clerk/shared/react';\nimport type { ClientResource, InitialState, Resources } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { IsomorphicClerk } from '../isomorphicClerk';\nimport type { IsomorphicClerkOptions } from '../types';\nimport { AuthContext } from './AuthContext';\nimport { IsomorphicClerkContext } from './IsomorphicClerkContext';\n\ntype ClerkContextProvider = {\n isomorphicClerkOptions: IsomorphicClerkOptions;\n initialState: InitialState | undefined;\n children: React.ReactNode;\n};\n\nexport type ClerkContextProviderState = Resources;\n\nexport function ClerkContextProvider(props: ClerkContextProvider) {\n const { isomorphicClerkOptions, initialState, children } = props;\n const { isomorphicClerk: clerk, clerkStatus } = useLoadedIsomorphicClerk(isomorphicClerkOptions);\n\n const [state, setState] = React.useState<ClerkContextProviderState>({\n client: clerk.client as ClientResource,\n session: clerk.session,\n user: clerk.user,\n organization: clerk.organization,\n });\n\n React.useEffect(() => {\n return clerk.addListener(e => setState({ ...e }));\n }, []);\n\n const derivedState = deriveState(clerk.loaded, state, initialState);\n const clerkCtx = React.useMemo(\n () => ({ value: clerk }),\n [\n // Only update the clerk reference on status change\n clerkStatus,\n ],\n );\n const clientCtx = React.useMemo(() => ({ value: state.client }), [state.client]);\n\n const {\n sessionId,\n sessionStatus,\n sessionClaims,\n session,\n userId,\n user,\n orgId,\n actor,\n organization,\n orgRole,\n orgSlug,\n orgPermissions,\n factorVerificationAge,\n } = derivedState;\n\n const authCtx = React.useMemo(() => {\n const value = {\n sessionId,\n sessionStatus,\n sessionClaims,\n userId,\n actor,\n orgId,\n orgRole,\n orgSlug,\n orgPermissions,\n factorVerificationAge,\n };\n return { value };\n }, [sessionId, sessionStatus, userId, actor, orgId, orgRole, orgSlug, factorVerificationAge, sessionClaims?.__raw]);\n\n const sessionCtx = React.useMemo(() => ({ value: session }), [sessionId, session]);\n const userCtx = React.useMemo(() => ({ value: user }), [userId, user]);\n const organizationCtx = React.useMemo(() => {\n const value = {\n organization: organization,\n };\n return { value };\n }, [orgId, organization]);\n\n return (\n // @ts-expect-error value passed is of type IsomorphicClerk where the context expects LoadedClerk\n <IsomorphicClerkContext.Provider value={clerkCtx}>\n <ClientContext.Provider value={clientCtx}>\n <SessionContext.Provider value={sessionCtx}>\n <OrganizationProvider {...organizationCtx.value}>\n <AuthContext.Provider value={authCtx}>\n <UserContext.Provider value={userCtx}>\n <CheckoutProvider\n // @ts-expect-error - value is not used\n value={undefined}\n >\n {children}\n </CheckoutProvider>\n </UserContext.Provider>\n </AuthContext.Provider>\n </OrganizationProvider>\n </SessionContext.Provider>\n </ClientContext.Provider>\n </IsomorphicClerkContext.Provider>\n );\n}\n\nconst useLoadedIsomorphicClerk = (options: IsomorphicClerkOptions) => {\n const isomorphicClerkRef = React.useRef(IsomorphicClerk.getOrCreateInstance(options));\n const [clerkStatus, setClerkStatus] = React.useState(isomorphicClerkRef.current.status);\n\n React.useEffect(() => {\n void isomorphicClerkRef.current.__internal_updateProps({ appearance: options.appearance });\n }, [options.appearance]);\n\n React.useEffect(() => {\n void isomorphicClerkRef.current.__internal_updateProps({ options });\n }, [options.localization]);\n\n React.useEffect(() => {\n isomorphicClerkRef.current.on('status', setClerkStatus);\n return () => {\n if (isomorphicClerkRef.current) {\n isomorphicClerkRef.current.off('status', setClerkStatus);\n }\n IsomorphicClerk.clearInstance();\n };\n }, []);\n\n return { isomorphicClerk: isomorphicClerkRef.current, clerkStatus };\n};\n","import { inBrowser } from '@clerk/shared/browser';\nimport { clerkEvents, createClerkEventBus } from '@clerk/shared/clerkEventBus';\nimport { loadClerkJsScript, loadClerkUiScript } from '@clerk/shared/loadClerkJsScript';\nimport type {\n __internal_AttemptToEnableEnvironmentSettingParams,\n __internal_AttemptToEnableEnvironmentSettingResult,\n __internal_CheckoutProps,\n __internal_EnableOrganizationsPromptProps,\n __internal_OAuthConsentProps,\n __internal_PlanDetailsProps,\n __internal_SubscriptionDetailsProps,\n __internal_UserVerificationModalProps,\n __internal_UserVerificationProps,\n APIKeysNamespace,\n APIKeysProps,\n AuthenticateWithBaseParams,\n AuthenticateWithCoinbaseWalletParams,\n AuthenticateWithGoogleOneTapParams,\n AuthenticateWithMetamaskParams,\n AuthenticateWithOKXWalletParams,\n BillingNamespace,\n Clerk,\n ClerkAuthenticateWithWeb3Params,\n ClerkOptions,\n ClerkStatus,\n ClientResource,\n CreateOrganizationParams,\n CreateOrganizationProps,\n DomainOrProxyUrl,\n GoogleOneTapProps,\n HandleEmailLinkVerificationParams,\n HandleOAuthCallbackParams,\n JoinWaitlistParams,\n ListenerCallback,\n LoadedClerk,\n OrganizationListProps,\n OrganizationProfileProps,\n OrganizationResource,\n OrganizationSwitcherProps,\n PricingTableProps,\n RedirectOptions,\n SetActiveParams,\n SignInProps,\n SignInRedirectOptions,\n SignInResource,\n SignUpProps,\n SignUpRedirectOptions,\n SignUpResource,\n State,\n TaskChooseOrganizationProps,\n TaskResetPasswordProps,\n TasksRedirectOptions,\n UnsubscribeCallback,\n UserAvatarProps,\n UserButtonProps,\n UserProfileProps,\n WaitlistProps,\n WaitlistResource,\n Without,\n} from '@clerk/shared/types';\nimport type { ClerkUiConstructor } from '@clerk/shared/ui';\nimport { handleValueOrFn } from '@clerk/shared/utils';\n\nimport { errorThrower } from './errors/errorThrower';\nimport { unsupportedNonBrowserDomainOrProxyUrlFunction } from './errors/messages';\nimport { StateProxy } from './stateProxy';\nimport type {\n BrowserClerk,\n BrowserClerkConstructor,\n ClerkProp,\n HeadlessBrowserClerk,\n HeadlessBrowserClerkConstructor,\n IsomorphicClerkOptions,\n} from './types';\nimport { isConstructor } from './utils';\n\nif (typeof globalThis.__BUILD_DISABLE_RHC__ === 'undefined') {\n globalThis.__BUILD_DISABLE_RHC__ = false;\n}\n\nconst SDK_METADATA = {\n name: PACKAGE_NAME,\n version: PACKAGE_VERSION,\n environment: process.env.NODE_ENV,\n};\n\nexport interface Global {\n Clerk?: HeadlessBrowserClerk | BrowserClerk;\n __internal_ClerkUiCtor?: ClerkUiConstructor;\n}\n\ndeclare const global: Global;\n\ntype GenericFunction<TArgs = never> = (...args: TArgs[]) => unknown;\n\ntype MethodName<T> = {\n [P in keyof T]: T[P] extends GenericFunction ? P : never;\n}[keyof T];\n\ntype MethodCallback = () => Promise<unknown> | unknown;\n\ntype WithVoidReturn<F extends (...args: any) => any> = (\n ...args: Parameters<F>\n) => ReturnType<F> extends Promise<infer T> ? Promise<T | void> : ReturnType<F> | void;\ntype WithVoidReturnFunctions<T> = {\n [K in keyof T]: T[K] extends (...args: any) => any ? WithVoidReturn<T[K]> : T[K];\n};\n\ntype IsomorphicLoadedClerk = Without<\n WithVoidReturnFunctions<LoadedClerk>,\n | 'client'\n | '__internal_addNavigationListener'\n | '__internal_getCachedResources'\n | '__internal_reloadInitialResources'\n | 'billing'\n | 'apiKeys'\n | '__internal_setActiveInProgress'\n> & {\n client: ClientResource | undefined;\n billing: BillingNamespace | undefined;\n apiKeys: APIKeysNamespace | undefined;\n};\n\nexport class IsomorphicClerk implements IsomorphicLoadedClerk {\n private readonly mode: 'browser' | 'server';\n private readonly options: IsomorphicClerkOptions;\n private readonly Clerk: ClerkProp;\n private clerkjs: BrowserClerk | HeadlessBrowserClerk | null = null;\n private preopenOneTap?: null | GoogleOneTapProps = null;\n private preopenUserVerification?: null | __internal_UserVerificationProps = null;\n private preopenEnableOrganizationsPrompt?: null | __internal_EnableOrganizationsPromptProps = null;\n private preopenSignIn?: null | SignInProps = null;\n private preopenCheckout?: null | __internal_CheckoutProps = null;\n private preopenPlanDetails: null | __internal_PlanDetailsProps = null;\n private preopenSubscriptionDetails: null | __internal_SubscriptionDetailsProps = null;\n private preopenSignUp?: null | SignUpProps = null;\n private preopenUserProfile?: null | UserProfileProps = null;\n private preopenOrganizationProfile?: null | OrganizationProfileProps = null;\n private preopenCreateOrganization?: null | CreateOrganizationProps = null;\n private preOpenWaitlist?: null | WaitlistProps = null;\n private premountSignInNodes = new Map<HTMLDivElement, SignInProps | undefined>();\n private premountSignUpNodes = new Map<HTMLDivElement, SignUpProps | undefined>();\n private premountUserAvatarNodes = new Map<HTMLDivElement, UserAvatarProps | undefined>();\n private premountUserProfileNodes = new Map<HTMLDivElement, UserProfileProps | undefined>();\n private premountUserButtonNodes = new Map<HTMLDivElement, UserButtonProps | undefined>();\n private premountOrganizationProfileNodes = new Map<HTMLDivElement, OrganizationProfileProps | undefined>();\n private premountCreateOrganizationNodes = new Map<HTMLDivElement, CreateOrganizationProps | undefined>();\n private premountOrganizationSwitcherNodes = new Map<HTMLDivElement, OrganizationSwitcherProps | undefined>();\n private premountOrganizationListNodes = new Map<HTMLDivElement, OrganizationListProps | undefined>();\n private premountMethodCalls = new Map<MethodName<BrowserClerk>, MethodCallback>();\n private premountWaitlistNodes = new Map<HTMLDivElement, WaitlistProps | undefined>();\n private premountPricingTableNodes = new Map<HTMLDivElement, PricingTableProps | undefined>();\n private premountAPIKeysNodes = new Map<HTMLDivElement, APIKeysProps | undefined>();\n private premountOAuthConsentNodes = new Map<HTMLDivElement, __internal_OAuthConsentProps | undefined>();\n private premountTaskChooseOrganizationNodes = new Map<HTMLDivElement, TaskChooseOrganizationProps | undefined>();\n private premountTaskResetPasswordNodes = new Map<HTMLDivElement, TaskResetPasswordProps | undefined>();\n // A separate Map of `addListener` method calls to handle multiple listeners.\n private premountAddListenerCalls = new Map<\n ListenerCallback,\n {\n unsubscribe: UnsubscribeCallback;\n nativeUnsubscribe?: UnsubscribeCallback;\n }\n >();\n private loadedListeners: Array<() => void> = [];\n\n #status: ClerkStatus = 'loading';\n #domain: DomainOrProxyUrl['domain'];\n #proxyUrl: DomainOrProxyUrl['proxyUrl'];\n #publishableKey: string;\n #eventBus = createClerkEventBus();\n #stateProxy: StateProxy;\n\n get publishableKey(): string {\n return this.#publishableKey;\n }\n\n get loaded(): boolean {\n return this.clerkjs?.loaded || false;\n }\n\n get status(): ClerkStatus {\n /**\n * If clerk-js is not available the returned value can either be \"loading\" or \"error\".\n */\n if (!this.clerkjs) {\n return this.#status;\n }\n return (\n this.clerkjs?.status ||\n /**\n * Support older clerk-js versions.\n * If clerk-js is available but `.status` is missing it we need to fallback to `.loaded`.\n * Since \"degraded\" an \"error\" did not exist before,\n * map \"loaded\" to \"ready\" and \"not loaded\" to \"loading\".\n */\n (this.clerkjs.loaded ? 'ready' : 'loading')\n );\n }\n\n static #instance: IsomorphicClerk | null | undefined;\n\n static getOrCreateInstance(options: IsomorphicClerkOptions) {\n // During SSR: a new instance should be created for every request\n // During CSR: use the cached instance for the whole lifetime of the app\n // Also will recreate the instance if the provided Clerk instance changes\n // This method should be idempotent in both scenarios\n if (\n !inBrowser() ||\n !this.#instance ||\n (options.Clerk && this.#instance.Clerk !== options.Clerk) ||\n // Allow hot swapping PKs on the client\n this.#instance.publishableKey !== options.publishableKey\n ) {\n this.#instance = new IsomorphicClerk(options);\n }\n return this.#instance;\n }\n\n static clearInstance() {\n this.#instance = null;\n }\n\n get domain(): string {\n // This getter can run in environments where window is not available.\n // In those cases we should expect and use domain as a string\n if (typeof window !== 'undefined' && window.location) {\n return handleValueOrFn(this.#domain, new URL(window.location.href), '');\n }\n if (typeof this.#domain === 'function') {\n return errorThrower.throw(unsupportedNonBrowserDomainOrProxyUrlFunction);\n }\n return this.#domain || '';\n }\n\n get proxyUrl(): string {\n // This getter can run in environments where window is not available.\n // In those cases we should expect and use proxy as a string\n if (typeof window !== 'undefined' && window.location) {\n return handleValueOrFn(this.#proxyUrl, new URL(window.location.href), '');\n }\n if (typeof this.#proxyUrl === 'function') {\n return errorThrower.throw(unsupportedNonBrowserDomainOrProxyUrlFunction);\n }\n return this.#proxyUrl || '';\n }\n\n /**\n * Accesses private options from the `Clerk` instance and defaults to\n * `IsomorphicClerk` options when in SSR context.\n * @internal\n */\n public __internal_getOption<K extends keyof ClerkOptions>(key: K): ClerkOptions[K] | undefined {\n return this.clerkjs?.__internal_getOption ? this.clerkjs?.__internal_getOption(key) : this.options[key];\n }\n\n constructor(options: IsomorphicClerkOptions) {\n this.#publishableKey = options?.publishableKey;\n this.#proxyUrl = options?.proxyUrl;\n this.#domain = options?.domain;\n this.options = options;\n this.Clerk = options?.Clerk || null;\n this.mode = inBrowser() ? 'browser' : 'server';\n this.#stateProxy = new StateProxy(this);\n\n if (!this.options.sdkMetadata) {\n this.options.sdkMetadata = SDK_METADATA;\n }\n this.#eventBus.emit(clerkEvents.Status, 'loading');\n this.#eventBus.prioritizedOn(clerkEvents.Status, status => (this.#status = status));\n\n if (this.#publishableKey) {\n void this.getEntryChunks();\n }\n }\n\n get sdkMetadata() {\n return this.clerkjs?.sdkMetadata || this.options.sdkMetadata || undefined;\n }\n\n get instanceType() {\n return this.clerkjs?.instanceType;\n }\n\n get frontendApi() {\n return this.clerkjs?.frontendApi || '';\n }\n\n get isStandardBrowser() {\n return this.clerkjs?.isStandardBrowser || this.options.standardBrowser || false;\n }\n\n get __internal_queryClient() {\n // @ts-expect-error - __internal_queryClient is not typed\n return this.clerkjs?.__internal_queryClient;\n }\n\n get isSatellite() {\n // This getter can run in environments where window is not available.\n // In those cases we should expect and use domain as a string\n if (typeof window !== 'undefined' && window.location) {\n return handleValueOrFn(this.options.isSatellite, new URL(window.location.href), false);\n }\n if (typeof this.options.isSatellite === 'function') {\n return errorThrower.throw(unsupportedNonBrowserDomainOrProxyUrlFunction);\n }\n return false;\n }\n\n buildSignInUrl = (opts?: RedirectOptions): string | void => {\n const callback = () => this.clerkjs?.buildSignInUrl(opts) || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildSignInUrl', callback);\n }\n };\n\n buildSignUpUrl = (opts?: RedirectOptions): string | void => {\n const callback = () => this.clerkjs?.buildSignUpUrl(opts) || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildSignUpUrl', callback);\n }\n };\n\n buildAfterSignInUrl = (...args: Parameters<Clerk['buildAfterSignInUrl']>): string | void => {\n const callback = () => this.clerkjs?.buildAfterSignInUrl(...args) || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildAfterSignInUrl', callback);\n }\n };\n\n buildAfterSignUpUrl = (...args: Parameters<Clerk['buildAfterSignUpUrl']>): string | void => {\n const callback = () => this.clerkjs?.buildAfterSignUpUrl(...args) || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildAfterSignUpUrl', callback);\n }\n };\n\n buildAfterSignOutUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildAfterSignOutUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildAfterSignOutUrl', callback);\n }\n };\n\n buildNewSubscriptionRedirectUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildNewSubscriptionRedirectUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildNewSubscriptionRedirectUrl', callback);\n }\n };\n\n buildAfterMultiSessionSingleSignOutUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildAfterMultiSessionSingleSignOutUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildAfterMultiSessionSingleSignOutUrl', callback);\n }\n };\n\n buildUserProfileUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildUserProfileUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildUserProfileUrl', callback);\n }\n };\n\n buildCreateOrganizationUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildCreateOrganizationUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildCreateOrganizationUrl', callback);\n }\n };\n\n buildOrganizationProfileUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildOrganizationProfileUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildOrganizationProfileUrl', callback);\n }\n };\n\n buildWaitlistUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildWaitlistUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildWaitlistUrl', callback);\n }\n };\n\n buildTasksUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildTasksUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildTasksUrl', callback);\n }\n };\n\n buildUrlWithAuth = (to: string): string | void => {\n const callback = () => this.clerkjs?.buildUrlWithAuth(to) || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildUrlWithAuth', callback);\n }\n };\n\n handleUnauthenticated = async () => {\n const callback = () => this.clerkjs?.handleUnauthenticated();\n if (this.clerkjs && this.loaded) {\n void callback();\n } else {\n this.premountMethodCalls.set('handleUnauthenticated', callback);\n }\n };\n\n #waitForClerkJS(): Promise<HeadlessBrowserClerk | BrowserClerk> {\n return new Promise<HeadlessBrowserClerk | BrowserClerk>(resolve => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.addOnLoaded(() => resolve(this.clerkjs!));\n });\n }\n\n async getEntryChunks(): Promise<void> {\n if (this.mode !== 'browser' || this.loaded) {\n return;\n }\n\n // Store frontendAPI value on window as a fallback. This value can be used as a\n // fallback during ClerkJS hot loading in case ClerkJS fails to find the\n // \"data-clerk-frontend-api\" attribute on its script tag.\n // This can happen when the DOM is altered completely during client rehydration.\n // For example, in Remix with React 18 the document changes completely via `hydrateRoot(document)`.\n // For more information refer to:\n // - https://github.com/remix-run/remix/issues/2947\n // - https://github.com/facebook/react/issues/24430\n if (typeof window !== 'undefined') {\n window.__clerk_publishable_key = this.#publishableKey;\n window.__clerk_proxy_url = this.proxyUrl;\n window.__clerk_domain = this.domain;\n }\n\n try {\n const clerkUiCtor = this.getClerkUiEntryChunk();\n const clerk = await this.getClerkJsEntryChunk();\n\n if (!clerk.loaded) {\n this.beforeLoad(clerk);\n await clerk.load({ ...this.options, clerkUiCtor });\n }\n if (clerk.loaded) {\n this.replayInterceptedInvocations(clerk);\n }\n } catch (err) {\n const error = err as Error;\n this.#eventBus.emit(clerkEvents.Status, 'error');\n console.error(error.stack || error.message || error);\n return;\n }\n }\n\n private async getClerkJsEntryChunk(): Promise<HeadlessBrowserClerk | BrowserClerk> {\n // Hotload bundle\n if (!this.options.Clerk && !__BUILD_DISABLE_RHC__) {\n // the UMD script sets the global.Clerk instance\n // we do not want to await here as we\n await loadClerkJsScript({\n ...this.options,\n publishableKey: this.#publishableKey,\n proxyUrl: this.proxyUrl,\n domain: this.domain,\n nonce: this.options.nonce,\n });\n }\n\n // Otherwise, set global.Clerk to the bundled ctor or instance\n if (this.options.Clerk) {\n global.Clerk = isConstructor<BrowserClerkConstructor | HeadlessBrowserClerkConstructor>(this.options.Clerk)\n ? new this.options.Clerk(this.#publishableKey, { proxyUrl: this.proxyUrl, domain: this.domain })\n : this.options.Clerk;\n }\n\n if (!global.Clerk) {\n // TODO @nikos: somehow throw if clerk ui failed to load but it was not headless\n throw new Error('Failed to download latest ClerkJS. Contact support@clerk.com.');\n }\n\n return global.Clerk;\n }\n\n private async getClerkUiEntryChunk(): Promise<ClerkUiConstructor> {\n if (this.options.clerkUiCtor) {\n return this.options.clerkUiCtor;\n }\n\n await loadClerkUiScript({\n ...this.options,\n clerkUiVersion: this.options.ui?.version,\n clerkUiUrl: this.options.ui?.url || this.options.clerkUiUrl,\n publishableKey: this.#publishableKey,\n proxyUrl: this.proxyUrl,\n domain: this.domain,\n nonce: this.options.nonce,\n });\n\n if (!global.__internal_ClerkUiCtor) {\n throw new Error('Failed to download latest Clerk UI. Contact support@clerk.com.');\n }\n\n return global.__internal_ClerkUiCtor;\n }\n\n public on: Clerk['on'] = (...args) => {\n // Support older clerk-js versions.\n if (this.clerkjs?.on) {\n return this.clerkjs.on(...args);\n } else {\n this.#eventBus.on(...args);\n }\n };\n\n public off: Clerk['off'] = (...args) => {\n // Support older clerk-js versions.\n if (this.clerkjs?.off) {\n return this.clerkjs.off(...args);\n } else {\n this.#eventBus.off(...args);\n }\n };\n\n /**\n * @deprecated Please use `addStatusListener`. This api will be removed in the next major.\n */\n public addOnLoaded = (cb: () => void) => {\n this.loadedListeners.push(cb);\n /**\n * When IsomorphicClerk is loaded execute the callback directly\n */\n if (this.loaded) {\n this.emitLoaded();\n }\n };\n\n /**\n * @deprecated Please use `__internal_setStatus`. This api will be removed in the next major.\n */\n public emitLoaded = () => {\n this.loadedListeners.forEach(cb => cb());\n this.loadedListeners = [];\n };\n\n private beforeLoad = (clerkjs: BrowserClerk | HeadlessBrowserClerk | undefined) => {\n if (!clerkjs) {\n throw new Error('Failed to hydrate latest Clerk JS');\n }\n };\n\n private replayInterceptedInvocations = (clerkjs: BrowserClerk | HeadlessBrowserClerk | undefined) => {\n if (!clerkjs) {\n throw new Error('Failed to hydrate latest Clerk JS');\n }\n\n this.clerkjs = clerkjs;\n\n this.premountMethodCalls.forEach(cb => cb());\n this.premountAddListenerCalls.forEach((listenerHandlers, listener) => {\n listenerHandlers.nativeUnsubscribe = clerkjs.addListener(listener);\n });\n\n this.#eventBus.internal.retrieveListeners('status')?.forEach(listener => {\n // Since clerkjs exists it will call `this.clerkjs.on('status', listener)`\n this.on('status', listener, { notify: true });\n });\n\n // @ts-expect-error - queryClientStatus is not typed\n this.#eventBus.internal.retrieveListeners('queryClientStatus')?.forEach(listener => {\n // Since clerkjs exists it will call `this.clerkjs.on('queryClientStatus', listener)`\n // @ts-expect-error - queryClientStatus is not typed\n this.on('queryClientStatus', listener, { notify: true });\n });\n\n if (this.preopenSignIn !== null) {\n clerkjs.openSignIn(this.preopenSignIn);\n }\n\n if (this.preopenCheckout !== null) {\n clerkjs.__internal_openCheckout(this.preopenCheckout);\n }\n\n if (this.preopenPlanDetails !== null) {\n clerkjs.__internal_openPlanDetails(this.preopenPlanDetails);\n }\n\n if (this.preopenSubscriptionDetails !== null) {\n clerkjs.__internal_openSubscriptionDetails(this.preopenSubscriptionDetails);\n }\n\n if (this.preopenSignUp !== null) {\n clerkjs.openSignUp(this.preopenSignUp);\n }\n\n if (this.preopenUserProfile !== null) {\n clerkjs.openUserProfile(this.preopenUserProfile);\n }\n\n if (this.preopenUserVerification !== null) {\n clerkjs.__internal_openReverification(this.preopenUserVerification);\n }\n\n if (this.preopenOneTap !== null) {\n clerkjs.openGoogleOneTap(this.preopenOneTap);\n }\n\n if (this.preopenOrganizationProfile !== null) {\n clerkjs.openOrganizationProfile(this.preopenOrganizationProfile);\n }\n\n if (this.preopenCreateOrganization !== null) {\n clerkjs.openCreateOrganization(this.preopenCreateOrganization);\n }\n\n if (this.preOpenWaitlist !== null) {\n clerkjs.openWaitlist(this.preOpenWaitlist);\n }\n\n if (this.preopenEnableOrganizationsPrompt) {\n clerkjs.__internal_openEnableOrganizationsPrompt(this.preopenEnableOrganizationsPrompt);\n }\n\n this.premountSignInNodes.forEach((props, node) => {\n clerkjs.mountSignIn(node, props);\n });\n\n this.premountSignUpNodes.forEach((props, node) => {\n clerkjs.mountSignUp(node, props);\n });\n\n this.premountUserProfileNodes.forEach((props, node) => {\n clerkjs.mountUserProfile(node, props);\n });\n\n this.premountUserAvatarNodes.forEach((props, node) => {\n clerkjs.mountUserAvatar(node, props);\n });\n\n this.premountUserButtonNodes.forEach((props, node) => {\n clerkjs.mountUserButton(node, props);\n });\n\n this.premountOrganizationListNodes.forEach((props, node) => {\n clerkjs.mountOrganizationList(node, props);\n });\n\n this.premountWaitlistNodes.forEach((props, node) => {\n clerkjs.mountWaitlist(node, props);\n });\n\n this.premountPricingTableNodes.forEach((props, node) => {\n clerkjs.mountPricingTable(node, props);\n });\n\n this.premountAPIKeysNodes.forEach((props, node) => {\n clerkjs.mountAPIKeys(node, props);\n });\n\n this.premountOAuthConsentNodes.forEach((props, node) => {\n clerkjs.__internal_mountOAuthConsent(node, props);\n });\n\n this.premountTaskChooseOrganizationNodes.forEach((props, node) => {\n clerkjs.mountTaskChooseOrganization(node, props);\n });\n\n this.premountTaskResetPasswordNodes.forEach((props, node) => {\n clerkjs.mountTaskResetPassword(node, props);\n });\n\n /**\n * Only update status in case `clerk.status` is missing. In any other case, `clerk-js` should be the orchestrator.\n */\n if (typeof this.clerkjs.status === 'undefined') {\n this.#eventBus.emit(clerkEvents.Status, 'ready');\n }\n\n this.emitLoaded();\n return this.clerkjs;\n };\n\n get version() {\n return this.clerkjs?.version;\n }\n\n get client(): ClientResource | undefined {\n if (this.clerkjs) {\n return this.clerkjs.client;\n // TODO: add ssr condition\n } else {\n return undefined;\n }\n }\n\n get session() {\n if (this.clerkjs) {\n return this.clerkjs.session;\n } else {\n return undefined;\n }\n }\n\n get user() {\n if (this.clerkjs) {\n return this.clerkjs.user;\n } else {\n return undefined;\n }\n }\n\n get organization() {\n if (this.clerkjs) {\n return this.clerkjs.organization;\n } else {\n return undefined;\n }\n }\n\n get telemetry() {\n if (this.clerkjs) {\n return this.clerkjs.telemetry;\n } else {\n return undefined;\n }\n }\n\n get __internal_environment(): any {\n if (this.clerkjs) {\n return (this.clerkjs as any).__internal_environment;\n // TODO: add ssr condition\n } else {\n return undefined;\n }\n }\n\n get isSignedIn(): boolean {\n if (this.clerkjs) {\n return this.clerkjs.isSignedIn;\n } else {\n return false;\n }\n }\n\n get billing(): BillingNamespace | undefined {\n return this.clerkjs?.billing;\n }\n\n get __internal_state(): State {\n return this.loaded && this.clerkjs ? this.clerkjs.__internal_state : this.#stateProxy;\n }\n\n get apiKeys(): APIKeysNamespace | undefined {\n return this.clerkjs?.apiKeys;\n }\n\n __experimental_checkout = (...args: Parameters<Clerk['__experimental_checkout']>) => {\n return this.loaded && this.clerkjs\n ? this.clerkjs.__experimental_checkout(...args)\n : this.#stateProxy.checkoutSignal(...args);\n };\n\n __internal_setEnvironment(...args: any): void {\n if (this.clerkjs && '__internal_setEnvironment' in this.clerkjs) {\n (this.clerkjs as any).__internal_setEnvironment(args);\n } else {\n return undefined;\n }\n }\n\n // TODO @userland-errors:\n __internal_updateProps = async (props: any): Promise<void> => {\n const clerkjs = await this.#waitForClerkJS();\n // Handle case where accounts has clerk-react@4 installed, but clerk-js@3 is manually loaded\n if (clerkjs && '__internal_updateProps' in clerkjs) {\n return (clerkjs as any).__internal_updateProps(props);\n }\n };\n\n /**\n * `setActive` can be used to set the active session and/or organization.\n */\n setActive = (params: SetActiveParams): Promise<void> => {\n if (this.clerkjs) {\n return this.clerkjs.setActive(params);\n } else {\n return Promise.reject();\n }\n };\n\n openSignIn = (props?: SignInProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openSignIn(props);\n } else {\n this.preopenSignIn = props;\n }\n };\n\n closeSignIn = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeSignIn();\n } else {\n this.preopenSignIn = null;\n }\n };\n\n __internal_openCheckout = (props?: __internal_CheckoutProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_openCheckout(props);\n } else {\n this.preopenCheckout = props;\n }\n };\n\n __internal_closeCheckout = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_closeCheckout();\n } else {\n this.preopenCheckout = null;\n }\n };\n\n __internal_openPlanDetails = (props: __internal_PlanDetailsProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_openPlanDetails(props);\n } else {\n this.preopenPlanDetails = props;\n }\n };\n\n __internal_closePlanDetails = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_closePlanDetails();\n } else {\n this.preopenPlanDetails = null;\n }\n };\n\n __internal_openSubscriptionDetails = (props?: __internal_SubscriptionDetailsProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_openSubscriptionDetails(props);\n } else {\n this.preopenSubscriptionDetails = props ?? null;\n }\n };\n\n __internal_closeSubscriptionDetails = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_closeSubscriptionDetails();\n } else {\n this.preopenSubscriptionDetails = null;\n }\n };\n\n __internal_openReverification = (props?: __internal_UserVerificationModalProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_openReverification(props);\n } else {\n this.preopenUserVerification = props;\n }\n };\n\n __internal_closeReverification = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_closeReverification();\n } else {\n this.preopenUserVerification = null;\n }\n };\n\n __internal_openEnableOrganizationsPrompt = (props: __internal_EnableOrganizationsPromptProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_openEnableOrganizationsPrompt(props);\n } else {\n this.preopenEnableOrganizationsPrompt = props;\n }\n };\n\n __internal_closeEnableOrganizationsPrompt = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_closeEnableOrganizationsPrompt();\n } else {\n this.preopenEnableOrganizationsPrompt = null;\n }\n };\n\n openGoogleOneTap = (props?: GoogleOneTapProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openGoogleOneTap(props);\n } else {\n this.preopenOneTap = props;\n }\n };\n\n closeGoogleOneTap = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeGoogleOneTap();\n } else {\n this.preopenOneTap = null;\n }\n };\n\n openUserProfile = (props?: UserProfileProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openUserProfile(props);\n } else {\n this.preopenUserProfile = props;\n }\n };\n\n closeUserProfile = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeUserProfile();\n } else {\n this.preopenUserProfile = null;\n }\n };\n\n openOrganizationProfile = (props?: OrganizationProfileProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openOrganizationProfile(props);\n } else {\n this.preopenOrganizationProfile = props;\n }\n };\n\n closeOrganizationProfile = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeOrganizationProfile();\n } else {\n this.preopenOrganizationProfile = null;\n }\n };\n\n openCreateOrganization = (props?: CreateOrganizationProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openCreateOrganization(props);\n } else {\n this.preopenCreateOrganization = props;\n }\n };\n\n closeCreateOrganization = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeCreateOrganization();\n } else {\n this.preopenCreateOrganization = null;\n }\n };\n\n openWaitlist = (props?: WaitlistProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openWaitlist(props);\n } else {\n this.preOpenWaitlist = props;\n }\n };\n\n closeWaitlist = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeWaitlist();\n } else {\n this.preOpenWaitlist = null;\n }\n };\n\n openSignUp = (props?: SignUpProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openSignUp(props);\n } else {\n this.preopenSignUp = props;\n }\n };\n\n closeSignUp = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeSignUp();\n } else {\n this.preopenSignUp = null;\n }\n };\n\n mountSignIn = (node: HTMLDivElement, props?: SignInProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountSignIn(node, props);\n } else {\n this.premountSignInNodes.set(node, props);\n }\n };\n\n unmountSignIn = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountSignIn(node);\n } else {\n this.premountSignInNodes.delete(node);\n }\n };\n\n mountSignUp = (node: HTMLDivElement, props?: SignUpProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountSignUp(node, props);\n } else {\n this.premountSignUpNodes.set(node, props);\n }\n };\n\n unmountSignUp = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountSignUp(node);\n } else {\n this.premountSignUpNodes.delete(node);\n }\n };\n\n mountUserAvatar = (node: HTMLDivElement, props?: UserAvatarProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountUserAvatar(node, props);\n } else {\n this.premountUserAvatarNodes.set(node, props);\n }\n };\n\n unmountUserAvatar = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountUserAvatar(node);\n } else {\n this.premountUserAvatarNodes.delete(node);\n }\n };\n\n mountUserProfile = (node: HTMLDivElement, props?: UserProfileProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountUserProfile(node, props);\n } else {\n this.premountUserProfileNodes.set(node, props);\n }\n };\n\n unmountUserProfile = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountUserProfile(node);\n } else {\n this.premountUserProfileNodes.delete(node);\n }\n };\n\n mountOrganizationProfile = (node: HTMLDivElement, props?: OrganizationProfileProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountOrganizationProfile(node, props);\n } else {\n this.premountOrganizationProfileNodes.set(node, props);\n }\n };\n\n unmountOrganizationProfile = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountOrganizationProfile(node);\n } else {\n this.premountOrganizationProfileNodes.delete(node);\n }\n };\n\n mountCreateOrganization = (node: HTMLDivElement, props?: CreateOrganizationProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountCreateOrganization(node, props);\n } else {\n this.premountCreateOrganizationNodes.set(node, props);\n }\n };\n\n unmountCreateOrganization = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountCreateOrganization(node);\n } else {\n this.premountCreateOrganizationNodes.delete(node);\n }\n };\n\n mountOrganizationSwitcher = (node: HTMLDivElement, props?: OrganizationSwitcherProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountOrganizationSwitcher(node, props);\n } else {\n this.premountOrganizationSwitcherNodes.set(node, props);\n }\n };\n\n unmountOrganizationSwitcher = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountOrganizationSwitcher(node);\n } else {\n this.premountOrganizationSwitcherNodes.delete(node);\n }\n };\n\n __experimental_prefetchOrganizationSwitcher = () => {\n const callback = () => this.clerkjs?.__experimental_prefetchOrganizationSwitcher();\n if (this.clerkjs && this.loaded) {\n void callback();\n } else {\n this.premountMethodCalls.set('__experimental_prefetchOrganizationSwitcher', callback);\n }\n };\n\n mountOrganizationList = (node: HTMLDivElement, props?: OrganizationListProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountOrganizationList(node, props);\n } else {\n this.premountOrganizationListNodes.set(node, props);\n }\n };\n\n unmountOrganizationList = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountOrganizationList(node);\n } else {\n this.premountOrganizationListNodes.delete(node);\n }\n };\n\n mountUserButton = (node: HTMLDivElement, userButtonProps?: UserButtonProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountUserButton(node, userButtonProps);\n } else {\n this.premountUserButtonNodes.set(node, userButtonProps);\n }\n };\n\n unmountUserButton = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountUserButton(node);\n } else {\n this.premountUserButtonNodes.delete(node);\n }\n };\n\n mountWaitlist = (node: HTMLDivElement, props?: WaitlistProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountWaitlist(node, props);\n } else {\n this.premountWaitlistNodes.set(node, props);\n }\n };\n\n unmountWaitlist = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountWaitlist(node);\n } else {\n this.premountWaitlistNodes.delete(node);\n }\n };\n\n mountPricingTable = (node: HTMLDivElement, props?: PricingTableProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountPricingTable(node, props);\n } else {\n this.premountPricingTableNodes.set(node, props);\n }\n };\n\n unmountPricingTable = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountPricingTable(node);\n } else {\n this.premountPricingTableNodes.delete(node);\n }\n };\n\n mountAPIKeys = (node: HTMLDivElement, props?: APIKeysProps): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountAPIKeys(node, props);\n } else {\n this.premountAPIKeysNodes.set(node, props);\n }\n };\n\n unmountAPIKeys = (node: HTMLDivElement): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountAPIKeys(node);\n } else {\n this.premountAPIKeysNodes.delete(node);\n }\n };\n\n __internal_mountOAuthConsent = (node: HTMLDivElement, props?: __internal_OAuthConsentProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_mountOAuthConsent(node, props);\n } else {\n this.premountOAuthConsentNodes.set(node, props);\n }\n };\n\n __internal_unmountOAuthConsent = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_unmountOAuthConsent(node);\n } else {\n this.premountOAuthConsentNodes.delete(node);\n }\n };\n\n mountTaskChooseOrganization = (node: HTMLDivElement, props?: TaskChooseOrganizationProps): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountTaskChooseOrganization(node, props);\n } else {\n this.premountTaskChooseOrganizationNodes.set(node, props);\n }\n };\n\n unmountTaskChooseOrganization = (node: HTMLDivElement): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountTaskChooseOrganization(node);\n } else {\n this.premountTaskChooseOrganizationNodes.delete(node);\n }\n };\n\n mountTaskResetPassword = (node: HTMLDivElement, props?: TaskResetPasswordProps): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountTaskResetPassword(node, props);\n } else {\n this.premountTaskResetPasswordNodes.set(node, props);\n }\n };\n\n unmountTaskResetPassword = (node: HTMLDivElement): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountTaskResetPassword(node);\n } else {\n this.premountTaskResetPasswordNodes.delete(node);\n }\n };\n\n addListener = (listener: ListenerCallback): UnsubscribeCallback => {\n if (this.clerkjs) {\n return this.clerkjs.addListener(listener);\n } else {\n const unsubscribe = () => {\n const listenerHandlers = this.premountAddListenerCalls.get(listener);\n if (listenerHandlers) {\n listenerHandlers.nativeUnsubscribe?.();\n this.premountAddListenerCalls.delete(listener);\n }\n };\n this.premountAddListenerCalls.set(listener, { unsubscribe, nativeUnsubscribe: undefined });\n return unsubscribe;\n }\n };\n\n navigate = (to: string) => {\n const callback = () => this.clerkjs?.navigate(to);\n if (this.clerkjs && this.loaded) {\n void callback();\n } else {\n this.premountMethodCalls.set('navigate', callback);\n }\n };\n\n redirectWithAuth = async (...args: Parameters<Clerk['redirectWithAuth']>) => {\n const callback = () => this.clerkjs?.redirectWithAuth(...args);\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectWithAuth', callback);\n return;\n }\n };\n\n redirectToSignIn = async (opts?: SignInRedirectOptions) => {\n const callback = () => this.clerkjs?.redirectToSignIn(opts as any);\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToSignIn', callback);\n return;\n }\n };\n\n redirectToSignUp = async (opts?: SignUpRedirectOptions) => {\n const callback = () => this.clerkjs?.redirectToSignUp(opts as any);\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToSignUp', callback);\n return;\n }\n };\n\n redirectToUserProfile = async () => {\n const callback = () => this.clerkjs?.redirectToUserProfile();\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToUserProfile', callback);\n return;\n }\n };\n\n redirectToAfterSignUp = (): void => {\n const callback = () => this.clerkjs?.redirectToAfterSignUp();\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToAfterSignUp', callback);\n }\n };\n\n redirectToAfterSignIn = () => {\n const callback = () => this.clerkjs?.redirectToAfterSignIn();\n if (this.clerkjs && this.loaded) {\n callback();\n } else {\n this.premountMethodCalls.set('redirectToAfterSignIn', callback);\n }\n };\n\n redirectToAfterSignOut = () => {\n const callback = () => this.clerkjs?.redirectToAfterSignOut();\n if (this.clerkjs && this.loaded) {\n callback();\n } else {\n this.premountMethodCalls.set('redirectToAfterSignOut', callback);\n }\n };\n\n redirectToOrganizationProfile = async () => {\n const callback = () => this.clerkjs?.redirectToOrganizationProfile();\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToOrganizationProfile', callback);\n return;\n }\n };\n\n redirectToCreateOrganization = async () => {\n const callback = () => this.clerkjs?.redirectToCreateOrganization();\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToCreateOrganization', callback);\n return;\n }\n };\n\n redirectToWaitlist = async () => {\n const callback = () => this.clerkjs?.redirectToWaitlist();\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToWaitlist', callback);\n return;\n }\n };\n\n redirectToTasks = async (opts?: TasksRedirectOptions) => {\n const callback = () => this.clerkjs?.redirectToTasks(opts);\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToTasks', callback);\n return;\n }\n };\n\n handleRedirectCallback = async (params: HandleOAuthCallbackParams): Promise<void> => {\n const callback = () => this.clerkjs?.handleRedirectCallback(params);\n if (this.clerkjs && this.loaded) {\n void callback()?.catch(() => {\n // This error is caused when the host app is using React18\n // and strictMode is enabled. This useEffects runs twice because\n // the clerk-react ui components mounts, unmounts and mounts again\n // so the clerk-js component loses its state because of the custom\n // unmount callback we're using.\n // This needs to be solved by tweaking the logic in uiComponents.tsx\n // or by making handleRedirectCallback idempotent\n });\n } else {\n this.premountMethodCalls.set('handleRedirectCallback', callback);\n }\n };\n\n handleGoogleOneTapCallback = async (\n signInOrUp: SignInResource | SignUpResource,\n params: HandleOAuthCallbackParams,\n ): Promise<void> => {\n const callback = () => this.clerkjs?.handleGoogleOneTapCallback(signInOrUp, params);\n if (this.clerkjs && this.loaded) {\n void callback()?.catch(() => {\n // This error is caused when the host app is using React18\n // and strictMode is enabled. This useEffects runs twice because\n // the clerk-react ui components mounts, unmounts and mounts again\n // so the clerk-js component loses its state because of the custom\n // unmount callback we're using.\n // This needs to be solved by tweaking the logic in uiComponents.tsx\n // or by making handleRedirectCallback idempotent\n });\n } else {\n this.premountMethodCalls.set('handleGoogleOneTapCallback', callback);\n }\n };\n\n handleEmailLinkVerification = async (params: HandleEmailLinkVerificationParams) => {\n const callback = () => this.clerkjs?.handleEmailLinkVerification(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('handleEmailLinkVerification', callback);\n }\n };\n\n authenticateWithMetamask = async (params?: AuthenticateWithMetamaskParams) => {\n const callback = () => this.clerkjs?.authenticateWithMetamask(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithMetamask', callback);\n }\n };\n\n authenticateWithCoinbaseWallet = async (params?: AuthenticateWithCoinbaseWalletParams) => {\n const callback = () => this.clerkjs?.authenticateWithCoinbaseWallet(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithCoinbaseWallet', callback);\n }\n };\n\n authenticateWithBase = async (params?: AuthenticateWithBaseParams) => {\n const callback = () => this.clerkjs?.authenticateWithBase(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithBase', callback);\n }\n };\n\n authenticateWithOKXWallet = async (params?: AuthenticateWithOKXWalletParams) => {\n const callback = () => this.clerkjs?.authenticateWithOKXWallet(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithOKXWallet', callback);\n }\n };\n\n authenticateWithWeb3 = async (params: ClerkAuthenticateWithWeb3Params) => {\n const callback = () => this.clerkjs?.authenticateWithWeb3(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithWeb3', callback);\n }\n };\n\n authenticateWithGoogleOneTap = async (params: AuthenticateWithGoogleOneTapParams) => {\n const clerkjs = await this.#waitForClerkJS();\n return clerkjs.authenticateWithGoogleOneTap(params);\n };\n\n __internal_loadStripeJs = async () => {\n const clerkjs = await this.#waitForClerkJS();\n return clerkjs.__internal_loadStripeJs();\n };\n\n createOrganization = async (params: CreateOrganizationParams): Promise<OrganizationResource | void> => {\n const callback = () => this.clerkjs?.createOrganization(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<OrganizationResource>;\n } else {\n this.premountMethodCalls.set('createOrganization', callback);\n }\n };\n\n getOrganization = async (organizationId: string): Promise<OrganizationResource | void> => {\n const callback = () => this.clerkjs?.getOrganization(organizationId);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<OrganizationResource>;\n } else {\n this.premountMethodCalls.set('getOrganization', callback);\n }\n };\n\n joinWaitlist = async (params: JoinWaitlistParams): Promise<WaitlistResource | void> => {\n const callback = () => this.clerkjs?.joinWaitlist(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<WaitlistResource>;\n } else {\n this.premountMethodCalls.set('joinWaitlist', callback);\n }\n };\n\n signOut = async (...args: Parameters<Clerk['signOut']>) => {\n const callback = () => this.clerkjs?.signOut(...args);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('signOut', callback);\n }\n };\n\n __internal_attemptToEnableEnvironmentSetting = (\n options: __internal_AttemptToEnableEnvironmentSettingParams,\n ): __internal_AttemptToEnableEnvironmentSettingResult | void => {\n const callback = () => this.clerkjs?.__internal_attemptToEnableEnvironmentSetting(options);\n if (this.clerkjs && this.loaded) {\n return callback() as __internal_AttemptToEnableEnvironmentSettingResult;\n } else {\n this.premountMethodCalls.set('__internal_attemptToEnableEnvironmentSetting', callback);\n }\n };\n}\n","import { inBrowser } from '@clerk/shared/browser';\nimport type {\n BillingSubscriptionPlanPeriod,\n CheckoutSignalValue,\n Clerk,\n ForPayerType,\n SignInErrors,\n SignUpErrors,\n State,\n} from '@clerk/shared/types';\n\nimport { errorThrower } from './errors/errorThrower';\nimport type { IsomorphicClerk } from './isomorphicClerk';\n\nconst defaultSignInErrors = (): SignInErrors => ({\n fields: {\n identifier: null,\n password: null,\n code: null,\n },\n raw: null,\n global: null,\n});\n\nconst defaultSignUpErrors = (): SignUpErrors => ({\n fields: {\n firstName: null,\n lastName: null,\n emailAddress: null,\n phoneNumber: null,\n password: null,\n username: null,\n code: null,\n captcha: null,\n legalAccepted: null,\n },\n raw: null,\n global: null,\n});\n\ntype CheckoutSignalProps = {\n for?: ForPayerType;\n planPeriod: BillingSubscriptionPlanPeriod;\n planId: string;\n};\n\nexport class StateProxy implements State {\n constructor(private isomorphicClerk: IsomorphicClerk) {}\n\n private readonly signInSignalProxy = this.buildSignInProxy();\n private readonly signUpSignalProxy = this.buildSignUpProxy();\n\n signInSignal() {\n return this.signInSignalProxy;\n }\n signUpSignal() {\n return this.signUpSignalProxy;\n }\n\n checkoutSignal(params: CheckoutSignalProps) {\n return this.buildCheckoutProxy(params);\n }\n\n private buildSignInProxy() {\n const gateProperty = this.gateProperty.bind(this);\n const target = () => this.client.signIn.__internal_future;\n\n return {\n errors: defaultSignInErrors(),\n fetchStatus: 'idle' as const,\n signIn: {\n status: 'needs_identifier' as const,\n availableStrategies: [],\n isTransferable: false,\n get id() {\n return gateProperty(target, 'id', undefined);\n },\n get supportedFirstFactors() {\n return gateProperty(target, 'supportedFirstFactors', []);\n },\n get supportedSecondFactors() {\n return gateProperty(target, 'supportedSecondFactors', []);\n },\n get secondFactorVerification() {\n return gateProperty(target, 'secondFactorVerification', {\n status: null,\n error: null,\n expireAt: null,\n externalVerificationRedirectURL: null,\n nonce: null,\n attempts: null,\n message: null,\n strategy: null,\n verifiedAtClient: null,\n verifiedFromTheSameClient: () => false,\n __internal_toSnapshot: () => {\n throw new Error('__internal_toSnapshot called before Clerk is loaded');\n },\n pathRoot: '',\n reload: () => {\n throw new Error('__internal_toSnapshot called before Clerk is loaded');\n },\n });\n },\n get identifier() {\n return gateProperty(target, 'identifier', null);\n },\n get createdSessionId() {\n return gateProperty(target, 'createdSessionId', null);\n },\n get userData() {\n return gateProperty(target, 'userData', {});\n },\n get firstFactorVerification() {\n return gateProperty(target, 'firstFactorVerification', {\n status: null,\n error: null,\n expireAt: null,\n externalVerificationRedirectURL: null,\n nonce: null,\n attempts: null,\n message: null,\n strategy: null,\n verifiedAtClient: null,\n verifiedFromTheSameClient: () => false,\n __internal_toSnapshot: () => {\n throw new Error('__internal_toSnapshot called before Clerk is loaded');\n },\n pathRoot: '',\n reload: () => {\n throw new Error('__internal_toSnapshot called before Clerk is loaded');\n },\n });\n },\n get hasBeenFinalized() {\n return gateProperty(target, 'hasBeenFinalized', false);\n },\n\n create: this.gateMethod(target, 'create'),\n password: this.gateMethod(target, 'password'),\n sso: this.gateMethod(target, 'sso'),\n finalize: this.gateMethod(target, 'finalize'),\n\n emailCode: this.wrapMethods(() => target().emailCode, ['sendCode', 'verifyCode'] as const),\n emailLink: this.wrapStruct(\n () => target().emailLink,\n ['sendLink', 'waitForVerification'] as const,\n ['verification'] as const,\n { verification: null },\n ),\n resetPasswordEmailCode: this.wrapMethods(() => target().resetPasswordEmailCode, [\n 'sendCode',\n 'verifyCode',\n 'submitPassword',\n ] as const),\n phoneCode: this.wrapMethods(() => target().phoneCode, ['sendCode', 'verifyCode'] as const),\n mfa: this.wrapMethods(() => target().mfa, [\n 'sendPhoneCode',\n 'verifyPhoneCode',\n 'verifyTOTP',\n 'verifyBackupCode',\n ] as const),\n ticket: this.gateMethod(target, 'ticket'),\n passkey: this.gateMethod(target, 'passkey'),\n web3: this.gateMethod(target, 'web3'),\n },\n };\n }\n\n private buildSignUpProxy() {\n const gateProperty = this.gateProperty.bind(this);\n const gateMethod = this.gateMethod.bind(this);\n const wrapMethods = this.wrapMethods.bind(this);\n const target = () => this.client.signUp.__internal_future;\n\n return {\n errors: defaultSignUpErrors(),\n fetchStatus: 'idle' as const,\n signUp: {\n get id() {\n return gateProperty(target, 'id', undefined);\n },\n get requiredFields() {\n return gateProperty(target, 'requiredFields', []);\n },\n get optionalFields() {\n return gateProperty(target, 'optionalFields', []);\n },\n get missingFields() {\n return gateProperty(target, 'missingFields', []);\n },\n get username() {\n return gateProperty(target, 'username', null);\n },\n get firstName() {\n return gateProperty(target, 'firstName', null);\n },\n get lastName() {\n return gateProperty(target, 'lastName', null);\n },\n get emailAddress() {\n return gateProperty(target, 'emailAddress', null);\n },\n get phoneNumber() {\n return gateProperty(target, 'phoneNumber', null);\n },\n get web3Wallet() {\n return gateProperty(target, 'web3Wallet', null);\n },\n get hasPassword() {\n return gateProperty(target, 'hasPassword', false);\n },\n get unsafeMetadata() {\n return gateProperty(target, 'unsafeMetadata', {});\n },\n get createdSessionId() {\n return gateProperty(target, 'createdSessionId', null);\n },\n get createdUserId() {\n return gateProperty(target, 'createdUserId', null);\n },\n get abandonAt() {\n return gateProperty(target, 'abandonAt', null);\n },\n get legalAcceptedAt() {\n return gateProperty(target, 'legalAcceptedAt', null);\n },\n get locale() {\n return gateProperty(target, 'locale', null);\n },\n get status() {\n return gateProperty(target, 'status', 'missing_requirements');\n },\n get unverifiedFields() {\n return gateProperty(target, 'unverifiedFields', []);\n },\n get isTransferable() {\n return gateProperty(target, 'isTransferable', false);\n },\n get hasBeenFinalized() {\n return gateProperty(target, 'hasBeenFinalized', false);\n },\n\n create: gateMethod(target, 'create'),\n update: gateMethod(target, 'update'),\n sso: gateMethod(target, 'sso'),\n password: gateMethod(target, 'password'),\n ticket: gateMethod(target, 'ticket'),\n web3: gateMethod(target, 'web3'),\n finalize: gateMethod(target, 'finalize'),\n\n verifications: wrapMethods(() => target().verifications, [\n 'sendEmailCode',\n 'verifyEmailCode',\n 'sendPhoneCode',\n 'verifyPhoneCode',\n ] as const),\n },\n };\n }\n\n private buildCheckoutProxy(params: CheckoutSignalProps): CheckoutSignalValue {\n const gateProperty = this.gateProperty.bind(this);\n const targetCheckout = () => this.checkout(params);\n const target = () => targetCheckout().checkout;\n\n return {\n errors: {\n raw: null,\n global: null,\n },\n fetchStatus: 'idle' as const,\n checkout: {\n get status() {\n return gateProperty(target, 'status', 'needs_initialization') as 'needs_initialization';\n },\n get externalClientSecret() {\n return gateProperty(target, 'externalClientSecret', null) as null;\n },\n get externalGatewayId() {\n return gateProperty(target, 'externalGatewayId', null) as null;\n },\n get paymentMethod() {\n return gateProperty(target, 'paymentMethod', null) as null;\n },\n get plan() {\n return gateProperty(target, 'plan', null) as null;\n },\n get planPeriod() {\n return gateProperty(target, 'planPeriod', null) as null;\n },\n get totals() {\n return gateProperty(target, 'totals', null) as null;\n },\n get isImmediatePlanChange() {\n return gateProperty(target, 'isImmediatePlanChange', false) as null;\n },\n get freeTrialEndsAt() {\n return gateProperty(target, 'freeTrialEndsAt', null) as null;\n },\n get payer() {\n return gateProperty(target, 'payer', null) as null;\n },\n get planPeriodStart() {\n return gateProperty(target, 'planPeriodStart', null) as null;\n },\n get needsPaymentMethod() {\n return gateProperty(target, 'needsPaymentMethod', null) as null;\n },\n\n start: this.gateMethod<ReturnType<typeof target>, 'start'>(target, 'start'),\n confirm: this.gateMethod<ReturnType<typeof target>, 'confirm'>(target, 'confirm'),\n finalize: this.gateMethod<ReturnType<typeof target>, 'finalize'>(target, 'finalize'),\n },\n };\n }\n\n __internal_effect(_: () => void): () => void {\n throw new Error('__internal_effect called before Clerk is loaded');\n }\n __internal_computed<T>(_: (prev?: T) => T): () => T {\n throw new Error('__internal_computed called before Clerk is loaded');\n }\n\n private get client() {\n const c = this.isomorphicClerk.client;\n if (!c) {\n throw new Error('Clerk client not ready');\n }\n return c;\n }\n\n private get checkout(): Clerk['__experimental_checkout'] {\n const c = this.isomorphicClerk.__experimental_checkout as Clerk['__experimental_checkout'];\n if (!c) {\n throw new Error('Clerk checkout not ready');\n }\n return c;\n }\n\n private gateProperty<T extends object, K extends keyof T>(getTarget: () => T, key: K, defaultValue: T[K]) {\n return (() => {\n if (!inBrowser() || !this.isomorphicClerk.loaded) {\n return defaultValue;\n }\n const t = getTarget();\n return t[key];\n })();\n }\n\n private gateMethod<T extends object, K extends keyof T & string>(getTarget: () => T, key: K) {\n type F = Extract<T[K], (...args: unknown[]) => unknown>;\n return (async (...args: Parameters<F>): Promise<ReturnType<F>> => {\n if (!inBrowser()) {\n return errorThrower.throw(`Attempted to call a method (${key}) that is not supported on the server.`);\n }\n if (!this.isomorphicClerk.loaded) {\n await new Promise<void>(resolve => this.isomorphicClerk.addOnLoaded(resolve));\n }\n const t = getTarget();\n return (t[key] as (...args: Parameters<F>) => ReturnType<F>).apply(t, args);\n }) as F;\n }\n\n private wrapMethods<T extends object, K extends readonly (keyof T & string)[]>(\n getTarget: () => T,\n keys: K,\n ): Pick<T, K[number]> {\n return Object.fromEntries(keys.map(k => [k, this.gateMethod(getTarget, k)])) as Pick<T, K[number]>;\n }\n\n private wrapStruct<T extends object, M extends readonly (keyof T)[], G extends readonly (keyof T)[]>(\n getTarget: () => T,\n methods: M,\n getters: G,\n fallbacks: Pick<T, G[number]>,\n ): Pick<T, M[number] | G[number]> & {\n [K in M[number]]: T[K] extends (...args: any[]) => any ? T[K] : never;\n } & {\n [K in G[number]]: T[K] extends (...args: any[]) => any ? never : T[K];\n } {\n const out: any = {};\n for (const m of methods) {\n out[m] = this.gateMethod(getTarget, m as any);\n }\n for (const g of getters) {\n Object.defineProperty(out, g, {\n get: () => this.gateProperty(getTarget, g as any, (fallbacks as any)[g]),\n enumerable: true,\n });\n }\n return out;\n }\n}\n"],"mappings":"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","names":["React","React","React","React","React","React","React","React","inBrowser","_a","inBrowser","React","React"]}
1
+ {"version":3,"sources":["../src/polyfills.ts","../src/index.ts","../src/components/SignInButton.tsx","../src/components/SignInWithMetamaskButton.tsx","../src/components/SignOutButton.tsx","../src/components/SignUpButton.tsx","../src/contexts/ClerkProvider.tsx","../src/contexts/ClerkContextProvider.tsx","../src/isomorphicClerk.ts","../src/stateProxy.ts"],"sourcesContent":["/**\n * Vite does not define `global` by default\n * One workaround is to use the `define` config prop\n * https://vitejs.dev/config/#define\n * We are solving this in the SDK level to reduce setup steps.\n */\nif (typeof window !== 'undefined' && !window.global) {\n window.global = typeof global === 'undefined' ? window : global;\n}\n\nexport {};\n","import './polyfills';\nimport './types/appearance';\n\nimport { setClerkJsLoadingErrorPackageName } from '@clerk/shared/loadClerkJsScript';\n\nimport { setErrorThrowerOptions } from './errors/errorThrower';\n\nexport * from './components';\nexport * from './contexts';\n\nexport * from './hooks';\nexport type {\n BrowserClerk,\n BrowserClerkConstructor,\n ClerkProp,\n HeadlessBrowserClerk,\n HeadlessBrowserClerkConstructor,\n IsomorphicClerkOptions,\n} from '@clerk/shared/types';\nexport type { ClerkProviderProps } from './types';\n\nsetErrorThrowerOptions({ packageName: PACKAGE_NAME });\nsetClerkJsLoadingErrorPackageName(PACKAGE_NAME);\n","import type { SignInButtonProps, SignInProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport type { WithClerkProp } from '../types';\nimport { assertSingleChild, normalizeWithDefaultValue, safeExecute } from '../utils';\nimport { withClerk } from './withClerk';\n\nexport const SignInButton = withClerk(\n ({ clerk, children, ...props }: WithClerkProp<React.PropsWithChildren<SignInButtonProps>>) => {\n const {\n signUpFallbackRedirectUrl,\n forceRedirectUrl,\n fallbackRedirectUrl,\n signUpForceRedirectUrl,\n mode,\n initialValues,\n withSignUp,\n oauthFlow,\n ...rest\n } = props;\n children = normalizeWithDefaultValue(children, 'Sign in');\n const child = assertSingleChild(children)('SignInButton');\n\n const clickHandler = () => {\n const opts: SignInProps = {\n forceRedirectUrl,\n fallbackRedirectUrl,\n signUpFallbackRedirectUrl,\n signUpForceRedirectUrl,\n initialValues,\n withSignUp,\n oauthFlow,\n };\n\n if (mode === 'modal') {\n return clerk.openSignIn({ ...opts, appearance: props.appearance });\n }\n return clerk.redirectToSignIn({\n ...opts,\n signInFallbackRedirectUrl: fallbackRedirectUrl,\n signInForceRedirectUrl: forceRedirectUrl,\n });\n };\n\n const wrappedChildClickHandler: React.MouseEventHandler = async e => {\n if (child && typeof child === 'object' && 'props' in child) {\n await safeExecute(child.props.onClick)(e);\n }\n return clickHandler();\n };\n\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React.cloneElement(child as React.ReactElement<unknown>, childProps);\n },\n { component: 'SignInButton', renderWhileLoading: true },\n);\n","import React from 'react';\n\nimport type { SignInWithMetamaskButtonProps, WithClerkProp } from '../types';\nimport { assertSingleChild, normalizeWithDefaultValue, safeExecute } from '../utils';\nimport { withClerk } from './withClerk';\n\nexport const SignInWithMetamaskButton = withClerk(\n ({ clerk, children, ...props }: WithClerkProp<SignInWithMetamaskButtonProps>) => {\n const { redirectUrl, ...rest } = props;\n\n children = normalizeWithDefaultValue(children, 'Sign in with Metamask');\n const child = assertSingleChild(children)('SignInWithMetamaskButton');\n\n // TODO: Properly fix this code\n // eslint-disable-next-line @typescript-eslint/require-await\n const clickHandler = async () => {\n async function authenticate() {\n await clerk.authenticateWithMetamask({ redirectUrl: redirectUrl || undefined });\n }\n void authenticate();\n };\n\n const wrappedChildClickHandler: React.MouseEventHandler = async e => {\n await safeExecute((child as any).props.onClick)(e);\n return clickHandler();\n };\n\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React.cloneElement(child as React.ReactElement<unknown>, childProps);\n },\n { component: 'SignInWithMetamask', renderWhileLoading: true },\n);\n","import type { SignOutOptions } from '@clerk/shared/types';\nimport React from 'react';\n\nimport type { WithClerkProp } from '../types';\nimport { assertSingleChild, normalizeWithDefaultValue, safeExecute } from '../utils';\nimport { withClerk } from './withClerk';\n\nexport type SignOutButtonProps = {\n redirectUrl?: string;\n signOutOptions?: SignOutOptions;\n children?: React.ReactNode;\n};\n\nexport const SignOutButton = withClerk(\n ({ clerk, children, ...props }: React.PropsWithChildren<WithClerkProp<SignOutButtonProps>>) => {\n const { redirectUrl = '/', signOutOptions, ...rest } = props;\n\n children = normalizeWithDefaultValue(children, 'Sign out');\n const child = assertSingleChild(children)('SignOutButton');\n\n const clickHandler = () => clerk.signOut({ redirectUrl, ...signOutOptions });\n const wrappedChildClickHandler: React.MouseEventHandler = async e => {\n await safeExecute((child as any).props.onClick)(e);\n return clickHandler();\n };\n\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React.cloneElement(child as React.ReactElement<unknown>, childProps);\n },\n { component: 'SignOutButton', renderWhileLoading: true },\n);\n","import type { SignUpButtonProps, SignUpProps } from '@clerk/shared/types';\nimport React from 'react';\n\nimport type { WithClerkProp } from '../types';\nimport { assertSingleChild, normalizeWithDefaultValue, safeExecute } from '../utils';\nimport { withClerk } from './withClerk';\n\nexport const SignUpButton = withClerk(\n ({ clerk, children, ...props }: WithClerkProp<React.PropsWithChildren<SignUpButtonProps>>) => {\n const {\n fallbackRedirectUrl,\n forceRedirectUrl,\n signInFallbackRedirectUrl,\n signInForceRedirectUrl,\n mode,\n initialValues,\n oauthFlow,\n ...rest\n } = props;\n\n children = normalizeWithDefaultValue(children, 'Sign up');\n const child = assertSingleChild(children)('SignUpButton');\n\n const clickHandler = () => {\n const opts: SignUpProps = {\n fallbackRedirectUrl,\n forceRedirectUrl,\n signInFallbackRedirectUrl,\n signInForceRedirectUrl,\n initialValues,\n oauthFlow,\n };\n\n if (mode === 'modal') {\n return clerk.openSignUp({\n ...opts,\n appearance: props.appearance,\n unsafeMetadata: props.unsafeMetadata,\n });\n }\n\n return clerk.redirectToSignUp({\n ...opts,\n signUpFallbackRedirectUrl: fallbackRedirectUrl,\n signUpForceRedirectUrl: forceRedirectUrl,\n });\n };\n\n const wrappedChildClickHandler: React.MouseEventHandler = async e => {\n if (child && typeof child === 'object' && 'props' in child) {\n await safeExecute(child.props.onClick)(e);\n }\n return clickHandler();\n };\n\n const childProps = { ...rest, onClick: wrappedChildClickHandler };\n return React.cloneElement(child as React.ReactElement<unknown>, childProps);\n },\n { component: 'SignUpButton', renderWhileLoading: true },\n);\n","import type { IsomorphicClerkOptions } from '@clerk/shared/types';\nimport type { Ui } from '@clerk/ui/internal';\nimport React from 'react';\n\nimport { multipleClerkProvidersError } from '../errors/messages';\nimport type { ClerkProviderProps } from '../types';\nimport { withMaxAllowedInstancesGuard } from '../utils';\nimport { ClerkContextProvider } from './ClerkContextProvider';\n\nfunction ClerkProviderBase<TUi extends Ui>(props: ClerkProviderProps<TUi>) {\n const { initialState, children, ...restIsomorphicClerkOptions } = props;\n const isomorphicClerkOptions = restIsomorphicClerkOptions as unknown as IsomorphicClerkOptions;\n\n return (\n <ClerkContextProvider\n initialState={initialState}\n isomorphicClerkOptions={isomorphicClerkOptions}\n >\n {children}\n </ClerkContextProvider>\n );\n}\n\nconst ClerkProvider = withMaxAllowedInstancesGuard(ClerkProviderBase, 'ClerkProvider', multipleClerkProvidersError);\n\nClerkProvider.displayName = 'ClerkProvider';\n\nexport { ClerkProvider };\n","import { deriveState } from '@clerk/shared/deriveState';\nimport {\n __experimental_CheckoutProvider as CheckoutProvider,\n ClientContext,\n OrganizationProvider,\n SessionContext,\n UserContext,\n} from '@clerk/shared/react';\nimport type { ClientResource, InitialState, Resources } from '@clerk/shared/types';\nimport React from 'react';\n\nimport { IsomorphicClerk } from '../isomorphicClerk';\nimport type { IsomorphicClerkOptions } from '../types';\nimport { AuthContext } from './AuthContext';\nimport { IsomorphicClerkContext } from './IsomorphicClerkContext';\n\ntype ClerkContextProvider = {\n isomorphicClerkOptions: IsomorphicClerkOptions;\n initialState: InitialState | undefined;\n children: React.ReactNode;\n};\n\nexport type ClerkContextProviderState = Resources;\n\nexport function ClerkContextProvider(props: ClerkContextProvider) {\n const { isomorphicClerkOptions, initialState, children } = props;\n const { isomorphicClerk: clerk, clerkStatus } = useLoadedIsomorphicClerk(isomorphicClerkOptions);\n\n const [state, setState] = React.useState<ClerkContextProviderState>({\n client: clerk.client as ClientResource,\n session: clerk.session,\n user: clerk.user,\n organization: clerk.organization,\n });\n\n React.useEffect(() => {\n return clerk.addListener(e => setState({ ...e }));\n }, []);\n\n const derivedState = deriveState(clerk.loaded, state, initialState);\n const clerkCtx = React.useMemo(\n () => ({ value: clerk }),\n [\n // Only update the clerk reference on status change\n clerkStatus,\n ],\n );\n const clientCtx = React.useMemo(() => ({ value: state.client }), [state.client]);\n\n const {\n sessionId,\n sessionStatus,\n sessionClaims,\n session,\n userId,\n user,\n orgId,\n actor,\n organization,\n orgRole,\n orgSlug,\n orgPermissions,\n factorVerificationAge,\n } = derivedState;\n\n const authCtx = React.useMemo(() => {\n const value = {\n sessionId,\n sessionStatus,\n sessionClaims,\n userId,\n actor,\n orgId,\n orgRole,\n orgSlug,\n orgPermissions,\n factorVerificationAge,\n };\n return { value };\n }, [sessionId, sessionStatus, userId, actor, orgId, orgRole, orgSlug, factorVerificationAge, sessionClaims?.__raw]);\n\n const sessionCtx = React.useMemo(() => ({ value: session }), [sessionId, session]);\n const userCtx = React.useMemo(() => ({ value: user }), [userId, user]);\n const organizationCtx = React.useMemo(() => {\n const value = {\n organization: organization,\n };\n return { value };\n }, [orgId, organization]);\n\n return (\n // @ts-expect-error value passed is of type IsomorphicClerk where the context expects LoadedClerk\n <IsomorphicClerkContext.Provider value={clerkCtx}>\n <ClientContext.Provider value={clientCtx}>\n <SessionContext.Provider value={sessionCtx}>\n <OrganizationProvider {...organizationCtx.value}>\n <AuthContext.Provider value={authCtx}>\n <UserContext.Provider value={userCtx}>\n <CheckoutProvider\n // @ts-expect-error - value is not used\n value={undefined}\n >\n {children}\n </CheckoutProvider>\n </UserContext.Provider>\n </AuthContext.Provider>\n </OrganizationProvider>\n </SessionContext.Provider>\n </ClientContext.Provider>\n </IsomorphicClerkContext.Provider>\n );\n}\n\nconst useLoadedIsomorphicClerk = (options: IsomorphicClerkOptions) => {\n const isomorphicClerkRef = React.useRef(IsomorphicClerk.getOrCreateInstance(options));\n const [clerkStatus, setClerkStatus] = React.useState(isomorphicClerkRef.current.status);\n\n React.useEffect(() => {\n void isomorphicClerkRef.current.__internal_updateProps({ appearance: options.appearance });\n }, [options.appearance]);\n\n React.useEffect(() => {\n void isomorphicClerkRef.current.__internal_updateProps({ options });\n }, [options.localization]);\n\n React.useEffect(() => {\n isomorphicClerkRef.current.on('status', setClerkStatus);\n return () => {\n if (isomorphicClerkRef.current) {\n isomorphicClerkRef.current.off('status', setClerkStatus);\n }\n IsomorphicClerk.clearInstance();\n };\n }, []);\n\n return { isomorphicClerk: isomorphicClerkRef.current, clerkStatus };\n};\n","import { inBrowser } from '@clerk/shared/browser';\nimport { clerkEvents, createClerkEventBus } from '@clerk/shared/clerkEventBus';\nimport { loadClerkJsScript, loadClerkUiScript } from '@clerk/shared/loadClerkJsScript';\nimport type {\n __internal_AttemptToEnableEnvironmentSettingParams,\n __internal_AttemptToEnableEnvironmentSettingResult,\n __internal_CheckoutProps,\n __internal_EnableOrganizationsPromptProps,\n __internal_OAuthConsentProps,\n __internal_PlanDetailsProps,\n __internal_SubscriptionDetailsProps,\n __internal_UserVerificationModalProps,\n __internal_UserVerificationProps,\n APIKeysNamespace,\n APIKeysProps,\n AuthenticateWithBaseParams,\n AuthenticateWithCoinbaseWalletParams,\n AuthenticateWithGoogleOneTapParams,\n AuthenticateWithMetamaskParams,\n AuthenticateWithOKXWalletParams,\n AuthenticateWithSolanaParams,\n BillingNamespace,\n Clerk,\n ClerkAuthenticateWithWeb3Params,\n ClerkOptions,\n ClerkStatus,\n ClientResource,\n CreateOrganizationParams,\n CreateOrganizationProps,\n DomainOrProxyUrl,\n GoogleOneTapProps,\n HandleEmailLinkVerificationParams,\n HandleOAuthCallbackParams,\n JoinWaitlistParams,\n ListenerCallback,\n LoadedClerk,\n OrganizationListProps,\n OrganizationProfileProps,\n OrganizationResource,\n OrganizationSwitcherProps,\n PricingTableProps,\n RedirectOptions,\n SetActiveParams,\n SignInProps,\n SignInRedirectOptions,\n SignInResource,\n SignUpProps,\n SignUpRedirectOptions,\n SignUpResource,\n State,\n TaskChooseOrganizationProps,\n TaskResetPasswordProps,\n TasksRedirectOptions,\n UnsubscribeCallback,\n UserAvatarProps,\n UserButtonProps,\n UserProfileProps,\n WaitlistProps,\n WaitlistResource,\n Without,\n} from '@clerk/shared/types';\nimport type { ClerkUiConstructor } from '@clerk/shared/ui';\nimport { handleValueOrFn } from '@clerk/shared/utils';\n\nimport { errorThrower } from './errors/errorThrower';\nimport { unsupportedNonBrowserDomainOrProxyUrlFunction } from './errors/messages';\nimport { StateProxy } from './stateProxy';\nimport type {\n BrowserClerk,\n BrowserClerkConstructor,\n ClerkProp,\n HeadlessBrowserClerk,\n HeadlessBrowserClerkConstructor,\n IsomorphicClerkOptions,\n} from './types';\nimport { isConstructor } from './utils';\n\nif (typeof globalThis.__BUILD_DISABLE_RHC__ === 'undefined') {\n globalThis.__BUILD_DISABLE_RHC__ = false;\n}\n\nconst SDK_METADATA = {\n name: PACKAGE_NAME,\n version: PACKAGE_VERSION,\n environment: process.env.NODE_ENV,\n};\n\nexport interface Global {\n Clerk?: HeadlessBrowserClerk | BrowserClerk;\n __internal_ClerkUiCtor?: ClerkUiConstructor;\n}\n\ndeclare const global: Global;\n\ntype GenericFunction<TArgs = never> = (...args: TArgs[]) => unknown;\n\ntype MethodName<T> = {\n [P in keyof T]: T[P] extends GenericFunction ? P : never;\n}[keyof T];\n\ntype MethodCallback = () => Promise<unknown> | unknown;\n\ntype WithVoidReturn<F extends (...args: any) => any> = (\n ...args: Parameters<F>\n) => ReturnType<F> extends Promise<infer T> ? Promise<T | void> : ReturnType<F> | void;\ntype WithVoidReturnFunctions<T> = {\n [K in keyof T]: T[K] extends (...args: any) => any ? WithVoidReturn<T[K]> : T[K];\n};\n\ntype IsomorphicLoadedClerk = Without<\n WithVoidReturnFunctions<LoadedClerk>,\n | 'client'\n | '__internal_addNavigationListener'\n | '__internal_getCachedResources'\n | '__internal_reloadInitialResources'\n | 'billing'\n | 'apiKeys'\n | '__internal_setActiveInProgress'\n> & {\n client: ClientResource | undefined;\n billing: BillingNamespace | undefined;\n apiKeys: APIKeysNamespace | undefined;\n};\n\nexport class IsomorphicClerk implements IsomorphicLoadedClerk {\n private readonly mode: 'browser' | 'server';\n private readonly options: IsomorphicClerkOptions;\n private readonly Clerk: ClerkProp;\n private clerkjs: BrowserClerk | HeadlessBrowserClerk | null = null;\n private preopenOneTap?: null | GoogleOneTapProps = null;\n private preopenUserVerification?: null | __internal_UserVerificationProps = null;\n private preopenEnableOrganizationsPrompt?: null | __internal_EnableOrganizationsPromptProps = null;\n private preopenSignIn?: null | SignInProps = null;\n private preopenCheckout?: null | __internal_CheckoutProps = null;\n private preopenPlanDetails: null | __internal_PlanDetailsProps = null;\n private preopenSubscriptionDetails: null | __internal_SubscriptionDetailsProps = null;\n private preopenSignUp?: null | SignUpProps = null;\n private preopenUserProfile?: null | UserProfileProps = null;\n private preopenOrganizationProfile?: null | OrganizationProfileProps = null;\n private preopenCreateOrganization?: null | CreateOrganizationProps = null;\n private preOpenWaitlist?: null | WaitlistProps = null;\n private premountSignInNodes = new Map<HTMLDivElement, SignInProps | undefined>();\n private premountSignUpNodes = new Map<HTMLDivElement, SignUpProps | undefined>();\n private premountUserAvatarNodes = new Map<HTMLDivElement, UserAvatarProps | undefined>();\n private premountUserProfileNodes = new Map<HTMLDivElement, UserProfileProps | undefined>();\n private premountUserButtonNodes = new Map<HTMLDivElement, UserButtonProps | undefined>();\n private premountOrganizationProfileNodes = new Map<HTMLDivElement, OrganizationProfileProps | undefined>();\n private premountCreateOrganizationNodes = new Map<HTMLDivElement, CreateOrganizationProps | undefined>();\n private premountOrganizationSwitcherNodes = new Map<HTMLDivElement, OrganizationSwitcherProps | undefined>();\n private premountOrganizationListNodes = new Map<HTMLDivElement, OrganizationListProps | undefined>();\n private premountMethodCalls = new Map<MethodName<BrowserClerk>, MethodCallback>();\n private premountWaitlistNodes = new Map<HTMLDivElement, WaitlistProps | undefined>();\n private premountPricingTableNodes = new Map<HTMLDivElement, PricingTableProps | undefined>();\n private premountAPIKeysNodes = new Map<HTMLDivElement, APIKeysProps | undefined>();\n private premountOAuthConsentNodes = new Map<HTMLDivElement, __internal_OAuthConsentProps | undefined>();\n private premountTaskChooseOrganizationNodes = new Map<HTMLDivElement, TaskChooseOrganizationProps | undefined>();\n private premountTaskResetPasswordNodes = new Map<HTMLDivElement, TaskResetPasswordProps | undefined>();\n // A separate Map of `addListener` method calls to handle multiple listeners.\n private premountAddListenerCalls = new Map<\n ListenerCallback,\n {\n unsubscribe: UnsubscribeCallback;\n nativeUnsubscribe?: UnsubscribeCallback;\n }\n >();\n private loadedListeners: Array<() => void> = [];\n\n #status: ClerkStatus = 'loading';\n #domain: DomainOrProxyUrl['domain'];\n #proxyUrl: DomainOrProxyUrl['proxyUrl'];\n #publishableKey: string;\n #eventBus = createClerkEventBus();\n #stateProxy: StateProxy;\n\n get publishableKey(): string {\n return this.#publishableKey;\n }\n\n get loaded(): boolean {\n return this.clerkjs?.loaded || false;\n }\n\n get status(): ClerkStatus {\n /**\n * If clerk-js is not available the returned value can either be \"loading\" or \"error\".\n */\n if (!this.clerkjs) {\n return this.#status;\n }\n return (\n this.clerkjs?.status ||\n /**\n * Support older clerk-js versions.\n * If clerk-js is available but `.status` is missing it we need to fallback to `.loaded`.\n * Since \"degraded\" an \"error\" did not exist before,\n * map \"loaded\" to \"ready\" and \"not loaded\" to \"loading\".\n */\n (this.clerkjs.loaded ? 'ready' : 'loading')\n );\n }\n\n static #instance: IsomorphicClerk | null | undefined;\n\n static getOrCreateInstance(options: IsomorphicClerkOptions) {\n // During SSR: a new instance should be created for every request\n // During CSR: use the cached instance for the whole lifetime of the app\n // Also will recreate the instance if the provided Clerk instance changes\n // This method should be idempotent in both scenarios\n if (\n !inBrowser() ||\n !this.#instance ||\n (options.Clerk && this.#instance.Clerk !== options.Clerk) ||\n // Allow hot swapping PKs on the client\n this.#instance.publishableKey !== options.publishableKey\n ) {\n this.#instance = new IsomorphicClerk(options);\n }\n return this.#instance;\n }\n\n static clearInstance() {\n this.#instance = null;\n }\n\n get domain(): string {\n // This getter can run in environments where window is not available.\n // In those cases we should expect and use domain as a string\n if (typeof window !== 'undefined' && window.location) {\n return handleValueOrFn(this.#domain, new URL(window.location.href), '');\n }\n if (typeof this.#domain === 'function') {\n return errorThrower.throw(unsupportedNonBrowserDomainOrProxyUrlFunction);\n }\n return this.#domain || '';\n }\n\n get proxyUrl(): string {\n // This getter can run in environments where window is not available.\n // In those cases we should expect and use proxy as a string\n if (typeof window !== 'undefined' && window.location) {\n return handleValueOrFn(this.#proxyUrl, new URL(window.location.href), '');\n }\n if (typeof this.#proxyUrl === 'function') {\n return errorThrower.throw(unsupportedNonBrowserDomainOrProxyUrlFunction);\n }\n return this.#proxyUrl || '';\n }\n\n /**\n * Accesses private options from the `Clerk` instance and defaults to\n * `IsomorphicClerk` options when in SSR context.\n * @internal\n */\n public __internal_getOption<K extends keyof ClerkOptions>(key: K): ClerkOptions[K] | undefined {\n return this.clerkjs?.__internal_getOption ? this.clerkjs?.__internal_getOption(key) : this.options[key];\n }\n\n constructor(options: IsomorphicClerkOptions) {\n this.#publishableKey = options?.publishableKey;\n this.#proxyUrl = options?.proxyUrl;\n this.#domain = options?.domain;\n this.options = options;\n this.Clerk = options?.Clerk || null;\n this.mode = inBrowser() ? 'browser' : 'server';\n this.#stateProxy = new StateProxy(this);\n\n if (!this.options.sdkMetadata) {\n this.options.sdkMetadata = SDK_METADATA;\n }\n this.#eventBus.emit(clerkEvents.Status, 'loading');\n this.#eventBus.prioritizedOn(clerkEvents.Status, status => (this.#status = status));\n\n if (this.#publishableKey) {\n void this.getEntryChunks();\n }\n }\n\n get sdkMetadata() {\n return this.clerkjs?.sdkMetadata || this.options.sdkMetadata || undefined;\n }\n\n get instanceType() {\n return this.clerkjs?.instanceType;\n }\n\n get frontendApi() {\n return this.clerkjs?.frontendApi || '';\n }\n\n get isStandardBrowser() {\n return this.clerkjs?.isStandardBrowser || this.options.standardBrowser || false;\n }\n\n get __internal_queryClient() {\n // @ts-expect-error - __internal_queryClient is not typed\n return this.clerkjs?.__internal_queryClient;\n }\n\n get isSatellite() {\n // This getter can run in environments where window is not available.\n // In those cases we should expect and use domain as a string\n if (typeof window !== 'undefined' && window.location) {\n return handleValueOrFn(this.options.isSatellite, new URL(window.location.href), false);\n }\n if (typeof this.options.isSatellite === 'function') {\n return errorThrower.throw(unsupportedNonBrowserDomainOrProxyUrlFunction);\n }\n return false;\n }\n\n buildSignInUrl = (opts?: RedirectOptions): string | void => {\n const callback = () => this.clerkjs?.buildSignInUrl(opts) || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildSignInUrl', callback);\n }\n };\n\n buildSignUpUrl = (opts?: RedirectOptions): string | void => {\n const callback = () => this.clerkjs?.buildSignUpUrl(opts) || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildSignUpUrl', callback);\n }\n };\n\n buildAfterSignInUrl = (...args: Parameters<Clerk['buildAfterSignInUrl']>): string | void => {\n const callback = () => this.clerkjs?.buildAfterSignInUrl(...args) || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildAfterSignInUrl', callback);\n }\n };\n\n buildAfterSignUpUrl = (...args: Parameters<Clerk['buildAfterSignUpUrl']>): string | void => {\n const callback = () => this.clerkjs?.buildAfterSignUpUrl(...args) || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildAfterSignUpUrl', callback);\n }\n };\n\n buildAfterSignOutUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildAfterSignOutUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildAfterSignOutUrl', callback);\n }\n };\n\n buildNewSubscriptionRedirectUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildNewSubscriptionRedirectUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildNewSubscriptionRedirectUrl', callback);\n }\n };\n\n buildAfterMultiSessionSingleSignOutUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildAfterMultiSessionSingleSignOutUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildAfterMultiSessionSingleSignOutUrl', callback);\n }\n };\n\n buildUserProfileUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildUserProfileUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildUserProfileUrl', callback);\n }\n };\n\n buildCreateOrganizationUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildCreateOrganizationUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildCreateOrganizationUrl', callback);\n }\n };\n\n buildOrganizationProfileUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildOrganizationProfileUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildOrganizationProfileUrl', callback);\n }\n };\n\n buildWaitlistUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildWaitlistUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildWaitlistUrl', callback);\n }\n };\n\n buildTasksUrl = (): string | void => {\n const callback = () => this.clerkjs?.buildTasksUrl() || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildTasksUrl', callback);\n }\n };\n\n buildUrlWithAuth = (to: string): string | void => {\n const callback = () => this.clerkjs?.buildUrlWithAuth(to) || '';\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('buildUrlWithAuth', callback);\n }\n };\n\n handleUnauthenticated = async () => {\n const callback = () => this.clerkjs?.handleUnauthenticated();\n if (this.clerkjs && this.loaded) {\n void callback();\n } else {\n this.premountMethodCalls.set('handleUnauthenticated', callback);\n }\n };\n\n #waitForClerkJS(): Promise<HeadlessBrowserClerk | BrowserClerk> {\n return new Promise<HeadlessBrowserClerk | BrowserClerk>(resolve => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.addOnLoaded(() => resolve(this.clerkjs!));\n });\n }\n\n async getEntryChunks(): Promise<void> {\n if (this.mode !== 'browser' || this.loaded) {\n return;\n }\n\n // Store frontendAPI value on window as a fallback. This value can be used as a\n // fallback during ClerkJS hot loading in case ClerkJS fails to find the\n // \"data-clerk-frontend-api\" attribute on its script tag.\n // This can happen when the DOM is altered completely during client rehydration.\n // For example, in Remix with React 18 the document changes completely via `hydrateRoot(document)`.\n // For more information refer to:\n // - https://github.com/remix-run/remix/issues/2947\n // - https://github.com/facebook/react/issues/24430\n if (typeof window !== 'undefined') {\n window.__clerk_publishable_key = this.#publishableKey;\n window.__clerk_proxy_url = this.proxyUrl;\n window.__clerk_domain = this.domain;\n }\n\n try {\n const clerkUiCtor = this.getClerkUiEntryChunk();\n const clerk = await this.getClerkJsEntryChunk();\n\n if (!clerk.loaded) {\n this.beforeLoad(clerk);\n await clerk.load({ ...this.options, clerkUiCtor });\n }\n if (clerk.loaded) {\n this.replayInterceptedInvocations(clerk);\n }\n } catch (err) {\n const error = err as Error;\n this.#eventBus.emit(clerkEvents.Status, 'error');\n console.error(error.stack || error.message || error);\n return;\n }\n }\n\n private async getClerkJsEntryChunk(): Promise<HeadlessBrowserClerk | BrowserClerk> {\n // Hotload bundle\n if (!this.options.Clerk && !__BUILD_DISABLE_RHC__) {\n // the UMD script sets the global.Clerk instance\n // we do not want to await here as we\n await loadClerkJsScript({\n ...this.options,\n publishableKey: this.#publishableKey,\n proxyUrl: this.proxyUrl,\n domain: this.domain,\n nonce: this.options.nonce,\n });\n }\n\n // Otherwise, set global.Clerk to the bundled ctor or instance\n if (this.options.Clerk) {\n global.Clerk = isConstructor<BrowserClerkConstructor | HeadlessBrowserClerkConstructor>(this.options.Clerk)\n ? new this.options.Clerk(this.#publishableKey, { proxyUrl: this.proxyUrl, domain: this.domain })\n : this.options.Clerk;\n }\n\n if (!global.Clerk) {\n // TODO @nikos: somehow throw if clerk ui failed to load but it was not headless\n throw new Error('Failed to download latest ClerkJS. Contact support@clerk.com.');\n }\n\n return global.Clerk;\n }\n\n private async getClerkUiEntryChunk(): Promise<ClerkUiConstructor> {\n if (this.options.clerkUiCtor) {\n return this.options.clerkUiCtor;\n }\n\n await loadClerkUiScript({\n ...this.options,\n clerkUiVersion: this.options.ui?.version,\n clerkUiUrl: this.options.ui?.url || this.options.clerkUiUrl,\n publishableKey: this.#publishableKey,\n proxyUrl: this.proxyUrl,\n domain: this.domain,\n nonce: this.options.nonce,\n });\n\n if (!global.__internal_ClerkUiCtor) {\n throw new Error('Failed to download latest Clerk UI. Contact support@clerk.com.');\n }\n\n return global.__internal_ClerkUiCtor;\n }\n\n public on: Clerk['on'] = (...args) => {\n // Support older clerk-js versions.\n if (this.clerkjs?.on) {\n return this.clerkjs.on(...args);\n } else {\n this.#eventBus.on(...args);\n }\n };\n\n public off: Clerk['off'] = (...args) => {\n // Support older clerk-js versions.\n if (this.clerkjs?.off) {\n return this.clerkjs.off(...args);\n } else {\n this.#eventBus.off(...args);\n }\n };\n\n /**\n * @deprecated Please use `addStatusListener`. This api will be removed in the next major.\n */\n public addOnLoaded = (cb: () => void) => {\n this.loadedListeners.push(cb);\n /**\n * When IsomorphicClerk is loaded execute the callback directly\n */\n if (this.loaded) {\n this.emitLoaded();\n }\n };\n\n /**\n * @deprecated Please use `__internal_setStatus`. This api will be removed in the next major.\n */\n public emitLoaded = () => {\n this.loadedListeners.forEach(cb => cb());\n this.loadedListeners = [];\n };\n\n private beforeLoad = (clerkjs: BrowserClerk | HeadlessBrowserClerk | undefined) => {\n if (!clerkjs) {\n throw new Error('Failed to hydrate latest Clerk JS');\n }\n };\n\n private replayInterceptedInvocations = (clerkjs: BrowserClerk | HeadlessBrowserClerk | undefined) => {\n if (!clerkjs) {\n throw new Error('Failed to hydrate latest Clerk JS');\n }\n\n this.clerkjs = clerkjs;\n\n this.premountMethodCalls.forEach(cb => cb());\n this.premountAddListenerCalls.forEach((listenerHandlers, listener) => {\n listenerHandlers.nativeUnsubscribe = clerkjs.addListener(listener);\n });\n\n this.#eventBus.internal.retrieveListeners('status')?.forEach(listener => {\n // Since clerkjs exists it will call `this.clerkjs.on('status', listener)`\n this.on('status', listener, { notify: true });\n });\n\n // @ts-expect-error - queryClientStatus is not typed\n this.#eventBus.internal.retrieveListeners('queryClientStatus')?.forEach(listener => {\n // Since clerkjs exists it will call `this.clerkjs.on('queryClientStatus', listener)`\n // @ts-expect-error - queryClientStatus is not typed\n this.on('queryClientStatus', listener, { notify: true });\n });\n\n if (this.preopenSignIn !== null) {\n clerkjs.openSignIn(this.preopenSignIn);\n }\n\n if (this.preopenCheckout !== null) {\n clerkjs.__internal_openCheckout(this.preopenCheckout);\n }\n\n if (this.preopenPlanDetails !== null) {\n clerkjs.__internal_openPlanDetails(this.preopenPlanDetails);\n }\n\n if (this.preopenSubscriptionDetails !== null) {\n clerkjs.__internal_openSubscriptionDetails(this.preopenSubscriptionDetails);\n }\n\n if (this.preopenSignUp !== null) {\n clerkjs.openSignUp(this.preopenSignUp);\n }\n\n if (this.preopenUserProfile !== null) {\n clerkjs.openUserProfile(this.preopenUserProfile);\n }\n\n if (this.preopenUserVerification !== null) {\n clerkjs.__internal_openReverification(this.preopenUserVerification);\n }\n\n if (this.preopenOneTap !== null) {\n clerkjs.openGoogleOneTap(this.preopenOneTap);\n }\n\n if (this.preopenOrganizationProfile !== null) {\n clerkjs.openOrganizationProfile(this.preopenOrganizationProfile);\n }\n\n if (this.preopenCreateOrganization !== null) {\n clerkjs.openCreateOrganization(this.preopenCreateOrganization);\n }\n\n if (this.preOpenWaitlist !== null) {\n clerkjs.openWaitlist(this.preOpenWaitlist);\n }\n\n if (this.preopenEnableOrganizationsPrompt) {\n clerkjs.__internal_openEnableOrganizationsPrompt(this.preopenEnableOrganizationsPrompt);\n }\n\n this.premountSignInNodes.forEach((props, node) => {\n clerkjs.mountSignIn(node, props);\n });\n\n this.premountSignUpNodes.forEach((props, node) => {\n clerkjs.mountSignUp(node, props);\n });\n\n this.premountUserProfileNodes.forEach((props, node) => {\n clerkjs.mountUserProfile(node, props);\n });\n\n this.premountUserAvatarNodes.forEach((props, node) => {\n clerkjs.mountUserAvatar(node, props);\n });\n\n this.premountUserButtonNodes.forEach((props, node) => {\n clerkjs.mountUserButton(node, props);\n });\n\n this.premountOrganizationListNodes.forEach((props, node) => {\n clerkjs.mountOrganizationList(node, props);\n });\n\n this.premountWaitlistNodes.forEach((props, node) => {\n clerkjs.mountWaitlist(node, props);\n });\n\n this.premountPricingTableNodes.forEach((props, node) => {\n clerkjs.mountPricingTable(node, props);\n });\n\n this.premountAPIKeysNodes.forEach((props, node) => {\n clerkjs.mountAPIKeys(node, props);\n });\n\n this.premountOAuthConsentNodes.forEach((props, node) => {\n clerkjs.__internal_mountOAuthConsent(node, props);\n });\n\n this.premountTaskChooseOrganizationNodes.forEach((props, node) => {\n clerkjs.mountTaskChooseOrganization(node, props);\n });\n\n this.premountTaskResetPasswordNodes.forEach((props, node) => {\n clerkjs.mountTaskResetPassword(node, props);\n });\n\n /**\n * Only update status in case `clerk.status` is missing. In any other case, `clerk-js` should be the orchestrator.\n */\n if (typeof this.clerkjs.status === 'undefined') {\n this.#eventBus.emit(clerkEvents.Status, 'ready');\n }\n\n this.emitLoaded();\n return this.clerkjs;\n };\n\n get version() {\n return this.clerkjs?.version;\n }\n\n get client(): ClientResource | undefined {\n if (this.clerkjs) {\n return this.clerkjs.client;\n // TODO: add ssr condition\n } else {\n return undefined;\n }\n }\n\n get session() {\n if (this.clerkjs) {\n return this.clerkjs.session;\n } else {\n return undefined;\n }\n }\n\n get user() {\n if (this.clerkjs) {\n return this.clerkjs.user;\n } else {\n return undefined;\n }\n }\n\n get organization() {\n if (this.clerkjs) {\n return this.clerkjs.organization;\n } else {\n return undefined;\n }\n }\n\n get telemetry() {\n if (this.clerkjs) {\n return this.clerkjs.telemetry;\n } else {\n return undefined;\n }\n }\n\n get __internal_environment(): any {\n if (this.clerkjs) {\n return (this.clerkjs as any).__internal_environment;\n // TODO: add ssr condition\n } else {\n return undefined;\n }\n }\n\n get isSignedIn(): boolean {\n if (this.clerkjs) {\n return this.clerkjs.isSignedIn;\n } else {\n return false;\n }\n }\n\n get billing(): BillingNamespace | undefined {\n return this.clerkjs?.billing;\n }\n\n get __internal_state(): State {\n return this.loaded && this.clerkjs ? this.clerkjs.__internal_state : this.#stateProxy;\n }\n\n get apiKeys(): APIKeysNamespace | undefined {\n return this.clerkjs?.apiKeys;\n }\n\n __experimental_checkout = (...args: Parameters<Clerk['__experimental_checkout']>) => {\n return this.loaded && this.clerkjs\n ? this.clerkjs.__experimental_checkout(...args)\n : this.#stateProxy.checkoutSignal(...args);\n };\n\n __internal_setEnvironment(...args: any): void {\n if (this.clerkjs && '__internal_setEnvironment' in this.clerkjs) {\n (this.clerkjs as any).__internal_setEnvironment(args);\n } else {\n return undefined;\n }\n }\n\n // TODO @userland-errors:\n __internal_updateProps = async (props: any): Promise<void> => {\n const clerkjs = await this.#waitForClerkJS();\n // Handle case where accounts has clerk-react@4 installed, but clerk-js@3 is manually loaded\n if (clerkjs && '__internal_updateProps' in clerkjs) {\n return (clerkjs as any).__internal_updateProps(props);\n }\n };\n\n /**\n * `setActive` can be used to set the active session and/or organization.\n */\n setActive = (params: SetActiveParams): Promise<void> => {\n if (this.clerkjs) {\n return this.clerkjs.setActive(params);\n } else {\n return Promise.reject();\n }\n };\n\n openSignIn = (props?: SignInProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openSignIn(props);\n } else {\n this.preopenSignIn = props;\n }\n };\n\n closeSignIn = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeSignIn();\n } else {\n this.preopenSignIn = null;\n }\n };\n\n __internal_openCheckout = (props?: __internal_CheckoutProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_openCheckout(props);\n } else {\n this.preopenCheckout = props;\n }\n };\n\n __internal_closeCheckout = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_closeCheckout();\n } else {\n this.preopenCheckout = null;\n }\n };\n\n __internal_openPlanDetails = (props: __internal_PlanDetailsProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_openPlanDetails(props);\n } else {\n this.preopenPlanDetails = props;\n }\n };\n\n __internal_closePlanDetails = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_closePlanDetails();\n } else {\n this.preopenPlanDetails = null;\n }\n };\n\n __internal_openSubscriptionDetails = (props?: __internal_SubscriptionDetailsProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_openSubscriptionDetails(props);\n } else {\n this.preopenSubscriptionDetails = props ?? null;\n }\n };\n\n __internal_closeSubscriptionDetails = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_closeSubscriptionDetails();\n } else {\n this.preopenSubscriptionDetails = null;\n }\n };\n\n __internal_openReverification = (props?: __internal_UserVerificationModalProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_openReverification(props);\n } else {\n this.preopenUserVerification = props;\n }\n };\n\n __internal_closeReverification = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_closeReverification();\n } else {\n this.preopenUserVerification = null;\n }\n };\n\n __internal_openEnableOrganizationsPrompt = (props: __internal_EnableOrganizationsPromptProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_openEnableOrganizationsPrompt(props);\n } else {\n this.preopenEnableOrganizationsPrompt = props;\n }\n };\n\n __internal_closeEnableOrganizationsPrompt = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_closeEnableOrganizationsPrompt();\n } else {\n this.preopenEnableOrganizationsPrompt = null;\n }\n };\n\n openGoogleOneTap = (props?: GoogleOneTapProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openGoogleOneTap(props);\n } else {\n this.preopenOneTap = props;\n }\n };\n\n closeGoogleOneTap = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeGoogleOneTap();\n } else {\n this.preopenOneTap = null;\n }\n };\n\n openUserProfile = (props?: UserProfileProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openUserProfile(props);\n } else {\n this.preopenUserProfile = props;\n }\n };\n\n closeUserProfile = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeUserProfile();\n } else {\n this.preopenUserProfile = null;\n }\n };\n\n openOrganizationProfile = (props?: OrganizationProfileProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openOrganizationProfile(props);\n } else {\n this.preopenOrganizationProfile = props;\n }\n };\n\n closeOrganizationProfile = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeOrganizationProfile();\n } else {\n this.preopenOrganizationProfile = null;\n }\n };\n\n openCreateOrganization = (props?: CreateOrganizationProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openCreateOrganization(props);\n } else {\n this.preopenCreateOrganization = props;\n }\n };\n\n closeCreateOrganization = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeCreateOrganization();\n } else {\n this.preopenCreateOrganization = null;\n }\n };\n\n openWaitlist = (props?: WaitlistProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openWaitlist(props);\n } else {\n this.preOpenWaitlist = props;\n }\n };\n\n closeWaitlist = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeWaitlist();\n } else {\n this.preOpenWaitlist = null;\n }\n };\n\n openSignUp = (props?: SignUpProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.openSignUp(props);\n } else {\n this.preopenSignUp = props;\n }\n };\n\n closeSignUp = () => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.closeSignUp();\n } else {\n this.preopenSignUp = null;\n }\n };\n\n mountSignIn = (node: HTMLDivElement, props?: SignInProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountSignIn(node, props);\n } else {\n this.premountSignInNodes.set(node, props);\n }\n };\n\n unmountSignIn = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountSignIn(node);\n } else {\n this.premountSignInNodes.delete(node);\n }\n };\n\n mountSignUp = (node: HTMLDivElement, props?: SignUpProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountSignUp(node, props);\n } else {\n this.premountSignUpNodes.set(node, props);\n }\n };\n\n unmountSignUp = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountSignUp(node);\n } else {\n this.premountSignUpNodes.delete(node);\n }\n };\n\n mountUserAvatar = (node: HTMLDivElement, props?: UserAvatarProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountUserAvatar(node, props);\n } else {\n this.premountUserAvatarNodes.set(node, props);\n }\n };\n\n unmountUserAvatar = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountUserAvatar(node);\n } else {\n this.premountUserAvatarNodes.delete(node);\n }\n };\n\n mountUserProfile = (node: HTMLDivElement, props?: UserProfileProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountUserProfile(node, props);\n } else {\n this.premountUserProfileNodes.set(node, props);\n }\n };\n\n unmountUserProfile = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountUserProfile(node);\n } else {\n this.premountUserProfileNodes.delete(node);\n }\n };\n\n mountOrganizationProfile = (node: HTMLDivElement, props?: OrganizationProfileProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountOrganizationProfile(node, props);\n } else {\n this.premountOrganizationProfileNodes.set(node, props);\n }\n };\n\n unmountOrganizationProfile = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountOrganizationProfile(node);\n } else {\n this.premountOrganizationProfileNodes.delete(node);\n }\n };\n\n mountCreateOrganization = (node: HTMLDivElement, props?: CreateOrganizationProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountCreateOrganization(node, props);\n } else {\n this.premountCreateOrganizationNodes.set(node, props);\n }\n };\n\n unmountCreateOrganization = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountCreateOrganization(node);\n } else {\n this.premountCreateOrganizationNodes.delete(node);\n }\n };\n\n mountOrganizationSwitcher = (node: HTMLDivElement, props?: OrganizationSwitcherProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountOrganizationSwitcher(node, props);\n } else {\n this.premountOrganizationSwitcherNodes.set(node, props);\n }\n };\n\n unmountOrganizationSwitcher = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountOrganizationSwitcher(node);\n } else {\n this.premountOrganizationSwitcherNodes.delete(node);\n }\n };\n\n __experimental_prefetchOrganizationSwitcher = () => {\n const callback = () => this.clerkjs?.__experimental_prefetchOrganizationSwitcher();\n if (this.clerkjs && this.loaded) {\n void callback();\n } else {\n this.premountMethodCalls.set('__experimental_prefetchOrganizationSwitcher', callback);\n }\n };\n\n mountOrganizationList = (node: HTMLDivElement, props?: OrganizationListProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountOrganizationList(node, props);\n } else {\n this.premountOrganizationListNodes.set(node, props);\n }\n };\n\n unmountOrganizationList = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountOrganizationList(node);\n } else {\n this.premountOrganizationListNodes.delete(node);\n }\n };\n\n mountUserButton = (node: HTMLDivElement, userButtonProps?: UserButtonProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountUserButton(node, userButtonProps);\n } else {\n this.premountUserButtonNodes.set(node, userButtonProps);\n }\n };\n\n unmountUserButton = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountUserButton(node);\n } else {\n this.premountUserButtonNodes.delete(node);\n }\n };\n\n mountWaitlist = (node: HTMLDivElement, props?: WaitlistProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountWaitlist(node, props);\n } else {\n this.premountWaitlistNodes.set(node, props);\n }\n };\n\n unmountWaitlist = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountWaitlist(node);\n } else {\n this.premountWaitlistNodes.delete(node);\n }\n };\n\n mountPricingTable = (node: HTMLDivElement, props?: PricingTableProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountPricingTable(node, props);\n } else {\n this.premountPricingTableNodes.set(node, props);\n }\n };\n\n unmountPricingTable = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountPricingTable(node);\n } else {\n this.premountPricingTableNodes.delete(node);\n }\n };\n\n mountAPIKeys = (node: HTMLDivElement, props?: APIKeysProps): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountAPIKeys(node, props);\n } else {\n this.premountAPIKeysNodes.set(node, props);\n }\n };\n\n unmountAPIKeys = (node: HTMLDivElement): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountAPIKeys(node);\n } else {\n this.premountAPIKeysNodes.delete(node);\n }\n };\n\n __internal_mountOAuthConsent = (node: HTMLDivElement, props?: __internal_OAuthConsentProps) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_mountOAuthConsent(node, props);\n } else {\n this.premountOAuthConsentNodes.set(node, props);\n }\n };\n\n __internal_unmountOAuthConsent = (node: HTMLDivElement) => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.__internal_unmountOAuthConsent(node);\n } else {\n this.premountOAuthConsentNodes.delete(node);\n }\n };\n\n mountTaskChooseOrganization = (node: HTMLDivElement, props?: TaskChooseOrganizationProps): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountTaskChooseOrganization(node, props);\n } else {\n this.premountTaskChooseOrganizationNodes.set(node, props);\n }\n };\n\n unmountTaskChooseOrganization = (node: HTMLDivElement): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountTaskChooseOrganization(node);\n } else {\n this.premountTaskChooseOrganizationNodes.delete(node);\n }\n };\n\n mountTaskResetPassword = (node: HTMLDivElement, props?: TaskResetPasswordProps): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.mountTaskResetPassword(node, props);\n } else {\n this.premountTaskResetPasswordNodes.set(node, props);\n }\n };\n\n unmountTaskResetPassword = (node: HTMLDivElement): void => {\n if (this.clerkjs && this.loaded) {\n this.clerkjs.unmountTaskResetPassword(node);\n } else {\n this.premountTaskResetPasswordNodes.delete(node);\n }\n };\n\n addListener = (listener: ListenerCallback): UnsubscribeCallback => {\n if (this.clerkjs) {\n return this.clerkjs.addListener(listener);\n } else {\n const unsubscribe = () => {\n const listenerHandlers = this.premountAddListenerCalls.get(listener);\n if (listenerHandlers) {\n listenerHandlers.nativeUnsubscribe?.();\n this.premountAddListenerCalls.delete(listener);\n }\n };\n this.premountAddListenerCalls.set(listener, { unsubscribe, nativeUnsubscribe: undefined });\n return unsubscribe;\n }\n };\n\n navigate = (to: string) => {\n const callback = () => this.clerkjs?.navigate(to);\n if (this.clerkjs && this.loaded) {\n void callback();\n } else {\n this.premountMethodCalls.set('navigate', callback);\n }\n };\n\n redirectWithAuth = async (...args: Parameters<Clerk['redirectWithAuth']>) => {\n const callback = () => this.clerkjs?.redirectWithAuth(...args);\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectWithAuth', callback);\n return;\n }\n };\n\n redirectToSignIn = async (opts?: SignInRedirectOptions) => {\n const callback = () => this.clerkjs?.redirectToSignIn(opts as any);\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToSignIn', callback);\n return;\n }\n };\n\n redirectToSignUp = async (opts?: SignUpRedirectOptions) => {\n const callback = () => this.clerkjs?.redirectToSignUp(opts as any);\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToSignUp', callback);\n return;\n }\n };\n\n redirectToUserProfile = async () => {\n const callback = () => this.clerkjs?.redirectToUserProfile();\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToUserProfile', callback);\n return;\n }\n };\n\n redirectToAfterSignUp = (): void => {\n const callback = () => this.clerkjs?.redirectToAfterSignUp();\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToAfterSignUp', callback);\n }\n };\n\n redirectToAfterSignIn = () => {\n const callback = () => this.clerkjs?.redirectToAfterSignIn();\n if (this.clerkjs && this.loaded) {\n callback();\n } else {\n this.premountMethodCalls.set('redirectToAfterSignIn', callback);\n }\n };\n\n redirectToAfterSignOut = () => {\n const callback = () => this.clerkjs?.redirectToAfterSignOut();\n if (this.clerkjs && this.loaded) {\n callback();\n } else {\n this.premountMethodCalls.set('redirectToAfterSignOut', callback);\n }\n };\n\n redirectToOrganizationProfile = async () => {\n const callback = () => this.clerkjs?.redirectToOrganizationProfile();\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToOrganizationProfile', callback);\n return;\n }\n };\n\n redirectToCreateOrganization = async () => {\n const callback = () => this.clerkjs?.redirectToCreateOrganization();\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToCreateOrganization', callback);\n return;\n }\n };\n\n redirectToWaitlist = async () => {\n const callback = () => this.clerkjs?.redirectToWaitlist();\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToWaitlist', callback);\n return;\n }\n };\n\n redirectToTasks = async (opts?: TasksRedirectOptions) => {\n const callback = () => this.clerkjs?.redirectToTasks(opts);\n if (this.clerkjs && this.loaded) {\n return callback();\n } else {\n this.premountMethodCalls.set('redirectToTasks', callback);\n return;\n }\n };\n\n handleRedirectCallback = async (params: HandleOAuthCallbackParams): Promise<void> => {\n const callback = () => this.clerkjs?.handleRedirectCallback(params);\n if (this.clerkjs && this.loaded) {\n void callback()?.catch(() => {\n // This error is caused when the host app is using React18\n // and strictMode is enabled. This useEffects runs twice because\n // the clerk-react ui components mounts, unmounts and mounts again\n // so the clerk-js component loses its state because of the custom\n // unmount callback we're using.\n // This needs to be solved by tweaking the logic in uiComponents.tsx\n // or by making handleRedirectCallback idempotent\n });\n } else {\n this.premountMethodCalls.set('handleRedirectCallback', callback);\n }\n };\n\n handleGoogleOneTapCallback = async (\n signInOrUp: SignInResource | SignUpResource,\n params: HandleOAuthCallbackParams,\n ): Promise<void> => {\n const callback = () => this.clerkjs?.handleGoogleOneTapCallback(signInOrUp, params);\n if (this.clerkjs && this.loaded) {\n void callback()?.catch(() => {\n // This error is caused when the host app is using React18\n // and strictMode is enabled. This useEffects runs twice because\n // the clerk-react ui components mounts, unmounts and mounts again\n // so the clerk-js component loses its state because of the custom\n // unmount callback we're using.\n // This needs to be solved by tweaking the logic in uiComponents.tsx\n // or by making handleRedirectCallback idempotent\n });\n } else {\n this.premountMethodCalls.set('handleGoogleOneTapCallback', callback);\n }\n };\n\n handleEmailLinkVerification = async (params: HandleEmailLinkVerificationParams) => {\n const callback = () => this.clerkjs?.handleEmailLinkVerification(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('handleEmailLinkVerification', callback);\n }\n };\n\n authenticateWithMetamask = async (params?: AuthenticateWithMetamaskParams) => {\n const callback = () => this.clerkjs?.authenticateWithMetamask(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithMetamask', callback);\n }\n };\n\n authenticateWithCoinbaseWallet = async (params?: AuthenticateWithCoinbaseWalletParams) => {\n const callback = () => this.clerkjs?.authenticateWithCoinbaseWallet(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithCoinbaseWallet', callback);\n }\n };\n\n authenticateWithBase = async (params?: AuthenticateWithBaseParams) => {\n const callback = () => this.clerkjs?.authenticateWithBase(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithBase', callback);\n }\n };\n\n authenticateWithOKXWallet = async (params?: AuthenticateWithOKXWalletParams) => {\n const callback = () => this.clerkjs?.authenticateWithOKXWallet(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithOKXWallet', callback);\n }\n };\n\n authenticateWithSolana = async (params: AuthenticateWithSolanaParams) => {\n const callback = () => this.clerkjs?.authenticateWithSolana(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithSolana', callback);\n }\n };\n\n authenticateWithWeb3 = async (params: ClerkAuthenticateWithWeb3Params) => {\n const callback = () => this.clerkjs?.authenticateWithWeb3(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('authenticateWithWeb3', callback);\n }\n };\n\n authenticateWithGoogleOneTap = async (params: AuthenticateWithGoogleOneTapParams) => {\n const clerkjs = await this.#waitForClerkJS();\n return clerkjs.authenticateWithGoogleOneTap(params);\n };\n\n __internal_loadStripeJs = async () => {\n const clerkjs = await this.#waitForClerkJS();\n return clerkjs.__internal_loadStripeJs();\n };\n\n createOrganization = async (params: CreateOrganizationParams): Promise<OrganizationResource | void> => {\n const callback = () => this.clerkjs?.createOrganization(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<OrganizationResource>;\n } else {\n this.premountMethodCalls.set('createOrganization', callback);\n }\n };\n\n getOrganization = async (organizationId: string): Promise<OrganizationResource | void> => {\n const callback = () => this.clerkjs?.getOrganization(organizationId);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<OrganizationResource>;\n } else {\n this.premountMethodCalls.set('getOrganization', callback);\n }\n };\n\n joinWaitlist = async (params: JoinWaitlistParams): Promise<WaitlistResource | void> => {\n const callback = () => this.clerkjs?.joinWaitlist(params);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<WaitlistResource>;\n } else {\n this.premountMethodCalls.set('joinWaitlist', callback);\n }\n };\n\n signOut = async (...args: Parameters<Clerk['signOut']>) => {\n const callback = () => this.clerkjs?.signOut(...args);\n if (this.clerkjs && this.loaded) {\n return callback() as Promise<void>;\n } else {\n this.premountMethodCalls.set('signOut', callback);\n }\n };\n\n __internal_attemptToEnableEnvironmentSetting = (\n options: __internal_AttemptToEnableEnvironmentSettingParams,\n ): __internal_AttemptToEnableEnvironmentSettingResult | void => {\n const callback = () => this.clerkjs?.__internal_attemptToEnableEnvironmentSetting(options);\n if (this.clerkjs && this.loaded) {\n return callback() as __internal_AttemptToEnableEnvironmentSettingResult;\n } else {\n this.premountMethodCalls.set('__internal_attemptToEnableEnvironmentSetting', callback);\n }\n };\n}\n","import { inBrowser } from '@clerk/shared/browser';\nimport type {\n BillingSubscriptionPlanPeriod,\n CheckoutSignalValue,\n Clerk,\n ForPayerType,\n SignInErrors,\n SignUpErrors,\n State,\n} from '@clerk/shared/types';\n\nimport { errorThrower } from './errors/errorThrower';\nimport type { IsomorphicClerk } from './isomorphicClerk';\n\nconst defaultSignInErrors = (): SignInErrors => ({\n fields: {\n identifier: null,\n password: null,\n code: null,\n },\n raw: null,\n global: null,\n});\n\nconst defaultSignUpErrors = (): SignUpErrors => ({\n fields: {\n firstName: null,\n lastName: null,\n emailAddress: null,\n phoneNumber: null,\n password: null,\n username: null,\n code: null,\n captcha: null,\n legalAccepted: null,\n },\n raw: null,\n global: null,\n});\n\ntype CheckoutSignalProps = {\n for?: ForPayerType;\n planPeriod: BillingSubscriptionPlanPeriod;\n planId: string;\n};\n\nexport class StateProxy implements State {\n constructor(private isomorphicClerk: IsomorphicClerk) {}\n\n private readonly signInSignalProxy = this.buildSignInProxy();\n private readonly signUpSignalProxy = this.buildSignUpProxy();\n\n signInSignal() {\n return this.signInSignalProxy;\n }\n signUpSignal() {\n return this.signUpSignalProxy;\n }\n\n checkoutSignal(params: CheckoutSignalProps) {\n return this.buildCheckoutProxy(params);\n }\n\n private buildSignInProxy() {\n const gateProperty = this.gateProperty.bind(this);\n const target = () => this.client.signIn.__internal_future;\n\n return {\n errors: defaultSignInErrors(),\n fetchStatus: 'idle' as const,\n signIn: {\n status: 'needs_identifier' as const,\n availableStrategies: [],\n isTransferable: false,\n get id() {\n return gateProperty(target, 'id', undefined);\n },\n get supportedFirstFactors() {\n return gateProperty(target, 'supportedFirstFactors', []);\n },\n get supportedSecondFactors() {\n return gateProperty(target, 'supportedSecondFactors', []);\n },\n get secondFactorVerification() {\n return gateProperty(target, 'secondFactorVerification', {\n status: null,\n error: null,\n expireAt: null,\n externalVerificationRedirectURL: null,\n nonce: null,\n attempts: null,\n message: null,\n strategy: null,\n verifiedAtClient: null,\n verifiedFromTheSameClient: () => false,\n __internal_toSnapshot: () => {\n throw new Error('__internal_toSnapshot called before Clerk is loaded');\n },\n pathRoot: '',\n reload: () => {\n throw new Error('__internal_toSnapshot called before Clerk is loaded');\n },\n });\n },\n get identifier() {\n return gateProperty(target, 'identifier', null);\n },\n get createdSessionId() {\n return gateProperty(target, 'createdSessionId', null);\n },\n get userData() {\n return gateProperty(target, 'userData', {});\n },\n get firstFactorVerification() {\n return gateProperty(target, 'firstFactorVerification', {\n status: null,\n error: null,\n expireAt: null,\n externalVerificationRedirectURL: null,\n nonce: null,\n attempts: null,\n message: null,\n strategy: null,\n verifiedAtClient: null,\n verifiedFromTheSameClient: () => false,\n __internal_toSnapshot: () => {\n throw new Error('__internal_toSnapshot called before Clerk is loaded');\n },\n pathRoot: '',\n reload: () => {\n throw new Error('__internal_toSnapshot called before Clerk is loaded');\n },\n });\n },\n get hasBeenFinalized() {\n return gateProperty(target, 'hasBeenFinalized', false);\n },\n\n create: this.gateMethod(target, 'create'),\n password: this.gateMethod(target, 'password'),\n sso: this.gateMethod(target, 'sso'),\n finalize: this.gateMethod(target, 'finalize'),\n\n emailCode: this.wrapMethods(() => target().emailCode, ['sendCode', 'verifyCode'] as const),\n emailLink: this.wrapStruct(\n () => target().emailLink,\n ['sendLink', 'waitForVerification'] as const,\n ['verification'] as const,\n { verification: null },\n ),\n resetPasswordEmailCode: this.wrapMethods(() => target().resetPasswordEmailCode, [\n 'sendCode',\n 'verifyCode',\n 'submitPassword',\n ] as const),\n phoneCode: this.wrapMethods(() => target().phoneCode, ['sendCode', 'verifyCode'] as const),\n mfa: this.wrapMethods(() => target().mfa, [\n 'sendPhoneCode',\n 'verifyPhoneCode',\n 'verifyTOTP',\n 'verifyBackupCode',\n ] as const),\n ticket: this.gateMethod(target, 'ticket'),\n passkey: this.gateMethod(target, 'passkey'),\n web3: this.gateMethod(target, 'web3'),\n },\n };\n }\n\n private buildSignUpProxy() {\n const gateProperty = this.gateProperty.bind(this);\n const gateMethod = this.gateMethod.bind(this);\n const wrapMethods = this.wrapMethods.bind(this);\n const target = () => this.client.signUp.__internal_future;\n\n return {\n errors: defaultSignUpErrors(),\n fetchStatus: 'idle' as const,\n signUp: {\n get id() {\n return gateProperty(target, 'id', undefined);\n },\n get requiredFields() {\n return gateProperty(target, 'requiredFields', []);\n },\n get optionalFields() {\n return gateProperty(target, 'optionalFields', []);\n },\n get missingFields() {\n return gateProperty(target, 'missingFields', []);\n },\n get username() {\n return gateProperty(target, 'username', null);\n },\n get firstName() {\n return gateProperty(target, 'firstName', null);\n },\n get lastName() {\n return gateProperty(target, 'lastName', null);\n },\n get emailAddress() {\n return gateProperty(target, 'emailAddress', null);\n },\n get phoneNumber() {\n return gateProperty(target, 'phoneNumber', null);\n },\n get web3Wallet() {\n return gateProperty(target, 'web3Wallet', null);\n },\n get hasPassword() {\n return gateProperty(target, 'hasPassword', false);\n },\n get unsafeMetadata() {\n return gateProperty(target, 'unsafeMetadata', {});\n },\n get createdSessionId() {\n return gateProperty(target, 'createdSessionId', null);\n },\n get createdUserId() {\n return gateProperty(target, 'createdUserId', null);\n },\n get abandonAt() {\n return gateProperty(target, 'abandonAt', null);\n },\n get legalAcceptedAt() {\n return gateProperty(target, 'legalAcceptedAt', null);\n },\n get locale() {\n return gateProperty(target, 'locale', null);\n },\n get status() {\n return gateProperty(target, 'status', 'missing_requirements');\n },\n get unverifiedFields() {\n return gateProperty(target, 'unverifiedFields', []);\n },\n get isTransferable() {\n return gateProperty(target, 'isTransferable', false);\n },\n get hasBeenFinalized() {\n return gateProperty(target, 'hasBeenFinalized', false);\n },\n\n create: gateMethod(target, 'create'),\n update: gateMethod(target, 'update'),\n sso: gateMethod(target, 'sso'),\n password: gateMethod(target, 'password'),\n ticket: gateMethod(target, 'ticket'),\n web3: gateMethod(target, 'web3'),\n finalize: gateMethod(target, 'finalize'),\n\n verifications: wrapMethods(() => target().verifications, [\n 'sendEmailCode',\n 'verifyEmailCode',\n 'sendPhoneCode',\n 'verifyPhoneCode',\n ] as const),\n },\n };\n }\n\n private buildCheckoutProxy(params: CheckoutSignalProps): CheckoutSignalValue {\n const gateProperty = this.gateProperty.bind(this);\n const targetCheckout = () => this.checkout(params);\n const target = () => targetCheckout().checkout;\n\n return {\n errors: {\n raw: null,\n global: null,\n },\n fetchStatus: 'idle' as const,\n checkout: {\n get status() {\n return gateProperty(target, 'status', 'needs_initialization') as 'needs_initialization';\n },\n get externalClientSecret() {\n return gateProperty(target, 'externalClientSecret', null) as null;\n },\n get externalGatewayId() {\n return gateProperty(target, 'externalGatewayId', null) as null;\n },\n get paymentMethod() {\n return gateProperty(target, 'paymentMethod', null) as null;\n },\n get plan() {\n return gateProperty(target, 'plan', null) as null;\n },\n get planPeriod() {\n return gateProperty(target, 'planPeriod', null) as null;\n },\n get totals() {\n return gateProperty(target, 'totals', null) as null;\n },\n get isImmediatePlanChange() {\n return gateProperty(target, 'isImmediatePlanChange', false) as null;\n },\n get freeTrialEndsAt() {\n return gateProperty(target, 'freeTrialEndsAt', null) as null;\n },\n get payer() {\n return gateProperty(target, 'payer', null) as null;\n },\n get planPeriodStart() {\n return gateProperty(target, 'planPeriodStart', null) as null;\n },\n get needsPaymentMethod() {\n return gateProperty(target, 'needsPaymentMethod', null) as null;\n },\n\n start: this.gateMethod<ReturnType<typeof target>, 'start'>(target, 'start'),\n confirm: this.gateMethod<ReturnType<typeof target>, 'confirm'>(target, 'confirm'),\n finalize: this.gateMethod<ReturnType<typeof target>, 'finalize'>(target, 'finalize'),\n },\n };\n }\n\n __internal_effect(_: () => void): () => void {\n throw new Error('__internal_effect called before Clerk is loaded');\n }\n __internal_computed<T>(_: (prev?: T) => T): () => T {\n throw new Error('__internal_computed called before Clerk is loaded');\n }\n\n private get client() {\n const c = this.isomorphicClerk.client;\n if (!c) {\n throw new Error('Clerk client not ready');\n }\n return c;\n }\n\n private get checkout(): Clerk['__experimental_checkout'] {\n const c = this.isomorphicClerk.__experimental_checkout as Clerk['__experimental_checkout'];\n if (!c) {\n throw new Error('Clerk checkout not ready');\n }\n return c;\n }\n\n private gateProperty<T extends object, K extends keyof T>(getTarget: () => T, key: K, defaultValue: T[K]) {\n return (() => {\n if (!inBrowser() || !this.isomorphicClerk.loaded) {\n return defaultValue;\n }\n const t = getTarget();\n return t[key];\n })();\n }\n\n private gateMethod<T extends object, K extends keyof T & string>(getTarget: () => T, key: K) {\n type F = Extract<T[K], (...args: unknown[]) => unknown>;\n return (async (...args: Parameters<F>): Promise<ReturnType<F>> => {\n if (!inBrowser()) {\n return errorThrower.throw(`Attempted to call a method (${key}) that is not supported on the server.`);\n }\n if (!this.isomorphicClerk.loaded) {\n await new Promise<void>(resolve => this.isomorphicClerk.addOnLoaded(resolve));\n }\n const t = getTarget();\n return (t[key] as (...args: Parameters<F>) => ReturnType<F>).apply(t, args);\n }) as F;\n }\n\n private wrapMethods<T extends object, K extends readonly (keyof T & string)[]>(\n getTarget: () => T,\n keys: K,\n ): Pick<T, K[number]> {\n return Object.fromEntries(keys.map(k => [k, this.gateMethod(getTarget, k)])) as Pick<T, K[number]>;\n }\n\n private wrapStruct<T extends object, M extends readonly (keyof T)[], G extends readonly (keyof T)[]>(\n getTarget: () => T,\n methods: M,\n getters: G,\n fallbacks: Pick<T, G[number]>,\n ): Pick<T, M[number] | G[number]> & {\n [K in M[number]]: T[K] extends (...args: any[]) => any ? T[K] : never;\n } & {\n [K in G[number]]: T[K] extends (...args: any[]) => any ? never : T[K];\n } {\n const out: any = {};\n for (const m of methods) {\n out[m] = this.gateMethod(getTarget, m as any);\n }\n for (const g of getters) {\n Object.defineProperty(out, g, {\n get: () => this.gateProperty(getTarget, g as any, (fallbacks as any)[g]),\n enumerable: true,\n });\n }\n return out;\n }\n}\n"],"mappings":"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","names":["React","React","React","React","React","React","React","React","inBrowser","_a","inBrowser","React","React"]}