import React from 'react' interface ArticleFieldProps { id: string label: string value: string | number onChange: (value: string | number) => void required?: boolean type?: 'text' | 'textarea' | 'number' rows?: number placeholder?: string helpText?: string min?: number } function NumberOrTextInput({ id, type, value, placeholder, required, min, onChange, className, }: { id: string type: 'text' | 'number' value: string | number placeholder?: string required: boolean min?: number className: string onChange: (value: string | number) => void }) { const inputProps = { id, type, value, className, required, ...(placeholder ? { placeholder } : {}), ...(typeof min === 'number' ? { min } : {}), } return ( onChange(type === 'number' ? Number(e.target.value) || 0 : e.target.value)} /> ) } function TextAreaInput({ id, value, placeholder, required, rows, className, onChange, }: { id: string value: string | number placeholder?: string required: boolean rows?: number className: string onChange: (value: string | number) => void }) { const areaProps = { id, value, className, required, ...(placeholder ? { placeholder } : {}), ...(rows ? { rows } : {}), } return (