saleor-dashboard/src/components/ActionDialog/ActionDialog.tsx
Dominik Żegleń 935a6f4542
Reduce bundle size (#1103)
* Add analysis tools

* Use deep imports to reduce bundle size

* Remove tslint config

* Remove unused packages

* Remove lodash-es references

* Use root level mui imports

* Remove mui from restricted imports
2021-05-14 10:15:15 +02:00

37 lines
1.1 KiB
TypeScript

import { Dialog, DialogContent, DialogTitle } from "@material-ui/core";
import { DialogProps } from "@saleor/types";
import React from "react";
import { ConfirmButtonTransitionState } from "../ConfirmButton/ConfirmButton";
import DialogButtons from "./DialogButtons";
import { ActionDialogVariant } from "./types";
interface ActionDialogProps extends DialogProps {
children?: React.ReactNode;
confirmButtonLabel?: string;
confirmButtonState: ConfirmButtonTransitionState;
disabled?: boolean;
maxWidth?: "xs" | "sm" | "md" | "lg" | "xl" | false;
title: string;
variant?: ActionDialogVariant;
onConfirm();
}
const ActionDialog: React.FC<ActionDialogProps> = props => {
const { children, open, title, onClose, variant, ...rest } = props;
return (
<Dialog fullWidth onClose={onClose} open={open} {...rest}>
<DialogTitle>{title}</DialogTitle>
<DialogContent>{children}</DialogContent>
<DialogButtons {...rest} onClose={onClose} variant={variant} />
</Dialog>
);
};
ActionDialog.defaultProps = {
maxWidth: "xs"
};
ActionDialog.displayName = "ActionDialog";
export default ActionDialog;