UNPKG

@clerk/chrome-extension

Version:

Clerk SDK for Chrome extensions

61 lines 1.65 kB
import { jsx } from "react/jsx-runtime"; import Clerk from "@clerk/clerk-js"; import { __internal__setErrorThrowerOptions, ClerkProvider as ClerkReactProvider } from "@clerk/clerk-react"; import React from "react"; import { ChromeStorageCache } from "./cache"; import { buildClerk } from "./singleton"; Clerk.sdkMetadata = { name: "@clerk/chrome-extension", version: "0.4.12" }; __internal__setErrorThrowerOptions({ packageName: "@clerk/chrome-extension" }); const WebSSOClerkProvider = (props) => { const { children, tokenCache: runtimeTokenCache, ...rest } = props; const { publishableKey = "" } = props; const [clerkInstance, setClerkInstance] = React.useState(null); const tokenCache = runtimeTokenCache || ChromeStorageCache; React.useEffect(() => { void (async () => { setClerkInstance(await buildClerk({ publishableKey, tokenCache })); })(); }, []); if (!clerkInstance) { return null; } return /* @__PURE__ */ jsx( ClerkReactProvider, { ...rest, Clerk: clerkInstance, standardBrowser: false, children } ); }; const StandaloneClerkProvider = (props) => { const { children, ...rest } = props; return /* @__PURE__ */ jsx( ClerkReactProvider, { ...rest, Clerk, children } ); }; function ClerkProvider(props) { const { tokenCache, syncSessionWithTab, ...rest } = props; return syncSessionWithTab ? /* @__PURE__ */ jsx( WebSSOClerkProvider, { ...props, tokenCache } ) : /* @__PURE__ */ jsx(StandaloneClerkProvider, { ...rest }); } export { ClerkProvider }; //# sourceMappingURL=ClerkProvider.js.map