UNPKG

@frank-auth/react

Version:

Flexible and customizable React UI components for Frank Authentication

271 lines (270 loc) 8.14 kB
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