"use client"; type AdminInputProps = { label?: string; error?: string; helpText?: string; required?: boolean; className?: string; children: React.ReactNode; }; export function AdminInput({ label, error, helpText, required, className = "", children }: AdminInputProps) { return (
{label && ( )} {children} {helpText && !error &&

{helpText}

} {error &&

{error}

}
); } // Styled text input wrapper type AdminTextInputProps = Omit, 'onChange' | 'value' | 'type'> & { value: string | number; onChange: (e: React.ChangeEvent) => void; type?: string; }; export function AdminTextInput({ value, onChange, type = "text", disabled, className = "", maxLength, autoComplete, step, min, max, ...rest }: AdminTextInputProps) { return ( ); } // Styled textarea wrapper type AdminTextareaProps = Omit, 'onChange' | 'value'> & { value: string | number; onChange: (e: React.ChangeEvent) => void; }; export function AdminTextarea({ value, onChange, disabled, className = "", ...rest }: AdminTextareaProps) { return (