@frank-auth/react
Version:
Flexible and customizable React UI components for Frank Authentication
271 lines (270 loc) • 8.14 kB
JavaScript
import { useAuth as r, useAuthStatus as T, useAuthOrganization as l, useAuthActions as k, useAuthState as P } from "./use-auth.js";
import { useUser as u, useUserActions as M, useUserVerification as C, useUserProfile as U } from "./use-user.js";
import { useSession as a, useSessionSecurity as c, useSessionExpiry as R, useMultiSession as I, useSessionStatus as _ } from "./use-session.js";
import { useOrganization as d, useOrganizationSwitcher as H, useOrganizationInvitations as E, useOrganizationMembership as v } from "./use-organization.js";
import { useConfig as m, useOrganizationConfiguration as h, useConfigValidation as z, useComponentConfiguration as p, useLocalizationConfig as N, useThemeConfig as L, useFeatureFlags as O } from "./use-config.js";
import { useTheme as g, useThemeStyles as K, useThemeLayout as F, useThemeTypography as b, useThemeColors as G } from "./use-theme.js";
import { usePermissions as s, useOrganizationPermissions as A, usePermissionGuard as x, useSystemPermissions as D } from "./use-permissions.js";
import { ORGANIZATION_ROLES as Ce, PERMISSION_ACTIONS as Ue, PERMISSION_RESOURCES as Re, SYSTEM_ROLES as Ie } from "./use-permissions.js";
import { useMFA as i, useBackupCodes as j, useSMSMFA as w, useTOTP as V } from "./use-mfa.js";
import { MFA_METHOD_CONFIGS as He } from "./use-mfa.js";
import { usePasskeys as n, usePasskeyAuthentication as Z, usePasskeyRegistration as B } from "./use-passkeys.js";
import { useOAuth as f, useOAuthCallback as Y, useOAuthProvider as W } from "./use-oauth.js";
import { OAUTH_PROVIDERS as ve } from "./use-oauth.js";
import { useMagicLink as S, useMagicLinkPasswordReset as q, useMagicLinkVerification as J, useMagicLinkSignIn as Q } from "./use-magic-link.js";
import { MAGIC_LINK_CONFIG as Ne } from "./use-magic-link.js";
const X = {
useAuth: r,
useUser: u,
useSession: a,
useOrganization: d,
useConfig: m,
useTheme: g,
usePermissions: s
}, $ = {
useMFA: i,
usePasskeys: n,
useOAuth: f,
useMagicLink: S
}, ee = {
// Auth specialized
useAuthState: P,
useAuthActions: k,
useAuthOrganization: l,
useAuthStatus: T,
// User specialized
useUserProfile: U,
useUserVerification: C,
useUserActions: M,
// Session specialized
useSessionStatus: _,
useMultiSession: I,
useSessionSecurity: c,
useSessionExpiry: R,
// Organization specialized
useOrganizationMembership: v,
useOrganizationInvitations: E,
useOrganizationSwitcher: H,
// Config specialized
useFeatureFlags: O,
useThemeConfig: L,
useLocalizationConfig: N,
useOrganizationConfiguration: h,
useComponentConfiguration: p,
useConfigValidation: z,
// Theme specialized
useThemeColors: G,
useThemeTypography: b,
useThemeLayout: F,
useThemeStyles: K,
// Permission specialized
useOrganizationPermissions: A,
useSystemPermissions: D,
usePermissionGuard: x,
// MFA specialized
useTOTP: V,
useSMSMFA: w,
useBackupCodes: j,
// Passkeys specialized
usePasskeyRegistration: B,
usePasskeyAuthentication: Z,
// OAuth specialized
useOAuthProvider: W,
useOAuthCallback: Y,
// Magic link specialized
useMagicLinkSignIn: Q,
useMagicLinkVerification: J,
useMagicLinkPasswordReset: q
}, oe = {
useAuth: r,
useOAuth: f,
useMagicLink: S,
usePasskeys: n,
useMFA: i
}, te = {
useUser: u,
useSession: a,
usePermissions: s
}, se = {
useOrganization: d,
useOrganizationPermissions: A,
useOrganizationConfiguration: h
}, ie = {
useTheme: g,
useConfig: m,
useFeatureFlags: O,
useComponentConfiguration: p
}, ne = {
usePermissions: s,
useMFA: i,
usePasskeys: n,
useSessionSecurity: c
};
function re() {
return [
...Object.values(X),
...Object.values($),
...Object.values(ee)
];
}
const ue = {
authentication: oe,
userManagement: te,
organization: se,
uiCustomization: ie,
security: ne
};
function ye(e) {
return ue[e];
}
function Te(e) {
return re().some((t) => t.name === e);
}
const y = {
// Core hooks
useAuth: {
description: "Main authentication hook providing access to auth state and methods",
category: "core",
dependencies: ["AuthProvider"],
returnType: "UseAuthReturn"
},
useUser: {
description: "User management hook for profile operations and verification",
category: "core",
dependencies: ["AuthProvider"],
returnType: "UseUserReturn"
},
useSession: {
description: "Session management hook for multi-session and security features",
category: "core",
dependencies: ["AuthProvider"],
returnType: "UseSessionReturn"
},
useOrganization: {
description: "Organization management hook for multi-tenant operations",
category: "core",
dependencies: ["AuthProvider"],
returnType: "UseOrganizationReturn"
},
useConfig: {
description: "Configuration hook for UI settings and feature flags",
category: "core",
dependencies: ["ConfigProvider"],
returnType: "UseConfigReturn"
},
useTheme: {
description: "Theme management hook for styling and customization",
category: "core",
dependencies: ["ThemeProvider"],
returnType: "UseThemeReturn"
},
usePermissions: {
description: "Permission and authorization hook for role-based access control",
category: "security",
dependencies: ["AuthProvider"],
returnType: "UsePermissionsReturn"
},
useMFA: {
description: "Multi-factor authentication hook for TOTP, SMS, and other MFA methods",
category: "security",
dependencies: ["AuthProvider"],
returnType: "UseMFAReturn"
},
usePasskeys: {
description: "Passkeys (WebAuthn) hook for passwordless authentication",
category: "authentication",
dependencies: ["AuthProvider"],
returnType: "UsePasskeysReturn"
},
useOAuth: {
description: "OAuth authentication hook for social sign-in providers",
category: "authentication",
dependencies: ["AuthProvider"],
returnType: "UseOAuthReturn"
},
useMagicLink: {
description: "Magic link authentication hook for passwordless email authentication",
category: "authentication",
dependencies: ["AuthProvider"],
returnType: "UseMagicLinkReturn"
}
};
function le(e) {
return y[e];
}
function ke(e) {
return Object.entries(y).filter(([o, t]) => t.category === e).map(([o]) => o);
}
export {
oe as AUTHENTICATION_HOOKS,
$ as AUTH_METHOD_HOOKS,
X as CORE_AUTH_HOOKS,
y as HOOK_METADATA,
Ne as MAGIC_LINK_CONFIG,
He as MFA_METHOD_CONFIGS,
ve as OAUTH_PROVIDERS,
se as ORGANIZATION_HOOKS,
Ce as ORGANIZATION_ROLES,
Ue as PERMISSION_ACTIONS,
Re as PERMISSION_RESOURCES,
ne as SECURITY_HOOKS,
ee as SPECIALIZED_HOOKS,
Ie as SYSTEM_ROLES,
ie as UI_CUSTOMIZATION_HOOKS,
te as USER_MANAGEMENT_HOOKS,
r as default,
re as getAllHooks,
le as getHookMetadata,
ye as getHooksByCategory,
ke as getHooksByMetadataCategory,
Te as isHookAvailable,
r as useAuth,
k as useAuthActions,
l as useAuthOrganization,
P as useAuthState,
T as useAuthStatus,
j as useBackupCodes,
p as useComponentConfiguration,
m as useConfig,
z as useConfigValidation,
O as useFeatureFlags,
N as useLocalizationConfig,
i as useMFA,
S as useMagicLink,
q as useMagicLinkPasswordReset,
Q as useMagicLinkSignIn,
J as useMagicLinkVerification,
I as useMultiSession,
f as useOAuth,
Y as useOAuthCallback,
W as useOAuthProvider,
d as useOrganization,
h as useOrganizationConfiguration,
E as useOrganizationInvitations,
v as useOrganizationMembership,
A as useOrganizationPermissions,
H as useOrganizationSwitcher,
Z as usePasskeyAuthentication,
B as usePasskeyRegistration,
n as usePasskeys,
x as usePermissionGuard,
s as usePermissions,
w as useSMSMFA,
a as useSession,
R as useSessionExpiry,
c as useSessionSecurity,
_ as useSessionStatus,
D as useSystemPermissions,
V as useTOTP,
g as useTheme,
G as useThemeColors,
L as useThemeConfig,
F as useThemeLayout,
K as useThemeStyles,
b as useThemeTypography,
u as useUser,
M as useUserActions,
U as useUserProfile,
C as useUserVerification
};
//# sourceMappingURL=index.js.map