import { MutableRefObject, useState } from 'react'; interface SelectorProps { name: string; label?: string; labelComponent?: JSX.Element; disabled?: boolean; innerRef?: MutableRefObject; placeholder?: string; fieldClass?: string; isChecked?: boolean; onChangeCallback?: (value, { target }) => void; } export default function Selector({ name, label, labelComponent, disabled = false, innerRef = null, fieldClass = '', placeholder = 'Type something...', isChecked, onChangeCallback }: SelectorProps): JSX.Element { const [checkboxValue, setCheckboxValue] = useState(isChecked); function onChange({ target }) { setCheckboxValue(!checkboxValue); if (onChangeCallback) { onChangeCallback(!checkboxValue, { target }); } } return (
{label && ( )} {labelComponent && ( )}
); }