import { MutableRefObject, useState } from "react"; interface InputProps { name: string; label?: string; labelComponent?: JSX.Element; disabled?: boolean; type?: string; multiple?: boolean; innerRef?: MutableRefObject | ((ref: any) => void); 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 && ( )}
); }