@clerk/chrome-extension 2.8.5-canary.v20251121223459 → 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.
package/dist/cjs/index.js CHANGED
@@ -3,6 +3,7 @@
3
3
  var React7 = require('react');
4
4
  var index_js = require('use-sync-external-store/shim/index.js');
5
5
  var reactDom = require('react-dom');
6
+ var entry = require('@clerk/ui/entry');
6
7
  var noRhc = require('@clerk/clerk-js/no-rhc');
7
8
  var browser = require('webextension-polyfill');
8
9
  var jsxRuntime = require('react/jsx-runtime');
@@ -186,7 +187,101 @@ function isClerkAPIResponseError(err) {
186
187
  return err && "clerkError" in err;
187
188
  }
188
189
 
189
- // ../shared/dist/runtime/authorization-XX4mKaAz.mjs
190
+ // ../shared/dist/runtime/constants-Bp0qtelQ.mjs
191
+ var DEV_OR_STAGING_SUFFIXES = [
192
+ ".lcl.dev",
193
+ ".stg.dev",
194
+ ".lclstage.dev",
195
+ ".stgstage.dev",
196
+ ".dev.lclclerk.com",
197
+ ".stg.lclclerk.com",
198
+ ".accounts.lclclerk.com",
199
+ "accountsstage.dev",
200
+ "accounts.dev"
201
+ ];
202
+
203
+ // ../shared/dist/runtime/isomorphicAtob-CYR5fxvZ.mjs
204
+ var isomorphicAtob = (data) => {
205
+ if (typeof atob !== "undefined" && typeof atob === "function") return atob(data);
206
+ else if (typeof global !== "undefined" && global.Buffer) return new global.Buffer(data, "base64").toString();
207
+ return data;
208
+ };
209
+
210
+ // ../shared/dist/runtime/keys-BGyzAyGu.mjs
211
+ var PUBLISHABLE_KEY_LIVE_PREFIX = "pk_live_";
212
+ var PUBLISHABLE_KEY_TEST_PREFIX = "pk_test_";
213
+ function isValidDecodedPublishableKey(decoded) {
214
+ if (!decoded.endsWith("$")) return false;
215
+ const withoutTrailing = decoded.slice(0, -1);
216
+ if (withoutTrailing.includes("$")) return false;
217
+ return withoutTrailing.includes(".");
218
+ }
219
+ function parsePublishableKey(key, options = {}) {
220
+ key = key || "";
221
+ if (!key || !isPublishableKey(key)) {
222
+ if (options.fatal && !key) throw new Error("Publishable key is missing. Ensure that your publishable key is correctly configured. Double-check your environment configuration for your keys, or access them here: https://dashboard.clerk.com/last-active?path=api-keys");
223
+ if (options.fatal && !isPublishableKey(key)) throw new Error("Publishable key not valid.");
224
+ return null;
225
+ }
226
+ const instanceType = key.startsWith(PUBLISHABLE_KEY_LIVE_PREFIX) ? "production" : "development";
227
+ let decodedFrontendApi;
228
+ try {
229
+ decodedFrontendApi = isomorphicAtob(key.split("_")[2]);
230
+ } catch {
231
+ if (options.fatal) throw new Error("Publishable key not valid: Failed to decode key.");
232
+ return null;
233
+ }
234
+ if (!isValidDecodedPublishableKey(decodedFrontendApi)) {
235
+ if (options.fatal) throw new Error("Publishable key not valid: Decoded key has invalid format.");
236
+ return null;
237
+ }
238
+ let frontendApi = decodedFrontendApi.slice(0, -1);
239
+ if (options.proxyUrl) frontendApi = options.proxyUrl;
240
+ else if (instanceType !== "development" && options.domain && options.isSatellite) frontendApi = `clerk.${options.domain}`;
241
+ return {
242
+ instanceType,
243
+ frontendApi
244
+ };
245
+ }
246
+ function isPublishableKey(key = "") {
247
+ try {
248
+ if (!(key.startsWith(PUBLISHABLE_KEY_LIVE_PREFIX) || key.startsWith(PUBLISHABLE_KEY_TEST_PREFIX))) return false;
249
+ const parts = key.split("_");
250
+ if (parts.length !== 3) return false;
251
+ const encodedPart = parts[2];
252
+ if (!encodedPart) return false;
253
+ return isValidDecodedPublishableKey(isomorphicAtob(encodedPart));
254
+ } catch {
255
+ return false;
256
+ }
257
+ }
258
+ function createDevOrStagingUrlCache() {
259
+ const devOrStagingUrlCache = /* @__PURE__ */ new Map();
260
+ return { isDevOrStagingUrl: (url) => {
261
+ if (!url) return false;
262
+ const hostname = typeof url === "string" ? url : url.hostname;
263
+ let res = devOrStagingUrlCache.get(hostname);
264
+ if (res === void 0) {
265
+ res = DEV_OR_STAGING_SUFFIXES.some((s) => hostname.endsWith(s));
266
+ devOrStagingUrlCache.set(hostname, res);
267
+ }
268
+ return res;
269
+ } };
270
+ }
271
+
272
+ // ../shared/dist/runtime/authorization-errors-CBHAr6Ld.mjs
273
+ var REVERIFICATION_REASON = "reverification-error";
274
+ var reverificationError = (missingConfig) => ({ clerk_error: {
275
+ type: "forbidden",
276
+ reason: REVERIFICATION_REASON,
277
+ metadata: { reverification: missingConfig }
278
+ } });
279
+ var isReverificationHint = (result) => {
280
+ var _a5, _b;
281
+ return result && typeof result === "object" && "clerk_error" in result && ((_a5 = result.clerk_error) == null ? void 0 : _a5.type) === "forbidden" && ((_b = result.clerk_error) == null ? void 0 : _b.reason) === REVERIFICATION_REASON;
282
+ };
283
+
284
+ // ../shared/dist/runtime/authorization-BpjgWZx-.mjs
190
285
  var TYPES_TO_OBJECTS = {
191
286
  strict_mfa: {
192
287
  afterMinutes: 10,
@@ -360,63 +455,16 @@ var resolveAuthState = ({ authObject: { sessionId, sessionStatus, userId, actor,
360
455
  };
361
456
  };
362
457
 
363
- // ../shared/dist/runtime/isomorphicAtob-DybBXGFR.mjs
364
- var isomorphicAtob = (data) => {
365
- if (typeof atob !== "undefined" && typeof atob === "function") return atob(data);
366
- else if (typeof global !== "undefined" && global.Buffer) return new global.Buffer(data, "base64").toString();
367
- return data;
368
- };
369
-
370
- // ../shared/dist/runtime/keys-YNv6yjKk.mjs
371
- var PUBLISHABLE_KEY_LIVE_PREFIX = "pk_live_";
372
- var PUBLISHABLE_KEY_TEST_PREFIX = "pk_test_";
373
- function isValidDecodedPublishableKey(decoded) {
374
- if (!decoded.endsWith("$")) return false;
375
- const withoutTrailing = decoded.slice(0, -1);
376
- if (withoutTrailing.includes("$")) return false;
377
- return withoutTrailing.includes(".");
378
- }
379
- function parsePublishableKey(key, options = {}) {
380
- key = key || "";
381
- if (!key || !isPublishableKey(key)) {
382
- if (options.fatal && !key) throw new Error("Publishable key is missing. Ensure that your publishable key is correctly configured. Double-check your environment configuration for your keys, or access them here: https://dashboard.clerk.com/last-active?path=api-keys");
383
- if (options.fatal && !isPublishableKey(key)) throw new Error("Publishable key not valid.");
384
- return null;
385
- }
386
- const instanceType = key.startsWith(PUBLISHABLE_KEY_LIVE_PREFIX) ? "production" : "development";
387
- let decodedFrontendApi;
388
- try {
389
- decodedFrontendApi = isomorphicAtob(key.split("_")[2]);
390
- } catch {
391
- if (options.fatal) throw new Error("Publishable key not valid: Failed to decode key.");
392
- return null;
393
- }
394
- if (!isValidDecodedPublishableKey(decodedFrontendApi)) {
395
- if (options.fatal) throw new Error("Publishable key not valid: Decoded key has invalid format.");
396
- return null;
397
- }
398
- let frontendApi = decodedFrontendApi.slice(0, -1);
399
- if (options.proxyUrl) frontendApi = options.proxyUrl;
400
- else if (instanceType !== "development" && options.domain && options.isSatellite) frontendApi = `clerk.${options.domain}`;
401
- return {
402
- instanceType,
403
- frontendApi
404
- };
405
- }
406
- function isPublishableKey(key = "") {
407
- try {
408
- if (!(key.startsWith(PUBLISHABLE_KEY_LIVE_PREFIX) || key.startsWith(PUBLISHABLE_KEY_TEST_PREFIX))) return false;
409
- const parts = key.split("_");
410
- if (parts.length !== 3) return false;
411
- const encodedPart = parts[2];
412
- if (!encodedPart) return false;
413
- return isValidDecodedPublishableKey(isomorphicAtob(encodedPart));
414
- } catch {
415
- return false;
416
- }
458
+ // ../shared/dist/runtime/organization-JwY1zGRo.mjs
459
+ function getCurrentOrganizationMembership(organizationMemberships, organizationId) {
460
+ return organizationMemberships.find((organizationMembership) => organizationMembership.organization.id === organizationId);
417
461
  }
418
462
 
419
- // ../shared/dist/runtime/telemetry-wqMDWlvR.mjs
463
+ // ../shared/dist/runtime/noop-Dzu7lrge.mjs
464
+ var noop = (..._args) => {
465
+ };
466
+
467
+ // ../shared/dist/runtime/telemetry-B4xKE_qs.mjs
420
468
  var EVENT_METHOD_CALLED = "METHOD_CALLED";
421
469
  var EVENT_SAMPLING_RATE$2 = 0.1;
422
470
  function eventMethodCalled(method, payload) {
@@ -430,23 +478,7 @@ function eventMethodCalled(method, payload) {
430
478
  };
431
479
  }
432
480
 
433
- // ../shared/dist/runtime/authorization-errors-CS1pNy8i.mjs
434
- var REVERIFICATION_REASON = "reverification-error";
435
- var reverificationError = (missingConfig) => ({ clerk_error: {
436
- type: "forbidden",
437
- reason: REVERIFICATION_REASON,
438
- metadata: { reverification: missingConfig }
439
- } });
440
- var isReverificationHint = (result) => {
441
- var _a5, _b;
442
- return result && typeof result === "object" && "clerk_error" in result && ((_a5 = result.clerk_error) == null ? void 0 : _a5.type) === "forbidden" && ((_b = result.clerk_error) == null ? void 0 : _b.reason) === REVERIFICATION_REASON;
443
- };
444
-
445
- // ../shared/dist/runtime/noop-B3MbDAfb.mjs
446
- var noop = (..._args) => {
447
- };
448
-
449
- // ../shared/dist/runtime/createDeferredPromise-CjYZzUuU.mjs
481
+ // ../shared/dist/runtime/createDeferredPromise-DjiBNELG.mjs
450
482
  var createDeferredPromise = () => {
451
483
  let resolve = noop;
452
484
  let reject = noop;
@@ -460,12 +492,7 @@ var createDeferredPromise = () => {
460
492
  };
461
493
  };
462
494
 
463
- // ../shared/dist/runtime/organization-D9SEGukq.mjs
464
- function getCurrentOrganizationMembership(organizationMemberships, organizationId) {
465
- return organizationMemberships.find((organizationMembership) => organizationMembership.organization.id === organizationId);
466
- }
467
-
468
- // ../../node_modules/.pnpm/swr@2.3.4_react@18.3.1/node_modules/swr/dist/_internal/events.mjs
495
+ // ../../node_modules/swr/dist/_internal/events.mjs
469
496
  var events_exports = {};
470
497
  __export(events_exports, {
471
498
  ERROR_REVALIDATE_EVENT: () => ERROR_REVALIDATE_EVENT,
@@ -478,7 +505,7 @@ var RECONNECT_EVENT = 1;
478
505
  var MUTATE_EVENT = 2;
479
506
  var ERROR_REVALIDATE_EVENT = 3;
480
507
 
481
- // ../../node_modules/.pnpm/dequal@2.0.3/node_modules/dequal/lite/index.mjs
508
+ // ../../node_modules/dequal/lite/index.mjs
482
509
  var has = Object.prototype.hasOwnProperty;
483
510
  function dequal(foo, bar) {
484
511
  var ctor, len;
@@ -504,7 +531,7 @@ function dequal(foo, bar) {
504
531
  return foo !== foo && bar !== bar;
505
532
  }
506
533
 
507
- // ../../node_modules/.pnpm/swr@2.3.4_react@18.3.1/node_modules/swr/dist/_internal/config-context-client-BoS53ST9.mjs
534
+ // ../../node_modules/swr/dist/_internal/config-context-client-BoS53ST9.mjs
508
535
  var SWRGlobalState = /* @__PURE__ */ new WeakMap();
509
536
  var noop2 = () => {
510
537
  };
@@ -942,7 +969,7 @@ var SWRConfig = (props) => {
942
969
  }));
943
970
  };
944
971
 
945
- // ../../node_modules/.pnpm/swr@2.3.4_react@18.3.1/node_modules/swr/dist/_internal/constants.mjs
972
+ // ../../node_modules/swr/dist/_internal/constants.mjs
946
973
  var INFINITE_PREFIX = "$inf$";
947
974
  var enableDevtools = isWindowDefined && window.__SWR_DEVTOOLS_USE__;
948
975
  var use = enableDevtools ? window.__SWR_DEVTOOLS_USE__ : [];
@@ -1693,7 +1720,7 @@ var infinite = (useSWRNext) => (getKey, fn, config) => {
1693
1720
  };
1694
1721
  var useSWRInfinite = withMiddleware(useSWR, infinite);
1695
1722
 
1696
- // ../../node_modules/.pnpm/dequal@2.0.3/node_modules/dequal/dist/index.mjs
1723
+ // ../../node_modules/dequal/dist/index.mjs
1697
1724
  var has2 = Object.prototype.hasOwnProperty;
1698
1725
  function find(iter, tar, key) {
1699
1726
  for (key of iter.keys()) {
@@ -2599,13 +2626,20 @@ var createElementComponent = (type, isServer) => {
2599
2626
  createElementComponent("payment", typeof window === "undefined");
2600
2627
  createContextAndHook("PaymentElementContext");
2601
2628
  createContextAndHook("StripeUtilsContext");
2602
- var errorThrower = buildErrorThrower({ packageName: "@clerk/clerk-react" });
2629
+
2630
+ // ../react/dist/chunk-MB46WFKC.mjs
2631
+ var errorThrower = buildErrorThrower({ packageName: "@clerk/react" });
2603
2632
  function setErrorThrowerOptions(options) {
2604
2633
  errorThrower.setMessages(options).setPackageName(options);
2605
2634
  }
2606
- var [AuthContext, useAuthContext] = createContextAndHook("AuthContext");
2607
2635
  var IsomorphicClerkContext = ClerkInstanceContext;
2608
2636
  var useIsomorphicClerkContext = useClerkInstanceContext;
2637
+ var useAssertWrappedByClerkProvider2 = (source) => {
2638
+ useAssertWrappedByClerkProvider(() => {
2639
+ errorThrower.throwMissingClerkProviderError({ source });
2640
+ });
2641
+ };
2642
+ var [AuthContext, useAuthContext] = createContextAndHook("AuthContext");
2609
2643
  var multipleClerkProvidersError = "You've added multiple <ClerkProvider> components in your React component tree. Wrap your components in a single <ClerkProvider>.";
2610
2644
  var multipleChildrenInButtonComponent = (name) => `You've passed multiple children components to <${name}/>. You can only pass a single child component or text.`;
2611
2645
  var invalidStateError = "Invalid state. Feel free to submit a bug or reach out to support here: https://clerk.com/support";
@@ -2624,11 +2658,6 @@ var userButtonMenuActionRenderedError = "<UserButton.Action /> component needs t
2624
2658
  var userButtonMenuLinkRenderedError = "<UserButton.Link /> component needs to be a direct child of `<UserButton.MenuItems />`.";
2625
2659
  var userButtonMenuItemLinkWrongProps = "Missing props. <UserButton.Link /> component requires the following props: href, label and labelIcon.";
2626
2660
  var userButtonMenuItemsActionWrongsProps = "Missing props. <UserButton.Action /> component requires the following props: label.";
2627
- var useAssertWrappedByClerkProvider2 = (source) => {
2628
- useAssertWrappedByClerkProvider(() => {
2629
- errorThrower.throwMissingClerkProviderError({ source });
2630
- });
2631
- };
2632
2661
  var clerkLoaded = (isomorphicClerk) => {
2633
2662
  return new Promise((resolve) => {
2634
2663
  const handler = (status) => {
@@ -2725,36 +2754,59 @@ function useEmailLink(resource) {
2725
2754
  cancelEmailLinkFlow
2726
2755
  };
2727
2756
  }
2728
- var useSignIn = () => {
2729
- var _a5;
2730
- useAssertWrappedByClerkProvider2("useSignIn");
2731
- const isomorphicClerk = useIsomorphicClerkContext();
2732
- const client = useClientContext();
2733
- (_a5 = isomorphicClerk.telemetry) == null ? void 0 : _a5.record(eventMethodCalled("useSignIn"));
2734
- if (!client) {
2735
- return { isLoaded: false, signIn: void 0, setActive: void 0 };
2736
- }
2737
- return {
2738
- isLoaded: true,
2739
- signIn: client.signIn,
2740
- setActive: isomorphicClerk.setActive
2741
- };
2742
- };
2743
- var useSignUp = () => {
2744
- var _a5;
2745
- useAssertWrappedByClerkProvider2("useSignUp");
2746
- const isomorphicClerk = useIsomorphicClerkContext();
2747
- const client = useClientContext();
2748
- (_a5 = isomorphicClerk.telemetry) == null ? void 0 : _a5.record(eventMethodCalled("useSignUp"));
2749
- if (!client) {
2750
- return { isLoaded: false, signUp: void 0, setActive: void 0 };
2757
+ function useClerkSignal(signal) {
2758
+ var _a5, _b;
2759
+ useAssertWrappedByClerkProvider2("useClerkSignal");
2760
+ const clerk2 = useIsomorphicClerkContext();
2761
+ switch (signal) {
2762
+ case "signIn":
2763
+ (_a5 = clerk2.telemetry) == null ? void 0 : _a5.record(eventMethodCalled("useSignIn", { apiVersion: "2025-11" }));
2764
+ break;
2765
+ case "signUp":
2766
+ (_b = clerk2.telemetry) == null ? void 0 : _b.record(eventMethodCalled("useSignUp", { apiVersion: "2025-11" }));
2767
+ break;
2751
2768
  }
2752
- return {
2753
- isLoaded: true,
2754
- signUp: client.signUp,
2755
- setActive: isomorphicClerk.setActive
2756
- };
2757
- };
2769
+ const subscribe = React7.useCallback(
2770
+ (callback) => {
2771
+ if (!clerk2.loaded) {
2772
+ return () => {
2773
+ };
2774
+ }
2775
+ return clerk2.__internal_state.__internal_effect(() => {
2776
+ switch (signal) {
2777
+ case "signIn":
2778
+ clerk2.__internal_state.signInSignal();
2779
+ break;
2780
+ case "signUp":
2781
+ clerk2.__internal_state.signUpSignal();
2782
+ break;
2783
+ default:
2784
+ throw new Error(`Unknown signal: ${signal}`);
2785
+ }
2786
+ callback();
2787
+ });
2788
+ },
2789
+ [clerk2, clerk2.loaded, clerk2.__internal_state]
2790
+ );
2791
+ const getSnapshot = React7.useCallback(() => {
2792
+ switch (signal) {
2793
+ case "signIn":
2794
+ return clerk2.__internal_state.signInSignal();
2795
+ case "signUp":
2796
+ return clerk2.__internal_state.signUpSignal();
2797
+ default:
2798
+ throw new Error(`Unknown signal: ${signal}`);
2799
+ }
2800
+ }, [clerk2.__internal_state]);
2801
+ const value = React7.useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
2802
+ return value;
2803
+ }
2804
+ function useSignIn() {
2805
+ return useClerkSignal("signIn");
2806
+ }
2807
+ function useSignUp() {
2808
+ return useClerkSignal("signUp");
2809
+ }
2758
2810
  var withClerk = (Component, displayNameOrOptions) => {
2759
2811
  const passedDisplayedName = typeof displayNameOrOptions === "string" ? displayNameOrOptions : displayNameOrOptions == null ? void 0 : displayNameOrOptions.component;
2760
2812
  const displayName = passedDisplayedName || Component.displayName || Component.name || "Component";
@@ -2779,7 +2831,7 @@ var withClerk = (Component, displayNameOrOptions) => {
2779
2831
  return HOC;
2780
2832
  };
2781
2833
 
2782
- // ../shared/dist/runtime/runtimeEnvironment-BB2sO-19.mjs
2834
+ // ../shared/dist/runtime/runtimeEnvironment-D1yr0yUs.mjs
2783
2835
  var isDevelopmentEnvironment = () => {
2784
2836
  try {
2785
2837
  return process.env.NODE_ENV === "development";
@@ -2802,7 +2854,7 @@ var isProductionEnvironment = () => {
2802
2854
  return false;
2803
2855
  };
2804
2856
 
2805
- // ../shared/dist/runtime/deprecated-BqlFbLHj.mjs
2857
+ // ../shared/dist/runtime/deprecated--jK9xTNh.mjs
2806
2858
  var displayedWarnings = /* @__PURE__ */ new Set();
2807
2859
  var deprecated = (fnName, warning, key) => {
2808
2860
  const hideWarning = isTestEnvironment() || isProductionEnvironment();
@@ -2943,19 +2995,19 @@ var AuthenticateWithRedirectCallback = withClerk(
2943
2995
  "AuthenticateWithRedirectCallback"
2944
2996
  );
2945
2997
 
2946
- // ../shared/dist/runtime/handleValueOrFn-CcwnRX-K.mjs
2998
+ // ../shared/dist/runtime/handleValueOrFn-AOTAW6HQ.mjs
2947
2999
  function handleValueOrFn(value, url, defaultValue) {
2948
3000
  if (typeof value === "function") return value(url);
2949
3001
  if (typeof value !== "undefined") return value;
2950
3002
  if (typeof defaultValue !== "undefined") return defaultValue;
2951
3003
  }
2952
3004
 
2953
- // ../shared/dist/runtime/utils-DnE51LOo.mjs
3005
+ // ../shared/dist/runtime/utils-DIVknyRo.mjs
2954
3006
  var logErrorInDevMode = (message) => {
2955
3007
  if (isDevelopmentEnvironment()) console.error(`Clerk: ${message}`);
2956
3008
  };
2957
3009
 
2958
- // ../shared/dist/runtime/object-Be3MMNTQ.mjs
3010
+ // ../shared/dist/runtime/object-CPFrgK_j.mjs
2959
3011
  var without = (obj, ...props) => {
2960
3012
  const copy = { ...obj };
2961
3013
  for (const prop of props) delete copy[prop];
@@ -3899,12 +3951,219 @@ var __privateGet2 = (obj, member, getter) => (__accessCheck(obj, member, "read f
3899
3951
  var __privateAdd2 = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
3900
3952
  var __privateSet2 = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
3901
3953
  var __privateMethod2 = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
3954
+
3955
+ // ../shared/dist/runtime/retry-l1_iB-NH.mjs
3956
+ var defaultOptions = {
3957
+ initialDelay: 125,
3958
+ maxDelayBetweenRetries: 0,
3959
+ factor: 2,
3960
+ shouldRetry: (_, iteration) => iteration < 5,
3961
+ retryImmediately: false,
3962
+ jitter: true
3963
+ };
3964
+ var RETRY_IMMEDIATELY_DELAY = 100;
3965
+ var sleep = async (ms) => new Promise((s) => setTimeout(s, ms));
3966
+ var applyJitter = (delay, jitter) => {
3967
+ return jitter ? delay * (1 + Math.random()) : delay;
3968
+ };
3969
+ var createExponentialDelayAsyncFn = (opts) => {
3970
+ let timesCalled = 0;
3971
+ const calculateDelayInMs = () => {
3972
+ const constant = opts.initialDelay;
3973
+ const base = opts.factor;
3974
+ let delay = constant * Math.pow(base, timesCalled);
3975
+ delay = applyJitter(delay, opts.jitter);
3976
+ return Math.min(opts.maxDelayBetweenRetries || delay, delay);
3977
+ };
3978
+ return async () => {
3979
+ await sleep(calculateDelayInMs());
3980
+ timesCalled++;
3981
+ };
3982
+ };
3983
+ var retry = async (callback, options = {}) => {
3984
+ let iterations = 0;
3985
+ const { shouldRetry, initialDelay, maxDelayBetweenRetries, factor, retryImmediately, jitter, onBeforeRetry } = {
3986
+ ...defaultOptions,
3987
+ ...options
3988
+ };
3989
+ const delay = createExponentialDelayAsyncFn({
3990
+ initialDelay,
3991
+ maxDelayBetweenRetries,
3992
+ factor,
3993
+ jitter
3994
+ });
3995
+ while (true) try {
3996
+ return await callback();
3997
+ } catch (e) {
3998
+ iterations++;
3999
+ if (!shouldRetry(e, iterations)) throw e;
4000
+ if (onBeforeRetry) await onBeforeRetry(iterations);
4001
+ if (retryImmediately && iterations === 1) await sleep(applyJitter(RETRY_IMMEDIATELY_DELAY, jitter));
4002
+ else await delay();
4003
+ }
4004
+ };
4005
+
4006
+ // ../shared/dist/runtime/loadScript-DDWWb733.mjs
4007
+ var NO_DOCUMENT_ERROR = "loadScript cannot be called when document does not exist";
4008
+ var NO_SRC_ERROR = "loadScript cannot be called without a src";
4009
+ async function loadScript(src = "", opts) {
4010
+ const { async, defer, beforeLoad, crossOrigin, nonce } = opts || {};
4011
+ const load = () => {
4012
+ return new Promise((resolve, reject) => {
4013
+ if (!src) reject(new Error(NO_SRC_ERROR));
4014
+ if (!document || !document.body) reject(new Error(NO_DOCUMENT_ERROR));
4015
+ const script = document.createElement("script");
4016
+ if (crossOrigin) script.setAttribute("crossorigin", crossOrigin);
4017
+ script.async = async || false;
4018
+ script.defer = defer || false;
4019
+ script.addEventListener("load", () => {
4020
+ console.log("this loaded ", src);
4021
+ script.remove();
4022
+ resolve(script);
4023
+ });
4024
+ script.addEventListener("error", (event) => {
4025
+ var _a5;
4026
+ script.remove();
4027
+ reject((_a5 = event.error) != null ? _a5 : /* @__PURE__ */ new Error(`failed to load script: ${src}`));
4028
+ });
4029
+ script.src = src;
4030
+ script.nonce = nonce;
4031
+ beforeLoad == null ? void 0 : beforeLoad(script);
4032
+ document.body.appendChild(script);
4033
+ });
4034
+ };
4035
+ return retry(load, { shouldRetry: (_, iterations) => {
4036
+ console.log("nikos 3", _, iterations);
4037
+ return iterations <= 5;
4038
+ } });
4039
+ }
4040
+
4041
+ // ../shared/dist/runtime/proxy-C0HjCApu.mjs
4042
+ function isValidProxyUrl(key) {
4043
+ if (!key) return true;
4044
+ return isHttpOrHttps(key) || isProxyUrlRelative(key);
4045
+ }
4046
+ function isHttpOrHttps(key) {
4047
+ return /^http(s)?:\/\//.test(key || "");
4048
+ }
4049
+ function isProxyUrlRelative(key) {
4050
+ return key.startsWith("/");
4051
+ }
4052
+ function proxyUrlToAbsoluteURL(url) {
4053
+ if (!url) return "";
4054
+ return isProxyUrlRelative(url) ? new URL(url, window.location.origin).toString() : url;
4055
+ }
4056
+
4057
+ // ../shared/dist/runtime/url-DasDWsj9.mjs
4058
+ function addClerkPrefix(str) {
4059
+ if (!str) return "";
4060
+ let regex;
4061
+ if (str.match(/^(clerk\.)+\w*$/)) regex = /(clerk\.)*(?=clerk\.)/;
4062
+ else if (str.match(/\.clerk.accounts/)) return str;
4063
+ else regex = /^(clerk\.)*/gi;
4064
+ return `clerk.${str.replace(regex, "")}`;
4065
+ }
4066
+
4067
+ // ../shared/dist/runtime/loadClerkJsScript.mjs
4068
+ var { isDevOrStagingUrl } = createDevOrStagingUrlCache();
3902
4069
  var errorThrower2 = buildErrorThrower({ packageName: "@clerk/shared" });
4070
+ function isClerkGlobalProperlyLoaded(prop) {
4071
+ if (typeof window === "undefined" || !window[prop]) return false;
4072
+ return !!window[prop];
4073
+ }
4074
+ var isClerkUiProperlyLoaded = () => isClerkGlobalProperlyLoaded("__unstable_ClerkUiCtor");
4075
+ var loadClerkUiScript = async (opts) => {
4076
+ var _a5;
4077
+ const timeout = (_a5 = opts == null ? void 0 : opts.scriptLoadTimeout) != null ? _a5 : 15e3;
4078
+ const rejectWith = (error) => new ClerkRuntimeError("Failed to load Clerk UI" + ((error == null ? void 0 : error.message) ? `, ${error.message}` : ""), {
4079
+ code: "failed_to_load_clerk_ui",
4080
+ cause: error
4081
+ });
4082
+ if (isClerkUiProperlyLoaded()) return null;
4083
+ if (document.querySelector("script[data-clerk-ui-script]")) return waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith());
4084
+ if (!(opts == null ? void 0 : opts.publishableKey)) {
4085
+ errorThrower2.throwMissingPublishableKeyError();
4086
+ return null;
4087
+ }
4088
+ const loadPromise = waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith());
4089
+ loadScript(clerkUiScriptUrl(opts), {
4090
+ async: true,
4091
+ crossOrigin: "anonymous",
4092
+ nonce: opts.nonce,
4093
+ beforeLoad: applyAttributesToScript(buildClerkUiScriptAttributes(opts))
4094
+ }).catch((error) => {
4095
+ throw rejectWith(error);
4096
+ });
4097
+ return loadPromise;
4098
+ };
4099
+ var clerkUiScriptUrl = (opts) => {
4100
+ const { clerkUiUrl, proxyUrl, domain, publishableKey } = opts;
4101
+ if (clerkUiUrl) return clerkUiUrl;
4102
+ return `https://${buildScriptHost({
4103
+ publishableKey,
4104
+ proxyUrl,
4105
+ domain
4106
+ })}/npm/@clerk/ui@latest/dist/ui.browser.js`;
4107
+ };
4108
+ var buildClerkJsScriptAttributes = (options) => {
4109
+ const obj = {};
4110
+ if (options.publishableKey) obj["data-clerk-publishable-key"] = options.publishableKey;
4111
+ if (options.proxyUrl) obj["data-clerk-proxy-url"] = options.proxyUrl;
4112
+ if (options.domain) obj["data-clerk-domain"] = options.domain;
4113
+ if (options.nonce) obj.nonce = options.nonce;
4114
+ return obj;
4115
+ };
4116
+ var buildClerkUiScriptAttributes = (options) => {
4117
+ return buildClerkJsScriptAttributes(options);
4118
+ };
4119
+ var applyAttributesToScript = (attributes) => (script) => {
4120
+ for (const attribute in attributes) script.setAttribute(attribute, attributes[attribute]);
4121
+ };
4122
+ var buildScriptHost = (opts) => {
4123
+ var _a5, _b;
4124
+ const { proxyUrl, domain, publishableKey } = opts;
4125
+ if (!!proxyUrl && isValidProxyUrl(proxyUrl)) return proxyUrlToAbsoluteURL(proxyUrl).replace(/http(s)?:\/\//, "");
4126
+ else if (domain && !isDevOrStagingUrl(((_a5 = parsePublishableKey(publishableKey)) == null ? void 0 : _a5.frontendApi) || "")) return addClerkPrefix(domain);
4127
+ else return ((_b = parsePublishableKey(publishableKey)) == null ? void 0 : _b.frontendApi) || "";
4128
+ };
4129
+ function waitForPredicateWithTimeout(timeoutMs, predicate, rejectWith) {
4130
+ return new Promise((resolve, reject) => {
4131
+ let resolved = false;
4132
+ const cleanup = (timeoutId$1, pollInterval$1) => {
4133
+ clearTimeout(timeoutId$1);
4134
+ clearInterval(pollInterval$1);
4135
+ };
4136
+ const checkAndResolve = () => {
4137
+ if (resolved) return;
4138
+ if (predicate()) {
4139
+ resolved = true;
4140
+ cleanup(timeoutId, pollInterval);
4141
+ resolve(null);
4142
+ }
4143
+ };
4144
+ const handleTimeout = () => {
4145
+ if (resolved) return;
4146
+ resolved = true;
4147
+ cleanup(timeoutId, pollInterval);
4148
+ if (!predicate()) reject(rejectWith);
4149
+ else resolve(null);
4150
+ };
4151
+ const timeoutId = setTimeout(handleTimeout, timeoutMs);
4152
+ checkAndResolve();
4153
+ const pollInterval = setInterval(() => {
4154
+ if (resolved) {
4155
+ clearInterval(pollInterval);
4156
+ return;
4157
+ }
4158
+ checkAndResolve();
4159
+ }, 100);
4160
+ });
4161
+ }
3903
4162
  function setClerkJsLoadingErrorPackageName(packageName) {
3904
4163
  errorThrower2.setPackageName({ packageName });
3905
4164
  }
3906
4165
 
3907
- // ../shared/dist/runtime/deriveState-ChDqlleE.mjs
4166
+ // ../shared/dist/runtime/deriveState.mjs
3908
4167
  var deriveState = (clerkOperational, state, initialState) => {
3909
4168
  if (!clerkOperational && initialState) return deriveFromSsrInitialState(initialState);
3910
4169
  return deriveFromClientSideState(state);
@@ -3963,12 +4222,12 @@ var deriveFromClientSideState = (state) => {
3963
4222
  };
3964
4223
  };
3965
4224
 
3966
- // ../shared/dist/runtime/browser-D5e8obql.mjs
4225
+ // ../shared/dist/runtime/browser-DursrJlr.mjs
3967
4226
  function inBrowser() {
3968
4227
  return typeof window !== "undefined";
3969
4228
  }
3970
4229
 
3971
- // ../shared/dist/runtime/eventBus-UpdW-1JB.mjs
4230
+ // ../shared/dist/runtime/eventBus-TFTcHo0F.mjs
3972
4231
  var _on = (eventToHandlersMap, latestPayloadMap, event, handler, opts) => {
3973
4232
  const { notify } = opts || {};
3974
4233
  let handlers = eventToHandlersMap.get(event);
@@ -4177,6 +4436,9 @@ var StateProxy = class {
4177
4436
  signUpSignal() {
4178
4437
  return this.signUpSignalProxy;
4179
4438
  }
4439
+ checkoutSignal(params) {
4440
+ return this.buildCheckoutProxy(params);
4441
+ }
4180
4442
  buildSignInProxy() {
4181
4443
  const gateProperty = this.gateProperty.bind(this);
4182
4444
  const target = () => this.client.signIn.__internal_future;
@@ -4247,6 +4509,9 @@ var StateProxy = class {
4247
4509
  }
4248
4510
  });
4249
4511
  },
4512
+ get hasBeenFinalized() {
4513
+ return gateProperty(target, "hasBeenFinalized", false);
4514
+ },
4250
4515
  create: this.gateMethod(target, "create"),
4251
4516
  password: this.gateMethod(target, "password"),
4252
4517
  sso: this.gateMethod(target, "sso"),
@@ -4345,6 +4610,9 @@ var StateProxy = class {
4345
4610
  get isTransferable() {
4346
4611
  return gateProperty(target, "isTransferable", false);
4347
4612
  },
4613
+ get hasBeenFinalized() {
4614
+ return gateProperty(target, "hasBeenFinalized", false);
4615
+ },
4348
4616
  create: gateMethod(target, "create"),
4349
4617
  update: gateMethod(target, "update"),
4350
4618
  sso: gateMethod(target, "sso"),
@@ -4361,6 +4629,59 @@ var StateProxy = class {
4361
4629
  }
4362
4630
  };
4363
4631
  }
4632
+ buildCheckoutProxy(params) {
4633
+ const gateProperty = this.gateProperty.bind(this);
4634
+ const targetCheckout = () => this.checkout(params);
4635
+ const target = () => targetCheckout().checkout;
4636
+ return {
4637
+ errors: {
4638
+ raw: null,
4639
+ global: null
4640
+ },
4641
+ fetchStatus: "idle",
4642
+ checkout: {
4643
+ get status() {
4644
+ return gateProperty(target, "status", "needs_initialization");
4645
+ },
4646
+ get externalClientSecret() {
4647
+ return gateProperty(target, "externalClientSecret", null);
4648
+ },
4649
+ get externalGatewayId() {
4650
+ return gateProperty(target, "externalGatewayId", null);
4651
+ },
4652
+ get paymentMethod() {
4653
+ return gateProperty(target, "paymentMethod", null);
4654
+ },
4655
+ get plan() {
4656
+ return gateProperty(target, "plan", null);
4657
+ },
4658
+ get planPeriod() {
4659
+ return gateProperty(target, "planPeriod", null);
4660
+ },
4661
+ get totals() {
4662
+ return gateProperty(target, "totals", null);
4663
+ },
4664
+ get isImmediatePlanChange() {
4665
+ return gateProperty(target, "isImmediatePlanChange", false);
4666
+ },
4667
+ get freeTrialEndsAt() {
4668
+ return gateProperty(target, "freeTrialEndsAt", null);
4669
+ },
4670
+ get payer() {
4671
+ return gateProperty(target, "payer", null);
4672
+ },
4673
+ get planPeriodStart() {
4674
+ return gateProperty(target, "planPeriodStart", null);
4675
+ },
4676
+ get needsPaymentMethod() {
4677
+ return gateProperty(target, "needsPaymentMethod", null);
4678
+ },
4679
+ start: this.gateMethod(target, "start"),
4680
+ confirm: this.gateMethod(target, "confirm"),
4681
+ finalize: this.gateMethod(target, "finalize")
4682
+ }
4683
+ };
4684
+ }
4364
4685
  __internal_effect(_) {
4365
4686
  throw new Error("__internal_effect called before Clerk is loaded");
4366
4687
  }
@@ -4374,6 +4695,13 @@ var StateProxy = class {
4374
4695
  }
4375
4696
  return c;
4376
4697
  }
4698
+ get checkout() {
4699
+ const c = this.isomorphicClerk.__experimental_checkout;
4700
+ if (!c) {
4701
+ throw new Error("Clerk checkout not ready");
4702
+ }
4703
+ return c;
4704
+ }
4377
4705
  gateProperty(getTarget, key, defaultValue) {
4378
4706
  return (() => {
4379
4707
  if (!inBrowser() || !this.isomorphicClerk.loaded) {
@@ -4416,8 +4744,8 @@ if (typeof globalThis.__BUILD_DISABLE_RHC__ === "undefined") {
4416
4744
  globalThis.__BUILD_DISABLE_RHC__ = false;
4417
4745
  }
4418
4746
  var SDK_METADATA = {
4419
- name: "@clerk/clerk-react",
4420
- version: "5.56.3-canary.v20251121223459",
4747
+ name: "@clerk/react",
4748
+ version: "6.0.0-canary-core3.v20251124105058",
4421
4749
  environment: process.env.NODE_ENV
4422
4750
  };
4423
4751
  var _status;
@@ -4652,7 +4980,7 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
4652
4980
  throw new Error("Failed to hydrate latest Clerk JS");
4653
4981
  }
4654
4982
  };
4655
- this.hydrateClerkJS = (clerkjs) => {
4983
+ this.replayInterceptedInvocations = (clerkjs) => {
4656
4984
  var _a5, _b;
4657
4985
  if (!clerkjs) {
4658
4986
  throw new Error("Failed to hydrate latest Clerk JS");
@@ -4741,8 +5069,7 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
4741
5069
  return this.clerkjs;
4742
5070
  };
4743
5071
  this.__experimental_checkout = (...args) => {
4744
- var _a5;
4745
- return (_a5 = this.clerkjs) == null ? void 0 : _a5.__experimental_checkout(...args);
5072
+ return this.loaded && this.clerkjs ? this.clerkjs.__experimental_checkout(...args) : __privateGet2(this, _stateProxy).checkoutSignal(...args);
4746
5073
  };
4747
5074
  this.__unstable__updateProps = async (props) => {
4748
5075
  const clerkjs = await __privateMethod2(this, _IsomorphicClerk_instances, waitForClerkJS_fn).call(this);
@@ -5418,12 +5745,11 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
5418
5745
  this.premountMethodCalls.set("signOut", callback);
5419
5746
  }
5420
5747
  };
5421
- const { Clerk: Clerk2 = null, publishableKey } = options || {};
5422
- __privateSet2(this, _publishableKey, publishableKey);
5748
+ __privateSet2(this, _publishableKey, options == null ? void 0 : options.publishableKey);
5423
5749
  __privateSet2(this, _proxyUrl, options == null ? void 0 : options.proxyUrl);
5424
5750
  __privateSet2(this, _domain, options == null ? void 0 : options.domain);
5425
5751
  this.options = options;
5426
- this.Clerk = Clerk2;
5752
+ this.Clerk = (options == null ? void 0 : options.Clerk) || null;
5427
5753
  this.mode = inBrowser() ? "browser" : "server";
5428
5754
  __privateSet2(this, _stateProxy, new StateProxy(this));
5429
5755
  if (!this.options.sdkMetadata) {
@@ -5432,7 +5758,7 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
5432
5758
  __privateGet2(this, _eventBus).emit(clerkEvents.Status, "loading");
5433
5759
  __privateGet2(this, _eventBus).prioritizedOn(clerkEvents.Status, (status) => __privateSet2(this, _status, status));
5434
5760
  if (__privateGet2(this, _publishableKey)) {
5435
- void this.loadClerkJS();
5761
+ void this.getEntryChunks();
5436
5762
  }
5437
5763
  }
5438
5764
  get publishableKey() {
@@ -5521,8 +5847,7 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
5521
5847
  }
5522
5848
  return false;
5523
5849
  }
5524
- async loadClerkJS() {
5525
- var _a5;
5850
+ async getEntryChunks() {
5526
5851
  if (this.mode !== "browser" || this.loaded) {
5527
5852
  return;
5528
5853
  }
@@ -5532,28 +5857,15 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
5532
5857
  window.__clerk_domain = this.domain;
5533
5858
  }
5534
5859
  try {
5535
- if (this.Clerk) {
5536
- let c;
5537
- if (isConstructor(this.Clerk)) {
5538
- c = new this.Clerk(__privateGet2(this, _publishableKey), {
5539
- proxyUrl: this.proxyUrl,
5540
- domain: this.domain
5541
- });
5542
- this.beforeLoad(c);
5543
- await c.load(this.options);
5544
- } else {
5545
- c = this.Clerk;
5546
- if (!c.loaded) {
5547
- this.beforeLoad(c);
5548
- await c.load(this.options);
5549
- }
5550
- }
5551
- global.Clerk = c;
5552
- } else if (false) ;
5553
- if ((_a5 = global.Clerk) == null ? void 0 : _a5.loaded) {
5554
- return this.hydrateClerkJS(global.Clerk);
5860
+ const clerkUiCtor = this.getClerkUiEntryChunk();
5861
+ const clerk2 = await this.getClerkJsEntryChunk();
5862
+ if (!clerk2.loaded) {
5863
+ this.beforeLoad(clerk2);
5864
+ await clerk2.load({ ...this.options, clerkUiCtor });
5865
+ }
5866
+ if (clerk2.loaded) {
5867
+ this.replayInterceptedInvocations(clerk2);
5555
5868
  }
5556
- return;
5557
5869
  } catch (err) {
5558
5870
  const error = err;
5559
5871
  __privateGet2(this, _eventBus).emit(clerkEvents.Status, "error");
@@ -5561,6 +5873,32 @@ var _IsomorphicClerk = class _IsomorphicClerk2 {
5561
5873
  return;
5562
5874
  }
5563
5875
  }
5876
+ async getClerkJsEntryChunk() {
5877
+ if (!this.options.Clerk && false) ;
5878
+ if (this.options.Clerk) {
5879
+ global.Clerk = isConstructor(this.options.Clerk) ? new this.options.Clerk(__privateGet2(this, _publishableKey), { proxyUrl: this.proxyUrl, domain: this.domain }) : this.options.Clerk;
5880
+ }
5881
+ if (!global.Clerk) {
5882
+ throw new Error("Failed to download latest ClerkJS. Contact support@clerk.com.");
5883
+ }
5884
+ return global.Clerk;
5885
+ }
5886
+ async getClerkUiEntryChunk() {
5887
+ if (this.options.clerkUiCtor) {
5888
+ return this.options.clerkUiCtor;
5889
+ }
5890
+ await loadClerkUiScript({
5891
+ ...this.options,
5892
+ publishableKey: __privateGet2(this, _publishableKey),
5893
+ proxyUrl: this.proxyUrl,
5894
+ domain: this.domain,
5895
+ nonce: this.options.nonce
5896
+ });
5897
+ if (!global.__unstable_ClerkUiCtor) {
5898
+ throw new Error("Failed to download latest Clerk UI. Contact support@clerk.com.");
5899
+ }
5900
+ return global.__unstable_ClerkUiCtor;
5901
+ }
5564
5902
  get version() {
5565
5903
  var _a5;
5566
5904
  return (_a5 = this.clerkjs) == null ? void 0 : _a5.version;
@@ -5759,10 +6097,10 @@ function ClerkProviderBase(props) {
5759
6097
  }
5760
6098
  var ClerkProvider = withMaxAllowedInstancesGuard(ClerkProviderBase, "ClerkProvider", multipleClerkProvidersError);
5761
6099
  ClerkProvider.displayName = "ClerkProvider";
5762
- setErrorThrowerOptions({ packageName: "@clerk/clerk-react" });
5763
- setClerkJsLoadingErrorPackageName("@clerk/clerk-react");
6100
+ setErrorThrowerOptions({ packageName: "@clerk/react" });
6101
+ setClerkJsLoadingErrorPackageName("@clerk/react");
5764
6102
 
5765
- // ../shared/dist/runtime/devBrowser-Dm-lbUnV.mjs
6103
+ // ../shared/dist/runtime/devBrowser.mjs
5766
6104
  var DEV_BROWSER_JWT_KEY = "__clerk_db_jwt";
5767
6105
 
5768
6106
  // src/types.ts
@@ -5961,9 +6299,9 @@ var BrowserStorageCache = createBrowserStorageCache();
5961
6299
  var clerk;
5962
6300
  noRhc.Clerk.sdkMetadata = {
5963
6301
  name: "@clerk/chrome-extension",
5964
- version: "2.8.5-canary.v20251121223459"
6302
+ version: "3.0.0-canary-core3.v20251124105058"
5965
6303
  };
5966
- async function createClerkClient({
6304
+ function createClerkClient({
5967
6305
  __experimental_syncHostListener = false,
5968
6306
  publishableKey,
5969
6307
  scope,
@@ -5986,7 +6324,7 @@ async function createClerkClient({
5986
6324
  sync
5987
6325
  });
5988
6326
  const url = syncHost ? syncHost : DEFAULT_LOCAL_HOST_PERMISSION;
5989
- clerk = new noRhc.Clerk(publishableKey);
6327
+ clerk = new noRhc.Clerk(publishableKey, {});
5990
6328
  const jwtOptions = {
5991
6329
  frontendApi: key.frontendApi,
5992
6330
  name: isProd ? CLIENT_JWT_KEY : DEV_BROWSER_JWT_KEY,
@@ -6016,11 +6354,7 @@ function ClerkProvider2(props) {
6016
6354
  const { publishableKey = "" } = props;
6017
6355
  const [clerkInstance, setClerkInstance] = React7__default.default.useState(null);
6018
6356
  React7__default.default.useEffect(() => {
6019
- void (async () => {
6020
- setClerkInstance(
6021
- await createClerkClient({ publishableKey, storageCache, syncHost, __experimental_syncHostListener })
6022
- );
6023
- })();
6357
+ setClerkInstance(createClerkClient({ publishableKey, storageCache, syncHost, __experimental_syncHostListener }));
6024
6358
  }, [publishableKey, storageCache, syncHost, __experimental_syncHostListener]);
6025
6359
  if (!clerkInstance) {
6026
6360
  return null;
@@ -6030,6 +6364,7 @@ function ClerkProvider2(props) {
6030
6364
  {
6031
6365
  ...rest,
6032
6366
  Clerk: clerkInstance,
6367
+ clerkUiCtor: entry.ClerkUi,
6033
6368
  standardBrowser: !syncHost,
6034
6369
  children
6035
6370
  }