import React, { useCallback, useState } from 'react'; import Button from '@mui/material/Button'; import Dialog, { type DialogProps } from '@mui/material/Dialog'; import DialogActions from '@mui/material/DialogActions'; import DialogContent from '@mui/material/DialogContent'; import DialogTitle from '@mui/material/DialogTitle'; import TextField from '@mui/material/TextField'; import globalize from 'lib/globalize'; import Stack from '@mui/material/Stack'; interface InputDialogProps extends DialogProps { title: string; label: string; confirmButtonText?: string; onClose: () => void; onConfirm: (text: string) => void; }; const InputDialog = ({ open, title, label, onClose, confirmButtonText, onConfirm }: InputDialogProps) => { const [ text, setText ] = useState(''); const onTextChange = useCallback((e: React.ChangeEvent) => { setText(e.target.value); }, []); const onConfirmClick = useCallback(() => { onConfirm(text); setText(''); }, [ text, onConfirm ]); return ( {title && ( {title} )} ); }; export default InputDialog;