import { ReactNode } from "react"; import { Button, Dialog, DialogActions, DialogContent, DialogTitle, type SxProps, type Theme, } from "@mui/material"; import { LoadingButton } from "@mui/lab"; interface Props { title: ReactNode; open: boolean; okBtn?: ReactNode; cancelBtn?: ReactNode; disableOk?: boolean; disableCancel?: boolean; disableFooter?: boolean; contentSx?: SxProps; children?: ReactNode; loading?: boolean; onOk?: () => void; onCancel?: () => void; onClose?: () => void; } export interface DialogRef { open: () => void; close: () => void; } export const BaseDialog: React.FC = (props) => { const { open, title, children, okBtn, cancelBtn, contentSx, disableCancel, disableOk, disableFooter, loading, } = props; return ( {title} {children} {!disableFooter && ( {!disableCancel && ( )} {!disableOk && ( {okBtn} )} )} ); };