import { useEffect, useState } from 'react' import Input from '~components/common/Input' import TableField from '~components/common/TableField' import styles from './index.module.scss' interface Props extends React.DetailedHTMLProps< React.InputHTMLAttributes, HTMLInputElement > { label: string description?: string imageAlt?: string imageClass?: string imageSrc?: string[] onValueChange: (value?: string | number | readonly string[]) => void } const InputTableField = ({ label, description, imageAlt, imageClass, imageSrc, ...props }: Props) => { const [inputValue, setInputValue] = useState< string | number | readonly string[] >() useEffect(() => { if (props.value !== undefined) setInputValue(props.value) }, [props.value]) useEffect(() => { props.onValueChange(inputValue) }, [inputValue]) function onInputChange(event: React.ChangeEvent) { setInputValue(`${parseInt(event.currentTarget?.value)}`) } return ( ) } export default InputTableField