import { MutableRefObject, useState } from 'react'; interface InputProps { name: string; label?: string; labelComponent?: JSX.Element; disabled?: boolean; type?: string; multiple?: boolean; innerRef?: MutableRefObject; placeholder?: string; fieldClass?: string; value?: string; onChangeCallback?: (value) => void; } export default function TextBox({ name, label, labelComponent, disabled = false, 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); if (onChangeCallback) { onChangeCallback(target.value); } } return (
{label && ( )} {labelComponent && ( )}
); }