@frank-auth/react
Version:
Flexible and customizable React UI components for Frank Authentication
44 lines (43 loc) • 1.87 kB
TypeScript
'use client';
import { default as React } from 'react';
import { Organization, OrganizationSettings } from '@frank-auth/client';
import { ComponentOverrides, OrganizationConfig } from '../config';
import { AuthFeatures, ConfigContextValue, ConfigProviderProps } from './types';
declare const ConfigContext: React.Context<ConfigContextValue | null>;
export declare function ConfigProvider({ children, config: initialConfig, onConfigChange, }: ConfigProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useConfig(): ConfigContextValue;
export declare function useFeatures(): {
hasFeature: (feature: keyof AuthFeatures) => boolean;
requireFeature: (feature: keyof AuthFeatures) => void;
signUp: boolean;
signIn: boolean;
passwordReset: boolean;
mfa: boolean;
passkeys: boolean;
oauth: boolean;
magicLink: boolean;
sso: boolean;
organizationManagement: boolean;
userProfile: boolean;
sessionManagement: boolean;
};
export declare function useOrganizationConfig(): {
organization: OrganizationConfig | undefined;
settings: OrganizationSettings | undefined;
setOrganization: (organization: Organization) => void;
applyBranding: (organization: Organization) => void;
hasOrganization: boolean;
isMultiTenant: boolean;
};
export declare function useComponentOverrides(): {
components: ComponentOverrides;
getComponent: <T extends keyof ComponentOverrides>(componentName: T, defaultComponent: any) => any;
hasOverride: (componentName: keyof ComponentOverrides) => boolean;
};
export declare function withConfig<T extends object>(Component: React.ComponentType<T>): {
(props: T): import("react/jsx-runtime").JSX.Element;
displayName: string;
};
export { ConfigContext };
export type { ConfigContextValue };
//# sourceMappingURL=config-provider.d.ts.map