@clerk/clerk-react 5.44.0 → 5.45.0

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
@@ -337,7 +337,7 @@ if (typeof globalThis.__BUILD_DISABLE_RHC__ === "undefined") {
337
337
  }
338
338
  var SDK_METADATA = {
339
339
  name: "@clerk/clerk-react",
340
- version: "5.44.0",
340
+ version: "5.45.0",
341
341
  environment: process.env.NODE_ENV
342
342
  };
343
343
  var _status, _domain, _proxyUrl, _publishableKey, _eventBus, _stateProxy, _instance, _IsomorphicClerk_instances, waitForClerkJS_fn;
@@ -1234,6 +1234,17 @@ var _IsomorphicClerk = class _IsomorphicClerk {
1234
1234
  this.premountMethodCalls.set("authenticateWithCoinbaseWallet", callback);
1235
1235
  }
1236
1236
  };
1237
+ this.authenticateWithBase = async (params) => {
1238
+ const callback = () => {
1239
+ var _a;
1240
+ return (_a = this.clerkjs) == null ? void 0 : _a.authenticateWithBase(params);
1241
+ };
1242
+ if (this.clerkjs && this.loaded) {
1243
+ return callback();
1244
+ } else {
1245
+ this.premountMethodCalls.set("authenticateWithBase", callback);
1246
+ }
1247
+ };
1237
1248
  this.authenticateWithOKXWallet = async (params) => {
1238
1249
  const callback = () => {
1239
1250
  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';\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 { BrowserClerk, ClerkProp, HeadlessBrowserClerk, ClerkProviderProps } from './types';\n\nsetErrorThrowerOptions({ packageName: PACKAGE_NAME });\nsetClerkJsLoadingErrorPackageName(PACKAGE_NAME);\n","import type { SignInButtonProps, SignInProps } from '@clerk/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/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/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 { isPublishableKey } from '@clerk/shared/keys';\nimport React from 'react';\n\nimport { errorThrower } from '../errors/errorThrower';\nimport { multipleClerkProvidersError } from '../errors/messages';\nimport type { ClerkProviderProps } from '../types';\nimport { withMaxAllowedInstancesGuard } from '../utils';\nimport { ClerkContextProvider } from './ClerkContextProvider';\n\nfunction ClerkProviderBase(props: ClerkProviderProps) {\n const { initialState, children, __internal_bypassMissingPublishableKey, ...restIsomorphicClerkOptions } = props;\n const { publishableKey = '', Clerk: userInitialisedClerk } = restIsomorphicClerkOptions;\n\n if (!userInitialisedClerk && !__internal_bypassMissingPublishableKey) {\n if (!publishableKey) {\n errorThrower.throwMissingPublishableKeyError();\n } else if (publishableKey && !isPublishableKey(publishableKey)) {\n errorThrower.throwInvalidPublishableKeyError({ key: publishableKey });\n }\n }\n\n return (\n <ClerkContextProvider\n initialState={initialState}\n isomorphicClerkOptions={restIsomorphicClerkOptions}\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/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.__unstable__updateProps({ appearance: options.appearance });\n }, [options.appearance]);\n\n React.useEffect(() => {\n void isomorphicClerkRef.current.__unstable__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 } from '@clerk/shared/loadClerkJsScript';\nimport { handleValueOrFn } from '@clerk/shared/utils';\nimport type {\n __internal_CheckoutProps,\n __internal_OAuthConsentProps,\n __internal_PlanDetailsProps,\n __internal_SubscriptionDetailsProps,\n __internal_UserVerificationModalProps,\n __internal_UserVerificationProps,\n APIKeysNamespace,\n APIKeysProps,\n AuthenticateWithCoinbaseWalletParams,\n AuthenticateWithGoogleOneTapParams,\n AuthenticateWithMetamaskParams,\n AuthenticateWithOKXWalletParams,\n Clerk,\n ClerkAuthenticateWithWeb3Params,\n ClerkOptions,\n ClerkStatus,\n ClientResource,\n CommerceBillingNamespace,\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 TasksRedirectOptions,\n UnsubscribeCallback,\n UserButtonProps,\n UserProfileProps,\n WaitlistProps,\n WaitlistResource,\n Without,\n} from '@clerk/types';\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}\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: CommerceBillingNamespace | 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 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 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 // 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 const { Clerk = null, publishableKey } = options || {};\n this.#publishableKey = publishableKey;\n this.#proxyUrl = options?.proxyUrl;\n this.#domain = options?.domain;\n this.options = options;\n this.Clerk = Clerk;\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.loadClerkJS();\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 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 loadClerkJS(): Promise<HeadlessBrowserClerk | BrowserClerk | undefined> {\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\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\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 if (this.Clerk) {\n // Set a fixed Clerk version\n let c: ClerkProp;\n\n if (isConstructor<BrowserClerkConstructor | HeadlessBrowserClerkConstructor>(this.Clerk)) {\n // Construct a new Clerk object if a constructor is passed\n c = new this.Clerk(this.#publishableKey, {\n proxyUrl: this.proxyUrl,\n domain: this.domain,\n } as any);\n\n this.beforeLoad(c);\n await c.load(this.options);\n } else {\n // Otherwise use the instantiated Clerk object\n c = this.Clerk;\n if (!c.loaded) {\n this.beforeLoad(c);\n await c.load(this.options);\n }\n }\n\n global.Clerk = c;\n } else if (!__BUILD_DISABLE_RHC__) {\n // Hot-load latest ClerkJS from Clerk CDN\n if (!global.Clerk) {\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 if (!global.Clerk) {\n throw new Error('Failed to download latest ClerkJS. Contact support@clerk.com.');\n }\n\n this.beforeLoad(global.Clerk);\n await global.Clerk.load(this.options);\n }\n\n if (global.Clerk?.loaded) {\n return this.hydrateClerkJS(global.Clerk);\n }\n return;\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 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 hydrateClerkJS = (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 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 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.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 /**\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 __unstable__environment(): any {\n if (this.clerkjs) {\n return (this.clerkjs as any).__unstable__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(): CommerceBillingNamespace | 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.clerkjs?.__experimental_checkout(...args);\n };\n\n __unstable__setEnvironment(...args: any): void {\n if (this.clerkjs && '__unstable__setEnvironment' in this.clerkjs) {\n (this.clerkjs as any).__unstable__setEnvironment(args);\n } else {\n return undefined;\n }\n }\n\n __unstable__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 && '__unstable__updateProps' in clerkjs) {\n return (clerkjs as any).__unstable__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 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 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 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 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","import { inBrowser } from '@clerk/shared/browser';\nimport type { Errors, State } from '@clerk/types';\n\nimport { errorThrower } from './errors/errorThrower';\nimport type { IsomorphicClerk } from './isomorphicClerk';\n\nconst defaultErrors = (): Errors => ({\n fields: {\n firstName: null,\n lastName: null,\n emailAddress: null,\n identifier: null,\n phoneNumber: null,\n password: null,\n username: null,\n code: null,\n captcha: null,\n legalAccepted: null,\n },\n raw: [],\n global: [],\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 private buildSignInProxy() {\n const target = () => this.client.signIn.__internal_future;\n\n return {\n errors: defaultErrors(),\n fetchStatus: 'idle' as const,\n signIn: {\n status: 'needs_identifier' as const,\n availableStrategies: [],\n isTransferable: false,\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 resetPasswordEmailCode: this.wrapMethods(() => target().resetPasswordEmailCode, [\n 'sendCode',\n 'verifyCode',\n 'submitPassword',\n ] as const),\n },\n };\n }\n\n private buildSignUpProxy() {\n const target = () => this.client.signUp.__internal_future;\n\n return {\n errors: defaultErrors(),\n fetchStatus: 'idle' as const,\n signUp: {\n status: 'missing_requirements' as const,\n unverifiedFields: [],\n isTransferable: false,\n\n create: this.gateMethod(target, 'create'),\n sso: this.gateMethod(target, 'sso'),\n password: this.gateMethod(target, 'password'),\n finalize: this.gateMethod(target, 'finalize'),\n\n verifications: this.wrapMethods(() => target().verifications, ['sendEmailCode', 'verifyEmailCode'] as const),\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) throw new Error('Clerk client not ready');\n return c;\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"],"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';\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 { BrowserClerk, ClerkProp, HeadlessBrowserClerk, ClerkProviderProps } from './types';\n\nsetErrorThrowerOptions({ packageName: PACKAGE_NAME });\nsetClerkJsLoadingErrorPackageName(PACKAGE_NAME);\n","import type { SignInButtonProps, SignInProps } from '@clerk/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/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/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 { isPublishableKey } from '@clerk/shared/keys';\nimport React from 'react';\n\nimport { errorThrower } from '../errors/errorThrower';\nimport { multipleClerkProvidersError } from '../errors/messages';\nimport type { ClerkProviderProps } from '../types';\nimport { withMaxAllowedInstancesGuard } from '../utils';\nimport { ClerkContextProvider } from './ClerkContextProvider';\n\nfunction ClerkProviderBase(props: ClerkProviderProps) {\n const { initialState, children, __internal_bypassMissingPublishableKey, ...restIsomorphicClerkOptions } = props;\n const { publishableKey = '', Clerk: userInitialisedClerk } = restIsomorphicClerkOptions;\n\n if (!userInitialisedClerk && !__internal_bypassMissingPublishableKey) {\n if (!publishableKey) {\n errorThrower.throwMissingPublishableKeyError();\n } else if (publishableKey && !isPublishableKey(publishableKey)) {\n errorThrower.throwInvalidPublishableKeyError({ key: publishableKey });\n }\n }\n\n return (\n <ClerkContextProvider\n initialState={initialState}\n isomorphicClerkOptions={restIsomorphicClerkOptions}\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/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.__unstable__updateProps({ appearance: options.appearance });\n }, [options.appearance]);\n\n React.useEffect(() => {\n void isomorphicClerkRef.current.__unstable__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 } from '@clerk/shared/loadClerkJsScript';\nimport { handleValueOrFn } from '@clerk/shared/utils';\nimport type {\n __internal_CheckoutProps,\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 Clerk,\n ClerkAuthenticateWithWeb3Params,\n ClerkOptions,\n ClerkStatus,\n ClientResource,\n CommerceBillingNamespace,\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 TasksRedirectOptions,\n UnsubscribeCallback,\n UserButtonProps,\n UserProfileProps,\n WaitlistProps,\n WaitlistResource,\n Without,\n} from '@clerk/types';\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}\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: CommerceBillingNamespace | 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 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 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 // 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 const { Clerk = null, publishableKey } = options || {};\n this.#publishableKey = publishableKey;\n this.#proxyUrl = options?.proxyUrl;\n this.#domain = options?.domain;\n this.options = options;\n this.Clerk = Clerk;\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.loadClerkJS();\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 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 loadClerkJS(): Promise<HeadlessBrowserClerk | BrowserClerk | undefined> {\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\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\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 if (this.Clerk) {\n // Set a fixed Clerk version\n let c: ClerkProp;\n\n if (isConstructor<BrowserClerkConstructor | HeadlessBrowserClerkConstructor>(this.Clerk)) {\n // Construct a new Clerk object if a constructor is passed\n c = new this.Clerk(this.#publishableKey, {\n proxyUrl: this.proxyUrl,\n domain: this.domain,\n } as any);\n\n this.beforeLoad(c);\n await c.load(this.options);\n } else {\n // Otherwise use the instantiated Clerk object\n c = this.Clerk;\n if (!c.loaded) {\n this.beforeLoad(c);\n await c.load(this.options);\n }\n }\n\n global.Clerk = c;\n } else if (!__BUILD_DISABLE_RHC__) {\n // Hot-load latest ClerkJS from Clerk CDN\n if (!global.Clerk) {\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 if (!global.Clerk) {\n throw new Error('Failed to download latest ClerkJS. Contact support@clerk.com.');\n }\n\n this.beforeLoad(global.Clerk);\n await global.Clerk.load(this.options);\n }\n\n if (global.Clerk?.loaded) {\n return this.hydrateClerkJS(global.Clerk);\n }\n return;\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 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 hydrateClerkJS = (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 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 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.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 /**\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 __unstable__environment(): any {\n if (this.clerkjs) {\n return (this.clerkjs as any).__unstable__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(): CommerceBillingNamespace | 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.clerkjs?.__experimental_checkout(...args);\n };\n\n __unstable__setEnvironment(...args: any): void {\n if (this.clerkjs && '__unstable__setEnvironment' in this.clerkjs) {\n (this.clerkjs as any).__unstable__setEnvironment(args);\n } else {\n return undefined;\n }\n }\n\n __unstable__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 && '__unstable__updateProps' in clerkjs) {\n return (clerkjs as any).__unstable__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 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 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 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","import { inBrowser } from '@clerk/shared/browser';\nimport type { Errors, State } from '@clerk/types';\n\nimport { errorThrower } from './errors/errorThrower';\nimport type { IsomorphicClerk } from './isomorphicClerk';\n\nconst defaultErrors = (): Errors => ({\n fields: {\n firstName: null,\n lastName: null,\n emailAddress: null,\n identifier: null,\n phoneNumber: null,\n password: null,\n username: null,\n code: null,\n captcha: null,\n legalAccepted: null,\n },\n raw: [],\n global: [],\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 private buildSignInProxy() {\n const target = () => this.client.signIn.__internal_future;\n\n return {\n errors: defaultErrors(),\n fetchStatus: 'idle' as const,\n signIn: {\n status: 'needs_identifier' as const,\n availableStrategies: [],\n isTransferable: false,\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 resetPasswordEmailCode: this.wrapMethods(() => target().resetPasswordEmailCode, [\n 'sendCode',\n 'verifyCode',\n 'submitPassword',\n ] as const),\n },\n };\n }\n\n private buildSignUpProxy() {\n const target = () => this.client.signUp.__internal_future;\n\n return {\n errors: defaultErrors(),\n fetchStatus: 'idle' as const,\n signUp: {\n status: 'missing_requirements' as const,\n unverifiedFields: [],\n isTransferable: false,\n\n create: this.gateMethod(target, 'create'),\n sso: this.gateMethod(target, 'sso'),\n password: this.gateMethod(target, 'password'),\n finalize: this.gateMethod(target, 'finalize'),\n\n verifications: this.wrapMethods(() => target().verifications, ['sendEmailCode', 'verifyEmailCode'] as const),\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) throw new Error('Clerk client not ready');\n return c;\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"],"mappings":"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","names":["React","React","React","React","React","React","React","React","inBrowser","_a","inBrowser","React","React"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clerk/clerk-react",
3
- "version": "5.44.0",
3
+ "version": "5.45.0",
4
4
  "description": "Clerk React library",
5
5
  "keywords": [
6
6
  "clerk",
@@ -74,13 +74,13 @@
74
74
  ],
75
75
  "dependencies": {
76
76
  "tslib": "2.8.1",
77
- "@clerk/shared": "^3.22.1",
78
- "@clerk/types": "^4.82.0"
77
+ "@clerk/shared": "^3.23.0",
78
+ "@clerk/types": "^4.83.0"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@types/semver": "^7.7.0",
82
- "@clerk/localizations": "3.23.1",
83
- "@clerk/themes": "2.4.14"
82
+ "@clerk/localizations": "3.24.0",
83
+ "@clerk/themes": "2.4.15"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "react": "^18.0.0 || ^19.0.0 || ^19.0.0-0",