@clerk/clerk-react
Version:
Clerk.dev React library
68 lines • 3.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AuthenticateWithRedirectCallback = exports.RedirectToUserProfile = exports.RedirectToSignUp = exports.RedirectToSignIn = exports.ClerkLoading = exports.ClerkLoaded = exports.SignedOut = exports.SignedIn = void 0;
const tslib_1 = require("tslib");
const react_1 = (0, tslib_1.__importDefault)(require("react"));
const contexts_1 = require("../contexts");
const UserContext_1 = require("../contexts/UserContext");
exports.SignedIn = (0, contexts_1.withUser)(({ children }) => {
return react_1.default.createElement(react_1.default.Fragment, null, children);
}, 'SignedIn');
exports.SignedOut = (0, contexts_1.withClerk)(({ children }) => {
const userCtx = (0, UserContext_1.useUserContext)();
return userCtx.value === null ? react_1.default.createElement(react_1.default.Fragment, null, children) : null;
}, 'SignedOut');
exports.ClerkLoaded = (0, contexts_1.withClerk)(({ children }) => {
return react_1.default.createElement(react_1.default.Fragment, null, children);
}, 'ClerkLoaded');
const ClerkLoading = ({ children }) => {
const userCtx = (0, UserContext_1.useUserContext)();
return userCtx.value === undefined ? react_1.default.createElement(react_1.default.Fragment, null, children) : null;
};
exports.ClerkLoading = ClerkLoading;
// DX: returnBack deprecated <=2.4.2
// Deprecate the boolean type before removing returnBack
exports.RedirectToSignIn = (0, contexts_1.withClerk)((_a) => {
var { clerk } = _a, props = (0, tslib_1.__rest)(_a, ["clerk"]);
const { returnBack, afterSignUpUrl, redirectUrl, afterSignInUrl } = props;
const redirectOptions = { afterSignUpUrl, redirectUrl, afterSignInUrl };
const { client, session } = clerk;
// TODO: Remove temp use of __unstable__environment
const { __unstable__environment } = clerk;
const hasActiveSessions = client.activeSessions && client.activeSessions.length > 0;
react_1.default.useEffect(() => {
if (session === null && hasActiveSessions && __unstable__environment) {
const { afterSignOutOneUrl } = __unstable__environment.displayConfig;
void clerk.navigate(afterSignOutOneUrl);
}
else {
void clerk.redirectToSignIn((returnBack || redirectOptions));
}
}, []);
return null;
}, 'RedirectToSignIn');
// DX: returnBack deprecated <=2.4.2
// Deprecate the boolean type before removing returnBack
exports.RedirectToSignUp = (0, contexts_1.withClerk)((_a) => {
var { clerk } = _a, props = (0, tslib_1.__rest)(_a, ["clerk"]);
const { returnBack, afterSignUpUrl, redirectUrl, afterSignInUrl } = props;
const redirectOptions = { afterSignUpUrl, redirectUrl, afterSignInUrl };
react_1.default.useEffect(() => {
void clerk.redirectToSignUp((returnBack || redirectOptions));
}, []);
return null;
}, 'RedirectToSignUp');
exports.RedirectToUserProfile = (0, contexts_1.withClerk)(({ clerk }) => {
react_1.default.useEffect(() => {
clerk.redirectToUserProfile();
}, []);
return null;
}, 'RedirectToUserProfile');
exports.AuthenticateWithRedirectCallback = (0, contexts_1.withClerk)((_a) => {
var { clerk } = _a, handleRedirectCallbackParams = (0, tslib_1.__rest)(_a, ["clerk"]);
react_1.default.useEffect(() => {
void clerk.handleRedirectCallback(handleRedirectCallbackParams);
}, []);
return null;
}, 'AuthenticateWithRedirectCallback');
//# sourceMappingURL=controlComponents.js.map