UNPKG

@frank-auth/react

Version:

Flexible and customizable React UI components for Frank Authentication

107 lines 5.5 kB
import { AppearanceManager } from './appearance'; import { LocalizationManager } from './localization'; import { OrganizationConfigManager } from './organization'; import { ThemeManager } from './theme'; import { ConfigValidationResult, FrankAuthUIConfig, OrganizationConfig, UserType } from './types'; export type { FrankAuthUIConfig, ConfigValidationError, ConfigValidationResult, } from './types'; export type { ThemeMode, Typography, } from './types'; export type { AppearanceConfig, AppearanceMode, ComponentAppearance, BrandingConfig, ComponentSize, ColorVariant, } from './types'; export type { LocalizationConfig, Locale, LocaleDirection, } from './types'; export type { OrganizationConfig, OrganizationSettings, UserType, ComponentOverrides, } from './types'; export type { OrganizationFeatureFlags, OrganizationLimits, OrganizationCompliance, ExtendedOrganizationConfig, } from './organization'; export { DEFAULT_FRANK_AUTH_CONFIG as defaultConfig, CONFIG_PRESETS as configPresets, DEFAULT_THEME_CONFIG as defaultTheme, DEFAULT_COLOR_PALETTE as defaultColors, DEFAULT_TYPOGRAPHY as defaultTypography, DEFAULT_SPACING as defaultSpacing, DEFAULT_BORDER_RADIUS as defaultBorderRadius, DEFAULT_SHADOWS as defaultShadows, DEFAULT_ANIMATIONS as defaultAnimations, DEFAULT_APPEARANCE_CONFIG as defaultAppearance, DEFAULT_COMPONENT_APPEARANCE as defaultComponentAppearance, DEFAULT_LAYOUT_CONFIG as defaultLayout, DEFAULT_BRANDING_CONFIG as defaultBranding, DEFAULT_LOCALIZATION_CONFIG as defaultLocalization, DEFAULT_LOCALE_MESSAGES as defaultMessages, DEFAULT_ORGANIZATION_CONFIG as defaultOrganization, } from './defaults'; export { ThemeManager, THEME_PRESETS as themePresets, createThemeManager, createDarkTheme, getThemeCSS, validateTheme, } from './theme'; export { AppearanceManager, INPUT_VARIANTS as inputVariants, BUTTON_VARIANTS as buttonVariants, CARD_VARIANTS as cardVariants, SIZE_CONFIGS as sizeConfigs, MODAL_SIZES as modalSizes, BREAKPOINTS as breakpoints, RESPONSIVE_UTILITIES as responsiveUtils, createAppearanceManager, getComponentClassNames, appearanceConfigToTailwind, createResponsiveProps, } from './appearance'; export { LocalizationManager, createLocalizationManager, detectBrowserLocale, getLocaleDirection, isRTL, createTranslationNamespace, } from './localization'; export { OrganizationConfigManager, createOrganizationConfigManager, transformOrganizationSettings, getFeaturesByTier, } from './organization'; export { validateFrankAuthConfig, validateThemeConfig, validateAppearanceConfig, validateLocalizationConfig, validateOrganizationConfig, validateComponentOverrides, validatePublishableKey, validateApiUrl, validateUserType, validateLocale, assertValidConfig, isValidConfig, getConfigErrors, getConfigWarnings, } from './validators'; /** * Comprehensive configuration manager that orchestrates all configuration aspects */ export declare class ConfigManager { private config; private themeManager; private appearanceManager; private localizationManager; private organizationManager?; private listeners; constructor(initialConfig: Partial<FrankAuthUIConfig>); /** * Get current configuration */ getConfig(): FrankAuthUIConfig; /** * Update configuration */ updateConfig(updates: Partial<FrankAuthUIConfig>): void; /** * Set organization configuration */ setOrganization(organization: OrganizationConfig): void; /** * Get theme manager */ getThemeManager(): ThemeManager; /** * Get appearance manager */ getAppearanceManager(): AppearanceManager; /** * Get localization manager */ getLocalizationManager(): LocalizationManager; /** * Get organization manager */ getOrganizationManager(): OrganizationConfigManager | undefined; /** * Apply configuration to DOM */ applyToDOM(): void; /** * Generate complete CSS for server-side rendering */ generateCSS(): string; /** * Validate current configuration */ validateConfig(): ConfigValidationResult; /** * Subscribe to configuration changes */ subscribe(callback: (config: FrankAuthUIConfig) => void): () => void; /** * Reset to default configuration */ reset(): void; /** * Destroy and cleanup */ destroy(): void; private setupManagerListeners; private applyInitialConfiguration; private notifyListeners; } /** * Create a complete Frank Auth configuration with validation */ export declare function createFrankAuthConfig(config: Partial<FrankAuthUIConfig>): FrankAuthUIConfig; /** * Create a configuration manager instance */ export declare function createConfigManager(config: Partial<FrankAuthUIConfig>): ConfigManager; /** * Create configuration from organization settings (useful for server-side setup) */ export declare function createConfigFromOrganization(publishableKey: string, userType: UserType, organizationSettings: any): FrankAuthUIConfig; /** * Merge multiple configuration objects with proper type safety */ export declare function mergeConfigs(...configs: Partial<FrankAuthUIConfig>[]): FrankAuthUIConfig; /** * Create a configuration preset */ export declare function createConfigPreset(presetName: 'minimal' | 'enterprise' | 'b2b' | 'consumer', overrides?: Partial<FrankAuthUIConfig>): Partial<FrankAuthUIConfig>; export * from './types'; export { ConfigManager as default }; //# sourceMappingURL=index.d.ts.map