@atlasauth/react 0.13.0 → 0.14.0

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.
@@ -1,4 +1,6 @@
1
+ import { OrganizationProfileController, type OrganizationProfileState } from '@atlasauth/js';
1
2
  import { useOrganization } from './hooks';
3
+ import { useReverification } from './reverification';
2
4
  export declare function OrganizationSwitcher(): import("react").JSX.Element;
3
5
  /**
4
6
  * Clerk-parity `useOrganizationList()`. The memberships the signed-in user
@@ -34,4 +36,83 @@ export declare function CreateOrganization({ onCreate, }?: {
34
36
  * can make one without leaving the list.
35
37
  */
36
38
  export declare function OrganizationList(): import("react").JSX.Element;
37
- export declare function OrganizationProfile(): import("react").JSX.Element | null;
39
+ /**
40
+ * Headless state for the active organization's profile: members, pending
41
+ * invitations and roles, with the admin actions (change role, remove, invite,
42
+ * revoke, resend) and the member actions (leave; delete for an admin, which
43
+ * parks for a password re-authentication on a stale session). The same
44
+ * `OrganizationProfileController` backs every SDK's `<OrganizationProfile>`.
45
+ */
46
+ export declare function useOrganizationProfile(): {
47
+ organizationId: string | null;
48
+ state: OrganizationProfileState;
49
+ canManage: boolean;
50
+ isAdmin: boolean;
51
+ controller: OrganizationProfileController | null;
52
+ deleteOrganization(): Promise<boolean>;
53
+ reverification: ReturnType<typeof useReverification>;
54
+ };
55
+ export interface OrganizationProfileProps {
56
+ /** Called after the user leaves or deletes the organization (e.g. to navigate away). */
57
+ onExit?(reason: 'left' | 'deleted'): void;
58
+ }
59
+ /**
60
+ * Clerk-parity `<OrganizationProfile>`: the active organization's members
61
+ * (admins change roles and remove), invitations (admins invite, revoke and
62
+ * resend) and settings (leave; an admin deletes, after re-authenticating).
63
+ * Every control is gated on the ACTIVE org role, matching the server's rule.
64
+ */
65
+ export declare function OrganizationProfile({ onExit }?: OrganizationProfileProps): import("react").JSX.Element | null;
66
+ /** One entry of an organization's audit trail, as the Frontend API returns it. */
67
+ export interface OrganizationAuditLogEntry {
68
+ object: 'audit_log';
69
+ id: string;
70
+ action: string;
71
+ actor: {
72
+ type: string;
73
+ id: string | null;
74
+ };
75
+ target: {
76
+ type: string | null;
77
+ id: string | null;
78
+ };
79
+ organization_id: string;
80
+ ip: string | null;
81
+ user_agent: string | null;
82
+ metadata: Record<string, unknown>;
83
+ created_at: number;
84
+ }
85
+ /**
86
+ * The active organization's audit trail, for org admins: one page at a time,
87
+ * newest first, with a "load more" cursor. `action` narrows it (exact, or a
88
+ * prefix ending in `.`). Returns `forbidden: true` when the signed-in member is
89
+ * not allowed to read it, so the caller can hide the surface.
90
+ */
91
+ export declare function useOrganizationAuditLog(options?: {
92
+ pageSize?: number;
93
+ action?: string;
94
+ }): {
95
+ entries: OrganizationAuditLogEntry[];
96
+ loading: boolean;
97
+ forbidden: boolean;
98
+ hasMore: boolean;
99
+ loadMore(): Promise<void>;
100
+ reload(): Promise<void>;
101
+ };
102
+ /**
103
+ * `<OrganizationAuditLog/>` — the active organization's audit trail for its
104
+ * admins, next to `<OrganizationProfile/>`. Renders nothing for a member who may
105
+ * not read it (the server is the authority; the component just follows it).
106
+ * Labels are props so an app can localise them.
107
+ */
108
+ export declare function OrganizationAuditLog({ pageSize, action, labels, formatDate, }?: {
109
+ pageSize?: number;
110
+ action?: string;
111
+ labels?: {
112
+ title?: string;
113
+ empty?: string;
114
+ loadMore?: string;
115
+ actor?: string;
116
+ };
117
+ formatDate?(ms: number): string;
118
+ }): import("react").JSX.Element | null;
@@ -5,13 +5,17 @@ exports.OrganizationSwitcher = OrganizationSwitcher;
5
5
  exports.useOrganizationList = useOrganizationList;
6
6
  exports.CreateOrganization = CreateOrganization;
7
7
  exports.OrganizationList = OrganizationList;
8
+ exports.useOrganizationProfile = useOrganizationProfile;
8
9
  exports.OrganizationProfile = OrganizationProfile;
10
+ exports.useOrganizationAuditLog = useOrganizationAuditLog;
11
+ exports.OrganizationAuditLog = OrganizationAuditLog;
9
12
  const jsx_runtime_1 = require("react/jsx-runtime");
10
13
  const react_1 = require("react");
14
+ const js_1 = require("@atlasauth/js");
11
15
  const AtlasProvider_1 = require("./AtlasProvider");
12
16
  const hooks_1 = require("./hooks");
13
17
  const components_shared_1 = require("./components-shared");
14
- const control_components_1 = require("./control-components");
18
+ const reverification_1 = require("./reverification");
15
19
  function OrganizationSwitcher() {
16
20
  const { memberships, organization, setActive } = (0, hooks_1.useOrganization)();
17
21
  const t = (0, components_shared_1.useText)();
@@ -102,13 +106,227 @@ function OrganizationList() {
102
106
  const itemClass = (0, components_shared_1.useClass)('menuItem', 'atlas-menu-item');
103
107
  return ((0, jsx_runtime_1.jsxs)("div", { className: menuClass, "data-atlas": "organization-list", children: [memberships.map((membership) => ((0, jsx_runtime_1.jsx)("button", { className: itemClass, disabled: membership.organization.id === organization?.id, onClick: () => void setActive(membership.organization.id), children: membership.organization.name }, membership.organization.id))), (0, jsx_runtime_1.jsx)("span", { className: itemClass, "data-atlas": "organization-list-divider", children: t('organization.orCreate') }), (0, jsx_runtime_1.jsx)(CreateOrganization, {})] }));
104
108
  }
105
- function OrganizationProfile() {
109
+ /**
110
+ * Headless state for the active organization's profile: members, pending
111
+ * invitations and roles, with the admin actions (change role, remove, invite,
112
+ * revoke, resend) and the member actions (leave; delete for an admin, which
113
+ * parks for a password re-authentication on a stale session). The same
114
+ * `OrganizationProfileController` backs every SDK's `<OrganizationProfile>`.
115
+ */
116
+ function useOrganizationProfile() {
117
+ const { organization, membership } = (0, hooks_1.useOrganization)();
118
+ const { has } = (0, hooks_1.useAuth)();
119
+ const { reload } = (0, AtlasProvider_1.useAtlas)();
120
+ const client = (0, components_shared_1.useMeClient)();
121
+ const reverification = (0, reverification_1.useReverification)();
122
+ const canManage = has({ permission: 'org:sys_memberships:manage' });
123
+ const isAdmin = membership?.role === 'org:admin';
124
+ const organizationId = organization?.id ?? null;
125
+ const controller = (0, react_1.useMemo)(() => organizationId
126
+ ? new js_1.OrganizationProfileController(client, organizationId, {
127
+ canManage,
128
+ onChange: async () => {
129
+ await reload();
130
+ },
131
+ })
132
+ : null, [client, organizationId, canManage, reload]);
133
+ (0, react_1.useEffect)(() => {
134
+ void controller?.load();
135
+ }, [controller]);
136
+ const empty = (0, react_1.useMemo)(() => ({ status: 'idle', members: [], membersTotal: 0, invitations: [], roles: [], permissions: [], error: null, busy: null }), []);
137
+ const state = (0, react_1.useSyncExternalStore)((0, react_1.useCallback)((cb) => (controller ? controller.subscribe(cb) : () => undefined), [controller]), () => controller?.getState() ?? empty, () => controller?.getState() ?? empty);
138
+ const { withReverification } = reverification;
139
+ const remove = (0, react_1.useCallback)(async () => {
140
+ if (!organizationId)
141
+ return false;
142
+ await withReverification(() => (0, js_1.deleteOrganization)(client, organizationId));
143
+ await reload();
144
+ return true;
145
+ }, [client, organizationId, reload, withReverification]);
146
+ return { organizationId, state, canManage, isAdmin, controller, deleteOrganization: remove, reverification };
147
+ }
148
+ function memberName(member, fallback) {
149
+ const name = [member.user?.first_name, member.user?.last_name].filter(Boolean).join(' ');
150
+ return name || fallback;
151
+ }
152
+ /**
153
+ * Clerk-parity `<OrganizationProfile>`: the active organization's members
154
+ * (admins change roles and remove), invitations (admins invite, revoke and
155
+ * resend) and settings (leave; an admin deletes, after re-authenticating).
156
+ * Every control is gated on the ACTIVE org role, matching the server's rule.
157
+ */
158
+ function OrganizationProfile({ onExit } = {}) {
106
159
  const { organization, membership } = (0, hooks_1.useOrganization)();
160
+ const { userId } = (0, hooks_1.useAuth)();
107
161
  const t = (0, components_shared_1.useText)();
162
+ const errorText = (0, components_shared_1.useErrorText)();
163
+ const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
164
+ const cls = (0, components_shared_1.useClasses)();
165
+ const profile = useOrganizationProfile();
166
+ const { state, controller, canManage, isAdmin, reverification } = profile;
167
+ const [tab, setTab] = (0, react_1.useState)('members');
168
+ // The custom-role editor: null = creating a new role, else the id being edited.
169
+ const [editingRole, setEditingRole] = (0, react_1.useState)(null);
170
+ const [roleKey, setRoleKey] = (0, react_1.useState)('');
171
+ const [roleName, setRoleName] = (0, react_1.useState)('');
172
+ const [rolePerms, setRolePerms] = (0, react_1.useState)([]);
173
+ const [email, setEmail] = (0, react_1.useState)('');
174
+ const [inviteRole, setInviteRole] = (0, react_1.useState)('org:member');
175
+ const [confirm, setConfirm] = (0, react_1.useState)(null);
176
+ const [password, setPassword] = (0, react_1.useState)('');
177
+ const [localError, setLocalError] = (0, react_1.useState)(null);
178
+ if (!organization || !controller)
179
+ return null;
180
+ const buttonSecondary = cls('formButtonSecondary', 'atlas-button-secondary');
181
+ const buttonPrimary = cls('formButtonPrimary', 'atlas-button');
182
+ const busy = (key) => state.busy === key;
183
+ const error = localError ?? (state.error ? errorText(state.error) : null);
184
+ const sendInvite = async () => {
185
+ const address = email.trim();
186
+ if (!address)
187
+ return;
188
+ const out = await controller.invite(address, inviteRole);
189
+ if (out)
190
+ setEmail('');
191
+ };
192
+ const doLeave = async () => {
193
+ setLocalError(null);
194
+ if (await controller.leave())
195
+ onExit?.('left');
196
+ setConfirm(null);
197
+ };
198
+ const doDelete = async () => {
199
+ setLocalError(null);
200
+ try {
201
+ if (await profile.deleteOrganization())
202
+ onExit?.('deleted');
203
+ }
204
+ catch (err) {
205
+ if (!(err instanceof Error && err.message === 'Reverification cancelled.')) {
206
+ setLocalError(err instanceof Error ? errorText(err) : t('error.generic'));
207
+ }
208
+ }
209
+ setConfirm(null);
210
+ };
211
+ const roleOptions = state.roles.length > 0 ? state.roles : [{ key: 'org:member', name: 'org:member' }];
212
+ const customRoles = state.roles.filter((r) => Boolean(r.organization_id));
213
+ const resetRoleForm = () => {
214
+ setEditingRole(null);
215
+ setRoleKey('');
216
+ setRoleName('');
217
+ setRolePerms([]);
218
+ };
219
+ const saveRole = async () => {
220
+ const out = editingRole
221
+ ? await controller.updateRole(editingRole, { name: roleName.trim(), permissions: rolePerms })
222
+ : await controller.createRole({ key: roleKey.trim(), name: roleName.trim(), permissions: rolePerms });
223
+ if (out)
224
+ resetRoleForm();
225
+ };
226
+ return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, "data-atlas": "organization-profile", children: [(0, jsx_runtime_1.jsx)("h1", { className: cls('headerTitle', 'atlas-heading'), children: organization.name }), (0, jsx_runtime_1.jsxs)("p", { className: cls('headerSubtitle', 'atlas-subtitle'), children: [t('organization.roleLabel'), ": ", membership?.role] }), (0, jsx_runtime_1.jsx)("div", { className: cls('menu', 'atlas-menu'), role: "tablist", children: ['members', ...(canManage ? ['invitations', 'roles'] : []), 'settings'].map((key) => ((0, jsx_runtime_1.jsx)("button", { type: "button", role: "tab", "aria-selected": tab === key, className: cls('menuItem', 'atlas-menu-item'), "data-atlas": `organization-tab-${key}`, onClick: () => setTab(key), children: t(`organization.${key}`) }, key))) }), error ? ((0, jsx_runtime_1.jsx)("p", { className: cls('alert', 'atlas-alert'), role: "alert", children: error })) : null, tab === 'members' ? ((0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), "data-atlas": "organization-members", children: state.members.map((member) => {
227
+ const self = member.user?.id === userId;
228
+ const id = member.user?.id ?? member.id;
229
+ return ((0, jsx_runtime_1.jsxs)("li", { "data-atlas": "organization-member", children: [(0, jsx_runtime_1.jsxs)("span", { children: [memberName(member, t('organization.unnamedMember')), self ? ` ${t('organization.you')}` : ''] }), canManage && !self && member.user ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("select", { "aria-label": t('organization.roleLabel'), className: cls('formFieldInput', 'atlas-input'), value: member.role, disabled: busy(`role:${id}`), onChange: (event) => void controller.changeRole(id, event.target.value), children: roleOptions.map((role) => ((0, jsx_runtime_1.jsx)("option", { value: role.key, children: role.name }, role.key))) }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonSecondary, disabled: busy(`remove:${id}`), onClick: () => void controller.removeMember(id), children: t('organization.remove') })] })) : ((0, jsx_runtime_1.jsxs)("span", { children: [" \u00B7 ", member.role] }))] }, member.id));
230
+ }) })) : null, tab === 'invitations' && canManage ? ((0, jsx_runtime_1.jsxs)("div", { "data-atlas": "organization-invitations", children: [(0, jsx_runtime_1.jsxs)("form", { onSubmit: (event) => {
231
+ event.preventDefault();
232
+ void sendInvite();
233
+ }, children: [(0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("span", { className: cls('formFieldLabel', 'atlas-field-label'), children: t('organization.emailLabel') }), (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), type: "email", value: email, onChange: (event) => setEmail(event.target.value) })] }), (0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("span", { className: cls('formFieldLabel', 'atlas-field-label'), children: t('organization.roleLabel') }), (0, jsx_runtime_1.jsx)("select", { className: cls('formFieldInput', 'atlas-input'), value: inviteRole, onChange: (event) => setInviteRole(event.target.value), children: roleOptions.map((role) => ((0, jsx_runtime_1.jsx)("option", { value: role.key, children: role.name }, role.key))) })] }), (0, jsx_runtime_1.jsx)("button", { type: "submit", className: buttonPrimary, disabled: busy('invite') || !email.trim(), children: t('organization.sendInvite') })] }), state.invitations.length === 0 ? ((0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: t('organization.noInvitations') })) : ((0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), children: state.invitations.map((inv) => ((0, jsx_runtime_1.jsxs)("li", { "data-atlas": "organization-invitation", children: [(0, jsx_runtime_1.jsxs)("span", { children: [inv.email_address, " \u00B7 ", inv.role] }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonSecondary, disabled: busy(`resend:${inv.id}`), onClick: () => void controller.resendInvitation(inv.id), children: t('organization.resend') }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonSecondary, disabled: busy(`revoke:${inv.id}`), onClick: () => void controller.revokeInvitation(inv.id), children: t('organization.revoke') })] }, inv.id))) }))] })) : null, tab === 'roles' && canManage ? ((0, jsx_runtime_1.jsxs)("div", { "data-atlas": "organization-roles", children: [customRoles.length === 0 ? ((0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: t('organization.noCustomRoles') })) : ((0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-list'), children: customRoles.map((role) => ((0, jsx_runtime_1.jsxs)("li", { "data-atlas": "organization-role", children: [(0, jsx_runtime_1.jsxs)("span", { children: [role.name, " \u00B7 ", role.key] }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonSecondary, onClick: () => {
234
+ setEditingRole(role.id ?? null);
235
+ setRoleKey(role.key);
236
+ setRoleName(role.name);
237
+ setRolePerms(role.permissions ?? []);
238
+ }, children: t('organization.editRole') }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonSecondary, disabled: !role.id || busy(`role:delete:${role.id}`), onClick: () => role.id && void controller.deleteRole(role.id), children: t('organization.deleteRole') })] }, role.id ?? role.key))) })), (0, jsx_runtime_1.jsxs)("form", { "data-atlas": "organization-role-form", onSubmit: (event) => {
239
+ event.preventDefault();
240
+ void saveRole();
241
+ }, children: [editingRole ? null : ((0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("span", { className: cls('formFieldLabel', 'atlas-field-label'), children: t('organization.roleKey') }), (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), name: "role_key", value: roleKey, onChange: (event) => setRoleKey(event.target.value) })] })), (0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("span", { className: cls('formFieldLabel', 'atlas-field-label'), children: t('organization.roleName') }), (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-input'), name: "role_name", value: roleName, onChange: (event) => setRoleName(event.target.value) })] }), (0, jsx_runtime_1.jsxs)("fieldset", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("legend", { className: cls('formFieldLabel', 'atlas-field-label'), children: t('organization.rolePermissions') }), state.permissions.map((permission) => ((0, jsx_runtime_1.jsxs)("label", { "data-atlas": "organization-role-permission", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", value: permission.key, checked: rolePerms.includes(permission.key), onChange: (event) => setRolePerms((current) => event.target.checked
242
+ ? [...current, permission.key]
243
+ : current.filter((key) => key !== permission.key)) }), ' ', permission.name] }, permission.key)))] }), (0, jsx_runtime_1.jsx)("button", { type: "submit", className: buttonPrimary, disabled: !roleName.trim() || (!editingRole && !roleKey.trim()) || state.busy?.startsWith('role:') === true, children: editingRole ? t('organization.saveRole') : t('organization.createRole') }), editingRole ? ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonSecondary, onClick: resetRoleForm, children: t('organization.cancel') })) : null] })] })) : null, tab === 'settings' ? ((0, jsx_runtime_1.jsx)("div", { "data-atlas": "organization-settings", children: confirm ? ((0, jsx_runtime_1.jsxs)("div", { role: "dialog", "data-atlas": `organization-confirm-${confirm}`, children: [(0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: t(confirm === 'leave' ? 'organization.leaveConfirm' : 'organization.deleteConfirm', {
244
+ name: organization.name,
245
+ }) }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonPrimary, disabled: busy('leave') || busy('delete'), onClick: () => void (confirm === 'leave' ? doLeave() : doDelete()), children: t('organization.confirm') }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonSecondary, onClick: () => setConfirm(null), children: t('organization.cancel') })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonSecondary, onClick: () => setConfirm('leave'), children: t('organization.leave') }), isAdmin ? ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonSecondary, onClick: () => setConfirm('delete'), children: t('organization.delete') })) : null] })) })) : null, reverification.needsReverification ? ((0, jsx_runtime_1.jsxs)("div", { "data-atlas": "organization-reverification", role: "dialog", "aria-label": t('reverification.title'), children: [(0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: (0, jsx_runtime_1.jsx)("strong", { children: t('reverification.title') }) }), (0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: t('reverification.subtitle') }), (0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("span", { className: cls('formFieldLabel', 'atlas-field-label'), children: t('reverification.passwordLabel') }), (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-account-input'), type: "password", autoComplete: "current-password", value: password, onChange: (event) => setPassword(event.target.value) })] }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonPrimary, onClick: () => void reverification
246
+ .completeReverification({ strategy: 'password', password })
247
+ .then(() => setPassword(''))
248
+ .catch((err) => setLocalError(err instanceof Error ? errorText(err) : t('error.generic'))), children: t('reverification.submit') }), (0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonSecondary, onClick: () => {
249
+ setPassword('');
250
+ reverification.cancelReverification();
251
+ }, children: t('reverification.cancel') })] })) : null] }));
252
+ }
253
+ /**
254
+ * The active organization's audit trail, for org admins: one page at a time,
255
+ * newest first, with a "load more" cursor. `action` narrows it (exact, or a
256
+ * prefix ending in `.`). Returns `forbidden: true` when the signed-in member is
257
+ * not allowed to read it, so the caller can hide the surface.
258
+ */
259
+ function useOrganizationAuditLog(options = {}) {
260
+ const { organization } = (0, hooks_1.useOrganization)();
261
+ const client = (0, components_shared_1.useMeClient)();
262
+ const [entries, setEntries] = (0, react_1.useState)([]);
263
+ const [cursor, setCursor] = (0, react_1.useState)(null);
264
+ const [hasMore, setHasMore] = (0, react_1.useState)(false);
265
+ const [loading, setLoading] = (0, react_1.useState)(false);
266
+ const [forbidden, setForbidden] = (0, react_1.useState)(false);
267
+ const orgId = organization?.id;
268
+ const pageSize = options.pageSize ?? 20;
269
+ const action = options.action;
270
+ const fetchPage = (0, react_1.useCallback)(async (after) => {
271
+ if (!orgId)
272
+ return;
273
+ setLoading(true);
274
+ try {
275
+ const params = new URLSearchParams({ limit: String(pageSize) });
276
+ if (after)
277
+ params.set('starting_after', after);
278
+ if (action)
279
+ params.set('action', action);
280
+ const res = await client.get(`/v1/client/organizations/${encodeURIComponent(orgId)}/audit_logs?${params.toString()}`);
281
+ if (!res.ok || !res.data) {
282
+ setForbidden(res.status === 403 || res.status === 404);
283
+ return;
284
+ }
285
+ const page = res.data;
286
+ setForbidden(false);
287
+ setEntries((prev) => (after ? [...prev, ...page.data] : page.data));
288
+ setCursor(page.next_cursor);
289
+ setHasMore(page.has_more);
290
+ }
291
+ finally {
292
+ setLoading(false);
293
+ }
294
+ }, [client, orgId, pageSize, action]);
295
+ (0, react_1.useEffect)(() => {
296
+ setEntries([]);
297
+ setCursor(null);
298
+ void fetchPage(null);
299
+ }, [fetchPage]);
300
+ return {
301
+ entries,
302
+ loading,
303
+ forbidden,
304
+ hasMore,
305
+ loadMore: async () => {
306
+ if (cursor)
307
+ await fetchPage(cursor);
308
+ },
309
+ reload: () => fetchPage(null),
310
+ };
311
+ }
312
+ /** `organization_invitation.created` → `Organization invitation created`. */
313
+ function describeAction(action) {
314
+ const text = action.replace(/[._]+/g, ' ').trim();
315
+ return text.charAt(0).toUpperCase() + text.slice(1);
316
+ }
317
+ /**
318
+ * `<OrganizationAuditLog/>` — the active organization's audit trail for its
319
+ * admins, next to `<OrganizationProfile/>`. Renders nothing for a member who may
320
+ * not read it (the server is the authority; the component just follows it).
321
+ * Labels are props so an app can localise them.
322
+ */
323
+ function OrganizationAuditLog({ pageSize, action, labels = {}, formatDate = (ms) => new Date(ms).toLocaleString(), } = {}) {
324
+ const { organization } = (0, hooks_1.useOrganization)();
325
+ const log = useOrganizationAuditLog({ pageSize, action });
108
326
  const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
109
327
  const cls = (0, components_shared_1.useClasses)();
110
- if (!organization)
328
+ if (!organization || log.forbidden)
111
329
  return null;
112
- return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, children: [(0, jsx_runtime_1.jsx)("h1", { className: cls('headerTitle', 'atlas-heading'), children: organization.name }), (0, jsx_runtime_1.jsxs)("p", { className: cls('headerSubtitle', 'atlas-subtitle'), children: [t('organization.roleLabel'), ": ", membership?.role] }), (0, jsx_runtime_1.jsx)(control_components_1.Protect, { permission: "org:sys_memberships:manage", children: (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), children: t('organization.invite') }) })] }));
330
+ return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, "data-atlas": "organization-audit-log", children: [(0, jsx_runtime_1.jsx)("h2", { className: cls('headerTitle', 'atlas-title'), children: labels.title ?? 'Audit log' }), log.entries.length === 0 && !log.loading ? ((0, jsx_runtime_1.jsx)("p", { className: cls('headerSubtitle', 'atlas-subtitle'), children: labels.empty ?? 'No activity recorded yet.' })) : ((0, jsx_runtime_1.jsx)("ul", { className: cls('list', 'atlas-audit-list'), children: log.entries.map((entry) => ((0, jsx_runtime_1.jsxs)("li", { className: cls('listItem', 'atlas-audit-item'), "data-action": entry.action, children: [(0, jsx_runtime_1.jsx)("strong", { children: describeAction(entry.action) }), (0, jsx_runtime_1.jsxs)("span", { className: "atlas-audit-meta", children: [' · ', formatDate(entry.created_at), entry.actor.id ? ` · ${labels.actor ?? 'by'} ${entry.actor.type} ${entry.actor.id}` : ''] })] }, entry.id))) })), log.hasMore ? ((0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), disabled: log.loading, onClick: () => void log.loadMore(), children: labels.loadMore ?? 'Load more' })) : null] }));
113
331
  }
114
332
  //# sourceMappingURL=organization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"organization.js","sourceRoot":"","sources":["../src/organization.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../src/organization.tsx"],"names":[],"mappings":"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"}
@@ -19,3 +19,22 @@ export declare function useReverification(): {
19
19
  completeReverification(input: ReauthInput): Promise<void>;
20
20
  cancelReverification(): void;
21
21
  };
22
+ /** What {@link useReverification} returns; the prompt drives it. */
23
+ export type Reverification = ReturnType<typeof useReverification>;
24
+ /** A cancelled reverification rejects the parked call with this message. */
25
+ export declare const REVERIFICATION_CANCELLED = "Reverification cancelled.";
26
+ /** True for the rejection a user's own "Cancel" produces (not worth an error). */
27
+ export declare function isReverificationCancelled(err: unknown): boolean;
28
+ /**
29
+ * The drop-in "Confirm it's you" prompt for a parked {@link useReverification}
30
+ * call. Renders nothing until a sensitive action came back `STEP_UP_REQUIRED`;
31
+ * then it asks for the password, re-authenticates in place, and the parked
32
+ * action retries once. The account components (`<UserProfile>`, `<ManageMfa>`,
33
+ * `<ManagePasskeys>`, the phone and email sections) all use it, so a stale
34
+ * session never fails a destructive action silently.
35
+ */
36
+ export declare function ReverificationPrompt({ reverification, name, }: {
37
+ reverification: Reverification;
38
+ /** `data-atlas` hook for styling/tests. */
39
+ name?: string;
40
+ }): import("react").JSX.Element | null;
@@ -1,10 +1,15 @@
1
1
  "use strict";
2
2
  'use client';
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.REVERIFICATION_CANCELLED = void 0;
4
5
  exports.useReverification = useReverification;
6
+ exports.isReverificationCancelled = isReverificationCancelled;
7
+ exports.ReverificationPrompt = ReverificationPrompt;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
9
  const react_1 = require("react");
6
10
  const js_1 = require("@atlasauth/js");
7
11
  const AtlasProvider_1 = require("./AtlasProvider");
12
+ const components_shared_1 = require("./components-shared");
8
13
  /**
9
14
  * Clerk-parity `useReverification()`. A thin, headless wrapper over the EXISTING
10
15
  * step-up path (`@atlasauth/js`'s {@link reauthenticate} → `POST /v1/client/me/reauthenticate`)
@@ -68,8 +73,51 @@ function useReverification() {
68
73
  const job = pending.current;
69
74
  pending.current = null;
70
75
  setNeedsReverification(false);
71
- job?.reject(new Error('Reverification cancelled.'));
76
+ job?.reject(new Error(exports.REVERIFICATION_CANCELLED));
72
77
  }, []);
73
78
  return { withReverification, needsReverification, completeReverification, cancelReverification };
74
79
  }
80
+ /** A cancelled reverification rejects the parked call with this message. */
81
+ exports.REVERIFICATION_CANCELLED = 'Reverification cancelled.';
82
+ /** True for the rejection a user's own "Cancel" produces (not worth an error). */
83
+ function isReverificationCancelled(err) {
84
+ return err instanceof Error && err.message === exports.REVERIFICATION_CANCELLED;
85
+ }
86
+ /**
87
+ * The drop-in "Confirm it's you" prompt for a parked {@link useReverification}
88
+ * call. Renders nothing until a sensitive action came back `STEP_UP_REQUIRED`;
89
+ * then it asks for the password, re-authenticates in place, and the parked
90
+ * action retries once. The account components (`<UserProfile>`, `<ManageMfa>`,
91
+ * `<ManagePasskeys>`, the phone and email sections) all use it, so a stale
92
+ * session never fails a destructive action silently.
93
+ */
94
+ function ReverificationPrompt({ reverification, name = 'reverification', }) {
95
+ const t = (0, components_shared_1.useText)();
96
+ const errorText = (0, components_shared_1.useErrorText)();
97
+ const cls = (0, components_shared_1.useClasses)();
98
+ const [password, setPassword] = (0, react_1.useState)('');
99
+ const [error, setError] = (0, react_1.useState)(null);
100
+ const [busy, setBusy] = (0, react_1.useState)(false);
101
+ if (!reverification.needsReverification)
102
+ return null;
103
+ const confirm = async () => {
104
+ setError(null);
105
+ setBusy(true);
106
+ try {
107
+ await reverification.completeReverification({ strategy: 'password', password });
108
+ setPassword('');
109
+ }
110
+ catch (err) {
111
+ setError(err instanceof Error ? errorText(err) : t('error.generic'));
112
+ }
113
+ finally {
114
+ setBusy(false);
115
+ }
116
+ };
117
+ return ((0, jsx_runtime_1.jsxs)("div", { "data-atlas": name, role: "dialog", "aria-label": t('reverification.title'), children: [(0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: (0, jsx_runtime_1.jsx)("strong", { children: t('reverification.title') }) }), (0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: t('reverification.subtitle') }), (0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-field'), children: [(0, jsx_runtime_1.jsx)("span", { className: cls('formFieldLabel', 'atlas-field-label'), children: t('reverification.passwordLabel') }), (0, jsx_runtime_1.jsx)("input", { className: cls('formFieldInput', 'atlas-account-input'), type: "password", autoComplete: "current-password", value: password, onChange: (e) => setPassword(e.target.value) })] }), error ? (0, jsx_runtime_1.jsx)("p", { className: cls('formFieldError', 'atlas-error'), role: "alert", children: error }) : null, (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonPrimary', 'atlas-button'), type: "button", disabled: busy, onClick: () => void confirm(), children: t('reverification.submit') }), (0, jsx_runtime_1.jsx)("button", { className: cls('formButtonSecondary', 'atlas-button-secondary'), type: "button", onClick: () => {
118
+ setPassword('');
119
+ setError(null);
120
+ reverification.cancelReverification();
121
+ }, children: t('reverification.cancel') })] }));
122
+ }
75
123
  //# sourceMappingURL=reverification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reverification.js","sourceRoot":"","sources":["../src/reverification.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reverification.js","sourceRoot":"","sources":["../src/reverification.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AAqBb,8CAoEC;AASD,8DAEC;AAUD,oDA4DC;;AAxKD,iCAAsD;AACtD,sCAAiE;AACjE,mDAA2C;AAC3C,2DAAwE;AAExE;;;;;;;;;;;;;GAaG;AACH,SAAgB,iBAAiB;IAM/B,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAA,wBAAQ,GAAE,CAAC;IAC3D,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAA,cAAM,EAIZ,IAAI,CAAC,CAAC;IAEhB,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,CAAC,SAAkB,EAAW,EAAE;QAC/C,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC9D,IAAK,SAA+B,CAAC,IAAI,KAAK,kBAAkB;YAAE,OAAO,IAAI,CAAC;QAC9E,MAAM,MAAM,GAAI,SAAmD,CAAC,MAAM,CAAC;QAC3E,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC;IAC7F,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAK,MAA4B,EAAc,EAAE,CAC5D,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACjC,OAAO,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAmC,EAAE,MAAM,EAAE,CAAC;QACnF,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EACpC,KAAK,EAAM,MAA4B,EAAc,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;YAC9B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,sBAAsB,GAAG,IAAA,mBAAW,EACxC,KAAK,EAAE,KAAkB,EAAiB,EAAE;QAC1C,2EAA2E;QAC3E,4EAA4E;QAC5E,MAAM,IAAA,mBAAc,EAAC,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,CAAC;YACH,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,EACD,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CACtC,CAAC;IAEF,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9B,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAwB,CAAC,CAAC,CAAC;IACnD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,CAAC;AACnG,CAAC;AAKD,4EAA4E;AAC/D,QAAA,wBAAwB,GAAG,2BAA2B,CAAC;AAEpE,kFAAkF;AAClF,SAAgB,yBAAyB,CAAC,GAAY;IACpD,OAAO,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,KAAK,gCAAwB,CAAC;AAC1E,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,IAAI,GAAG,gBAAgB,GAKxB;IACC,MAAM,CAAC,GAAG,IAAA,2BAAO,GAAE,CAAC;IACpB,MAAM,SAAS,GAAG,IAAA,gCAAY,GAAE,CAAC;IACjC,MAAM,GAAG,GAAG,IAAA,8BAAU,GAAE,CAAC;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,cAAc,CAAC,mBAAmB;QAAE,OAAO,IAAI,CAAC;IAErD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChF,WAAW,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;QACvE,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,+CAAiB,IAAI,EAAE,IAAI,EAAC,QAAQ,gBAAa,CAAC,CAAC,sBAAsB,CAAC,aACxE,8BAAG,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,YAAE,6CAAS,CAAC,CAAC,sBAAsB,CAAC,GAAU,GAAI,EACzF,8BAAG,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,YAAG,CAAC,CAAC,yBAAyB,CAAC,GAAK,EAC3E,mCAAO,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,aAC/C,iCAAM,SAAS,EAAE,GAAG,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,YAAG,CAAC,CAAC,8BAA8B,CAAC,GAAQ,EACvG,kCACE,SAAS,EAAE,GAAG,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,EACvD,IAAI,EAAC,UAAU,EACf,YAAY,EAAC,kBAAkB,EAC/B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAC5C,IACI,EACP,KAAK,CAAC,CAAC,CAAC,8BAAG,SAAS,EAAE,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,EAAE,IAAI,EAAC,OAAO,YAAE,KAAK,GAAK,CAAC,CAAC,CAAC,IAAI,EAC5F,mCAAQ,SAAS,EAAE,GAAG,CAAC,mBAAmB,EAAE,cAAc,CAAC,EAAE,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,EAAE,YACrH,CAAC,CAAC,uBAAuB,CAAC,GACpB,EACT,mCACE,SAAS,EAAE,GAAG,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,EAC/D,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;oBACZ,WAAW,CAAC,EAAE,CAAC,CAAC;oBAChB,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACf,cAAc,CAAC,oBAAoB,EAAE,CAAC;gBACxC,CAAC,YAEA,CAAC,CAAC,uBAAuB,CAAC,GACpB,IACL,CACP,CAAC;AACJ,CAAC"}
package/dist/sign-in.js CHANGED
@@ -13,12 +13,12 @@ const captcha_1 = require("./captcha");
13
13
  const flow_1 = require("./flow");
14
14
  const version_1 = require("./version");
15
15
  function SignIn(props = {}) {
16
- const { state, submit, client, finish, captcha, prepare, usePassword } = (0, flow_1.useFlow)({
16
+ const { state, submit, client, finish, captcha, prepare, usePassword, saveRecoveryCodes } = (0, flow_1.useFlow)({
17
17
  afterUrl: props.afterUrl,
18
18
  referral: props.referral,
19
19
  referralConsent: props.referralConsent,
20
20
  });
21
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(flow_1.AttemptFlow, { attempt: state.attempt, busy: state.busy, errors: state.errors, sessionKept: state.sessionKept, titleKey: "signIn.title", hideTitle: props.hideTitle, onSubmit: submit, captcha: (0, jsx_runtime_1.jsx)(captcha_1.CaptchaSlot, { controller: captcha }), prepared: state.prepared ?? null, onPrepare: prepare, onUsePassword: usePassword }), state.attempt?.status !== 'complete' ? (0, jsx_runtime_1.jsx)(flow_1.SignUpPrompt, { signUpUrl: props.signUpUrl, afterUrl: props.afterUrl }) : null, !state.attempt ? ((0, jsx_runtime_1.jsx)(flow_1.SocialSignInButtons, { client: client, onComplete: finish, oneTap: props.googleOneTap, oauthMode: props.oauthMode, onProviderUnavailable: props.onProviderUnavailable, googleButton: props.googleButton })) : null] }));
21
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!state.attempt ? (0, jsx_runtime_1.jsx)(flow_1.LastUsedHint, { client: client }) : null, (0, jsx_runtime_1.jsx)(flow_1.AttemptFlow, { attempt: state.attempt, busy: state.busy, errors: state.errors, sessionKept: state.sessionKept, titleKey: "signIn.title", hideTitle: props.hideTitle, onSubmit: submit, captcha: (0, jsx_runtime_1.jsx)(captcha_1.CaptchaSlot, { controller: captcha }), prepared: state.prepared ?? null, onPrepare: prepare, onUsePassword: usePassword, recoveryCodes: (0, js_1.pendingRecoveryCodes)(state), onRecoveryCodesSaved: saveRecoveryCodes }), state.attempt?.status !== 'complete' ? (0, jsx_runtime_1.jsx)(flow_1.SignUpPrompt, { signUpUrl: props.signUpUrl, afterUrl: props.afterUrl }) : null, !state.attempt ? ((0, jsx_runtime_1.jsx)(flow_1.SocialSignInButtons, { client: client, onComplete: finish, oneTap: props.googleOneTap, oauthMode: props.oauthMode, onProviderUnavailable: props.onProviderUnavailable, googleButton: props.googleButton })) : null] }));
22
22
  }
23
23
  /**
24
24
  * §6 headless native sign-in, for a consumer that renders its OWN Google button
@@ -1 +1 @@
1
- {"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../src/sign-in.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../src/sign-in.tsx"],"names":[],"mappings":"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"}
package/dist/sign-up.d.ts CHANGED
@@ -13,6 +13,12 @@ import { type FlowProps } from './flow';
13
13
  * All of it is read from the instance's settings, so a field, a consent policy
14
14
  * or a captcha switched on in the dashboard appears here with no code change.
15
15
  *
16
+ * When the instance offers passkey-only sign-up (`account.passkeySignUp`) and
17
+ * the browser supports passkeys, the form offers "Sign up with a passkey": no
18
+ * password field, the email only when the instance collects one, and — after
19
+ * any email proof — a "Create passkey" step. The account is created by the
20
+ * server only when that passkey registers.
21
+ *
16
22
  * When the app can't deliver the verification email
17
23
  * (`instanceSettings.emailDelivery.passwordSignUp === false`) the form is
18
24
  * replaced by a "can't send email" notice (`signUp.emailUnavailable`) — the