import Button from "@material-ui/core/Button"; import Dialog from "@material-ui/core/Dialog"; import DialogActions from "@material-ui/core/DialogActions"; import DialogContent from "@material-ui/core/DialogContent"; import DialogTitle from "@material-ui/core/DialogTitle"; import { makeStyles } from "@material-ui/core/styles"; import classNames from "classnames"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; import { buttonMessages } from "@saleor/intl"; import ConfirmButton, { ConfirmButtonTransitionState } from "../ConfirmButton/ConfirmButton"; const useStyles = makeStyles( theme => ({ deleteButton: { "&:hover": { backgroundColor: theme.palette.error.main }, backgroundColor: theme.palette.error.main, color: theme.palette.error.contrastText } }), { name: "ActionDialog" } ); interface ActionDialogProps { children?: React.ReactNode; confirmButtonLabel?: string; confirmButtonState: ConfirmButtonTransitionState; open: boolean; title: string; variant?: "default" | "delete"; onClose?(); onConfirm(); } const ActionDialog: React.FC = props => { const { children, confirmButtonLabel, confirmButtonState, open, title, variant, onConfirm, onClose } = props; const classes = useStyles(props); const intl = useIntl(); return ( {title} {children} {confirmButtonLabel || (variant === "delete" ? intl.formatMessage(buttonMessages.delete) : intl.formatMessage(buttonMessages.confirm))} ); }; ActionDialog.displayName = "ActionDialog"; export default ActionDialog;