import {TextField, TextFieldProps} from '@mui/material'; import React from 'react'; export interface NumberFieldProps { value: number; onChange: (value: number) => void; } export const NumberField = ({ value, onChange, ...props }: NumberFieldProps & Omit) => { const [stringValue, setStringValue] = React.useState(value.toString()); const [error, setError] = React.useState(''); return ( { setStringValue(event.target.value); const i = parseInt(event.target.value, 10); if (!Number.isNaN(i)) { onChange(i); setError(''); } else { setError('Invalid number'); } }} {...props} /> ); };