import { ChangeEvent, Component, createRef, InputHTMLAttributes, RefObject, } from 'react'; import { observer } from 'mobx-react'; import classnames from 'classnames'; import { Color, ColorResult, SliderPicker } from 'react-color'; import { noop } from 'lodash'; import { FormFields } from '../../../@types/mobx-form.types'; interface IProps extends InputHTMLAttributes, FormFields { onColorChange: (event: ChangeEvent) => void; } @observer class ColorPickerInput extends Component { private inputElement: RefObject = createRef(); onChange(color: ColorResult, event: ChangeEvent): void { const { onColorChange, onChange = noop } = this.props; onColorChange(event); onChange(color.hex); } render() { const { id, name, value = '', placeholder = '', disabled = false, className = null, type = 'text', onChange = noop, } = this.props; return (
this.onChange(color, event)} className="franz-form__input" />
); } } export default ColorPickerInput;