import { Button } from '@heroui/button' import { ModalBody, ModalContent, ModalFooter, ModalHeader, Modal as NextUIModal, useDisclosure } from '@heroui/modal' import React from 'react' export interface ModalProps { content: React.ReactNode title?: React.ReactNode size?: React.ComponentProps['size'] onClose?: () => void onConfirm?: () => void onCancel?: () => void backdrop?: 'opaque' | 'blur' | 'transparent' showCancel?: boolean dismissible?: boolean } const Modal: React.FC = React.memo((props) => { const { backdrop = 'blur', title, content, size = 'md', showCancel = true, dismissible, onClose, onConfirm, onCancel } = props const { onClose: onNativeClose } = useDisclosure() return ( { onClose?.() onNativeClose() }} size={size} classNames={{ backdrop: 'z-[99999999]', wrapper: 'z-[999999999]' }} > {(nativeClose) => ( <> {title && ( {title} )} {content} {showCancel && ( )} )} ) }) Modal.displayName = 'Modal' export default Modal