@clerk/shared 4.0.0-snapshot.v20251204175016 → 4.0.0-snapshot.v20251211120550
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/runtime/alternativePhoneCode.d.mts +1 -1
- package/dist/runtime/alternativePhoneCode.d.ts +1 -1
- package/dist/runtime/apiUrlFromPublishableKey.d.mts +1 -1
- package/dist/runtime/apiUrlFromPublishableKey.d.ts +1 -1
- package/dist/runtime/authorization-errors.d.mts +1 -1
- package/dist/runtime/authorization-errors.d.ts +1 -1
- package/dist/runtime/authorization.d.mts +1 -1
- package/dist/runtime/authorization.d.ts +1 -1
- package/dist/runtime/clerkEventBus.d.mts +1 -1
- package/dist/runtime/clerkEventBus.d.ts +1 -1
- package/dist/runtime/color.d.mts +1 -1
- package/dist/runtime/color.d.ts +1 -1
- package/dist/runtime/color.d.ts.map +1 -1
- package/dist/runtime/deriveState.d.mts +1 -1
- package/dist/runtime/deriveState.d.ts +1 -1
- package/dist/runtime/{error-D6MGXq-n.mjs → error--xlRIO4Z.mjs} +42 -2
- package/dist/runtime/error--xlRIO4Z.mjs.map +1 -0
- package/dist/runtime/{error-KRW-ECGa.d.mts → error-Bar-OO4s.d.mts} +40 -3
- package/dist/runtime/error-Bar-OO4s.d.mts.map +1 -0
- package/dist/runtime/{error-C4TyorFL.js → error-CJmIhSJi.js} +47 -1
- package/dist/runtime/error-CJmIhSJi.js.map +1 -0
- package/dist/runtime/{error-CwbYlf2s.d.ts → error-Du4UdKtF.d.ts} +40 -3
- package/dist/runtime/error-Du4UdKtF.d.ts.map +1 -0
- package/dist/runtime/error.d.mts +3 -3
- package/dist/runtime/error.d.ts +3 -3
- package/dist/runtime/error.js +2 -1
- package/dist/runtime/error.mjs +2 -2
- package/dist/runtime/{index-ChHWjn_I.d.mts → index-CPEYkfCA.d.mts} +162 -136
- package/dist/runtime/{index-ChHWjn_I.d.mts.map → index-CPEYkfCA.d.mts.map} +1 -1
- package/dist/runtime/{index-046BvqQ_.d.ts → index-D42gIYCP.d.ts} +162 -136
- package/dist/runtime/{index-046BvqQ_.d.ts.map → index-D42gIYCP.d.ts.map} +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/index.mjs.map +1 -1
- package/dist/runtime/internal/clerk-js/completeSignUpFlow.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/completeSignUpFlow.d.ts +1 -1
- package/dist/runtime/internal/clerk-js/componentGuards.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/componentGuards.d.ts +1 -1
- package/dist/runtime/internal/clerk-js/injectedWeb3Providers.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/injectedWeb3Providers.d.ts +1 -1
- package/dist/runtime/internal/clerk-js/organization.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/organization.d.ts +1 -1
- package/dist/runtime/internal/clerk-js/organization.js +1 -1
- package/dist/runtime/internal/clerk-js/organization.js.map +1 -1
- package/dist/runtime/internal/clerk-js/organization.mjs +1 -1
- package/dist/runtime/internal/clerk-js/organization.mjs.map +1 -1
- package/dist/runtime/internal/clerk-js/passkeys.d.mts +2 -2
- package/dist/runtime/internal/clerk-js/passkeys.d.ts +2 -2
- package/dist/runtime/internal/clerk-js/passkeys.js +1 -1
- package/dist/runtime/internal/clerk-js/passkeys.mjs +1 -1
- package/dist/runtime/internal/clerk-js/passwords/complexity.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/passwords/complexity.d.ts +1 -1
- package/dist/runtime/internal/clerk-js/passwords/loadZxcvbn.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/passwords/loadZxcvbn.d.ts +1 -1
- package/dist/runtime/internal/clerk-js/passwords/password.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/passwords/password.d.ts +1 -1
- package/dist/runtime/internal/clerk-js/passwords/strength.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/passwords/strength.d.ts +1 -1
- package/dist/runtime/internal/clerk-js/queryParams.d.mts +2 -2
- package/dist/runtime/internal/clerk-js/queryParams.d.ts +2 -2
- package/dist/runtime/internal/clerk-js/redirectUrls.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/redirectUrls.d.ts +1 -1
- package/dist/runtime/internal/clerk-js/sessionTasks.d.mts +2 -2
- package/dist/runtime/internal/clerk-js/sessionTasks.d.ts +2 -2
- package/dist/runtime/internal/clerk-js/url.d.mts +2 -2
- package/dist/runtime/internal/clerk-js/url.d.ts +2 -2
- package/dist/runtime/internal/clerk-js/user.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/user.d.ts +1 -1
- package/dist/runtime/internal/clerk-js/web3.d.mts +1 -1
- package/dist/runtime/internal/clerk-js/web3.d.ts +1 -1
- package/dist/runtime/jwtPayloadParser.d.mts +1 -1
- package/dist/runtime/jwtPayloadParser.d.ts +1 -1
- package/dist/runtime/keys.d.mts +1 -1
- package/dist/runtime/keys.d.ts +1 -1
- package/dist/runtime/loadClerkJsScript.d.mts +1 -1
- package/dist/runtime/loadClerkJsScript.d.mts.map +1 -1
- package/dist/runtime/loadClerkJsScript.d.ts +1 -1
- package/dist/runtime/loadClerkJsScript.d.ts.map +1 -1
- package/dist/runtime/loadClerkJsScript.js +50 -9
- package/dist/runtime/loadClerkJsScript.js.map +1 -1
- package/dist/runtime/loadClerkJsScript.mjs +50 -9
- package/dist/runtime/loadClerkJsScript.mjs.map +1 -1
- package/dist/runtime/{loadScript-DDWWb733.mjs → loadScript-CHWOPTAN.mjs} +1 -3
- package/dist/runtime/loadScript-CHWOPTAN.mjs.map +1 -0
- package/dist/runtime/{loadScript-B8aSacwz.js → loadScript-CW1MV2O0.js} +1 -3
- package/dist/runtime/loadScript-CW1MV2O0.js.map +1 -0
- package/dist/runtime/loadScript.js +1 -1
- package/dist/runtime/loadScript.mjs +1 -1
- package/dist/runtime/oauth.d.mts +1 -1
- package/dist/runtime/oauth.d.ts +1 -1
- package/dist/runtime/{organization-BzYWUtt4.js → organization-BOnxJJGM.js} +5 -6
- package/dist/runtime/organization-BOnxJJGM.js.map +1 -0
- package/dist/runtime/{organization-JwY1zGRo.mjs → organization-CDNOZNzF.mjs} +5 -6
- package/dist/runtime/organization-CDNOZNzF.mjs.map +1 -0
- package/dist/runtime/organization.d.mts +5 -6
- package/dist/runtime/organization.d.mts.map +1 -1
- package/dist/runtime/organization.d.ts +5 -6
- package/dist/runtime/organization.d.ts.map +1 -1
- package/dist/runtime/organization.js +1 -1
- package/dist/runtime/organization.mjs +1 -1
- package/dist/runtime/pathMatcher.d.mts +1 -1
- package/dist/runtime/pathMatcher.d.ts +1 -1
- package/dist/runtime/poller.d.ts.map +1 -1
- package/dist/runtime/react/index.d.mts +23 -23
- package/dist/runtime/react/index.d.ts +23 -23
- package/dist/runtime/react/index.js +7 -7
- package/dist/runtime/react/index.js.map +1 -1
- package/dist/runtime/react/index.mjs +7 -7
- package/dist/runtime/react/index.mjs.map +1 -1
- package/dist/runtime/router.d.mts +1 -1
- package/dist/runtime/router.d.ts +1 -1
- package/dist/runtime/saml.d.mts +1 -1
- package/dist/runtime/saml.d.ts +1 -1
- package/dist/runtime/telemetry.d.mts +1 -1
- package/dist/runtime/telemetry.d.ts +1 -1
- package/dist/runtime/types/index.d.mts +1 -1
- package/dist/runtime/types/index.d.ts +1 -1
- package/dist/runtime/ui/index.d.mts +1 -1
- package/dist/runtime/ui/index.d.ts +1 -1
- package/dist/runtime/{url-2Vs8oqh-.d.ts → url-B0fryQyT.d.ts} +2 -2
- package/dist/runtime/{url-2Vs8oqh-.d.ts.map → url-B0fryQyT.d.ts.map} +1 -1
- package/dist/runtime/{url-Btmcqq0T.d.mts → url-BXe3Tvsn.d.mts} +2 -2
- package/dist/runtime/{url-Btmcqq0T.d.mts.map → url-BXe3Tvsn.d.mts.map} +1 -1
- package/dist/runtime/{versionSelector-CgdnX7F8.js → versionSelector-BMFwS2IR.js} +3 -3
- package/dist/runtime/{versionSelector-CgdnX7F8.js.map → versionSelector-BMFwS2IR.js.map} +1 -1
- package/dist/runtime/{versionSelector-C99RARtR.mjs → versionSelector-v6LvGO6I.mjs} +3 -3
- package/dist/runtime/{versionSelector-C99RARtR.mjs.map → versionSelector-v6LvGO6I.mjs.map} +1 -1
- package/dist/runtime/versionSelector.js +1 -1
- package/dist/runtime/versionSelector.mjs +1 -1
- package/dist/runtime/web3.d.mts +1 -1
- package/dist/runtime/web3.d.ts +1 -1
- package/dist/types/index.d.mts +161 -135
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.d.ts +161 -135
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +11 -11
- package/dist/runtime/error-C4TyorFL.js.map +0 -1
- package/dist/runtime/error-CwbYlf2s.d.ts.map +0 -1
- package/dist/runtime/error-D6MGXq-n.mjs.map +0 -1
- package/dist/runtime/error-KRW-ECGa.d.mts.map +0 -1
- package/dist/runtime/loadScript-B8aSacwz.js.map +0 -1
- package/dist/runtime/loadScript-DDWWb733.mjs.map +0 -1
- package/dist/runtime/organization-BzYWUtt4.js.map +0 -1
- package/dist/runtime/organization-JwY1zGRo.mjs.map +0 -1
|
@@ -2,13 +2,13 @@ import "./constants-Bp0qtelQ.mjs";
|
|
|
2
2
|
import "./isomorphicAtob-CYR5fxvZ.mjs";
|
|
3
3
|
import "./isomorphicBtoa-Db71q4D6.mjs";
|
|
4
4
|
import { n as createDevOrStagingUrlCache, u as parsePublishableKey } from "./keys-BGyzAyGu.mjs";
|
|
5
|
-
import { b as buildErrorThrower, g as ClerkRuntimeError } from "./error
|
|
5
|
+
import { b as buildErrorThrower, g as ClerkRuntimeError } from "./error--xlRIO4Z.mjs";
|
|
6
6
|
import "./retry-l1_iB-NH.mjs";
|
|
7
|
-
import { t as loadScript } from "./loadScript-
|
|
7
|
+
import { t as loadScript } from "./loadScript-CHWOPTAN.mjs";
|
|
8
8
|
import { i as proxyUrlToAbsoluteURL, r as isValidProxyUrl } from "./proxy-C0HjCApu.mjs";
|
|
9
9
|
import "./instance-DniYMiU-.mjs";
|
|
10
10
|
import { t as addClerkPrefix } from "./url-DasDWsj9.mjs";
|
|
11
|
-
import { n as versionSelector } from "./versionSelector-
|
|
11
|
+
import { n as versionSelector } from "./versionSelector-v6LvGO6I.mjs";
|
|
12
12
|
|
|
13
13
|
//#region src/loadClerkJsScript.ts
|
|
14
14
|
const { isDevOrStagingUrl } = createDevOrStagingUrlCache();
|
|
@@ -26,6 +26,27 @@ function isClerkGlobalProperlyLoaded(prop) {
|
|
|
26
26
|
const isClerkProperlyLoaded = () => isClerkGlobalProperlyLoaded("Clerk");
|
|
27
27
|
const isClerkUiProperlyLoaded = () => isClerkGlobalProperlyLoaded("__internal_ClerkUiCtor");
|
|
28
28
|
/**
|
|
29
|
+
* Checks if an existing script has a request error using Performance API.
|
|
30
|
+
*
|
|
31
|
+
* @param scriptUrl - The URL of the script to check.
|
|
32
|
+
* @returns True if the script has failed to load due to a network/HTTP error.
|
|
33
|
+
*/
|
|
34
|
+
function hasScriptRequestError(scriptUrl) {
|
|
35
|
+
if (typeof window === "undefined" || !window.performance) return false;
|
|
36
|
+
const entries = performance.getEntriesByName(scriptUrl, "resource");
|
|
37
|
+
if (entries.length === 0) return false;
|
|
38
|
+
const scriptEntry = entries[entries.length - 1];
|
|
39
|
+
if (scriptEntry.transferSize === 0 && scriptEntry.decodedBodySize === 0) {
|
|
40
|
+
if (scriptEntry.responseEnd === 0) return true;
|
|
41
|
+
if (scriptEntry.responseEnd > 0 && scriptEntry.responseStart > 0) return true;
|
|
42
|
+
if ("responseStatus" in scriptEntry) {
|
|
43
|
+
if (scriptEntry.responseStatus >= 400) return true;
|
|
44
|
+
if (scriptEntry.responseStatus === 0) return true;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
29
50
|
* Hotloads the Clerk JS script with robust failure detection.
|
|
30
51
|
*
|
|
31
52
|
* Uses a timeout-based approach to ensure absolute certainty about load success/failure.
|
|
@@ -53,13 +74,21 @@ const loadClerkJsScript = async (opts) => {
|
|
|
53
74
|
cause: error
|
|
54
75
|
});
|
|
55
76
|
if (isClerkProperlyLoaded()) return null;
|
|
56
|
-
if (document.querySelector("script[data-clerk-js-script]")) return waitForPredicateWithTimeout(timeout, isClerkProperlyLoaded, rejectWith());
|
|
57
77
|
if (!opts?.publishableKey) {
|
|
58
78
|
errorThrower.throwMissingPublishableKeyError();
|
|
59
79
|
return null;
|
|
60
80
|
}
|
|
81
|
+
const scriptUrl = clerkJsScriptUrl(opts);
|
|
82
|
+
const existingScript = document.querySelector("script[data-clerk-js-script]");
|
|
83
|
+
if (existingScript) if (hasScriptRequestError(scriptUrl)) existingScript.remove();
|
|
84
|
+
else try {
|
|
85
|
+
await waitForPredicateWithTimeout(timeout, isClerkProperlyLoaded, rejectWith(), existingScript);
|
|
86
|
+
return null;
|
|
87
|
+
} catch {
|
|
88
|
+
existingScript.remove();
|
|
89
|
+
}
|
|
61
90
|
const loadPromise = waitForPredicateWithTimeout(timeout, isClerkProperlyLoaded, rejectWith());
|
|
62
|
-
loadScript(
|
|
91
|
+
loadScript(scriptUrl, {
|
|
63
92
|
async: true,
|
|
64
93
|
crossOrigin: "anonymous",
|
|
65
94
|
nonce: opts.nonce,
|
|
@@ -76,13 +105,21 @@ const loadClerkUiScript = async (opts) => {
|
|
|
76
105
|
cause: error
|
|
77
106
|
});
|
|
78
107
|
if (isClerkUiProperlyLoaded()) return null;
|
|
79
|
-
if (document.querySelector("script[data-clerk-ui-script]")) return waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith());
|
|
80
108
|
if (!opts?.publishableKey) {
|
|
81
109
|
errorThrower.throwMissingPublishableKeyError();
|
|
82
110
|
return null;
|
|
83
111
|
}
|
|
112
|
+
const scriptUrl = clerkUiScriptUrl(opts);
|
|
113
|
+
const existingScript = document.querySelector("script[data-clerk-ui-script]");
|
|
114
|
+
if (existingScript) if (hasScriptRequestError(scriptUrl)) existingScript.remove();
|
|
115
|
+
else try {
|
|
116
|
+
await waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith(), existingScript);
|
|
117
|
+
return null;
|
|
118
|
+
} catch {
|
|
119
|
+
existingScript.remove();
|
|
120
|
+
}
|
|
84
121
|
const loadPromise = waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith());
|
|
85
|
-
loadScript(
|
|
122
|
+
loadScript(scriptUrl, {
|
|
86
123
|
async: true,
|
|
87
124
|
crossOrigin: "anonymous",
|
|
88
125
|
nonce: opts.nonce,
|
|
@@ -110,7 +147,7 @@ const clerkUiScriptUrl = (opts) => {
|
|
|
110
147
|
publishableKey,
|
|
111
148
|
proxyUrl,
|
|
112
149
|
domain
|
|
113
|
-
})}/npm/@clerk/ui@${versionSelector(clerkUiVersion)}/dist/ui.browser.js`;
|
|
150
|
+
})}/npm/@clerk/ui@${versionSelector(clerkUiVersion, "1.0.0-snapshot.v20251211120550")}/dist/ui.browser.js`;
|
|
114
151
|
};
|
|
115
152
|
const buildClerkJsScriptAttributes = (options) => {
|
|
116
153
|
const obj = {};
|
|
@@ -132,13 +169,17 @@ const buildScriptHost = (opts) => {
|
|
|
132
169
|
else if (domain && !isDevOrStagingUrl(parsePublishableKey(publishableKey)?.frontendApi || "")) return addClerkPrefix(domain);
|
|
133
170
|
else return parsePublishableKey(publishableKey)?.frontendApi || "";
|
|
134
171
|
};
|
|
135
|
-
function waitForPredicateWithTimeout(timeoutMs, predicate, rejectWith) {
|
|
172
|
+
function waitForPredicateWithTimeout(timeoutMs, predicate, rejectWith, existingScript) {
|
|
136
173
|
return new Promise((resolve, reject) => {
|
|
137
174
|
let resolved = false;
|
|
138
175
|
const cleanup = (timeoutId$1, pollInterval$1) => {
|
|
139
176
|
clearTimeout(timeoutId$1);
|
|
140
177
|
clearInterval(pollInterval$1);
|
|
141
178
|
};
|
|
179
|
+
existingScript?.addEventListener("error", () => {
|
|
180
|
+
cleanup(timeoutId, pollInterval);
|
|
181
|
+
reject(rejectWith);
|
|
182
|
+
});
|
|
142
183
|
const checkAndResolve = () => {
|
|
143
184
|
if (resolved) return;
|
|
144
185
|
if (predicate()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadClerkJsScript.mjs","names":["obj: Record<string, string>","timeoutId","pollInterval"],"sources":["../../src/loadClerkJsScript.ts"],"sourcesContent":["import { buildErrorThrower, ClerkRuntimeError } from './error';\nimport { createDevOrStagingUrlCache, parsePublishableKey } from './keys';\nimport { loadScript } from './loadScript';\nimport { isValidProxyUrl, proxyUrlToAbsoluteURL } from './proxy';\nimport type { SDKMetadata } from './types';\nimport { addClerkPrefix } from './url';\nimport { versionSelector } from './versionSelector';\n\nconst { isDevOrStagingUrl } = createDevOrStagingUrlCache();\n\nconst errorThrower = buildErrorThrower({ packageName: '@clerk/shared' });\n\nexport type LoadClerkJsScriptOptions = {\n publishableKey: string;\n clerkJSUrl?: string;\n clerkJSVariant?: 'headless' | '';\n clerkJSVersion?: string;\n sdkMetadata?: SDKMetadata;\n proxyUrl?: string;\n domain?: string;\n nonce?: string;\n /**\n * Timeout in milliseconds to wait for clerk-js to load before considering it failed.\n *\n * @default 15000 (15 seconds)\n */\n scriptLoadTimeout?: number;\n};\n\nexport type LoadClerkUiScriptOptions = {\n publishableKey: string;\n clerkUiUrl?: string;\n clerkUiVersion?: string;\n proxyUrl?: string;\n domain?: string;\n nonce?: string;\n scriptLoadTimeout?: number;\n};\n\n/**\n * Validates that window.Clerk exists and is properly initialized.\n * This ensures we don't have false positives where the script loads but Clerk is malformed.\n *\n * @returns `true` if window.Clerk exists and has the expected structure with a load method.\n */\nfunction isClerkGlobalProperlyLoaded(prop: 'Clerk' | '__internal_ClerkUiCtor'): boolean {\n if (typeof window === 'undefined' || !(window as any)[prop]) {\n return false;\n }\n\n // Basic validation that window.Clerk has the expected structure\n const val = (window as any)[prop];\n return !!val;\n}\nconst isClerkProperlyLoaded = () => isClerkGlobalProperlyLoaded('Clerk');\nconst isClerkUiProperlyLoaded = () => isClerkGlobalProperlyLoaded('__internal_ClerkUiCtor');\n\n/**\n * Hotloads the Clerk JS script with robust failure detection.\n *\n * Uses a timeout-based approach to ensure absolute certainty about load success/failure.\n * If the script fails to load within the timeout period, or loads but doesn't create\n * a proper Clerk instance, the promise rejects with an error.\n *\n * @param opts - The options used to build the Clerk JS script URL and load the script.\n * Must include a `publishableKey` if no existing script is found.\n * @returns Promise that resolves with null if Clerk loads successfully, or rejects with an error.\n *\n * @example\n * ```typescript\n * try {\n * await loadClerkJsScript({ publishableKey: 'pk_test_...' });\n * console.log('Clerk loaded successfully');\n * } catch (error) {\n * console.error('Failed to load Clerk:', error.message);\n * }\n * ```\n */\nexport const loadClerkJsScript = async (opts?: LoadClerkJsScriptOptions): Promise<HTMLScriptElement | null> => {\n const timeout = opts?.scriptLoadTimeout ?? 15000;\n const rejectWith = (error?: Error) =>\n new ClerkRuntimeError('Failed to load Clerk JS' + (error?.message ? `, ${error.message}` : ''), {\n code: 'failed_to_load_clerk_js',\n cause: error,\n });\n\n if (isClerkProperlyLoaded()) {\n return null;\n }\n\n const existingScript = document.querySelector<HTMLScriptElement>('script[data-clerk-js-script]');\n\n if (existingScript) {\n return waitForPredicateWithTimeout(timeout, isClerkProperlyLoaded, rejectWith());\n }\n\n if (!opts?.publishableKey) {\n errorThrower.throwMissingPublishableKeyError();\n return null;\n }\n\n const loadPromise = waitForPredicateWithTimeout(timeout, isClerkProperlyLoaded, rejectWith());\n\n loadScript(clerkJsScriptUrl(opts), {\n async: true,\n crossOrigin: 'anonymous',\n nonce: opts.nonce,\n beforeLoad: applyAttributesToScript(buildClerkJsScriptAttributes(opts)),\n }).catch(error => {\n throw rejectWith(error);\n });\n\n return loadPromise;\n};\n\nexport const loadClerkUiScript = async (opts?: LoadClerkUiScriptOptions): Promise<HTMLScriptElement | null> => {\n const timeout = opts?.scriptLoadTimeout ?? 15000;\n const rejectWith = (error?: Error) =>\n new ClerkRuntimeError('Failed to load Clerk UI' + (error?.message ? `, ${error.message}` : ''), {\n code: 'failed_to_load_clerk_ui',\n cause: error,\n });\n\n if (isClerkUiProperlyLoaded()) {\n return null;\n }\n\n const existingScript = document.querySelector<HTMLScriptElement>('script[data-clerk-ui-script]');\n\n if (existingScript) {\n return waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith());\n }\n\n if (!opts?.publishableKey) {\n errorThrower.throwMissingPublishableKeyError();\n return null;\n }\n\n const loadPromise = waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith());\n loadScript(clerkUiScriptUrl(opts), {\n async: true,\n crossOrigin: 'anonymous',\n nonce: opts.nonce,\n beforeLoad: applyAttributesToScript(buildClerkUiScriptAttributes(opts)),\n }).catch(error => {\n throw rejectWith(error);\n });\n\n return loadPromise;\n};\n\nexport const clerkJsScriptUrl = (opts: LoadClerkJsScriptOptions) => {\n const { clerkJSUrl, clerkJSVariant, clerkJSVersion, proxyUrl, domain, publishableKey } = opts;\n\n if (clerkJSUrl) {\n return clerkJSUrl;\n }\n\n const scriptHost = buildScriptHost({ publishableKey, proxyUrl, domain });\n const variant = clerkJSVariant ? `${clerkJSVariant.replace(/\\.+$/, '')}.` : '';\n const version = versionSelector(clerkJSVersion);\n return `https://${scriptHost}/npm/@clerk/clerk-js@${version}/dist/clerk.${variant}browser.js`;\n};\n\nexport const clerkUiScriptUrl = (opts: LoadClerkUiScriptOptions) => {\n const { clerkUiUrl, clerkUiVersion, proxyUrl, domain, publishableKey } = opts;\n\n if (clerkUiUrl) {\n return clerkUiUrl;\n }\n\n const scriptHost = buildScriptHost({ publishableKey, proxyUrl, domain });\n const version = versionSelector(clerkUiVersion);\n return `https://${scriptHost}/npm/@clerk/ui@${version}/dist/ui.browser.js`;\n};\n\nexport const buildClerkJsScriptAttributes = (options: LoadClerkJsScriptOptions) => {\n const obj: Record<string, string> = {};\n\n if (options.publishableKey) {\n obj['data-clerk-publishable-key'] = options.publishableKey;\n }\n\n if (options.proxyUrl) {\n obj['data-clerk-proxy-url'] = options.proxyUrl;\n }\n\n if (options.domain) {\n obj['data-clerk-domain'] = options.domain;\n }\n\n if (options.nonce) {\n obj.nonce = options.nonce;\n }\n\n return obj;\n};\n\nexport const buildClerkUiScriptAttributes = (options: LoadClerkUiScriptOptions) => {\n // TODO @nikos do we need this?\n return buildClerkJsScriptAttributes(options);\n};\n\nconst applyAttributesToScript = (attributes: Record<string, string>) => (script: HTMLScriptElement) => {\n for (const attribute in attributes) {\n script.setAttribute(attribute, attributes[attribute]);\n }\n};\n\nexport const buildScriptHost = (opts: { publishableKey: string; proxyUrl?: string; domain?: string }) => {\n const { proxyUrl, domain, publishableKey } = opts;\n\n if (!!proxyUrl && isValidProxyUrl(proxyUrl)) {\n return proxyUrlToAbsoluteURL(proxyUrl).replace(/http(s)?:\\/\\//, '');\n } else if (domain && !isDevOrStagingUrl(parsePublishableKey(publishableKey)?.frontendApi || '')) {\n return addClerkPrefix(domain);\n } else {\n return parsePublishableKey(publishableKey)?.frontendApi || '';\n }\n};\n\nfunction waitForPredicateWithTimeout(\n timeoutMs: number,\n predicate: () => boolean,\n rejectWith: Error,\n): Promise<HTMLScriptElement | null> {\n return new Promise((resolve, reject) => {\n let resolved = false;\n\n const cleanup = (timeoutId: ReturnType<typeof setTimeout>, pollInterval: ReturnType<typeof setInterval>) => {\n clearTimeout(timeoutId);\n clearInterval(pollInterval);\n };\n\n const checkAndResolve = () => {\n if (resolved) {\n return;\n }\n\n if (predicate()) {\n resolved = true;\n cleanup(timeoutId, pollInterval);\n resolve(null);\n }\n };\n\n const handleTimeout = () => {\n if (resolved) {\n return;\n }\n\n resolved = true;\n cleanup(timeoutId, pollInterval);\n\n if (!predicate()) {\n reject(rejectWith);\n } else {\n resolve(null);\n }\n };\n\n const timeoutId = setTimeout(handleTimeout, timeoutMs);\n\n checkAndResolve();\n\n const pollInterval = setInterval(() => {\n if (resolved) {\n clearInterval(pollInterval);\n return;\n }\n checkAndResolve();\n }, 100);\n });\n}\n\nexport function setClerkJsLoadingErrorPackageName(packageName: string) {\n errorThrower.setPackageName({ packageName });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loadClerkJsScript.mjs","names":["obj: Record<string, string>","timeoutId","pollInterval"],"sources":["../../src/loadClerkJsScript.ts"],"sourcesContent":["import { buildErrorThrower, ClerkRuntimeError } from './error';\nimport { createDevOrStagingUrlCache, parsePublishableKey } from './keys';\nimport { loadScript } from './loadScript';\nimport { isValidProxyUrl, proxyUrlToAbsoluteURL } from './proxy';\nimport type { SDKMetadata } from './types';\nimport { addClerkPrefix } from './url';\nimport { versionSelector } from './versionSelector';\n\nconst { isDevOrStagingUrl } = createDevOrStagingUrlCache();\n\nconst errorThrower = buildErrorThrower({ packageName: '@clerk/shared' });\n\nexport type LoadClerkJsScriptOptions = {\n publishableKey: string;\n clerkJSUrl?: string;\n clerkJSVariant?: 'headless' | '';\n clerkJSVersion?: string;\n sdkMetadata?: SDKMetadata;\n proxyUrl?: string;\n domain?: string;\n nonce?: string;\n /**\n * Timeout in milliseconds to wait for clerk-js to load before considering it failed.\n *\n * @default 15000 (15 seconds)\n */\n scriptLoadTimeout?: number;\n};\n\nexport type LoadClerkUiScriptOptions = {\n publishableKey: string;\n clerkUiUrl?: string;\n clerkUiVersion?: string;\n proxyUrl?: string;\n domain?: string;\n nonce?: string;\n scriptLoadTimeout?: number;\n};\n\n/**\n * Validates that window.Clerk exists and is properly initialized.\n * This ensures we don't have false positives where the script loads but Clerk is malformed.\n *\n * @returns `true` if window.Clerk exists and has the expected structure with a load method.\n */\nfunction isClerkGlobalProperlyLoaded(prop: 'Clerk' | '__internal_ClerkUiCtor'): boolean {\n if (typeof window === 'undefined' || !(window as any)[prop]) {\n return false;\n }\n\n // Basic validation that window.Clerk has the expected structure\n const val = (window as any)[prop];\n return !!val;\n}\nconst isClerkProperlyLoaded = () => isClerkGlobalProperlyLoaded('Clerk');\nconst isClerkUiProperlyLoaded = () => isClerkGlobalProperlyLoaded('__internal_ClerkUiCtor');\n\n/**\n * Checks if an existing script has a request error using Performance API.\n *\n * @param scriptUrl - The URL of the script to check.\n * @returns True if the script has failed to load due to a network/HTTP error.\n */\nfunction hasScriptRequestError(scriptUrl: string): boolean {\n if (typeof window === 'undefined' || !window.performance) {\n return false;\n }\n\n const entries = performance.getEntriesByName(scriptUrl, 'resource') as PerformanceResourceTiming[];\n\n if (entries.length === 0) {\n return false;\n }\n\n const scriptEntry = entries[entries.length - 1];\n\n // transferSize === 0 with responseEnd === 0 indicates network failure\n // transferSize === 0 with responseEnd > 0 might be a 4xx/5xx error or blocked request\n if (scriptEntry.transferSize === 0 && scriptEntry.decodedBodySize === 0) {\n // If there was no response at all, it's definitely an error\n if (scriptEntry.responseEnd === 0) {\n return true;\n }\n // If we got a response but no content, likely an HTTP error (4xx/5xx)\n if (scriptEntry.responseEnd > 0 && scriptEntry.responseStart > 0) {\n return true;\n }\n\n if ('responseStatus' in scriptEntry) {\n const status = (scriptEntry as any).responseStatus;\n if (status >= 400) {\n return true;\n }\n if (scriptEntry.responseStatus === 0) {\n return true;\n }\n }\n }\n\n return false;\n}\n\n/**\n * Hotloads the Clerk JS script with robust failure detection.\n *\n * Uses a timeout-based approach to ensure absolute certainty about load success/failure.\n * If the script fails to load within the timeout period, or loads but doesn't create\n * a proper Clerk instance, the promise rejects with an error.\n *\n * @param opts - The options used to build the Clerk JS script URL and load the script.\n * Must include a `publishableKey` if no existing script is found.\n * @returns Promise that resolves with null if Clerk loads successfully, or rejects with an error.\n *\n * @example\n * ```typescript\n * try {\n * await loadClerkJsScript({ publishableKey: 'pk_test_...' });\n * console.log('Clerk loaded successfully');\n * } catch (error) {\n * console.error('Failed to load Clerk:', error.message);\n * }\n * ```\n */\nexport const loadClerkJsScript = async (opts?: LoadClerkJsScriptOptions): Promise<HTMLScriptElement | null> => {\n const timeout = opts?.scriptLoadTimeout ?? 15000;\n const rejectWith = (error?: Error) =>\n new ClerkRuntimeError('Failed to load Clerk JS' + (error?.message ? `, ${error.message}` : ''), {\n code: 'failed_to_load_clerk_js',\n cause: error,\n });\n\n if (isClerkProperlyLoaded()) {\n return null;\n }\n\n if (!opts?.publishableKey) {\n errorThrower.throwMissingPublishableKeyError();\n return null;\n }\n\n const scriptUrl = clerkJsScriptUrl(opts);\n const existingScript = document.querySelector<HTMLScriptElement>('script[data-clerk-js-script]');\n\n if (existingScript) {\n if (hasScriptRequestError(scriptUrl)) {\n existingScript.remove();\n } else {\n try {\n await waitForPredicateWithTimeout(timeout, isClerkProperlyLoaded, rejectWith(), existingScript);\n return null;\n } catch {\n existingScript.remove();\n }\n }\n }\n\n const loadPromise = waitForPredicateWithTimeout(timeout, isClerkProperlyLoaded, rejectWith());\n\n loadScript(scriptUrl, {\n async: true,\n crossOrigin: 'anonymous',\n nonce: opts.nonce,\n beforeLoad: applyAttributesToScript(buildClerkJsScriptAttributes(opts)),\n }).catch(error => {\n throw rejectWith(error);\n });\n\n return loadPromise;\n};\n\nexport const loadClerkUiScript = async (opts?: LoadClerkUiScriptOptions): Promise<HTMLScriptElement | null> => {\n const timeout = opts?.scriptLoadTimeout ?? 15000;\n const rejectWith = (error?: Error) =>\n new ClerkRuntimeError('Failed to load Clerk UI' + (error?.message ? `, ${error.message}` : ''), {\n code: 'failed_to_load_clerk_ui',\n cause: error,\n });\n\n if (isClerkUiProperlyLoaded()) {\n return null;\n }\n\n if (!opts?.publishableKey) {\n errorThrower.throwMissingPublishableKeyError();\n return null;\n }\n\n const scriptUrl = clerkUiScriptUrl(opts);\n const existingScript = document.querySelector<HTMLScriptElement>('script[data-clerk-ui-script]');\n\n if (existingScript) {\n if (hasScriptRequestError(scriptUrl)) {\n existingScript.remove();\n } else {\n try {\n await waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith(), existingScript);\n return null;\n } catch {\n existingScript.remove();\n }\n }\n }\n\n const loadPromise = waitForPredicateWithTimeout(timeout, isClerkUiProperlyLoaded, rejectWith());\n\n loadScript(scriptUrl, {\n async: true,\n crossOrigin: 'anonymous',\n nonce: opts.nonce,\n beforeLoad: applyAttributesToScript(buildClerkUiScriptAttributes(opts)),\n }).catch(error => {\n throw rejectWith(error);\n });\n\n return loadPromise;\n};\n\nexport const clerkJsScriptUrl = (opts: LoadClerkJsScriptOptions) => {\n const { clerkJSUrl, clerkJSVariant, clerkJSVersion, proxyUrl, domain, publishableKey } = opts;\n\n if (clerkJSUrl) {\n return clerkJSUrl;\n }\n\n const scriptHost = buildScriptHost({ publishableKey, proxyUrl, domain });\n const variant = clerkJSVariant ? `${clerkJSVariant.replace(/\\.+$/, '')}.` : '';\n const version = versionSelector(clerkJSVersion);\n return `https://${scriptHost}/npm/@clerk/clerk-js@${version}/dist/clerk.${variant}browser.js`;\n};\n\nexport const clerkUiScriptUrl = (opts: LoadClerkUiScriptOptions) => {\n const { clerkUiUrl, clerkUiVersion, proxyUrl, domain, publishableKey } = opts;\n\n if (clerkUiUrl) {\n return clerkUiUrl;\n }\n\n const scriptHost = buildScriptHost({ publishableKey, proxyUrl, domain });\n const version = versionSelector(clerkUiVersion, UI_PACKAGE_VERSION);\n return `https://${scriptHost}/npm/@clerk/ui@${version}/dist/ui.browser.js`;\n};\n\nexport const buildClerkJsScriptAttributes = (options: LoadClerkJsScriptOptions) => {\n const obj: Record<string, string> = {};\n\n if (options.publishableKey) {\n obj['data-clerk-publishable-key'] = options.publishableKey;\n }\n\n if (options.proxyUrl) {\n obj['data-clerk-proxy-url'] = options.proxyUrl;\n }\n\n if (options.domain) {\n obj['data-clerk-domain'] = options.domain;\n }\n\n if (options.nonce) {\n obj.nonce = options.nonce;\n }\n\n return obj;\n};\n\nexport const buildClerkUiScriptAttributes = (options: LoadClerkUiScriptOptions) => {\n // TODO @nikos do we need this?\n return buildClerkJsScriptAttributes(options);\n};\n\nconst applyAttributesToScript = (attributes: Record<string, string>) => (script: HTMLScriptElement) => {\n for (const attribute in attributes) {\n script.setAttribute(attribute, attributes[attribute]);\n }\n};\n\nexport const buildScriptHost = (opts: { publishableKey: string; proxyUrl?: string; domain?: string }) => {\n const { proxyUrl, domain, publishableKey } = opts;\n\n if (!!proxyUrl && isValidProxyUrl(proxyUrl)) {\n return proxyUrlToAbsoluteURL(proxyUrl).replace(/http(s)?:\\/\\//, '');\n } else if (domain && !isDevOrStagingUrl(parsePublishableKey(publishableKey)?.frontendApi || '')) {\n return addClerkPrefix(domain);\n } else {\n return parsePublishableKey(publishableKey)?.frontendApi || '';\n }\n};\n\nfunction waitForPredicateWithTimeout(\n timeoutMs: number,\n predicate: () => boolean,\n rejectWith: Error,\n existingScript?: HTMLScriptElement,\n): Promise<HTMLScriptElement | null> {\n return new Promise((resolve, reject) => {\n let resolved = false;\n\n const cleanup = (timeoutId: ReturnType<typeof setTimeout>, pollInterval: ReturnType<typeof setInterval>) => {\n clearTimeout(timeoutId);\n clearInterval(pollInterval);\n };\n\n // Bail out early if the script fails to load, instead of waiting for the entire timeout\n existingScript?.addEventListener('error', () => {\n cleanup(timeoutId, pollInterval);\n reject(rejectWith);\n });\n\n const checkAndResolve = () => {\n if (resolved) {\n return;\n }\n\n if (predicate()) {\n resolved = true;\n cleanup(timeoutId, pollInterval);\n resolve(null);\n }\n };\n\n const handleTimeout = () => {\n if (resolved) {\n return;\n }\n\n resolved = true;\n cleanup(timeoutId, pollInterval);\n\n if (!predicate()) {\n reject(rejectWith);\n } else {\n resolve(null);\n }\n };\n\n const timeoutId = setTimeout(handleTimeout, timeoutMs);\n\n checkAndResolve();\n\n const pollInterval = setInterval(() => {\n if (resolved) {\n clearInterval(pollInterval);\n return;\n }\n checkAndResolve();\n }, 100);\n });\n}\n\nexport function setClerkJsLoadingErrorPackageName(packageName: string) {\n errorThrower.setPackageName({ packageName });\n}\n"],"mappings":"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"}
|
|
@@ -17,7 +17,6 @@ async function loadScript(src = "", opts) {
|
|
|
17
17
|
script.async = async || false;
|
|
18
18
|
script.defer = defer || false;
|
|
19
19
|
script.addEventListener("load", () => {
|
|
20
|
-
console.log("this loaded ", src);
|
|
21
20
|
script.remove();
|
|
22
21
|
resolve(script);
|
|
23
22
|
});
|
|
@@ -32,11 +31,10 @@ async function loadScript(src = "", opts) {
|
|
|
32
31
|
});
|
|
33
32
|
};
|
|
34
33
|
return retry(load, { shouldRetry: (_, iterations) => {
|
|
35
|
-
console.log("nikos 3", _, iterations);
|
|
36
34
|
return iterations <= 5;
|
|
37
35
|
} });
|
|
38
36
|
}
|
|
39
37
|
|
|
40
38
|
//#endregion
|
|
41
39
|
export { loadScript as t };
|
|
42
|
-
//# sourceMappingURL=loadScript-
|
|
40
|
+
//# sourceMappingURL=loadScript-CHWOPTAN.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadScript-CHWOPTAN.mjs","names":[],"sources":["../../src/loadScript.ts"],"sourcesContent":["import { retry } from './retry';\n\nconst NO_DOCUMENT_ERROR = 'loadScript cannot be called when document does not exist';\nconst NO_SRC_ERROR = 'loadScript cannot be called without a src';\n\ntype LoadScriptOptions = {\n async?: boolean;\n defer?: boolean;\n crossOrigin?: 'anonymous' | 'use-credentials';\n nonce?: string;\n beforeLoad?: (script: HTMLScriptElement) => void;\n};\n\n/**\n *\n */\nexport async function loadScript(src = '', opts: LoadScriptOptions): Promise<HTMLScriptElement> {\n const { async, defer, beforeLoad, crossOrigin, nonce } = opts || {};\n\n const load = () => {\n return new Promise<HTMLScriptElement>((resolve, reject) => {\n if (!src) {\n reject(new Error(NO_SRC_ERROR));\n }\n\n if (!document || !document.body) {\n reject(new Error(NO_DOCUMENT_ERROR));\n }\n\n const script = document.createElement('script');\n\n if (crossOrigin) {\n script.setAttribute('crossorigin', crossOrigin);\n }\n script.async = async || false;\n script.defer = defer || false;\n\n script.addEventListener('load', () => {\n script.remove();\n resolve(script);\n });\n\n script.addEventListener('error', event => {\n script.remove();\n reject(event.error ?? new Error(`failed to load script: ${src}`));\n });\n\n script.src = src;\n script.nonce = nonce;\n beforeLoad?.(script);\n document.body.appendChild(script);\n });\n };\n\n return retry(load, {\n shouldRetry: (_, iterations) => {\n return iterations <= 5;\n },\n });\n}\n"],"mappings":";;;AAEA,MAAM,oBAAoB;AAC1B,MAAM,eAAe;;;;AAarB,eAAsB,WAAW,MAAM,IAAI,MAAqD;CAC9F,MAAM,EAAE,OAAO,OAAO,YAAY,aAAa,UAAU,QAAQ,EAAE;CAEnE,MAAM,aAAa;AACjB,SAAO,IAAI,SAA4B,SAAS,WAAW;AACzD,OAAI,CAAC,IACH,QAAO,IAAI,MAAM,aAAa,CAAC;AAGjC,OAAI,CAAC,YAAY,CAAC,SAAS,KACzB,QAAO,IAAI,MAAM,kBAAkB,CAAC;GAGtC,MAAM,SAAS,SAAS,cAAc,SAAS;AAE/C,OAAI,YACF,QAAO,aAAa,eAAe,YAAY;AAEjD,UAAO,QAAQ,SAAS;AACxB,UAAO,QAAQ,SAAS;AAExB,UAAO,iBAAiB,cAAc;AACpC,WAAO,QAAQ;AACf,YAAQ,OAAO;KACf;AAEF,UAAO,iBAAiB,UAAS,UAAS;AACxC,WAAO,QAAQ;AACf,WAAO,MAAM,yBAAS,IAAI,MAAM,0BAA0B,MAAM,CAAC;KACjE;AAEF,UAAO,MAAM;AACb,UAAO,QAAQ;AACf,gBAAa,OAAO;AACpB,YAAS,KAAK,YAAY,OAAO;IACjC;;AAGJ,QAAO,MAAM,MAAM,EACjB,cAAc,GAAG,eAAe;AAC9B,SAAO,cAAc;IAExB,CAAC"}
|
|
@@ -17,7 +17,6 @@ async function loadScript(src = "", opts) {
|
|
|
17
17
|
script.async = async || false;
|
|
18
18
|
script.defer = defer || false;
|
|
19
19
|
script.addEventListener("load", () => {
|
|
20
|
-
console.log("this loaded ", src);
|
|
21
20
|
script.remove();
|
|
22
21
|
resolve(script);
|
|
23
22
|
});
|
|
@@ -32,7 +31,6 @@ async function loadScript(src = "", opts) {
|
|
|
32
31
|
});
|
|
33
32
|
};
|
|
34
33
|
return require_retry.retry(load, { shouldRetry: (_, iterations) => {
|
|
35
|
-
console.log("nikos 3", _, iterations);
|
|
36
34
|
return iterations <= 5;
|
|
37
35
|
} });
|
|
38
36
|
}
|
|
@@ -44,4 +42,4 @@ Object.defineProperty(exports, 'loadScript', {
|
|
|
44
42
|
return loadScript;
|
|
45
43
|
}
|
|
46
44
|
});
|
|
47
|
-
//# sourceMappingURL=loadScript-
|
|
45
|
+
//# sourceMappingURL=loadScript-CW1MV2O0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadScript-CW1MV2O0.js","names":["retry"],"sources":["../../src/loadScript.ts"],"sourcesContent":["import { retry } from './retry';\n\nconst NO_DOCUMENT_ERROR = 'loadScript cannot be called when document does not exist';\nconst NO_SRC_ERROR = 'loadScript cannot be called without a src';\n\ntype LoadScriptOptions = {\n async?: boolean;\n defer?: boolean;\n crossOrigin?: 'anonymous' | 'use-credentials';\n nonce?: string;\n beforeLoad?: (script: HTMLScriptElement) => void;\n};\n\n/**\n *\n */\nexport async function loadScript(src = '', opts: LoadScriptOptions): Promise<HTMLScriptElement> {\n const { async, defer, beforeLoad, crossOrigin, nonce } = opts || {};\n\n const load = () => {\n return new Promise<HTMLScriptElement>((resolve, reject) => {\n if (!src) {\n reject(new Error(NO_SRC_ERROR));\n }\n\n if (!document || !document.body) {\n reject(new Error(NO_DOCUMENT_ERROR));\n }\n\n const script = document.createElement('script');\n\n if (crossOrigin) {\n script.setAttribute('crossorigin', crossOrigin);\n }\n script.async = async || false;\n script.defer = defer || false;\n\n script.addEventListener('load', () => {\n script.remove();\n resolve(script);\n });\n\n script.addEventListener('error', event => {\n script.remove();\n reject(event.error ?? new Error(`failed to load script: ${src}`));\n });\n\n script.src = src;\n script.nonce = nonce;\n beforeLoad?.(script);\n document.body.appendChild(script);\n });\n };\n\n return retry(load, {\n shouldRetry: (_, iterations) => {\n return iterations <= 5;\n },\n });\n}\n"],"mappings":";;;AAEA,MAAM,oBAAoB;AAC1B,MAAM,eAAe;;;;AAarB,eAAsB,WAAW,MAAM,IAAI,MAAqD;CAC9F,MAAM,EAAE,OAAO,OAAO,YAAY,aAAa,UAAU,QAAQ,EAAE;CAEnE,MAAM,aAAa;AACjB,SAAO,IAAI,SAA4B,SAAS,WAAW;AACzD,OAAI,CAAC,IACH,QAAO,IAAI,MAAM,aAAa,CAAC;AAGjC,OAAI,CAAC,YAAY,CAAC,SAAS,KACzB,QAAO,IAAI,MAAM,kBAAkB,CAAC;GAGtC,MAAM,SAAS,SAAS,cAAc,SAAS;AAE/C,OAAI,YACF,QAAO,aAAa,eAAe,YAAY;AAEjD,UAAO,QAAQ,SAAS;AACxB,UAAO,QAAQ,SAAS;AAExB,UAAO,iBAAiB,cAAc;AACpC,WAAO,QAAQ;AACf,YAAQ,OAAO;KACf;AAEF,UAAO,iBAAiB,UAAS,UAAS;AACxC,WAAO,QAAQ;AACf,WAAO,MAAM,yBAAS,IAAI,MAAM,0BAA0B,MAAM,CAAC;KACjE;AAEF,UAAO,MAAM;AACb,UAAO,QAAQ;AACf,gBAAa,OAAO;AACpB,YAAS,KAAK,YAAY,OAAO;IACjC;;AAGJ,QAAOA,oBAAM,MAAM,EACjB,cAAc,GAAG,eAAe;AAC9B,SAAO,cAAc;IAExB,CAAC"}
|
package/dist/runtime/oauth.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ad as OAuthProviderData, id as OAuthProvider, xu as OAuthStrategy } from "./index-
|
|
1
|
+
import { ad as OAuthProviderData, id as OAuthProvider, xu as OAuthStrategy } from "./index-CPEYkfCA.mjs";
|
|
2
2
|
import "./moduleManager-pxNnXwxv.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/oauth.d.ts
|
package/dist/runtime/oauth.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ad as OAuthProviderData, id as OAuthProvider, xu as OAuthStrategy } from "./index-
|
|
1
|
+
import { ad as OAuthProviderData, id as OAuthProvider, xu as OAuthStrategy } from "./index-D42gIYCP.js";
|
|
2
2
|
import "./moduleManager-WB15hU3T.js";
|
|
3
3
|
|
|
4
4
|
//#region src/oauth.d.ts
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
|
|
2
2
|
//#region src/organization.ts
|
|
3
3
|
/**
|
|
4
|
-
* Finds the
|
|
5
|
-
*
|
|
6
|
-
* @param
|
|
7
|
-
* @
|
|
8
|
-
* @returns The matching organization membership or undefined if not found
|
|
4
|
+
* Finds the Organization membership for a given Organization ID from a list of memberships
|
|
5
|
+
* @param organizationMemberships - Array of Organization memberships to search through
|
|
6
|
+
* @param organizationId - ID of the Organization to find the membership for
|
|
7
|
+
* @returns The matching Organization membership or undefined if not found
|
|
9
8
|
*/
|
|
10
9
|
function getCurrentOrganizationMembership(organizationMemberships, organizationId) {
|
|
11
10
|
return organizationMemberships.find((organizationMembership) => organizationMembership.organization.id === organizationId);
|
|
@@ -18,4 +17,4 @@ Object.defineProperty(exports, 'getCurrentOrganizationMembership', {
|
|
|
18
17
|
return getCurrentOrganizationMembership;
|
|
19
18
|
}
|
|
20
19
|
});
|
|
21
|
-
//# sourceMappingURL=organization-
|
|
20
|
+
//# sourceMappingURL=organization-BOnxJJGM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization-BOnxJJGM.js","names":[],"sources":["../../src/organization.ts"],"sourcesContent":["import type { OrganizationMembershipResource } from './types';\n\n/**\n * Finds the Organization membership for a given Organization ID from a list of memberships\n * @param organizationMemberships - Array of Organization memberships to search through\n * @param organizationId - ID of the Organization to find the membership for\n * @returns The matching Organization membership or undefined if not found\n */\nexport function getCurrentOrganizationMembership(\n organizationMemberships: OrganizationMembershipResource[],\n organizationId: string,\n) {\n return organizationMemberships.find(\n organizationMembership => organizationMembership.organization.id === organizationId,\n );\n}\n"],"mappings":";;;;;;;;AAQA,SAAgB,iCACd,yBACA,gBACA;AACA,QAAO,wBAAwB,MAC7B,2BAA0B,uBAAuB,aAAa,OAAO,eACtE"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
//#region src/organization.ts
|
|
2
2
|
/**
|
|
3
|
-
* Finds the
|
|
4
|
-
*
|
|
5
|
-
* @param
|
|
6
|
-
* @
|
|
7
|
-
* @returns The matching organization membership or undefined if not found
|
|
3
|
+
* Finds the Organization membership for a given Organization ID from a list of memberships
|
|
4
|
+
* @param organizationMemberships - Array of Organization memberships to search through
|
|
5
|
+
* @param organizationId - ID of the Organization to find the membership for
|
|
6
|
+
* @returns The matching Organization membership or undefined if not found
|
|
8
7
|
*/
|
|
9
8
|
function getCurrentOrganizationMembership(organizationMemberships, organizationId) {
|
|
10
9
|
return organizationMemberships.find((organizationMembership) => organizationMembership.organization.id === organizationId);
|
|
@@ -12,4 +11,4 @@ function getCurrentOrganizationMembership(organizationMemberships, organizationI
|
|
|
12
11
|
|
|
13
12
|
//#endregion
|
|
14
13
|
export { getCurrentOrganizationMembership as t };
|
|
15
|
-
//# sourceMappingURL=organization-
|
|
14
|
+
//# sourceMappingURL=organization-CDNOZNzF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization-CDNOZNzF.mjs","names":[],"sources":["../../src/organization.ts"],"sourcesContent":["import type { OrganizationMembershipResource } from './types';\n\n/**\n * Finds the Organization membership for a given Organization ID from a list of memberships\n * @param organizationMemberships - Array of Organization memberships to search through\n * @param organizationId - ID of the Organization to find the membership for\n * @returns The matching Organization membership or undefined if not found\n */\nexport function getCurrentOrganizationMembership(\n organizationMemberships: OrganizationMembershipResource[],\n organizationId: string,\n) {\n return organizationMemberships.find(\n organizationMembership => organizationMembership.organization.id === organizationId,\n );\n}\n"],"mappings":";;;;;;;AAQA,SAAgB,iCACd,yBACA,gBACA;AACA,QAAO,wBAAwB,MAC7B,2BAA0B,uBAAuB,aAAa,OAAO,eACtE"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { $i as OrganizationMembershipResource } from "./index-
|
|
1
|
+
import { $i as OrganizationMembershipResource } from "./index-CPEYkfCA.mjs";
|
|
2
2
|
import "./moduleManager-pxNnXwxv.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/organization.d.ts
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Finds the
|
|
8
|
-
*
|
|
9
|
-
* @param
|
|
10
|
-
* @
|
|
11
|
-
* @returns The matching organization membership or undefined if not found
|
|
7
|
+
* Finds the Organization membership for a given Organization ID from a list of memberships
|
|
8
|
+
* @param organizationMemberships - Array of Organization memberships to search through
|
|
9
|
+
* @param organizationId - ID of the Organization to find the membership for
|
|
10
|
+
* @returns The matching Organization membership or undefined if not found
|
|
12
11
|
*/
|
|
13
12
|
declare function getCurrentOrganizationMembership(organizationMemberships: OrganizationMembershipResource[], organizationId: string): OrganizationMembershipResource | undefined;
|
|
14
13
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.d.mts","names":[],"sources":["../../src/organization.ts"],"sourcesContent":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"organization.d.mts","names":[],"sources":["../../src/organization.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAQA;;;iBAAgB,gCAAA,0BACW,2DACH"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { $i as OrganizationMembershipResource } from "./index-
|
|
1
|
+
import { $i as OrganizationMembershipResource } from "./index-D42gIYCP.js";
|
|
2
2
|
import "./moduleManager-WB15hU3T.js";
|
|
3
3
|
|
|
4
4
|
//#region src/organization.d.ts
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Finds the
|
|
8
|
-
*
|
|
9
|
-
* @param
|
|
10
|
-
* @
|
|
11
|
-
* @returns The matching organization membership or undefined if not found
|
|
7
|
+
* Finds the Organization membership for a given Organization ID from a list of memberships
|
|
8
|
+
* @param organizationMemberships - Array of Organization memberships to search through
|
|
9
|
+
* @param organizationId - ID of the Organization to find the membership for
|
|
10
|
+
* @returns The matching Organization membership or undefined if not found
|
|
12
11
|
*/
|
|
13
12
|
declare function getCurrentOrganizationMembership(organizationMemberships: OrganizationMembershipResource[], organizationId: string): OrganizationMembershipResource | undefined;
|
|
14
13
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.d.ts","names":[],"sources":["../../src/organization.ts"],"sourcesContent":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"organization.d.ts","names":[],"sources":["../../src/organization.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAQA;;;iBAAgB,gCAAA,0BACW,2DACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poller.d.ts","names":[],"sources":["../../src/poller.ts"],"sourcesContent":[],"mappings":";KAEY,UAAA;AAAA,KACA,cAAA,GADU,CAAA,IAAA,EACc,UADd,EAAA,GAC6B,OAD7B,CAAA,OAAA,CAAA;AACV,KACA,SAAA,GADc,CAAA,EAAA,EACG,cADO,
|
|
1
|
+
{"version":3,"file":"poller.d.ts","names":[],"sources":["../../src/poller.ts"],"sourcesContent":[],"mappings":";KAEY,UAAA;AAAA,KACA,cAAA,GADU,CAAA,IAAA,EACc,UADd,EAAA,GAC6B,OAD7B,CAAA,OAAA,CAAA;AACV,KACA,SAAA,GADc,CAAA,EAAA,EACG,cADO,EAAA,GACY,OADU,CAAA,IAAA,CAAA;AAC1D,KAEK,aAAA,GAFgB;EAEhB,SAAA,EAAA,MAAa;AAIlB,CAAA;AAQgB,KARJ,MAAA,GAQU;EAAG,GAAA,EAPlB,SAOkB;EAAa,IAAA,EAN9B,UAM8B;CAAsC;;;;iBAA5D,MAAA;;IAAsB,gBAAsC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $ as GetAPIKeysParams, $i as OrganizationMembershipResource, Ao as SessionVerificationLevel, Dd as BillingPaymentMethodResource, Fo as OrganizationInvitationResource, Gn as ClientResource, H as ClerkOptions, Ha as SignedInSessionResource, Hd as CheckoutFlowResource, Ja as GetUserOrganizationInvitationsParams, L as CheckoutSignalValue, Ld as BillingSubscriptionPlanPeriod, Mf as ClerkAPIResponseError, Nd as BillingStatementResource, Rd as BillingSubscriptionResource, T as APIKeyResource, X as CreateOrganizationParams, Xa as GetUserOrganizationSuggestionsParams, Ya as GetUserOrganizationMembershipParams, aa as GetDomainsParams, ca as GetMembershipRequestParams, g as UseSessionReturn, h as UseSessionListReturn, jd as BillingPlanResource, kd as BillingPaymentResource, lt as LoadedClerk, oa as GetInvitationsParams, pa as OrganizationResource, qd as ForPayerType, ro as UserOrganizationInvitationResource, ru as OrganizationDomainResource, sa as GetMembersParams, to as UserResource, ul as ClerkAPIResponseError$1, uo as OrganizationSuggestionResource, vd as BillingCheckoutResource, xf as ClerkPaginatedResponse, xt as SetActive, y as UseUserReturn, ya as OrganizationMembershipRequestResource } from "../index-
|
|
1
|
+
import { $ as GetAPIKeysParams, $i as OrganizationMembershipResource, Ao as SessionVerificationLevel, Dd as BillingPaymentMethodResource, Fo as OrganizationInvitationResource, Gn as ClientResource, H as ClerkOptions, Ha as SignedInSessionResource, Hd as CheckoutFlowResource, Ja as GetUserOrganizationInvitationsParams, L as CheckoutSignalValue, Ld as BillingSubscriptionPlanPeriod, Mf as ClerkAPIResponseError, Nd as BillingStatementResource, Rd as BillingSubscriptionResource, T as APIKeyResource, X as CreateOrganizationParams, Xa as GetUserOrganizationSuggestionsParams, Ya as GetUserOrganizationMembershipParams, aa as GetDomainsParams, ca as GetMembershipRequestParams, g as UseSessionReturn, h as UseSessionListReturn, jd as BillingPlanResource, kd as BillingPaymentResource, lt as LoadedClerk, oa as GetInvitationsParams, pa as OrganizationResource, qd as ForPayerType, ro as UserOrganizationInvitationResource, ru as OrganizationDomainResource, sa as GetMembersParams, to as UserResource, ul as ClerkAPIResponseError$1, uo as OrganizationSuggestionResource, vd as BillingCheckoutResource, xf as ClerkPaginatedResponse, xt as SetActive, y as UseUserReturn, ya as OrganizationMembershipRequestResource } from "../index-CPEYkfCA.mjs";
|
|
2
2
|
import "../moduleManager-pxNnXwxv.mjs";
|
|
3
|
-
import "../error-
|
|
3
|
+
import "../error-Bar-OO4s.mjs";
|
|
4
4
|
import React, { PropsWithChildren, ReactNode } from "react";
|
|
5
5
|
import { dequal } from "dequal";
|
|
6
6
|
|
|
@@ -203,7 +203,7 @@ type UseOrganizationParams = {
|
|
|
203
203
|
* If set to `true`, all default properties will be used.<br />
|
|
204
204
|
* Otherwise, accepts an object with the following optional properties:
|
|
205
205
|
* <ul>
|
|
206
|
-
* <li>`enrollmentMode`: A string that filters the domains by the provided [enrollment mode](https://clerk.com/docs/guides/organizations/verified-domains#enable-verified-domains).</li>
|
|
206
|
+
* <li>`enrollmentMode`: A string that filters the domains by the provided [enrollment mode](https://clerk.com/docs/guides/organizations/add-members/verified-domains#enable-verified-domains).</li>
|
|
207
207
|
* <li>Any of the properties described in [Shared properties](#shared-properties).</li>
|
|
208
208
|
* </ul>
|
|
209
209
|
*/
|
|
@@ -246,27 +246,27 @@ type UseOrganizationReturn<T$1 extends UseOrganizationParams> = {
|
|
|
246
246
|
*/
|
|
247
247
|
isLoaded: false;
|
|
248
248
|
/**
|
|
249
|
-
* The currently
|
|
249
|
+
* The currently Active Organization.
|
|
250
250
|
*/
|
|
251
251
|
organization: undefined;
|
|
252
252
|
/**
|
|
253
|
-
* The current
|
|
253
|
+
* The current Organization membership.
|
|
254
254
|
*/
|
|
255
255
|
membership: undefined;
|
|
256
256
|
/**
|
|
257
|
-
* Includes a paginated list of the
|
|
257
|
+
* Includes a paginated list of the Organization's domains.
|
|
258
258
|
*/
|
|
259
259
|
domains: PaginatedResourcesWithDefault<OrganizationDomainResource>;
|
|
260
260
|
/**
|
|
261
|
-
* Includes a paginated list of the
|
|
261
|
+
* Includes a paginated list of the Organization's membership requests.
|
|
262
262
|
*/
|
|
263
263
|
membershipRequests: PaginatedResourcesWithDefault<OrganizationMembershipRequestResource>;
|
|
264
264
|
/**
|
|
265
|
-
* Includes a paginated list of the
|
|
265
|
+
* Includes a paginated list of the Organization's memberships.
|
|
266
266
|
*/
|
|
267
267
|
memberships: PaginatedResourcesWithDefault<OrganizationMembershipResource>;
|
|
268
268
|
/**
|
|
269
|
-
* Includes a paginated list of the
|
|
269
|
+
* Includes a paginated list of the Organization's invitations.
|
|
270
270
|
*/
|
|
271
271
|
invitations: PaginatedResourcesWithDefault<OrganizationInvitationResource>;
|
|
272
272
|
} | {
|
|
@@ -295,7 +295,7 @@ type UseOrganizationReturn<T$1 extends UseOrganizationParams> = {
|
|
|
295
295
|
} ? true : false> | null;
|
|
296
296
|
};
|
|
297
297
|
/**
|
|
298
|
-
* The `useOrganization()` hook retrieves attributes of the currently
|
|
298
|
+
* The `useOrganization()` hook retrieves attributes of the currently Active Organization.
|
|
299
299
|
*
|
|
300
300
|
* @example
|
|
301
301
|
* ### Expand and paginate attributes
|
|
@@ -330,7 +330,7 @@ type UseOrganizationReturn<T$1 extends UseOrganizationParams> = {
|
|
|
330
330
|
* @example
|
|
331
331
|
* ### Infinite pagination
|
|
332
332
|
*
|
|
333
|
-
* The following example demonstrates how to use the `infinite` property to fetch and append new data to the existing list. The `memberships` attribute will be populated with the first page of the
|
|
333
|
+
* The following example demonstrates how to use the `infinite` property to fetch and append new data to the existing list. The `memberships` attribute will be populated with the first page of the Organization's memberships. When the "Load more" button is clicked, the `fetchNext` helper function will be called to append the next page of memberships to the list.
|
|
334
334
|
*
|
|
335
335
|
* ```tsx
|
|
336
336
|
* import { useOrganization } from '@clerk/react'
|
|
@@ -374,7 +374,7 @@ type UseOrganizationReturn<T$1 extends UseOrganizationParams> = {
|
|
|
374
374
|
* @example
|
|
375
375
|
* ### Simple pagination
|
|
376
376
|
*
|
|
377
|
-
* The following example demonstrates how to use the `fetchPrevious` and `fetchNext` helper functions to paginate through the data. The `memberships` attribute will be populated with the first page of the
|
|
377
|
+
* The following example demonstrates how to use the `fetchPrevious` and `fetchNext` helper functions to paginate through the data. The `memberships` attribute will be populated with the first page of the Organization's memberships. When the "Previous page" or "Next page" button is clicked, the `fetchPrevious` or `fetchNext` helper function will be called to fetch the previous or next page of memberships.
|
|
378
378
|
*
|
|
379
379
|
* Notice the difference between this example's pagination and the infinite pagination example above.
|
|
380
380
|
*
|
|
@@ -467,19 +467,19 @@ type UseOrganizationListReturn<T$1 extends UseOrganizationListParams> = {
|
|
|
467
467
|
*/
|
|
468
468
|
createOrganization: undefined;
|
|
469
469
|
/**
|
|
470
|
-
* A function that sets the active session and/or
|
|
470
|
+
* A function that sets the active session and/or Organization.
|
|
471
471
|
*/
|
|
472
472
|
setActive: undefined;
|
|
473
473
|
/**
|
|
474
|
-
* Returns `PaginatedResources` which includes a list of the user's
|
|
474
|
+
* Returns `PaginatedResources` which includes a list of the user's Organization memberships.
|
|
475
475
|
*/
|
|
476
476
|
userMemberships: PaginatedResourcesWithDefault<OrganizationMembershipResource>;
|
|
477
477
|
/**
|
|
478
|
-
* Returns `PaginatedResources` which includes a list of the user's
|
|
478
|
+
* Returns `PaginatedResources` which includes a list of the user's Organization invitations.
|
|
479
479
|
*/
|
|
480
480
|
userInvitations: PaginatedResourcesWithDefault<UserOrganizationInvitationResource>;
|
|
481
481
|
/**
|
|
482
|
-
* Returns `PaginatedResources` which includes a list of suggestions for
|
|
482
|
+
* Returns `PaginatedResources` which includes a list of suggestions for Organizations that the user can join.
|
|
483
483
|
*/
|
|
484
484
|
userSuggestions: PaginatedResourcesWithDefault<OrganizationSuggestionResource>;
|
|
485
485
|
} | {
|
|
@@ -532,7 +532,7 @@ type UseOrganizationListReturn<T$1 extends UseOrganizationListParams> = {
|
|
|
532
532
|
* @example
|
|
533
533
|
* ### Infinite pagination
|
|
534
534
|
*
|
|
535
|
-
* The following example demonstrates how to use the `infinite` property to fetch and append new data to the existing list. The `userMemberships` attribute will be populated with the first page of the user's
|
|
535
|
+
* The following example demonstrates how to use the `infinite` property to fetch and append new data to the existing list. The `userMemberships` attribute will be populated with the first page of the user's Organization memberships. When the "Load more" button is clicked, the `fetchNext` helper function will be called to append the next page of memberships to the list.
|
|
536
536
|
*
|
|
537
537
|
* ```tsx {{ filename: 'src/components/JoinedOrganizations.tsx' }}
|
|
538
538
|
* import { useOrganizationList } from '@clerk/react'
|
|
@@ -1050,7 +1050,7 @@ interface HookParams extends PaginatedHookConfig<PagesOrInfiniteOptions & {
|
|
|
1050
1050
|
__experimental_mode?: 'cache';
|
|
1051
1051
|
}> {
|
|
1052
1052
|
/**
|
|
1053
|
-
* Specifies whether to fetch for the current user or
|
|
1053
|
+
* Specifies whether to fetch for the current user or Organization.
|
|
1054
1054
|
*
|
|
1055
1055
|
* @default 'user'
|
|
1056
1056
|
*/
|
|
@@ -1095,7 +1095,7 @@ declare const usePlans: <T extends HookParams>(params?: T | undefined) => Pagina
|
|
|
1095
1095
|
*/
|
|
1096
1096
|
type UseSubscriptionParams = {
|
|
1097
1097
|
/**
|
|
1098
|
-
* Specifies whether to fetch the
|
|
1098
|
+
* Specifies whether to fetch the Subscription for an Organization or a user.
|
|
1099
1099
|
*
|
|
1100
1100
|
* @default 'user'
|
|
1101
1101
|
*/
|
|
@@ -1167,17 +1167,17 @@ declare const OptionsContext: React.Context<ClerkOptions>;
|
|
|
1167
1167
|
*/
|
|
1168
1168
|
type UseCheckoutOptions = {
|
|
1169
1169
|
/**
|
|
1170
|
-
* Specifies if the checkout is for an
|
|
1170
|
+
* Specifies if the checkout is for an Organization.
|
|
1171
1171
|
*
|
|
1172
1172
|
* @default 'user'
|
|
1173
1173
|
*/
|
|
1174
1174
|
for?: ForPayerType;
|
|
1175
1175
|
/**
|
|
1176
|
-
* The billing period for the
|
|
1176
|
+
* The billing period for the Plan.
|
|
1177
1177
|
*/
|
|
1178
1178
|
planPeriod: BillingSubscriptionPlanPeriod;
|
|
1179
1179
|
/**
|
|
1180
|
-
* The ID of the
|
|
1180
|
+
* The ID of the Subscription Plan to check out (e.g. `cplan_xxx`).
|
|
1181
1181
|
*/
|
|
1182
1182
|
planId: string;
|
|
1183
1183
|
};
|
|
@@ -1436,7 +1436,7 @@ type PaymentElementProviderProps = {
|
|
|
1436
1436
|
*/
|
|
1437
1437
|
stripeAppearance?: internalStripeAppearance;
|
|
1438
1438
|
/**
|
|
1439
|
-
* Specifies whether to fetch for the current user or
|
|
1439
|
+
* Specifies whether to fetch for the current user or Organization.
|
|
1440
1440
|
*
|
|
1441
1441
|
* @default 'user'
|
|
1442
1442
|
*/
|