import React from 'react'; import { Button } from '@chakra-ui/button'; import { Text, Flex, Box, Divider } from '@chakra-ui/react'; import { Icon, ModalProps, Modal, ModalOverlay, ModalContent, ModalHeader, ModalFooter, ModalBody, ModalCloseButton, } from '@chakra-ui/react'; import { IconType } from 'react-icons'; export interface IBaseModalProps extends ModalProps { isOpen: boolean; onClose: () => void; onProceed: (e: React.MouseEvent) => void; heading: string; icon?: IconType; description?: string; confirmText?: string; isLoading?: boolean | undefined; loadingText?: string | undefined; } const BaseModal: React.FC = props => { const { heading, description, isOpen, onClose, onProceed, confirmText, icon, isLoading, loadingText, ...modalProps } = props; return ( {icon && } {heading} {description && ( {description} )} {props.children} ); }; export default BaseModal;