import React, { SetStateAction, Dispatch, ReactNode } from 'react'; import classnames from 'classnames'; import OutsideClickHandler from 'react-outside-click-handler'; import styles from './ModalWithToggle.module.scss'; export interface ModalWithToggleProps { isModalOpen: boolean; setModalOpenStatus: Dispatch>; customHandleOutsideClick?: (e: MouseEvent) => void; toggleText: string; headerEl: string | ReactNode; leftSideEl: ReactNode; rightSideEl: ReactNode; footerEl?: ReactNode; noDataEl?: ReactNode; modalClassName?: string; modalHeight?: string; } function ModalWithToggle({ isModalOpen, setModalOpenStatus, customHandleOutsideClick, toggleText, headerEl, leftSideEl, rightSideEl, footerEl, noDataEl, modalClassName, modalHeight, }: ModalWithToggleProps) { const handleOutsideClick = () => { setModalOpenStatus(false); }; return (
{isModalOpen && (
{headerEl}
{noDataEl || ( <>
{leftSideEl}
{rightSideEl}
)}
{footerEl}
)}
); } export default ModalWithToggle;