// Authentication domain components
export { default as LoginForm } from './LoginForm';
export { default as RegistrationContainer } from './RegistrationContainer';
export { default as PasswordResetForm } from './PasswordResetForm';
export { default as ProfileSettings } from './ProfileSettings';
export { default as PrelaunchEmailForm } from './PrelaunchEmailForm';

// Re-export types for convenience
export type {
  LoginFormProps,
  RegistrationContainerProps,
  PasswordResetFormProps,
  ProfileSettingsProps,
  PrelaunchEmailFormProps
} from './types';

// Component metadata for documentation
export const authComponents = {
  LoginForm: {
    name: 'LoginForm',
    description: 'Comprehensive login form with email/password validation, remember me, auto-focus, and accessibility features',
    features: [
      'Email and password validation',
      'Remember me functionality', 
      'Auto-focus on email field',
      'Enter key submission',
      'Loading states and error handling',
      'Accessibility (ARIA attributes)',
      'Spanish localization',
      'Mobile responsive design'
    ]
  },
  RegistrationContainer: {
    name: 'RegistrationContainer',
    description: 'Atomic registration container with SetupIntent-first architecture and 3DS/3DS2 support',
    features: [
      'Multi-step registration (basic info, subscription, payment, completion)',
      'SetupIntent-first approach for secure payment verification',
      '3DS/3DS2 authentication support',
      'Stripe Elements integration',
      'Comprehensive error handling',
      'Progressive form validation',
      'Mobile responsive design',
      'Internationalization support'
    ]
  },
  PasswordResetForm: {
    name: 'PasswordResetForm',
    description: 'Dual-mode password reset form with token validation and password strength indicator',
    features: [
      'Request reset and set new password modes',
      'Token validation for reset links',
      'Password strength indicator',
      'Enhanced error messaging',
      'Auto-focus functionality',
      'Success confirmation screens',
      'Accessibility features',
      'Spanish localization'
    ]
  },
  ProfileSettings: {
    name: 'ProfileSettings',
    description: 'Comprehensive user profile and bakery settings management with image upload',
    features: [
      'Tabbed interface (Profile, Security, Preferences, Notifications)',
      'Profile picture upload with validation',
      'User profile and bakery information editing',
      'Password change functionality',
      'Notification preferences',
      'Language and timezone settings',
      'Comprehensive form validation',
      'Save/cancel with change detection'
    ]
  }
} as const;