Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import React from 'react'; import { cn } from '@/lib/utils'; export interface FormFieldProps { label: string; error?: string; required?: boolean; children: React.ReactNode; className?: string; } export function FormField({ label, error, required, children, className }: FormFieldProps) { return ( <div className={cn('space-y-2', className)}> <label className="block text-sm font-semibold text-foreground"> {label} {required && <span className="ml-1 text-destructive">*</span>} </label> {children} {error && ( <p className="text-sm text-destructive">{error}</p> )} </div> ); } |