diff --git a/src/components/atoms/KeyValuePair.tsx b/src/components/atoms/KeyValuePair.tsx new file mode 100644 index 00000000..d42ffe6f --- /dev/null +++ b/src/components/atoms/KeyValuePair.tsx @@ -0,0 +1,52 @@ +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 + /> + + ); +});