@mantine/modals
Version:
Modals manager based on Mantine components
44 lines (43 loc) • 1.75 kB
JavaScript
"use client";
const require_use_modals = require("./use-modals/use-modals.cjs");
let _mantine_core = require("@mantine/core");
let react_jsx_runtime = require("react/jsx-runtime");
//#region packages/@mantine/modals/src/ConfirmModal.tsx
function ConfirmModal({ id, cancelProps, confirmProps, labels = {
cancel: "",
confirm: ""
}, closeOnConfirm = true, closeOnCancel = true, groupProps, onCancel, onConfirm, children }) {
const { cancel: cancelLabel, confirm: confirmLabel } = labels;
const ctx = require_use_modals.useModals();
const handleCancel = (event) => {
typeof cancelProps?.onClick === "function" && cancelProps?.onClick(event);
typeof onCancel === "function" && onCancel();
closeOnCancel && ctx.closeModal(id);
};
const handleConfirm = (event) => {
typeof confirmProps?.onClick === "function" && confirmProps?.onClick(event);
typeof onConfirm === "function" && onConfirm();
closeOnConfirm && ctx.closeModal(id);
};
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [children && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Box, {
mb: "md",
children
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_mantine_core.Group, {
mt: children ? 0 : "md",
justify: "flex-end",
...groupProps,
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Button, {
variant: "default",
...cancelProps,
onClick: handleCancel,
children: cancelProps?.children || cancelLabel
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mantine_core.Button, {
...confirmProps,
onClick: handleConfirm,
children: confirmProps?.children || confirmLabel
})]
})] });
}
//#endregion
exports.ConfirmModal = ConfirmModal;
//# sourceMappingURL=ConfirmModal.cjs.map