import { NumberInput, NumberIncrementStepper, NumberInputField, NumberInputStepper, NumberDecrementStepper, type NumberInputProps } from '@chakra-ui/react'; import React from 'react'; import MyIcon from '../../Icon'; import { type UseFormRegister } from 'react-hook-form'; type Props = Omit & { onChange?: (e?: number) => any; onBlur?: (e?: number) => any; placeholder?: string; register?: UseFormRegister; name?: string; bg?: string; }; const MyNumberInput = (props: Props) => { const { register, name, onChange, onBlur, placeholder, bg, ...restProps } = props; return ( { const numE = e.target.value === '' ? '' : Number(e.target.value); if (onBlur) { if (numE === '') { // @ts-ignore onBlur(''); } else { onBlur(numE); } } if (register && name) { const event = { target: { name, value: numE } }; register(name).onBlur(event); } }} onChange={(e) => { const numE = e === '' ? '' : Number(e); if (onChange) { if (numE === '') { // @ts-ignore onChange(''); } else { onChange(numE); } } if (register && name) { const event = { target: { name, value: numE } }; register(name).onChange(event); } }} > ); }; export default React.memo(MyNumberInput);