import Dialog from "@mui/material/Dialog"; import 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 Typography from "@mui/material/Typography"; import Box from "@mui/material/Box"; import { Button } from "@/Components/inputs"; import { LAYOUT } from "@/Utils/Theme/constants"; import { useTheme } from "@mui/material/styles"; import { useTranslation } from "react-i18next"; import type { ReactNode } from "react"; export const DialogInput = ({ open, title, content, onConfirm, onCancel, confirmColor = "primary", loading = false, cancelText, confirmText, children, maxWidth, fullWidth = false, additionalButtons, }: { open: boolean; title?: string; content?: string; onConfirm?(item: any): any; onCancel?(item: any): any; confirmColor?: "error" | "primary"; loading?: boolean; cancelText?: string; confirmText?: string; children?: ReactNode; maxWidth?: DialogProps["maxWidth"]; fullWidth?: boolean; additionalButtons?: ReactNode; }) => { const { t } = useTranslation(); const theme = useTheme(); return ( { if (reason !== "backdropClick" && onCancel) onCancel(undefined); }} > {title && ( {title} {content && ( {content} )} )} {children && ( {children} )} {additionalButtons} {onConfirm && ( )} ); };