import { MutableRefObject, useState } from "react"; interface InputProps { name: string; label?: string; labelComponent?: JSX.Element; type?: string; multiple?: boolean; innerRef?: MutableRefObject; placeholder?: string; fieldClass?: string; value?: string; onChangeCallback: ({ target }, value) => void; } export default function Input({ name, label, labelComponent, type = 'text', multiple = false, innerRef = null, placeholder = 'Type something...', fieldClass = '', value, onChangeCallback }: InputProps): JSX.Element { const [inputValue, setInputValue] = useState(value); function onChange({ target }) { setInputValue(target.value); onChangeCallback({ target }, target.value); } return (
{label && ( )} {!!labelComponent && ( )}
); }