@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
54 lines (53 loc) • 1.88 kB
JavaScript
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const ConfirmationDialog_styles = require("./ConfirmationDialog.styles.cjs");
const Dialog = require("../../Dialog/Dialog.cjs");
const Title = require("../../Dialog/Title/Title.cjs");
const Content = require("../../Dialog/Content/Content.cjs");
const Actions = require("../../Dialog/Actions/Actions.cjs");
const Button = require("../../Button/Button.cjs");
const ConfirmationDialog = ({
title,
message,
isOpen,
onConfirm,
onCancel,
confirmButtonLabel,
cancelButtonLabel,
closeButtonTooltip
}) => {
const { classes } = ConfirmationDialog_styles.useClasses();
const handleClose = (_, reason) => {
if (reason !== "backdropClick") {
onCancel?.();
}
};
return /* @__PURE__ */ jsxRuntime.jsxs(
Dialog.HvDialog,
{
classes: { paper: classes.paper },
open: isOpen,
onClose: handleClose,
firstFocusable: "confirmation-dialog-cancel",
buttonTitle: closeButtonTooltip,
children: [
/* @__PURE__ */ jsxRuntime.jsx(Title.HvDialogTitle, { variant: "warning", children: title }),
/* @__PURE__ */ jsxRuntime.jsx(Content.HvDialogContent, { indentContent: true, children: message }),
/* @__PURE__ */ jsxRuntime.jsxs(Actions.HvDialogActions, { children: [
/* @__PURE__ */ jsxRuntime.jsx(Button.HvButton, { variant: "primaryGhost", onClick: onConfirm, children: confirmButtonLabel }),
/* @__PURE__ */ jsxRuntime.jsx(
Button.HvButton,
{
id: "confirmation-dialog-cancel",
variant: "primaryGhost",
onClick: () => onCancel?.(),
children: cancelButtonLabel
}
)
] })
]
}
);
};
exports.ConfirmationDialog = ConfirmationDialog;