saleor-dashboard/src/components/ActionDialog/DialogButtons.tsx
Michał Droń d5c9a3dae8
Add trailing commas (#2062)
* Require trailing commas

* Add trailing commas

* Add trailing commas in testUtils dir

* Add trailing commas
2022-06-21 11:36:55 +02:00

63 lines
1.6 KiB
TypeScript

import { DialogActions } from "@material-ui/core";
import { buttonMessages } from "@saleor/intl";
import { ConfirmButtonTransitionState } from "@saleor/macaw-ui";
import React from "react";
import { useIntl } from "react-intl";
import BackButton from "../BackButton";
import ConfirmButton from "../ConfirmButton";
import { ActionDialogVariant } from "./types";
interface DialogButtonsProps {
onClose: () => void;
confirmButtonLabel?: string;
confirmButtonState?: ConfirmButtonTransitionState;
disabled?: boolean;
variant?: ActionDialogVariant;
children?: React.ReactNode;
showBackButton?: boolean;
onConfirm();
}
const DialogButtons: React.FC<DialogButtonsProps> = props => {
const {
confirmButtonLabel,
confirmButtonState,
disabled,
variant,
onConfirm,
onClose,
children,
showBackButton = true,
} = props;
const intl = useIntl();
return (
<DialogActions>
{children}
{showBackButton && <BackButton onClick={onClose} />}
{variant !== "info" && (
<ConfirmButton
disabled={disabled}
transitionState={confirmButtonState}
onClick={onConfirm}
error={variant === "delete"}
data-test-id="submit"
>
{confirmButtonLabel ||
(variant === "delete"
? intl.formatMessage(buttonMessages.delete)
: intl.formatMessage(buttonMessages.confirm))}
</ConfirmButton>
)}
</DialogActions>
);
};
DialogButtons.defaultProps = {
confirmButtonState: "default",
variant: "default",
};
export default DialogButtons;