import classNames from 'classnames'; import React, { ReactNode, useState } from 'react'; import './Modal.css'; import { ModalCloseButton } from './ModalCloseButton'; import { useModalContext } from './ModalContextProvider'; export interface ModalProps { /** * The ID used to identify this component in Dash callbacks */ id?: string; /** * Dash-assigned callback that should be called whenever any of the * properties change */ setProps?: (value: any) => any; /** * Class name applied to modal content div. * The "mpc-modal" and "modal" classes are added automatically */ className?: string; } /** * Render modal that can be opened by a ModalTrigger within its same ModalContextProvider */ export const Modal: React.FC = (props) => { const { active, setActive, forceAction } = useModalContext(); return (
{ if (forceAction) { return; } else { setActive(false); } }} >
{!forceAction && setActive(false)} />} {props.children}
); };