ivt
Version:
Ivt Components Library
47 lines (44 loc) • 2.52 kB
JavaScript
import React__default from 'react';
import { D as Dialog, i as DialogTrigger, b as DialogContent, e as DialogHeader, h as DialogTitle, c as DialogDescription, d as DialogFooter, a as DialogClose } from './dialog-DL1cSseU.mjs';
import { T as Trash2 } from './trash-2-ab4Di2Bx.mjs';
import { B as Button } from './button-CZpmCmNo.mjs';
function DeleteConfirmationModal({ onConfirm, title = "Tem certeza que deseja apagar?", description = "Essa ação não pode ser desfeita.", confirmText = "Apagar", cancelText = "Cancelar", disabled = false, children, confirmIcon = Trash2, subtle = false }) {
const [isPending, startTransition] = React__default.useTransition();
const handleConfirm = ()=>{
startTransition(async ()=>{
await onConfirm();
});
};
return /*#__PURE__*/ React__default.createElement(Dialog, null, /*#__PURE__*/ React__default.createElement(DialogTrigger, {
className: "*:font-lato",
asChild: true
}, children ? children : /*#__PURE__*/ React__default.createElement(Button, {
variant: "ghost",
className: "text-destructive hover:text-destructive w-full items-start justify-start px-2",
disabled: disabled
}, confirmText)), /*#__PURE__*/ React__default.createElement(DialogContent, {
className: "*:font-lato max-w-[425px]"
}, /*#__PURE__*/ React__default.createElement(DialogHeader, {
className: "text-left"
}, /*#__PURE__*/ React__default.createElement(DialogTitle, null, title), /*#__PURE__*/ React__default.createElement(DialogDescription, null, description)), /*#__PURE__*/ React__default.createElement(DialogFooter, {
className: "flex flex-row flex-wrap items-start justify-between sm:justify-between"
}, /*#__PURE__*/ React__default.createElement(DialogClose, {
asChild: true
}, /*#__PURE__*/ React__default.createElement(Button, {
variant: "outline",
disabled: isPending,
isAction: true
}, cancelText)), /*#__PURE__*/ React__default.createElement(DialogClose, {
asChild: true
}, /*#__PURE__*/ React__default.createElement(Button, {
variant: "destructive",
onClick: handleConfirm,
disabled: disabled || isPending,
subtle: subtle,
isAction: true
}, confirmIcon && /*#__PURE__*/ React__default.createElement(confirmIcon, {
className: "h-4 w-4"
}), confirmText)))));
}
export { DeleteConfirmationModal as D };
//# sourceMappingURL=DeleteConfirmationModal-NPS_J_dT.mjs.map