UNPKG

@clerk/clerk-react

Version:

Clerk.dev React library

25 lines 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ClerkProvider = void 0; const tslib_1 = require("tslib"); const react_1 = (0, tslib_1.__importStar)(require("react")); const isomorphicClerk_1 = (0, tslib_1.__importDefault)(require("../isomorphicClerk")); const utils_1 = require("../utils"); const errors_1 = require("../errors"); const ClerkContextWrapper_1 = require("./ClerkContextWrapper"); const StructureContext_1 = require("./StructureContext"); function ClerkProviderBase(props) { const clerk = (0, react_1.useMemo)(() => { const { frontendApi = '', Clerk: ClerkConstructor } = props, rest = (0, tslib_1.__rest)(props, ["frontendApi", "Clerk"]); return new isomorphicClerk_1.default(frontendApi, rest, ClerkConstructor); }, []); const [clerkLoaded, setClerkLoaded] = (0, react_1.useState)(false); (0, react_1.useEffect)(() => { void clerk.loadClerkJS().then(() => setClerkLoaded(true)); }, []); return (react_1.default.createElement(StructureContext_1.StructureContext.Provider, { value: StructureContext_1.StructureContextStates.noGuarantees }, clerk instanceof isomorphicClerk_1.default && clerk.ssrData && (react_1.default.createElement("script", { type: 'application/json', "data-clerk": 'SSR', dangerouslySetInnerHTML: { __html: clerk.ssrData } })), react_1.default.createElement(ClerkContextWrapper_1.ClerkContextWrapper, { isomorphicClerk: clerk, clerkLoaded: clerkLoaded }, props.children))); } exports.ClerkProvider = (0, utils_1.withMaxAllowedInstancesGuard)(ClerkProviderBase, 'ClerkProvider', errors_1.multipleClerkProvidersError); //# sourceMappingURL=ClerkProvider.js.map