@atlasauth/react 0.1.18 → 0.1.19
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/AtlasProvider.d.ts +9 -0
- package/dist/AtlasProvider.js +2 -0
- package/dist/AtlasProvider.js.map +1 -1
- package/dist/account.d.ts +66 -0
- package/dist/account.js +223 -0
- package/dist/account.js.map +1 -0
- package/dist/auth-buttons.d.ts +29 -0
- package/dist/auth-buttons.js +43 -0
- package/dist/auth-buttons.js.map +1 -0
- package/dist/billing.d.ts +127 -0
- package/dist/billing.js +235 -0
- package/dist/billing.js.map +1 -0
- package/dist/components-shared.d.ts +22 -0
- package/dist/components-shared.js +70 -0
- package/dist/components-shared.js.map +1 -0
- package/dist/components.d.ts +29 -433
- package/dist/components.js +68 -1223
- package/dist/components.js.map +1 -1
- package/dist/control-components.d.ts +46 -0
- package/dist/control-components.js +69 -0
- package/dist/control-components.js.map +1 -0
- package/dist/flow.d.ts +81 -0
- package/dist/flow.js +319 -0
- package/dist/flow.js.map +1 -0
- package/dist/organization.d.ts +37 -0
- package/dist/organization.js +111 -0
- package/dist/organization.js.map +1 -0
- package/dist/reverification.d.ts +21 -0
- package/dist/reverification.js +74 -0
- package/dist/reverification.js.map +1 -0
- package/dist/sign-in.d.ts +42 -0
- package/dist/sign-in.js +91 -0
- package/dist/sign-in.js.map +1 -0
- package/dist/sign-up.d.ts +18 -0
- package/dist/sign-up.js +37 -0
- package/dist/sign-up.js.map +1 -0
- package/dist/user-button.d.ts +54 -0
- package/dist/user-button.js +75 -0
- package/dist/user-button.js.map +1 -0
- package/dist/waitlist.d.ts +15 -0
- package/dist/waitlist.js +52 -0
- package/dist/waitlist.js.map +1 -0
- package/package.json +2 -2
package/dist/AtlasProvider.d.ts
CHANGED
|
@@ -27,6 +27,8 @@ interface AtlasContextValue {
|
|
|
27
27
|
claims: SessionClaims | null;
|
|
28
28
|
memberships: AtlasOrganizationMembership[];
|
|
29
29
|
appearance?: Appearance;
|
|
30
|
+
/** §oauth popup mode — app-wide default for social/OIDC sign-in (see AtlasProviderProps). */
|
|
31
|
+
oauthMode?: 'popup' | 'redirect';
|
|
30
32
|
catalog: Catalog;
|
|
31
33
|
/**
|
|
32
34
|
* §5.3: a sign-in attempt handed back by an OAuth redirect that still needs a
|
|
@@ -64,6 +66,13 @@ export interface AtlasProviderProps {
|
|
|
64
66
|
frontendApi?: string;
|
|
65
67
|
appearance?: Appearance;
|
|
66
68
|
localization?: Catalog;
|
|
69
|
+
/**
|
|
70
|
+
* §oauth popup mode — the app-wide default for social/OIDC sign-in. `"popup"`
|
|
71
|
+
* completes in a GSI-style popup (no page navigation), auto-falling back to a
|
|
72
|
+
* redirect when the popup is blocked. A `<SignIn oauthMode>` overrides it per
|
|
73
|
+
* mount. Defaults to `"redirect"`.
|
|
74
|
+
*/
|
|
75
|
+
oauthMode?: 'popup' | 'redirect';
|
|
67
76
|
children: ReactNode;
|
|
68
77
|
fetchImpl?: typeof fetch;
|
|
69
78
|
}
|
package/dist/AtlasProvider.js
CHANGED
|
@@ -287,6 +287,7 @@ function AtlasProvider(props) {
|
|
|
287
287
|
const value = (0, react_1.useMemo)(() => ({
|
|
288
288
|
publishableKey,
|
|
289
289
|
frontendApi: baseUrl,
|
|
290
|
+
oauthMode: props.oauthMode,
|
|
290
291
|
status,
|
|
291
292
|
user,
|
|
292
293
|
session,
|
|
@@ -306,6 +307,7 @@ function AtlasProvider(props) {
|
|
|
306
307
|
appearance,
|
|
307
308
|
baseUrl,
|
|
308
309
|
publishableKey,
|
|
310
|
+
props.oauthMode,
|
|
309
311
|
catalog,
|
|
310
312
|
claims,
|
|
311
313
|
getToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtlasProvider.js","sourceRoot":"","sources":["../src/AtlasProvider.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AtlasProvider.js","sourceRoot":"","sources":["../src/AtlasProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* §2 The signed-in user's active devices, with per-device and "sign out everyone
|
|
4
|
+
* else" revocation. A drop-in for a settings page — the composable half of the
|
|
5
|
+
* post-login account surface an integrator needs the moment login is Atlas.
|
|
6
|
+
*/
|
|
7
|
+
export declare function ActiveSessions(): import("react").JSX.Element;
|
|
8
|
+
/**
|
|
9
|
+
* §2 The signed-in user's profile — name (editable) and email addresses. Another
|
|
10
|
+
* composable piece of the account surface; writes go to `PATCH /v1/client/me` and
|
|
11
|
+
* re-boot the provider so the rest of the app sees the change.
|
|
12
|
+
*/
|
|
13
|
+
export declare function ProfileCard(): import("react").JSX.Element | null;
|
|
14
|
+
/**
|
|
15
|
+
* §2 Manage two-factor authentication (authenticator app / TOTP). The full
|
|
16
|
+
* enrollment ceremony — start (secret + otpauth URI), verify with a live code,
|
|
17
|
+
* then the one-time backup codes — plus turn-off, in one composable drop-in, so a
|
|
18
|
+
* team never rebuilds the FAPI dance to put 2FA in their own settings page. The
|
|
19
|
+
* secret + `otpauth://` URI are shown for scan-or-manual entry (render a QR from
|
|
20
|
+
* the URI if you like — kept dependency-free here).
|
|
21
|
+
*/
|
|
22
|
+
export declare function ManageMfa(): import("react").JSX.Element;
|
|
23
|
+
/**
|
|
24
|
+
* §2 Manage passkeys (WebAuthn). Lists the user's registered credentials and runs
|
|
25
|
+
* the full add ceremony — `POST /passkeys/begin` → `navigator.credentials.create`
|
|
26
|
+
* (via the SDK's {@link createPasskey}) → `POST /passkeys/finish` — plus rename-free
|
|
27
|
+
* removal, in one composable drop-in. Nothing renders the "Add" affordance when the
|
|
28
|
+
* runtime has no WebAuthn support, so it degrades cleanly on older browsers.
|
|
29
|
+
*/
|
|
30
|
+
export declare function ManagePasskeys(): import("react").JSX.Element;
|
|
31
|
+
/**
|
|
32
|
+
* §2 The drop-in post-login account surface. Composes the account-management
|
|
33
|
+
* pieces (profile, 2FA, passkeys, devices). Each piece is also exported on its own
|
|
34
|
+
* (`<ProfileCard/>`, `<ManageMfa/>`, `<ManagePasskeys/>`, `<ActiveSessions/>`) so a
|
|
35
|
+
* team can drop just one into their existing settings page.
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* §L3 extension API (Clerk `<UserProfile.Page>` / `<UserProfile.Link>`): add
|
|
39
|
+
* your own tab of content, or an external link, into the prebuilt profile. Both
|
|
40
|
+
* are descriptor components — `<UserProfile>` reads them from its children.
|
|
41
|
+
*/
|
|
42
|
+
export interface ProfilePageProps {
|
|
43
|
+
/** The tab's label. */
|
|
44
|
+
label: ReactNode;
|
|
45
|
+
labelIcon?: ReactNode;
|
|
46
|
+
/** The tab's body. */
|
|
47
|
+
children?: ReactNode;
|
|
48
|
+
}
|
|
49
|
+
export interface ProfileLinkProps {
|
|
50
|
+
label: ReactNode;
|
|
51
|
+
labelIcon?: ReactNode;
|
|
52
|
+
/** Where the tab navigates instead of showing content. */
|
|
53
|
+
url: string;
|
|
54
|
+
}
|
|
55
|
+
/** A custom content tab inside `<UserProfile>`. Renders nothing on its own. */
|
|
56
|
+
declare function UserProfilePage(_props: ProfilePageProps): null;
|
|
57
|
+
/** A custom external-link tab inside `<UserProfile>`. Renders nothing on its own. */
|
|
58
|
+
declare function UserProfileLink(_props: ProfileLinkProps): null;
|
|
59
|
+
export declare function UserProfile({ children }?: {
|
|
60
|
+
children?: ReactNode;
|
|
61
|
+
}): import("react").JSX.Element | null;
|
|
62
|
+
export declare namespace UserProfile {
|
|
63
|
+
var Page: typeof UserProfilePage;
|
|
64
|
+
var Link: typeof UserProfileLink;
|
|
65
|
+
}
|
|
66
|
+
export {};
|
package/dist/account.js
ADDED
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActiveSessions = ActiveSessions;
|
|
4
|
+
exports.ProfileCard = ProfileCard;
|
|
5
|
+
exports.ManageMfa = ManageMfa;
|
|
6
|
+
exports.ManagePasskeys = ManagePasskeys;
|
|
7
|
+
exports.UserProfile = UserProfile;
|
|
8
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
const js_1 = require("@atlasauth/js");
|
|
11
|
+
const AtlasProvider_1 = require("./AtlasProvider");
|
|
12
|
+
const hooks_1 = require("./hooks");
|
|
13
|
+
const components_shared_1 = require("./components-shared");
|
|
14
|
+
/**
|
|
15
|
+
* §2 The signed-in user's active devices, with per-device and "sign out everyone
|
|
16
|
+
* else" revocation. A drop-in for a settings page — the composable half of the
|
|
17
|
+
* post-login account surface an integrator needs the moment login is Atlas.
|
|
18
|
+
*/
|
|
19
|
+
function ActiveSessions() {
|
|
20
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
21
|
+
const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
|
|
22
|
+
const [sessions, setSessions] = (0, react_1.useState)([]);
|
|
23
|
+
const [busy, setBusy] = (0, react_1.useState)(false);
|
|
24
|
+
const load = (0, react_1.useCallback)(async () => {
|
|
25
|
+
const res = await client.get('/v1/client/sessions');
|
|
26
|
+
setSessions(res.data?.data ?? []);
|
|
27
|
+
}, [client]);
|
|
28
|
+
(0, react_1.useEffect)(() => {
|
|
29
|
+
void load();
|
|
30
|
+
}, [load]);
|
|
31
|
+
const revoke = (0, react_1.useCallback)(async (id) => {
|
|
32
|
+
setBusy(true);
|
|
33
|
+
await client.post(`/v1/client/sessions/${id}/revoke`).catch(() => undefined);
|
|
34
|
+
await load();
|
|
35
|
+
setBusy(false);
|
|
36
|
+
}, [client, load]);
|
|
37
|
+
const revokeOthers = (0, react_1.useCallback)(async () => {
|
|
38
|
+
setBusy(true);
|
|
39
|
+
await client.post('/v1/client/sessions/revoke_all').catch(() => undefined);
|
|
40
|
+
await load();
|
|
41
|
+
setBusy(false);
|
|
42
|
+
}, [client, load]);
|
|
43
|
+
const fmt = (ms) => new Date(ms).toLocaleString();
|
|
44
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: cardClass, "data-atlas": "active-sessions", children: [(0, jsx_runtime_1.jsx)("h2", { children: "Active devices" }), (0, jsx_runtime_1.jsx)("ul", { children: sessions.map((s) => ((0, jsx_runtime_1.jsxs)("li", { children: [(0, jsx_runtime_1.jsx)("strong", { children: s.device_label ?? [s.browser, s.os].filter(Boolean).join(' on ') ?? 'Unknown device' }), s.current ? (0, jsx_runtime_1.jsx)("em", { children: " \u2014 this device" }) : null, (0, jsx_runtime_1.jsx)("div", { children: [s.location, fmt(s.last_active_at)].filter(Boolean).join(' · ') }), !s.current ? ((0, jsx_runtime_1.jsx)("button", { type: "button", disabled: busy, onClick: () => void revoke(s.id), children: "Sign out" })) : null] }, s.id))) }), sessions.some((s) => !s.current) ? ((0, jsx_runtime_1.jsx)("button", { type: "button", disabled: busy, onClick: () => void revokeOthers(), children: "Sign out of all other devices" })) : null] }));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* §2 The signed-in user's profile — name (editable) and email addresses. Another
|
|
48
|
+
* composable piece of the account surface; writes go to `PATCH /v1/client/me` and
|
|
49
|
+
* re-boot the provider so the rest of the app sees the change.
|
|
50
|
+
*/
|
|
51
|
+
function ProfileCard() {
|
|
52
|
+
const { user } = (0, hooks_1.useUser)();
|
|
53
|
+
const { reload } = (0, AtlasProvider_1.useAtlas)();
|
|
54
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
55
|
+
const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
|
|
56
|
+
const [firstName, setFirstName] = (0, react_1.useState)('');
|
|
57
|
+
const [lastName, setLastName] = (0, react_1.useState)('');
|
|
58
|
+
const [saving, setSaving] = (0, react_1.useState)(false);
|
|
59
|
+
(0, react_1.useEffect)(() => {
|
|
60
|
+
setFirstName(user?.first_name ?? '');
|
|
61
|
+
setLastName(user?.last_name ?? '');
|
|
62
|
+
}, [user?.first_name, user?.last_name]);
|
|
63
|
+
if (!user)
|
|
64
|
+
return null;
|
|
65
|
+
const save = async () => {
|
|
66
|
+
setSaving(true);
|
|
67
|
+
await client
|
|
68
|
+
.request('/v1/client/me', {
|
|
69
|
+
method: 'PATCH',
|
|
70
|
+
body: JSON.stringify({ first_name: firstName, last_name: lastName }),
|
|
71
|
+
})
|
|
72
|
+
.catch(() => undefined);
|
|
73
|
+
await reload();
|
|
74
|
+
setSaving(false);
|
|
75
|
+
};
|
|
76
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: cardClass, "data-atlas": "profile-card", children: [(0, jsx_runtime_1.jsx)("h2", { children: "Profile" }), (0, jsx_runtime_1.jsxs)("label", { children: ["First name", (0, jsx_runtime_1.jsx)("input", { value: firstName, onChange: (e) => setFirstName(e.target.value) })] }), (0, jsx_runtime_1.jsxs)("label", { children: ["Last name", (0, jsx_runtime_1.jsx)("input", { value: lastName, onChange: (e) => setLastName(e.target.value) })] }), (0, jsx_runtime_1.jsx)("button", { type: "button", disabled: saving, onClick: () => void save(), children: "Save" }), (0, jsx_runtime_1.jsx)("ul", { "data-atlas": "emails", children: (user.email_addresses ?? []).map((email) => ((0, jsx_runtime_1.jsxs)("li", { children: [email.email_address, email.verified ? null : (0, jsx_runtime_1.jsx)("em", { children: " \u2014 unverified" }), email.primary ? (0, jsx_runtime_1.jsx)("em", { children: " \u2014 primary" }) : null] }, email.id))) })] }));
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* §2 Manage two-factor authentication (authenticator app / TOTP). The full
|
|
80
|
+
* enrollment ceremony — start (secret + otpauth URI), verify with a live code,
|
|
81
|
+
* then the one-time backup codes — plus turn-off, in one composable drop-in, so a
|
|
82
|
+
* team never rebuilds the FAPI dance to put 2FA in their own settings page. The
|
|
83
|
+
* secret + `otpauth://` URI are shown for scan-or-manual entry (render a QR from
|
|
84
|
+
* the URI if you like — kept dependency-free here).
|
|
85
|
+
*/
|
|
86
|
+
function ManageMfa() {
|
|
87
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
88
|
+
const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
|
|
89
|
+
const [factors, setFactors] = (0, react_1.useState)([]);
|
|
90
|
+
const [remaining, setRemaining] = (0, react_1.useState)(null);
|
|
91
|
+
const [enroll, setEnroll] = (0, react_1.useState)(null);
|
|
92
|
+
const [codes, setCodes] = (0, react_1.useState)([]);
|
|
93
|
+
const [backupCodes, setBackupCodes] = (0, react_1.useState)(null);
|
|
94
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
95
|
+
const [busy, setBusy] = (0, react_1.useState)(false);
|
|
96
|
+
const load = (0, react_1.useCallback)(async () => {
|
|
97
|
+
const res = await client.get('/v1/client/me/mfa');
|
|
98
|
+
setFactors(res.data?.data ?? []);
|
|
99
|
+
setRemaining(res.data?.backup_codes_remaining ?? null);
|
|
100
|
+
}, [client]);
|
|
101
|
+
(0, react_1.useEffect)(() => {
|
|
102
|
+
void load();
|
|
103
|
+
}, [load]);
|
|
104
|
+
const totp = factors.find((f) => f.type === 'totp' && f.verified);
|
|
105
|
+
const startEnroll = async () => {
|
|
106
|
+
setError(null);
|
|
107
|
+
setBackupCodes(null);
|
|
108
|
+
setBusy(true);
|
|
109
|
+
const res = await client.post('/v1/client/me/mfa/totp');
|
|
110
|
+
setBusy(false);
|
|
111
|
+
if (!res.ok || !res.data) {
|
|
112
|
+
setError(res.errors[0]?.message ?? 'Could not start enrollment.');
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const required = res.data.required_codes || 1;
|
|
116
|
+
setEnroll({ id: res.data.id, secret: res.data.secret, uri: res.data.uri, requiredCodes: required });
|
|
117
|
+
setCodes(Array.from({ length: required }, () => ''));
|
|
118
|
+
};
|
|
119
|
+
const verify = async () => {
|
|
120
|
+
if (!enroll)
|
|
121
|
+
return;
|
|
122
|
+
setError(null);
|
|
123
|
+
setBusy(true);
|
|
124
|
+
const res = await client.post(`/v1/client/me/mfa/totp/${enroll.id}/verify`, { codes });
|
|
125
|
+
setBusy(false);
|
|
126
|
+
if (!res.ok) {
|
|
127
|
+
setError(res.errors[0]?.message ?? 'That code was not accepted.');
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
setBackupCodes(res.data?.backup_codes ?? []);
|
|
131
|
+
setEnroll(null);
|
|
132
|
+
await load();
|
|
133
|
+
};
|
|
134
|
+
const disable = async (id) => {
|
|
135
|
+
setBusy(true);
|
|
136
|
+
await client.request(`/v1/client/me/mfa/${id}`, { method: 'DELETE' }).catch(() => undefined);
|
|
137
|
+
await load();
|
|
138
|
+
setBusy(false);
|
|
139
|
+
};
|
|
140
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: cardClass, "data-atlas": "manage-mfa", children: [(0, jsx_runtime_1.jsx)("h2", { children: "Two-factor authentication" }), totp ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("p", { children: ["Authenticator app is on.", remaining != null ? ` ${remaining} backup codes remaining.` : ''] }), (0, jsx_runtime_1.jsx)("button", { type: "button", disabled: busy, onClick: () => void disable(totp.id), children: "Turn off" })] })) : enroll ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("p", { children: "Add this to your authenticator app \u2014 scan the QR you render from the URI, or enter the key:" }), (0, jsx_runtime_1.jsx)("code", { "data-atlas": "totp-secret", children: enroll.secret }), (0, jsx_runtime_1.jsx)("p", { children: (0, jsx_runtime_1.jsx)("a", { href: enroll.uri, children: "Open in an authenticator app" }) }), codes.map((c, i) => ((0, jsx_runtime_1.jsx)("input", { inputMode: "numeric", autoComplete: "one-time-code", value: c, placeholder: enroll.requiredCodes > 1 ? `Code ${i + 1}` : 'Enter the 6-digit code', onChange: (e) => setCodes((prev) => prev.map((v, j) => (j === i ? e.target.value : v))) }, i))), (0, jsx_runtime_1.jsx)("button", { type: "button", disabled: busy, onClick: () => void verify(), children: "Verify & enable" })] })) : backupCodes ? ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("p", { children: "Two-factor is on. Save these backup codes now \u2014 they are shown only once:" }), (0, jsx_runtime_1.jsx)("ul", { "data-atlas": "backup-codes", children: backupCodes.map((c) => ((0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("code", { children: c }) }, c))) })] })) : ((0, jsx_runtime_1.jsx)("button", { type: "button", disabled: busy, onClick: () => void startEnroll(), children: "Enable authenticator app" })), error ? ((0, jsx_runtime_1.jsx)("p", { "data-atlas": "mfa-error", role: "alert", children: error })) : null] }));
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* §2 Manage passkeys (WebAuthn). Lists the user's registered credentials and runs
|
|
144
|
+
* the full add ceremony — `POST /passkeys/begin` → `navigator.credentials.create`
|
|
145
|
+
* (via the SDK's {@link createPasskey}) → `POST /passkeys/finish` — plus rename-free
|
|
146
|
+
* removal, in one composable drop-in. Nothing renders the "Add" affordance when the
|
|
147
|
+
* runtime has no WebAuthn support, so it degrades cleanly on older browsers.
|
|
148
|
+
*/
|
|
149
|
+
function ManagePasskeys() {
|
|
150
|
+
const client = (0, components_shared_1.useMeClient)();
|
|
151
|
+
const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
|
|
152
|
+
const [passkeys, setPasskeys] = (0, react_1.useState)([]);
|
|
153
|
+
const [name, setName] = (0, react_1.useState)('');
|
|
154
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
155
|
+
const [busy, setBusy] = (0, react_1.useState)(false);
|
|
156
|
+
const supported = (0, js_1.passkeysSupported)();
|
|
157
|
+
const load = (0, react_1.useCallback)(async () => {
|
|
158
|
+
const res = await client.get('/v1/client/me/passkeys');
|
|
159
|
+
setPasskeys(res.data?.data ?? []);
|
|
160
|
+
}, [client]);
|
|
161
|
+
(0, react_1.useEffect)(() => {
|
|
162
|
+
void load();
|
|
163
|
+
}, [load]);
|
|
164
|
+
const add = async () => {
|
|
165
|
+
setError(null);
|
|
166
|
+
setBusy(true);
|
|
167
|
+
try {
|
|
168
|
+
const begin = await client.post('/v1/client/me/passkeys/begin');
|
|
169
|
+
if (!begin.ok || !begin.data) {
|
|
170
|
+
setError(begin.errors[0]?.message ?? 'Could not start passkey setup.');
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
const body = await (0, js_1.createPasskey)(begin.data, { name: name.trim() || undefined });
|
|
174
|
+
const finish = await client.post('/v1/client/me/passkeys/finish', body);
|
|
175
|
+
if (!finish.ok) {
|
|
176
|
+
setError(finish.errors[0]?.message ?? 'Could not save the passkey.');
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
setName('');
|
|
180
|
+
await load();
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
// A cancelled or timed-out WebAuthn prompt throws — treat as a no-op, not an error banner.
|
|
184
|
+
}
|
|
185
|
+
finally {
|
|
186
|
+
setBusy(false);
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
const remove = async (id) => {
|
|
190
|
+
setBusy(true);
|
|
191
|
+
await client.request(`/v1/client/me/passkeys/${id}`, { method: 'DELETE' }).catch(() => undefined);
|
|
192
|
+
await load();
|
|
193
|
+
setBusy(false);
|
|
194
|
+
};
|
|
195
|
+
const fmt = (ms) => (ms ? new Date(ms).toLocaleDateString() : null);
|
|
196
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: cardClass, "data-atlas": "manage-passkeys", children: [(0, jsx_runtime_1.jsx)("h2", { children: "Passkeys" }), (0, jsx_runtime_1.jsx)("ul", { "data-atlas": "passkey-list", children: passkeys.map((pk) => ((0, jsx_runtime_1.jsxs)("li", { children: [(0, jsx_runtime_1.jsx)("strong", { children: pk.name || 'Passkey' }), (0, jsx_runtime_1.jsx)("div", { children: [pk.last_used_at ? `Last used ${fmt(pk.last_used_at)}` : `Added ${fmt(pk.created_at)}`]
|
|
197
|
+
.filter(Boolean)
|
|
198
|
+
.join(' · ') }), (0, jsx_runtime_1.jsx)("button", { type: "button", disabled: busy, onClick: () => void remove(pk.id), children: "Remove" })] }, pk.id))) }), supported ? ((0, jsx_runtime_1.jsxs)("div", { "data-atlas": "passkey-add", children: [(0, jsx_runtime_1.jsx)("input", { value: name, placeholder: "Name this device (optional)", onChange: (e) => setName(e.target.value) }), (0, jsx_runtime_1.jsx)("button", { type: "button", disabled: busy, onClick: () => void add(), children: "Add a passkey" })] })) : ((0, jsx_runtime_1.jsx)("p", { children: "Passkeys are not supported in this browser." })), error ? ((0, jsx_runtime_1.jsx)("p", { "data-atlas": "passkey-error", role: "alert", children: error })) : null] }));
|
|
199
|
+
}
|
|
200
|
+
/** A custom content tab inside `<UserProfile>`. Renders nothing on its own. */
|
|
201
|
+
function UserProfilePage(_props) {
|
|
202
|
+
return null;
|
|
203
|
+
}
|
|
204
|
+
/** A custom external-link tab inside `<UserProfile>`. Renders nothing on its own. */
|
|
205
|
+
function UserProfileLink(_props) {
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
function UserProfile({ children } = {}) {
|
|
209
|
+
const { user } = (0, hooks_1.useUser)();
|
|
210
|
+
const t = (0, components_shared_1.useText)();
|
|
211
|
+
const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
|
|
212
|
+
const tabClass = (0, components_shared_1.useClass)('menuItem', 'atlas-tab');
|
|
213
|
+
const pages = (0, react_1.useMemo)(() => (0, components_shared_1.collectByType)(children, (el) => el.type === UserProfilePage ? el.props : undefined), [children]);
|
|
214
|
+
const links = (0, react_1.useMemo)(() => (0, components_shared_1.collectByType)(children, (el) => el.type === UserProfileLink ? el.props : undefined), [children]);
|
|
215
|
+
// 0 = the built-in account page; 1..N = custom pages.
|
|
216
|
+
const [tab, setTab] = (0, react_1.useState)(0);
|
|
217
|
+
if (!user)
|
|
218
|
+
return null;
|
|
219
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, "data-atlas": "user-profile", children: [(0, jsx_runtime_1.jsx)("h1", { children: t('userProfile.title') }), pages.length || links.length ? ((0, jsx_runtime_1.jsxs)("nav", { className: "atlas-tabs", role: "tablist", children: [(0, jsx_runtime_1.jsx)("button", { className: tabClass, role: "tab", "aria-selected": tab === 0, onClick: () => setTab(0), children: t('userProfile.title') }), pages.map((p, i) => ((0, jsx_runtime_1.jsxs)("button", { className: tabClass, role: "tab", "aria-selected": tab === i + 1, onClick: () => setTab(i + 1), children: [p.labelIcon, p.label] }, `p${i}`))), links.map((l, i) => ((0, jsx_runtime_1.jsxs)("a", { className: tabClass, href: l.url, children: [l.labelIcon, l.label] }, `l${i}`)))] })) : null, tab === 0 ? ((0, jsx_runtime_1.jsxs)("div", { "data-atlas": "user-profile-account", role: "tabpanel", children: [(0, jsx_runtime_1.jsx)(ProfileCard, {}), (0, jsx_runtime_1.jsx)(ManageMfa, {}), (0, jsx_runtime_1.jsx)(ManagePasskeys, {}), (0, jsx_runtime_1.jsx)(ActiveSessions, {})] })) : ((0, jsx_runtime_1.jsx)("div", { "data-atlas": "user-profile-custom", role: "tabpanel", children: pages[tab - 1]?.children }))] }));
|
|
220
|
+
}
|
|
221
|
+
UserProfile.Page = UserProfilePage;
|
|
222
|
+
UserProfile.Link = UserProfileLink;
|
|
223
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../src/account.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export interface AuthButtonProps {
|
|
3
|
+
/** Where the sign-in / sign-up page lives. Defaults to `/sign-in` / `/sign-up`. */
|
|
4
|
+
url?: string;
|
|
5
|
+
/** Where to return after auth completes (becomes `?redirect_url=`). */
|
|
6
|
+
redirectUrl?: string;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Clerk-parity ergonomic: a button that sends the user to your sign-in page. */
|
|
11
|
+
export declare function SignInButton({ url, redirectUrl, children, className }: AuthButtonProps): import("react").JSX.Element;
|
|
12
|
+
/** Clerk-parity ergonomic: a button that sends the user to your sign-up page. */
|
|
13
|
+
export declare function SignUpButton({ url, redirectUrl, children, className }: AuthButtonProps): import("react").JSX.Element;
|
|
14
|
+
/** Clerk-parity ergonomic: a button that signs the user out, then optionally redirects. */
|
|
15
|
+
export declare function SignOutButton({ redirectUrl, children, className, }: {
|
|
16
|
+
redirectUrl?: string;
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
className?: string;
|
|
19
|
+
}): import("react").JSX.Element;
|
|
20
|
+
/** Declarative "render this to send the user to sign-in" (Clerk `<RedirectToSignIn>`). */
|
|
21
|
+
export declare function RedirectToSignIn({ url, redirectUrl }: {
|
|
22
|
+
url?: string;
|
|
23
|
+
redirectUrl?: string;
|
|
24
|
+
}): null;
|
|
25
|
+
/** Declarative "render this to send the user to sign-up" (Clerk `<RedirectToSignUp>`). */
|
|
26
|
+
export declare function RedirectToSignUp({ url, redirectUrl }: {
|
|
27
|
+
url?: string;
|
|
28
|
+
redirectUrl?: string;
|
|
29
|
+
}): null;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SignInButton = SignInButton;
|
|
4
|
+
exports.SignUpButton = SignUpButton;
|
|
5
|
+
exports.SignOutButton = SignOutButton;
|
|
6
|
+
exports.RedirectToSignIn = RedirectToSignIn;
|
|
7
|
+
exports.RedirectToSignUp = RedirectToSignUp;
|
|
8
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
const hooks_1 = require("./hooks");
|
|
11
|
+
const components_shared_1 = require("./components-shared");
|
|
12
|
+
/** Clerk-parity ergonomic: a button that sends the user to your sign-in page. */
|
|
13
|
+
function SignInButton({ url = '/sign-in', redirectUrl, children, className }) {
|
|
14
|
+
const t = (0, components_shared_1.useText)();
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)("button", { type: "button", className: className, onClick: () => (0, components_shared_1.navigateTo)((0, components_shared_1.withRedirect)(url, redirectUrl)), children: children ?? t('signIn.title') }));
|
|
16
|
+
}
|
|
17
|
+
/** Clerk-parity ergonomic: a button that sends the user to your sign-up page. */
|
|
18
|
+
function SignUpButton({ url = '/sign-up', redirectUrl, children, className }) {
|
|
19
|
+
const t = (0, components_shared_1.useText)();
|
|
20
|
+
return ((0, jsx_runtime_1.jsx)("button", { type: "button", className: className, onClick: () => (0, components_shared_1.navigateTo)((0, components_shared_1.withRedirect)(url, redirectUrl)), children: children ?? t('signIn.signUpLink') }));
|
|
21
|
+
}
|
|
22
|
+
/** Clerk-parity ergonomic: a button that signs the user out, then optionally redirects. */
|
|
23
|
+
function SignOutButton({ redirectUrl, children, className, }) {
|
|
24
|
+
const { signOut } = (0, hooks_1.useAuth)();
|
|
25
|
+
const t = (0, components_shared_1.useText)();
|
|
26
|
+
return ((0, jsx_runtime_1.jsx)("button", { type: "button", className: className, onClick: () => {
|
|
27
|
+
void signOut().then(() => {
|
|
28
|
+
if (redirectUrl)
|
|
29
|
+
(0, components_shared_1.navigateTo)(redirectUrl);
|
|
30
|
+
});
|
|
31
|
+
}, children: children ?? t('userButton.signOut') }));
|
|
32
|
+
}
|
|
33
|
+
/** Declarative "render this to send the user to sign-in" (Clerk `<RedirectToSignIn>`). */
|
|
34
|
+
function RedirectToSignIn({ url = '/sign-in', redirectUrl }) {
|
|
35
|
+
(0, react_1.useEffect)(() => (0, components_shared_1.navigateTo)((0, components_shared_1.withRedirect)(url, redirectUrl), true), [url, redirectUrl]);
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
/** Declarative "render this to send the user to sign-up" (Clerk `<RedirectToSignUp>`). */
|
|
39
|
+
function RedirectToSignUp({ url = '/sign-up', redirectUrl }) {
|
|
40
|
+
(0, react_1.useEffect)(() => (0, components_shared_1.navigateTo)((0, components_shared_1.withRedirect)(url, redirectUrl), true), [url, redirectUrl]);
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=auth-buttons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-buttons.js","sourceRoot":"","sources":["../src/auth-buttons.tsx"],"names":[],"mappings":";;AAcA,oCAOC;AAGD,oCAOC;AAGD,sCAwBC;AAGD,4CAGC;AAGD,4CAGC;;AAtED,iCAAkD;AAClD,mCAAkC;AAClC,2DAAwE;AAWxE,iFAAiF;AACjF,SAAgB,YAAY,CAAC,EAAE,GAAG,GAAG,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAmB;IAClG,MAAM,CAAC,GAAG,IAAA,2BAAO,GAAE,CAAC;IACpB,OAAO,CACL,mCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,8BAAU,EAAC,IAAA,gCAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,YAClG,QAAQ,IAAI,CAAC,CAAC,cAAc,CAAC,GACvB,CACV,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAgB,YAAY,CAAC,EAAE,GAAG,GAAG,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAmB;IAClG,MAAM,CAAC,GAAG,IAAA,2BAAO,GAAE,CAAC;IACpB,OAAO,CACL,mCAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,8BAAU,EAAC,IAAA,gCAAY,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,YAClG,QAAQ,IAAI,CAAC,CAAC,mBAAmB,CAAC,GAC5B,CACV,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,SAAgB,aAAa,CAAC,EAC5B,WAAW,EACX,QAAQ,EACR,SAAS,GAKV;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,eAAO,GAAE,CAAC;IAC9B,MAAM,CAAC,GAAG,IAAA,2BAAO,GAAE,CAAC;IACpB,OAAO,CACL,mCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,GAAG,EAAE;YACZ,KAAK,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,IAAI,WAAW;oBAAE,IAAA,8BAAU,EAAC,WAAW,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,YAEA,QAAQ,IAAI,CAAC,CAAC,oBAAoB,CAAC,GAC7B,CACV,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,SAAgB,gBAAgB,CAAC,EAAE,GAAG,GAAG,UAAU,EAAE,WAAW,EAA0C;IACxG,IAAA,iBAAS,EAAC,GAAG,EAAE,CAAC,IAAA,8BAAU,EAAC,IAAA,gCAAY,EAAC,GAAG,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0FAA0F;AAC1F,SAAgB,gBAAgB,CAAC,EAAE,GAAG,GAAG,UAAU,EAAE,WAAW,EAA0C;IACxG,IAAA,iBAAS,EAAC,GAAG,EAAE,CAAC,IAAA,8BAAU,EAAC,IAAA,gCAAY,EAAC,GAAG,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { AtlasBillingInvoice, AtlasBillingPlan, AtlasBillingSubscription, AtlasPaymentMethod } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* §commerce (Clerk commerce). A thin, HONEST SDK surface over the REAL
|
|
5
|
+
* Stripe-backed billing API (`/v1/client/billing/*`): list plans, read the
|
|
6
|
+
* subject's subscription, and start a Checkout Session or open the Billing
|
|
7
|
+
* Portal — both of which the server issues as real Stripe-hosted URLs the
|
|
8
|
+
* caller is redirected to. There is deliberately NO in-page card form: taking
|
|
9
|
+
* card details would need a PCI-scoped Stripe Elements integration, and faking
|
|
10
|
+
* one would be a lie. Redirect-to-Checkout is the same posture Stripe itself
|
|
11
|
+
* recommends for most apps.
|
|
12
|
+
*/
|
|
13
|
+
export interface CheckoutParams {
|
|
14
|
+
/** The plan to buy. */
|
|
15
|
+
planId: string;
|
|
16
|
+
/** Buy for an organization (its admin) rather than for the user. */
|
|
17
|
+
orgId?: string;
|
|
18
|
+
/** Where Stripe returns on success / cancel. Defaults to the current URL. */
|
|
19
|
+
successUrl?: string;
|
|
20
|
+
cancelUrl?: string;
|
|
21
|
+
/** Redirect to the Checkout URL (default true). False → the URL is only returned. */
|
|
22
|
+
redirect?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* §commerce headless billing (Clerk `useCheckout`/subscription hooks combined).
|
|
26
|
+
* Loads the instance's plans and — when signed in — the subject's subscription,
|
|
27
|
+
* and exposes `checkout()` and `openPortal()`. Pass `{ orgId }` to operate on an
|
|
28
|
+
* organization the user administers instead of on the user.
|
|
29
|
+
*/
|
|
30
|
+
export declare function useBilling(opts?: {
|
|
31
|
+
orgId?: string;
|
|
32
|
+
}): {
|
|
33
|
+
isLoaded: boolean;
|
|
34
|
+
plans: AtlasBillingPlan[];
|
|
35
|
+
subscription: AtlasBillingSubscription | null;
|
|
36
|
+
invoices: AtlasBillingInvoice[];
|
|
37
|
+
paymentMethod: AtlasPaymentMethod | null;
|
|
38
|
+
checkout: (params: CheckoutParams) => Promise<import("@atlasauth/js").FapiResponse<{
|
|
39
|
+
url: string;
|
|
40
|
+
}>>;
|
|
41
|
+
openPortal: (params?: {
|
|
42
|
+
returnUrl?: string;
|
|
43
|
+
orgId?: string;
|
|
44
|
+
redirect?: boolean;
|
|
45
|
+
}) => Promise<import("@atlasauth/js").FapiResponse<{
|
|
46
|
+
url: string;
|
|
47
|
+
}>>;
|
|
48
|
+
reload: () => Promise<void>;
|
|
49
|
+
};
|
|
50
|
+
/** §commerce Clerk-parity alias — just the `checkout` action from {@link useBilling}. */
|
|
51
|
+
export declare function useCheckout(opts?: {
|
|
52
|
+
orgId?: string;
|
|
53
|
+
}): {
|
|
54
|
+
checkout: (params: CheckoutParams) => Promise<import("@atlasauth/js").FapiResponse<{
|
|
55
|
+
url: string;
|
|
56
|
+
}>>;
|
|
57
|
+
};
|
|
58
|
+
/** §commerce Clerk-parity alias — the subject's subscription from {@link useBilling}. */
|
|
59
|
+
export declare function useSubscription(opts?: {
|
|
60
|
+
orgId?: string;
|
|
61
|
+
}): {
|
|
62
|
+
isLoaded: boolean;
|
|
63
|
+
subscription: AtlasBillingSubscription | null;
|
|
64
|
+
openPortal: (params?: {
|
|
65
|
+
returnUrl?: string;
|
|
66
|
+
orgId?: string;
|
|
67
|
+
redirect?: boolean;
|
|
68
|
+
}) => Promise<import("@atlasauth/js").FapiResponse<{
|
|
69
|
+
url: string;
|
|
70
|
+
}>>;
|
|
71
|
+
reload: () => Promise<void>;
|
|
72
|
+
};
|
|
73
|
+
/** §commerce Clerk-parity alias — the subject's invoices from {@link useBilling}. */
|
|
74
|
+
export declare function useInvoices(opts?: {
|
|
75
|
+
orgId?: string;
|
|
76
|
+
}): {
|
|
77
|
+
isLoaded: boolean;
|
|
78
|
+
invoices: AtlasBillingInvoice[];
|
|
79
|
+
reload: () => Promise<void>;
|
|
80
|
+
};
|
|
81
|
+
/** §commerce Clerk-parity alias — the subject's default payment method + Portal to change it. */
|
|
82
|
+
export declare function usePaymentMethods(opts?: {
|
|
83
|
+
orgId?: string;
|
|
84
|
+
}): {
|
|
85
|
+
isLoaded: boolean;
|
|
86
|
+
paymentMethod: AtlasPaymentMethod | null;
|
|
87
|
+
openPortal: (params?: {
|
|
88
|
+
returnUrl?: string;
|
|
89
|
+
orgId?: string;
|
|
90
|
+
redirect?: boolean;
|
|
91
|
+
}) => Promise<import("@atlasauth/js").FapiResponse<{
|
|
92
|
+
url: string;
|
|
93
|
+
}>>;
|
|
94
|
+
reload: () => Promise<void>;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* §commerce (Clerk `<PricingTable>`). Renders the instance's plans as cards with
|
|
98
|
+
* price + features and a subscribe button that starts a real Stripe Checkout.
|
|
99
|
+
* The plan the subject is currently on is marked as current (its button is
|
|
100
|
+
* disabled and an "Manage billing" action opens the Billing Portal instead).
|
|
101
|
+
*/
|
|
102
|
+
export declare function PricingTable({ orgId }?: {
|
|
103
|
+
orgId?: string;
|
|
104
|
+
}): import("react").JSX.Element;
|
|
105
|
+
/**
|
|
106
|
+
* §commerce (Clerk `<Invoices>`). The subject's billing history — number, status,
|
|
107
|
+
* amount, and a link to Stripe's hosted invoice / PDF. Renders nothing until
|
|
108
|
+
* loaded, and an empty state when there are no invoices yet.
|
|
109
|
+
*/
|
|
110
|
+
export declare function Invoices({ orgId }?: {
|
|
111
|
+
orgId?: string;
|
|
112
|
+
}): import("react").JSX.Element;
|
|
113
|
+
/**
|
|
114
|
+
* §commerce (Clerk `<EmbeddedCheckout>`). In-page checkout for a plan: mounts
|
|
115
|
+
* Stripe's own Embedded Checkout iframe — Stripe.js owns the card fields, so no
|
|
116
|
+
* PCI-scoped data ever touches Atlas. Fetches the instance's Stripe publishable
|
|
117
|
+
* key from `/billing/config`; when embedded checkout is not configured it renders
|
|
118
|
+
* `fallback` (default: a hosted-redirect button) rather than a broken frame.
|
|
119
|
+
*/
|
|
120
|
+
export declare function EmbeddedCheckout({ planId, orgId, returnUrl, fallback, }: {
|
|
121
|
+
planId: string;
|
|
122
|
+
orgId?: string;
|
|
123
|
+
/** Where Stripe returns after the in-page flow (defaults to the current URL). */
|
|
124
|
+
returnUrl?: string;
|
|
125
|
+
/** Rendered when embedded checkout is unavailable (no publishable key). */
|
|
126
|
+
fallback?: ReactNode;
|
|
127
|
+
}): import("react").JSX.Element;
|