import { useState, type FormEvent } from 'react'; import type { VerifyEmailFormProps } from './types.js'; /** * Email verification form — 6-digit code input with resend option. * Styled via CSS custom properties (inherits --bl-* from host app). */ export function VerifyEmailForm({ onSubmit, onResend, isLoading = false, error, success, email, className, }: VerifyEmailFormProps) { const [code, setCode] = useState(''); function handleSubmit(e: FormEvent) { e.preventDefault(); onSubmit(code); } return (
Enter the 6-digit code sent to {email ? {email} : 'your email'}.
setCode(e.target.value.replace(/\D/g, '').slice(0, 6))} required disabled={isLoading} maxLength={6} data-testid="bl-verify-code" style={{ padding: '12px', border: '1px solid var(--bl-border, #ccc)', borderRadius: 'var(--bl-radius, 6px)', fontSize: '24px', textAlign: 'center', letterSpacing: '6px', fontFamily: 'monospace', width: '100%', boxSizing: 'border-box', }} /> {error && (
{error}
)} {success && (
{success}
)} {onResend && ( )}
); }