saleor-dashboard/src/components/ConfirmButton.tsx
2023-01-16 10:45:12 +01:00

33 lines
930 B
TypeScript

import { buttonMessages, commonMessages } from "@dashboard/intl";
import {
ConfirmButton as MacawConfirmButton,
ConfirmButtonLabels,
ConfirmButtonProps as MacawConfirmButtonProps,
} from "@saleor/macaw-ui";
import React from "react";
import { useIntl } from "react-intl";
export interface ConfirmButtonProps
extends Omit<MacawConfirmButtonProps, "labels"> {
labels?: Partial<ConfirmButtonLabels>;
}
export const ConfirmButton: React.FC<ConfirmButtonProps> = ({
labels = {},
...rest
}) => {
const intl = useIntl();
const defaultLabels: ConfirmButtonLabels = {
confirm: intl.formatMessage(buttonMessages.save),
error: intl.formatMessage(commonMessages.error),
};
const componentLabels: ConfirmButtonLabels = {
...defaultLabels,
...labels,
};
return <MacawConfirmButton labels={componentLabels} {...rest} />;
};
ConfirmButton.displayName = "ConfirmButton";
export default ConfirmButton;