@clerk/chrome-extension 2.8.5-canary.v20251124102636 → 3.0.0-canary-core3.v20251124105058

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.
@@ -1,10 +1,23 @@
1
- import { __export, buildErrorThrower, createDevOrStagingUrlCache, createClerkClient, isClerkAPIResponseError, ClerkRuntimeError, isPublishableKey } from './chunk-CUANDEQ4.js';
2
- import React7, { createContext, useContext, useState, useRef, useEffect, createElement, useCallback, useMemo, useLayoutEffect, useDebugValue } from 'react';
3
- import { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';
1
+ import { __export, buildErrorThrower, createDevOrStagingUrlCache, ClerkRuntimeError, parsePublishableKey, createClerkClient, isClerkAPIResponseError, isPublishableKey } from './chunk-EGTA4WD5.js';
2
+ import React7, { createContext, useContext, useState, useRef, useEffect, createElement, useCallback, useMemo, useSyncExternalStore, useLayoutEffect, useDebugValue } from 'react';
3
+ import { useSyncExternalStore as useSyncExternalStore$1 } from 'use-sync-external-store/shim/index.js';
4
4
  import { createPortal } from 'react-dom';
5
+ import { ClerkUi } from '@clerk/ui/entry';
5
6
  import { jsx } from 'react/jsx-runtime';
6
7
 
7
- // ../shared/dist/runtime/authorization-XX4mKaAz.mjs
8
+ // ../shared/dist/runtime/authorization-errors-CBHAr6Ld.mjs
9
+ var REVERIFICATION_REASON = "reverification-error";
10
+ var reverificationError = (missingConfig) => ({ clerk_error: {
11
+ type: "forbidden",
12
+ reason: REVERIFICATION_REASON,
13
+ metadata: { reverification: missingConfig }
14
+ } });
15
+ var isReverificationHint = (result) => {
16
+ var _a, _b;
17
+ return result && typeof result === "object" && "clerk_error" in result && ((_a = result.clerk_error) == null ? void 0 : _a.type) === "forbidden" && ((_b = result.clerk_error) == null ? void 0 : _b.reason) === REVERIFICATION_REASON;
18
+ };
19
+
20
+ // ../shared/dist/runtime/authorization-BpjgWZx-.mjs
8
21
  var TYPES_TO_OBJECTS = {
9
22
  strict_mfa: {
10
23
  afterMinutes: 10,
@@ -178,7 +191,16 @@ var resolveAuthState = ({ authObject: { sessionId, sessionStatus, userId, actor,
178
191
  };
179
192
  };
180
193
 
181
- // ../shared/dist/runtime/telemetry-wqMDWlvR.mjs
194
+ // ../shared/dist/runtime/organization-JwY1zGRo.mjs
195
+ function getCurrentOrganizationMembership(organizationMemberships, organizationId) {
196
+ return organizationMemberships.find((organizationMembership) => organizationMembership.organization.id === organizationId);
197
+ }
198
+
199
+ // ../shared/dist/runtime/noop-Dzu7lrge.mjs
200
+ var noop = (..._args) => {
201
+ };
202
+
203
+ // ../shared/dist/runtime/telemetry-B4xKE_qs.mjs
182
204
  var EVENT_METHOD_CALLED = "METHOD_CALLED";
183
205
  var EVENT_SAMPLING_RATE$2 = 0.1;
184
206
  function eventMethodCalled(method, payload) {
@@ -192,23 +214,7 @@ function eventMethodCalled(method, payload) {
192
214
  };
193
215
  }
194
216
 
195
- // ../shared/dist/runtime/authorization-errors-CS1pNy8i.mjs
196
- var REVERIFICATION_REASON = "reverification-error";
197
- var reverificationError = (missingConfig) => ({ clerk_error: {
198
- type: "forbidden",
199
- reason: REVERIFICATION_REASON,
200
- metadata: { reverification: missingConfig }
201
- } });
202
- var isReverificationHint = (result) => {
203
- var _a, _b;
204
- return result && typeof result === "object" && "clerk_error" in result && ((_a = result.clerk_error) == null ? void 0 : _a.type) === "forbidden" && ((_b = result.clerk_error) == null ? void 0 : _b.reason) === REVERIFICATION_REASON;
205
- };
206
-
207
- // ../shared/dist/runtime/noop-B3MbDAfb.mjs
208
- var noop = (..._args) => {
209
- };
210
-
211
- // ../shared/dist/runtime/createDeferredPromise-CjYZzUuU.mjs
217
+ // ../shared/dist/runtime/createDeferredPromise-DjiBNELG.mjs
212
218
  var createDeferredPromise = () => {
213
219
  let resolve = noop;
214
220
  let reject = noop;
@@ -222,12 +228,7 @@ var createDeferredPromise = () => {
222
228
  };
223
229
  };
224
230
 
225
- // ../shared/dist/runtime/organization-D9SEGukq.mjs
226
- function getCurrentOrganizationMembership(organizationMemberships, organizationId) {
227
- return organizationMemberships.find((organizationMembership) => organizationMembership.organization.id === organizationId);
228
- }
229
-
230
- // ../../node_modules/.pnpm/swr@2.3.4_react@18.3.1/node_modules/swr/dist/_internal/events.mjs
231
+ // ../../node_modules/swr/dist/_internal/events.mjs
231
232
  var events_exports = {};
232
233
  __export(events_exports, {
233
234
  ERROR_REVALIDATE_EVENT: () => ERROR_REVALIDATE_EVENT,
@@ -240,7 +241,7 @@ var RECONNECT_EVENT = 1;
240
241
  var MUTATE_EVENT = 2;
241
242
  var ERROR_REVALIDATE_EVENT = 3;
242
243
 
243
- // ../../node_modules/.pnpm/dequal@2.0.3/node_modules/dequal/lite/index.mjs
244
+ // ../../node_modules/dequal/lite/index.mjs
244
245
  var has = Object.prototype.hasOwnProperty;
245
246
  function dequal(foo, bar) {
246
247
  var ctor, len;
@@ -266,7 +267,7 @@ function dequal(foo, bar) {
266
267
  return foo !== foo && bar !== bar;
267
268
  }
268
269
 
269
- // ../../node_modules/.pnpm/swr@2.3.4_react@18.3.1/node_modules/swr/dist/_internal/config-context-client-BoS53ST9.mjs
270
+ // ../../node_modules/swr/dist/_internal/config-context-client-BoS53ST9.mjs
270
271
  var SWRGlobalState = /* @__PURE__ */ new WeakMap();
271
272
  var noop2 = () => {
272
273
  };
@@ -704,7 +705,7 @@ var SWRConfig = (props) => {
704
705
  }));
705
706
  };
706
707
 
707
- // ../../node_modules/.pnpm/swr@2.3.4_react@18.3.1/node_modules/swr/dist/_internal/constants.mjs
708
+ // ../../node_modules/swr/dist/_internal/constants.mjs
708
709
  var INFINITE_PREFIX = "$inf$";
709
710
  var enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;
710
711
  var use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];
@@ -886,7 +887,7 @@ var useSWRHandler = (_key, fetcher, config) => {
886
887
  cache2,
887
888
  key
888
889
  ]);
889
- const cached = useSyncExternalStore(useCallback(
890
+ const cached = useSyncExternalStore$1(useCallback(
890
891
  (callback) => subscribeCache(key, (current, prev) => {
891
892
  if (!isEqual2(prev, current)) callback();
892
893
  }),
@@ -1270,7 +1271,7 @@ var infinite = (useSWRNext) => (getKey, fn, config) => {
1270
1271
  infiniteKey,
1271
1272
  initialSize
1272
1273
  ]);
1273
- useSyncExternalStore(useCallback(
1274
+ useSyncExternalStore$1(useCallback(
1274
1275
  (callback) => {
1275
1276
  if (infiniteKey) return subscribeCache(infiniteKey, () => {
1276
1277
  callback();
@@ -1455,7 +1456,7 @@ var infinite = (useSWRNext) => (getKey, fn, config) => {
1455
1456
  };
1456
1457
  var useSWRInfinite = withMiddleware(useSWR, infinite);
1457
1458
 
1458
- // ../../node_modules/.pnpm/dequal@2.0.3/node_modules/dequal/dist/index.mjs
1459
+ // ../../node_modules/dequal/dist/index.mjs
1459
1460
  var has2 = Object.prototype.hasOwnProperty;
1460
1461
  function find(iter, tar, key) {
1461
1462
  for (key of iter.keys()) {
@@ -2361,13 +2362,20 @@ var createElementComponent = (type, isServer) => {
2361
2362
  createElementComponent("payment", typeof window === "undefined");
2362
2363
  createContextAndHook("PaymentElementContext");
2363
2364
  createContextAndHook("StripeUtilsContext");
2364
- var errorThrower = buildErrorThrower({ packageName: "@clerk/clerk-react" });
2365
+
2366
+ // ../react/dist/chunk-MB46WFKC.mjs
2367
+ var errorThrower = buildErrorThrower({ packageName: "@clerk/react" });
2365
2368
  function setErrorThrowerOptions(options) {
2366
2369
  errorThrower.setMessages(options).setPackageName(options);
2367
2370
  }
2368
- var [AuthContext, useAuthContext] = createContextAndHook("AuthContext");
2369
2371
  var IsomorphicClerkContext = ClerkInstanceContext;
2370
2372
  var useIsomorphicClerkContext = useClerkInstanceContext;
2373
+ var useAssertWrappedByClerkProvider2 = (source) => {
2374
+ useAssertWrappedByClerkProvider(() => {
2375
+ errorThrower.throwMissingClerkProviderError({ source });
2376
+ });
2377
+ };
2378
+ var [AuthContext, useAuthContext] = createContextAndHook("AuthContext");
2371
2379
  var multipleClerkProvidersError = "You've added multiple <ClerkProvider> components in your React component tree. Wrap your components in a single <ClerkProvider>.";
2372
2380
  var multipleChildrenInButtonComponent = (name) => `You've passed multiple children components to <${name}/>. You can only pass a single child component or text.`;
2373
2381
  var invalidStateError = "Invalid state. Feel free to submit a bug or reach out to support here: https://clerk.com/support";
@@ -2386,11 +2394,6 @@ var userButtonMenuActionRenderedError = "<UserButton.Action /> component needs t
2386
2394
  var userButtonMenuLinkRenderedError = "<UserButton.Link /> component needs to be a direct child of `<UserButton.MenuItems />`.";
2387
2395
  var userButtonMenuItemLinkWrongProps = "Missing props. <UserButton.Link /> component requires the following props: href, label and labelIcon.";
2388
2396
  var userButtonMenuItemsActionWrongsProps = "Missing props. <UserButton.Action /> component requires the following props: label.";
2389
- var useAssertWrappedByClerkProvider2 = (source) => {
2390
- useAssertWrappedByClerkProvider(() => {
2391
- errorThrower.throwMissingClerkProviderError({ source });
2392
- });
2393
- };
2394
2397
  var clerkLoaded = (isomorphicClerk) => {
2395
2398
  return new Promise((resolve) => {
2396
2399
  const handler = (status) => {
@@ -2487,36 +2490,59 @@ function useEmailLink(resource) {
2487
2490
  cancelEmailLinkFlow
2488
2491
  };
2489
2492
  }
2490
- var useSignIn = () => {
2491
- var _a;
2492
- useAssertWrappedByClerkProvider2("useSignIn");
2493
- const isomorphicClerk = useIsomorphicClerkContext();
2494
- const client = useClientContext();
2495
- (_a = isomorphicClerk.telemetry) == null ? void 0 : _a.record(eventMethodCalled("useSignIn"));
2496
- if (!client) {
2497
- return { isLoaded: false, signIn: void 0, setActive: void 0 };
2498
- }
2499
- return {
2500
- isLoaded: true,
2501
- signIn: client.signIn,
2502
- setActive: isomorphicClerk.setActive
2503
- };
2504
- };
2505
- var useSignUp = () => {
2506
- var _a;
2507
- useAssertWrappedByClerkProvider2("useSignUp");
2508
- const isomorphicClerk = useIsomorphicClerkContext();
2509
- const client = useClientContext();
2510
- (_a = isomorphicClerk.telemetry) == null ? void 0 : _a.record(eventMethodCalled("useSignUp"));
2511
- if (!client) {
2512
- return { isLoaded: false, signUp: void 0, setActive: void 0 };
2493
+ function useClerkSignal(signal) {
2494
+ var _a, _b;
2495
+ useAssertWrappedByClerkProvider2("useClerkSignal");
2496
+ const clerk = useIsomorphicClerkContext();
2497
+ switch (signal) {
2498
+ case "signIn":
2499
+ (_a = clerk.telemetry) == null ? void 0 : _a.record(eventMethodCalled("useSignIn", { apiVersion: "2025-11" }));
2500
+ break;
2501
+ case "signUp":
2502
+ (_b = clerk.telemetry) == null ? void 0 : _b.record(eventMethodCalled("useSignUp", { apiVersion: "2025-11" }));
2503
+ break;
2513
2504
  }
2514
- return {
2515
- isLoaded: true,
2516
- signUp: client.signUp,
2517
- setActive: isomorphicClerk.setActive
2518
- };
2519
- };
2505
+ const subscribe = useCallback(
2506
+ (callback) => {
2507
+ if (!clerk.loaded) {
2508
+ return () => {
2509
+ };
2510
+ }
2511
+ return clerk.__internal_state.__internal_effect(() => {
2512
+ switch (signal) {
2513
+ case "signIn":
2514
+ clerk.__internal_state.signInSignal();
2515
+ break;
2516
+ case "signUp":
2517
+ clerk.__internal_state.signUpSignal();
2518
+ break;
2519
+ default:
2520
+ throw new Error(`Unknown signal: ${signal}`);
2521
+ }
2522
+ callback();
2523
+ });
2524
+ },
2525
+ [clerk, clerk.loaded, clerk.__internal_state]
2526
+ );
2527
+ const getSnapshot = useCallback(() => {
2528
+ switch (signal) {
2529
+ case "signIn":
2530
+ return clerk.__internal_state.signInSignal();
2531
+ case "signUp":
2532
+ return clerk.__internal_state.signUpSignal();
2533
+ default:
2534
+ throw new Error(`Unknown signal: ${signal}`);
2535
+ }
2536
+ }, [clerk.__internal_state]);
2537
+ const value = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
2538
+ return value;
2539
+ }
2540
+ function useSignIn() {
2541
+ return useClerkSignal("signIn");
2542
+ }
2543
+ function useSignUp() {
2544
+ return useClerkSignal("signUp");
2545
+ }
2520
2546
  var withClerk = (Component, displayNameOrOptions) => {
2521
2547
  const passedDisplayedName = typeof displayNameOrOptions === "string" ? displayNameOrOptions : displayNameOrOptions == null ? void 0 : displayNameOrOptions.component;
2522
2548
  const displayName = passedDisplayedName || Component.displayName || Component.name || "Component";
@@ -2541,7 +2567,7 @@ var withClerk = (Component, displayNameOrOptions) => {
2541
2567
  return HOC;
2542
2568
  };
2543
2569
 
2544
- // ../shared/dist/runtime/runtimeEnvironment-BB2sO-19.mjs
2570
+ // ../shared/dist/runtime/runtimeEnvironment-D1yr0yUs.mjs
2545
2571
  var isDevelopmentEnvironment = () => {
2546
2572
  try {
2547
2573
  return process.env.NODE_ENV === "development";
@@ -2564,7 +2590,7 @@ var isProductionEnvironment = () => {
2564
2590
  return false;
2565
2591
  };
2566
2592
 
2567
- // ../shared/dist/runtime/deprecated-BqlFbLHj.mjs
2593
+ // ../shared/dist/runtime/deprecated--jK9xTNh.mjs
2568
2594
  var displayedWarnings = /* @__PURE__ */ new Set();
2569
2595
  var deprecated = (fnName, warning, key) => {
2570
2596
  const hideWarning = isTestEnvironment() || isProductionEnvironment();
@@ -2705,19 +2731,19 @@ var AuthenticateWithRedirectCallback = withClerk(
2705
2731
  "AuthenticateWithRedirectCallback"
2706
2732
  );
2707
2733
 
2708
- // ../shared/dist/runtime/handleValueOrFn-CcwnRX-K.mjs
2734
+ // ../shared/dist/runtime/handleValueOrFn-AOTAW6HQ.mjs
2709
2735
  function handleValueOrFn(value, url, defaultValue) {
2710
2736
  if (typeof value === "function") return value(url);
2711
2737
  if (typeof value !== "undefined") return value;
2712
2738
  if (typeof defaultValue !== "undefined") return defaultValue;
2713
2739
  }
2714
2740
 
2715
- // ../shared/dist/runtime/utils-DnE51LOo.mjs
2741
+ // ../shared/dist/runtime/utils-DIVknyRo.mjs
2716
2742
  var logErrorInDevMode = (message) => {
2717
2743
  if (isDevelopmentEnvironment()) console.error(`Clerk: ${message}`);
2718
2744
  };
2719
2745
 
2720
- // ../shared/dist/runtime/object-Be3MMNTQ.mjs
2746
+ // ../shared/dist/runtime/object-CPFrgK_j.mjs
2721
2747
  var without = (obj, ...props) => {
2722
2748
  const copy = { ...obj };
2723
2749
  for (const prop of props) delete copy[prop];
@@ -3662,14 +3688,218 @@ var __privateAdd2 = (obj, member, value) => member.has(obj) ? __typeError("Canno
3662
3688
  var __privateSet2 = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
3663
3689
  var __privateMethod2 = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
3664
3690
 
3665
- // ../shared/dist/runtime/loadClerkJsScript-CJlJH38K.mjs
3691
+ // ../shared/dist/runtime/retry-l1_iB-NH.mjs
3692
+ var defaultOptions = {
3693
+ initialDelay: 125,
3694
+ maxDelayBetweenRetries: 0,
3695
+ factor: 2,
3696
+ shouldRetry: (_, iteration) => iteration < 5,
3697
+ retryImmediately: false,
3698
+ jitter: true
3699
+ };
3700
+ var RETRY_IMMEDIATELY_DELAY = 100;
3701
+ var sleep = async (ms) => new Promise((s) => setTimeout(s, ms));
3702
+ var applyJitter = (delay, jitter) => {
3703
+ return jitter ? delay * (1 + Math.random()) : delay;
3704
+ };
3705
+ var createExponentialDelayAsyncFn = (opts) => {
3706
+ let timesCalled = 0;
3707
+ const calculateDelayInMs = () => {
3708
+ const constant = opts.initialDelay;
3709
+ const base = opts.factor;
3710
+ let delay = constant * Math.pow(base, timesCalled);
3711
+ delay = applyJitter(delay, opts.jitter);
3712
+ return Math.min(opts.maxDelayBetweenRetries || delay, delay);
3713
+ };
3714
+ return async () => {
3715
+ await sleep(calculateDelayInMs());
3716
+ timesCalled++;
3717
+ };
3718
+ };
3719
+ var retry = async (callback, options = {}) => {
3720
+ let iterations = 0;
3721
+ const { shouldRetry, initialDelay, maxDelayBetweenRetries, factor, retryImmediately, jitter, onBeforeRetry } = {
3722
+ ...defaultOptions,
3723
+ ...options
3724
+ };
3725
+ const delay = createExponentialDelayAsyncFn({
3726
+ initialDelay,
3727
+ maxDelayBetweenRetries,
3728
+ factor,
3729
+ jitter
3730
+ });
3731
+ while (true) try {
3732
+ return await callback();
3733
+ } catch (e) {
3734
+ iterations++;
3735
+ if (!shouldRetry(e, iterations)) throw e;
3736
+ if (onBeforeRetry) await onBeforeRetry(iterations);
3737
+ if (retryImmediately && iterations === 1) await sleep(applyJitter(RETRY_IMMEDIATELY_DELAY, jitter));
3738
+ else await delay();
3739
+ }
3740
+ };
3741
+
3742
+ // ../shared/dist/runtime/loadScript-DDWWb733.mjs
3743
+ var NO_DOCUMENT_ERROR = "loadScript cannot be called when document does not exist";
3744
+ var NO_SRC_ERROR = "loadScript cannot be called without a src";
3745
+ async function loadScript(src = "", opts) {
3746
+ const { async, defer, beforeLoad, crossOrigin, nonce } = opts || {};
3747
+ const load = () => {
3748
+ return new Promise((resolve, reject) => {
3749
+ if (!src) reject(new Error(NO_SRC_ERROR));
3750
+ if (!document || !document.body) reject(new Error(NO_DOCUMENT_ERROR));
3751
+ const script = document.createElement("script");
3752
+ if (crossOrigin) script.setAttribute("crossorigin", crossOrigin);
3753
+ script.async = async || false;
3754
+ script.defer = defer || false;
3755
+ script.addEventListener("load", () => {
3756
+ console.log("this loaded ", src);
3757
+ script.remove();
3758
+ resolve(script);
3759
+ });
3760
+ script.addEventListener("error", (event) => {
3761
+ var _a;
3762
+ script.remove();
3763
+ reject((_a = event.error) != null ? _a : /* @__PURE__ */ new Error(`failed to load script: ${src}`));
3764
+ });
3765
+ script.src = src;
3766
+ script.nonce = nonce;
3767
+ beforeLoad == null ? void 0 : beforeLoad(script);
3768
+ document.body.appendChild(script);
3769
+ });
3770
+ };
3771
+ return retry(load, { shouldRetry: (_, iterations) => {
3772
+ console.log("nikos 3", _, iterations);
3773
+ return iterations <= 5;
3774
+ } });
3775
+ }
3776
+
3777
+ // ../shared/dist/runtime/proxy-C0HjCApu.mjs
3778
+ function isValidProxyUrl(key) {
3779
+ if (!key) return true;
3780
+ return isHttpOrHttps(key) || isProxyUrlRelative(key);
3781
+ }
3782
+ function isHttpOrHttps(key) {
3783
+ return /^http(s)?:\/\//.test(key || "");
3784
+ }
3785
+ function isProxyUrlRelative(key) {
3786
+ return key.startsWith("/");
3787
+ }
3788
+ function proxyUrlToAbsoluteURL(url) {
3789
+ if (!url) return "";
3790
+ return isProxyUrlRelative(url) ? new URL(url, window.location.origin).toString() : url;
3791
+ }
3792
+
3793
+ // ../shared/dist/runtime/url-DasDWsj9.mjs
3794
+ function addClerkPrefix(str) {
3795
+ if (!str) return "";
3796
+ let regex;
3797
+ if (str.match(/^(clerk\.)+\w*$/)) regex = /(clerk\.)*(?=clerk\.)/;
3798
+ else if (str.match(/\.clerk.accounts/)) return str;
3799
+ else regex = /^(clerk\.)*/gi;
3800
+ return `clerk.${str.replace(regex, "")}`;
3801
+ }
3802
+
3803
+ // ../shared/dist/runtime/loadClerkJsScript.mjs
3666
3804
  var { isDevOrStagingUrl } = createDevOrStagingUrlCache();
3667
3805
  var errorThrower2 = buildErrorThrower({ packageName: "@clerk/shared" });
3806
+ function isClerkGlobalProperlyLoaded(prop) {
3807
+ if (typeof window === "undefined" || !window[prop]) return false;
3808
+ return !!window[prop];
3809
+ }
3810
+ var isClerkUiProperlyLoaded = () => isClerkGlobalProperlyLoaded("__unstable_ClerkUiCtor");
3811
+ var loadClerkUiScript = async (opts) => {
3812
+ var _a;
3813
+ const timeout = (_a = opts == null ? void 0 : opts.scriptLoadTimeout) != null ? _a : 15e3;
3814
+ const rejectWith = (error) => new ClerkRuntimeError("Failed to load Clerk UI" + ((error == null ? void 0 : error.message) ? `, ${error.message}` : ""), {
3815
+ code: "failed_to_load_clerk_ui",
3816
+ cause: error
3817
+ });
3818
+ if (isClerkUiProperlyLoaded()) return null;
3819
+ if (document.querySelector("script[data-clerk-ui-script]")) return waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith());
3820
+ if (!(opts == null ? void 0 : opts.publishableKey)) {
3821
+ errorThrower2.throwMissingPublishableKeyError();
3822
+ return null;
3823
+ }
3824
+ const loadPromise = waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith());
3825
+ loadScript(clerkUiScriptUrl(opts), {
3826
+ async: true,
3827
+ crossOrigin: "anonymous",
3828
+ nonce: opts.nonce,
3829
+ beforeLoad: applyAttributesToScript(buildClerkUiScriptAttributes(opts))
3830
+ }).catch((error) => {
3831
+ throw rejectWith(error);
3832
+ });
3833
+ return loadPromise;
3834
+ };
3835
+ var clerkUiScriptUrl = (opts) => {
3836
+ const { clerkUiUrl, proxyUrl, domain, publishableKey } = opts;
3837
+ if (clerkUiUrl) return clerkUiUrl;
3838
+ return `https://${buildScriptHost({
3839
+ publishableKey,
3840
+ proxyUrl,
3841
+ domain
3842
+ })}/npm/@clerk/ui@latest/dist/ui.browser.js`;
3843
+ };
3844
+ var buildClerkJsScriptAttributes = (options) => {
3845
+ const obj = {};
3846
+ if (options.publishableKey) obj["data-clerk-publishable-key"] = options.publishableKey;
3847
+ if (options.proxyUrl) obj["data-clerk-proxy-url"] = options.proxyUrl;
3848
+ if (options.domain) obj["data-clerk-domain"] = options.domain;
3849
+ if (options.nonce) obj.nonce = options.nonce;
3850
+ return obj;
3851
+ };
3852
+ var buildClerkUiScriptAttributes = (options) => {
3853
+ return buildClerkJsScriptAttributes(options);
3854
+ };
3855
+ var applyAttributesToScript = (attributes) => (script) => {
3856
+ for (const attribute in attributes) script.setAttribute(attribute, attributes[attribute]);
3857
+ };
3858
+ var buildScriptHost = (opts) => {
3859
+ var _a, _b;
3860
+ const { proxyUrl, domain, publishableKey } = opts;
3861
+ if (!!proxyUrl && isValidProxyUrl(proxyUrl)) return proxyUrlToAbsoluteURL(proxyUrl).replace(/http(s)?:\/\//, "");
3862
+ else if (domain && !isDevOrStagingUrl(((_a = parsePublishableKey(publishableKey)) == null ? void 0 : _a.frontendApi) || "")) return addClerkPrefix(domain);
3863
+ else return ((_b = parsePublishableKey(publishableKey)) == null ? void 0 : _b.frontendApi) || "";
3864
+ };
3865
+ function waitForPredicateWithTimeout(timeoutMs, predicate, rejectWith) {
3866
+ return new Promise((resolve, reject) => {
3867
+ let resolved = false;
3868
+ const cleanup = (timeoutId$1, pollInterval$1) => {
3869
+ clearTimeout(timeoutId$1);
3870
+ clearInterval(pollInterval$1);
3871
+ };
3872
+ const checkAndResolve = () => {
3873
+ if (resolved) return;
3874
+ if (predicate()) {
3875
+ resolved = true;
3876
+ cleanup(timeoutId, pollInterval);
3877
+ resolve(null);
3878
+ }
3879
+ };
3880
+ const handleTimeout = () => {
3881
+ if (resolved) return;
3882
+ resolved = true;
3883
+ cleanup(timeoutId, pollInterval);
3884
+ if (!predicate()) reject(rejectWith);
3885
+ else resolve(null);
3886
+ };
3887
+ const timeoutId = setTimeout(handleTimeout, timeoutMs);
3888
+ checkAndResolve();
3889
+ const pollInterval = setInterval(() => {
3890
+ if (resolved) {
3891
+ clearInterval(pollInterval);
3892
+ return;
3893
+ }
3894
+ checkAndResolve();
3895
+ }, 100);
3896
+ });
3897
+ }
3668
3898
  function setClerkJsLoadingErrorPackageName(packageName) {
3669
3899
  errorThrower2.setPackageName({ packageName });
3670
3900
  }
3671
3901
 
3672
- // ../shared/dist/runtime/deriveState-ChDqlleE.mjs
3902
+ // ../shared/dist/runtime/deriveState.mjs
3673
3903
  var deriveState = (clerkOperational, state, initialState) => {
3674
3904
  if (!clerkOperational && initialState) return deriveFromSsrInitialState(initialState);
3675
3905
  return deriveFromClientSideState(state);
@@ -3728,12 +3958,12 @@ var deriveFromClientSideState = (state) => {
3728
3958
  };
3729
3959
  };
3730
3960
 
3731
- // ../shared/dist/runtime/browser-D5e8obql.mjs
3961
+ // ../shared/dist/runtime/browser-DursrJlr.mjs
3732
3962
  function inBrowser() {
3733
3963
  return typeof window !== "undefined";
3734
3964
  }
3735
3965
 
3736
- // ../shared/dist/runtime/eventBus-UpdW-1JB.mjs
3966
+ // ../shared/dist/runtime/eventBus-TFTcHo0F.mjs
3737
3967
  var _on = (eventToHandlersMap, latestPayloadMap, event, handler, opts) => {
3738
3968
  const { notify } = opts || {};
3739
3969
  let handlers = eventToHandlersMap.get(event);
@@ -3942,6 +4172,9 @@ var StateProxy = class {
3942
4172
  signUpSignal() {
3943
4173
  return this.signUpSignalProxy;
3944
4174
  }
4175
+ checkoutSignal(params) {
4176
+ return this.buildCheckoutProxy(params);
4177
+ }
3945
4178
  buildSignInProxy() {
3946
4179
  const gateProperty = this.gateProperty.bind(this);
3947
4180
  const target = () => this.client.signIn.__internal_future;
@@ -4012,6 +4245,9 @@ var StateProxy = class {
4012
4245
  }
4013
4246
  });
4014
4247
  },
4248
+ get hasBeenFinalized() {
4249
+ return gateProperty(target, "hasBeenFinalized", false);
4250
+ },
4015
4251
  create: this.gateMethod(target, "create"),
4016
4252
  password: this.gateMethod(target, "password"),
4017
4253
  sso: this.gateMethod(target, "sso"),
@@ -4110,6 +4346,9 @@ var StateProxy = class {
4110
4346
  get isTransferable() {
4111
4347
  return gateProperty(target, "isTransferable", false);
4112
4348
  },
4349
+ get hasBeenFinalized() {
4350
+ return gateProperty(target, "hasBeenFinalized", false);
4351
+ },
4113
4352
  create: gateMethod(target, "create"),
4114
4353
  update: gateMethod(target, "update"),
4115
4354
  sso: gateMethod(target, "sso"),
@@ -4126,6 +4365,59 @@ var StateProxy = class {
4126
4365
  }
4127
4366
  };
4128
4367
  }
4368
+ buildCheckoutProxy(params) {
4369
+ const gateProperty = this.gateProperty.bind(this);
4370
+ const targetCheckout = () => this.checkout(params);
4371
+ const target = () => targetCheckout().checkout;
4372
+ return {
4373
+ errors: {
4374
+ raw: null,
4375
+ global: null
4376
+ },
4377
+ fetchStatus: "idle",
4378
+ checkout: {
4379
+ get status() {
4380
+ return gateProperty(target, "status", "needs_initialization");
4381
+ },
4382
+ get externalClientSecret() {
4383
+ return gateProperty(target, "externalClientSecret", null);
4384
+ },
4385
+ get externalGatewayId() {
4386
+ return gateProperty(target, "externalGatewayId", null);
4387
+ },
4388
+ get paymentMethod() {
4389
+ return gateProperty(target, "paymentMethod", null);
4390
+ },
4391
+ get plan() {
4392
+ return gateProperty(target, "plan", null);
4393
+ },
4394
+ get planPeriod() {
4395
+ return gateProperty(target, "planPeriod", null);
4396
+ },
4397
+ get totals() {
4398
+ return gateProperty(target, "totals", null);
4399
+ },
4400
+ get isImmediatePlanChange() {
4401
+ return gateProperty(target, "isImmediatePlanChange", false);
4402
+ },
4403
+ get freeTrialEndsAt() {
4404
+ return gateProperty(target, "freeTrialEndsAt", null);
4405
+ },
4406
+ get payer() {
4407
+ return gateProperty(target, "payer", null);
4408
+ },
4409
+ get planPeriodStart() {
4410
+ return gateProperty(target, "planPeriodStart", null);
4411
+ },
4412
+ get needsPaymentMethod() {
4413
+ return gateProperty(target, "needsPaymentMethod", null);
4414
+ },
4415
+ start: this.gateMethod(target, "start"),
4416
+ confirm: this.gateMethod(target, "confirm"),
4417
+ finalize: this.gateMethod(target, "finalize")
4418
+ }
4419
+ };
4420
+ }
4129
4421
  __internal_effect(_) {
4130
4422
  throw new Error("__internal_effect called before Clerk is loaded");
4131
4423
  }
@@ -4139,6 +4431,13 @@ var StateProxy = class {
4139
4431
  }
4140
4432
  return c;
4141
4433
  }
4434
+ get checkout() {
4435
+ const c = this.isomorphicClerk.__experimental_checkout;
4436
+ if (!c) {
4437
+ throw new Error("Clerk checkout not ready");
4438
+ }
4439
+ return c;
4440
+ }
4142
4441
  gateProperty(getTarget, key, defaultValue) {
4143
4442
  return (() => {
4144
4443
  if (!inBrowser() || !this.isomorphicClerk.loaded) {
@@ -4181,8 +4480,8 @@ if (typeof globalThis.__BUILD_DISABLE_RHC__ === "undefined") {
4181
4480
  globalThis.__BUILD_DISABLE_RHC__ = false;
4182
4481
  }
4183
4482
  var SDK_METADATA = {
4184
- name: "@clerk/clerk-react",
4185
- version: "5.56.3-canary.v20251124102636",
4483
+ name: "@clerk/react",
4484
+ version: "6.0.0-canary-core3.v20251124105058",
4186
4485
  environment: process.env.NODE_ENV
4187
4486
  };
4188
4487
  var _status;
@@ -4417,7 +4716,7 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
4417
4716
  throw new Error("Failed to hydrate latest Clerk JS");
4418
4717
  }
4419
4718
  };
4420
- this.hydrateClerkJS = (clerkjs) => {
4719
+ this.replayInterceptedInvocations = (clerkjs) => {
4421
4720
  var _a, _b;
4422
4721
  if (!clerkjs) {
4423
4722
  throw new Error("Failed to hydrate latest Clerk JS");
@@ -4506,8 +4805,7 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
4506
4805
  return this.clerkjs;
4507
4806
  };
4508
4807
  this.__experimental_checkout = (...args) => {
4509
- var _a;
4510
- return (_a = this.clerkjs) == null ? void 0 : _a.__experimental_checkout(...args);
4808
+ return this.loaded && this.clerkjs ? this.clerkjs.__experimental_checkout(...args) : __privateGet2(this, _stateProxy).checkoutSignal(...args);
4511
4809
  };
4512
4810
  this.__unstable__updateProps = async (props) => {
4513
4811
  const clerkjs = await __privateMethod2(this, _IsomorphicClerk_instances, waitForClerkJS_fn).call(this);
@@ -5183,12 +5481,11 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
5183
5481
  this.premountMethodCalls.set("signOut", callback);
5184
5482
  }
5185
5483
  };
5186
- const { Clerk = null, publishableKey } = options || {};
5187
- __privateSet2(this, _publishableKey, publishableKey);
5484
+ __privateSet2(this, _publishableKey, options == null ? void 0 : options.publishableKey);
5188
5485
  __privateSet2(this, _proxyUrl, options == null ? void 0 : options.proxyUrl);
5189
5486
  __privateSet2(this, _domain, options == null ? void 0 : options.domain);
5190
5487
  this.options = options;
5191
- this.Clerk = Clerk;
5488
+ this.Clerk = (options == null ? void 0 : options.Clerk) || null;
5192
5489
  this.mode = inBrowser() ? "browser" : "server";
5193
5490
  __privateSet2(this, _stateProxy, new StateProxy(this));
5194
5491
  if (!this.options.sdkMetadata) {
@@ -5197,7 +5494,7 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
5197
5494
  __privateGet2(this, _eventBus).emit(clerkEvents.Status, "loading");
5198
5495
  __privateGet2(this, _eventBus).prioritizedOn(clerkEvents.Status, (status) => __privateSet2(this, _status, status));
5199
5496
  if (__privateGet2(this, _publishableKey)) {
5200
- void this.loadClerkJS();
5497
+ void this.getEntryChunks();
5201
5498
  }
5202
5499
  }
5203
5500
  get publishableKey() {
@@ -5286,8 +5583,7 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
5286
5583
  }
5287
5584
  return false;
5288
5585
  }
5289
- async loadClerkJS() {
5290
- var _a;
5586
+ async getEntryChunks() {
5291
5587
  if (this.mode !== "browser" || this.loaded) {
5292
5588
  return;
5293
5589
  }
@@ -5297,28 +5593,15 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
5297
5593
  window.__clerk_domain = this.domain;
5298
5594
  }
5299
5595
  try {
5300
- if (this.Clerk) {
5301
- let c;
5302
- if (isConstructor(this.Clerk)) {
5303
- c = new this.Clerk(__privateGet2(this, _publishableKey), {
5304
- proxyUrl: this.proxyUrl,
5305
- domain: this.domain
5306
- });
5307
- this.beforeLoad(c);
5308
- await c.load(this.options);
5309
- } else {
5310
- c = this.Clerk;
5311
- if (!c.loaded) {
5312
- this.beforeLoad(c);
5313
- await c.load(this.options);
5314
- }
5315
- }
5316
- global.Clerk = c;
5317
- } else if (false) ;
5318
- if ((_a = global.Clerk) == null ? void 0 : _a.loaded) {
5319
- return this.hydrateClerkJS(global.Clerk);
5596
+ const clerkUiCtor = this.getClerkUiEntryChunk();
5597
+ const clerk = await this.getClerkJsEntryChunk();
5598
+ if (!clerk.loaded) {
5599
+ this.beforeLoad(clerk);
5600
+ await clerk.load({ ...this.options, clerkUiCtor });
5601
+ }
5602
+ if (clerk.loaded) {
5603
+ this.replayInterceptedInvocations(clerk);
5320
5604
  }
5321
- return;
5322
5605
  } catch (err) {
5323
5606
  const error = err;
5324
5607
  __privateGet2(this, _eventBus).emit(clerkEvents.Status, "error");
@@ -5326,6 +5609,32 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
5326
5609
  return;
5327
5610
  }
5328
5611
  }
5612
+ async getClerkJsEntryChunk() {
5613
+ if (!this.options.Clerk && false) ;
5614
+ if (this.options.Clerk) {
5615
+ global.Clerk = isConstructor(this.options.Clerk) ? new this.options.Clerk(__privateGet2(this, _publishableKey), { proxyUrl: this.proxyUrl, domain: this.domain }) : this.options.Clerk;
5616
+ }
5617
+ if (!global.Clerk) {
5618
+ throw new Error("Failed to download latest ClerkJS. Contact support@clerk.com.");
5619
+ }
5620
+ return global.Clerk;
5621
+ }
5622
+ async getClerkUiEntryChunk() {
5623
+ if (this.options.clerkUiCtor) {
5624
+ return this.options.clerkUiCtor;
5625
+ }
5626
+ await loadClerkUiScript({
5627
+ ...this.options,
5628
+ publishableKey: __privateGet2(this, _publishableKey),
5629
+ proxyUrl: this.proxyUrl,
5630
+ domain: this.domain,
5631
+ nonce: this.options.nonce
5632
+ });
5633
+ if (!global.__unstable_ClerkUiCtor) {
5634
+ throw new Error("Failed to download latest Clerk UI. Contact support@clerk.com.");
5635
+ }
5636
+ return global.__unstable_ClerkUiCtor;
5637
+ }
5329
5638
  get version() {
5330
5639
  var _a;
5331
5640
  return (_a = this.clerkjs) == null ? void 0 : _a.version;
@@ -5524,18 +5833,14 @@ function ClerkProviderBase(props) {
5524
5833
  }
5525
5834
  var ClerkProvider = withMaxAllowedInstancesGuard(ClerkProviderBase, "ClerkProvider", multipleClerkProvidersError);
5526
5835
  ClerkProvider.displayName = "ClerkProvider";
5527
- setErrorThrowerOptions({ packageName: "@clerk/clerk-react" });
5528
- setClerkJsLoadingErrorPackageName("@clerk/clerk-react");
5836
+ setErrorThrowerOptions({ packageName: "@clerk/react" });
5837
+ setClerkJsLoadingErrorPackageName("@clerk/react");
5529
5838
  function ClerkProvider2(props) {
5530
5839
  const { children, storageCache, syncHost, __experimental_syncHostListener, ...rest } = props;
5531
5840
  const { publishableKey = "" } = props;
5532
5841
  const [clerkInstance, setClerkInstance] = React7.useState(null);
5533
5842
  React7.useEffect(() => {
5534
- void (async () => {
5535
- setClerkInstance(
5536
- await createClerkClient({ publishableKey, storageCache, syncHost, __experimental_syncHostListener })
5537
- );
5538
- })();
5843
+ setClerkInstance(createClerkClient({ publishableKey, storageCache, syncHost, __experimental_syncHostListener }));
5539
5844
  }, [publishableKey, storageCache, syncHost, __experimental_syncHostListener]);
5540
5845
  if (!clerkInstance) {
5541
5846
  return null;
@@ -5545,6 +5850,7 @@ function ClerkProvider2(props) {
5545
5850
  {
5546
5851
  ...rest,
5547
5852
  Clerk: clerkInstance,
5853
+ clerkUiCtor: ClerkUi,
5548
5854
  standardBrowser: !syncHost,
5549
5855
  children
5550
5856
  }
@@ -5555,5 +5861,5 @@ function ClerkProvider2(props) {
5555
5861
  var GoogleOneTap2 = () => null;
5556
5862
 
5557
5863
  export { APIKeys, AuthenticateWithRedirectCallback, ClerkDegraded, ClerkFailed, ClerkLoaded, ClerkLoading, ClerkProvider2 as ClerkProvider, CreateOrganization, GoogleOneTap2 as GoogleOneTap, OrganizationList, OrganizationProfile, OrganizationSwitcher, PricingTable, Protect, RedirectToCreateOrganization, RedirectToOrganizationProfile, RedirectToSignIn, RedirectToSignUp, RedirectToUserProfile, SignIn, SignInButton, SignInWithMetamaskButton, SignOutButton, SignUp, SignUpButton, SignedIn, SignedOut, UserAvatar, UserButton, UserProfile, Waitlist, setErrorThrowerOptions, useAuth, useClerk, useEmailLink, useOrganization, useOrganizationList, useReverification, useSession, useSessionList, useSignIn, useSignUp, useUser };
5558
- //# sourceMappingURL=chunk-H52MXC4S.js.map
5559
- //# sourceMappingURL=chunk-H52MXC4S.js.map
5864
+ //# sourceMappingURL=chunk-SX4VEJIH.js.map
5865
+ //# sourceMappingURL=chunk-SX4VEJIH.js.map