import { useState } from 'react'; import type { ComponentType } from 'react'; import { Eye, EyeOff } from 'lucide-react'; type AuthInputFieldProps = { id: string; label: string; value: string; onChange: (nextValue: string) => void; placeholder: string; isDisabled: boolean; type?: 'text' | 'password' | 'email'; name?: string; autoComplete?: string; icon?: ComponentType<{ className?: string }>; }; /** * A labelled input field for authentication forms. * Renders a `