import { Button, DialogActions } from "@material-ui/core"; import { buttonMessages } from "@saleor/intl"; import { makeStyles } from "@saleor/macaw-ui"; import classNames from "classnames"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; import ConfirmButton, { ConfirmButtonTransitionState } from "../ConfirmButton"; import { ActionDialogVariant } from "./types"; const useStyles = makeStyles( theme => ({ deleteButton: { "&:hover": { backgroundColor: theme.palette.error.main }, backgroundColor: theme.palette.error.main, color: theme.palette.error.contrastText } }), { name: "ActionDialog" } ); interface DialogButtonsProps { onClose: () => void; confirmButtonLabel?: string; confirmButtonState?: ConfirmButtonTransitionState; disabled?: boolean; variant?: ActionDialogVariant; children?: React.ReactNode; showBackButton?: boolean; onConfirm(); } const DialogButtons: React.FC = props => { const { confirmButtonLabel, confirmButtonState, disabled, variant, onConfirm, onClose, children, showBackButton = true } = props; const classes = useStyles(props); const intl = useIntl(); return ( {children} {showBackButton && ( )} {variant !== "info" && ( {confirmButtonLabel || (variant === "delete" ? intl.formatMessage(buttonMessages.delete) : intl.formatMessage(buttonMessages.confirm))} )} ); }; DialogButtons.defaultProps = { confirmButtonState: "default", variant: "default" }; export default DialogButtons;