import React, { forwardRef, useImperativeHandle } from "react"; import { Box, TextField } from "@mui/material"; interface KeyValueFormProps { keyLabel?: string; valueLabel?: string; } export const KeyValuePair = forwardRef(({ keyLabel, valueLabel }: KeyValueFormProps, ref) => { const [key, setKey] = React.useState(''); const [value, setValue] = React.useState(''); useImperativeHandle(ref, () => ({ getKeyValuePair() { return { key, value }; } })); return ( :not(style)': { m: 1, width: '100px' }, }} noValidate autoComplete="off" > ) => setKey(event.target.value)} size="small" required /> ) => { const num = Number(event.target.value); if (isNaN(num)) { setValue(event.target.value); } else { setValue(num); } }} size="small" required /> ); });