import cn from 'classnames' import { FC, useRef } from 'react' import s from './Modal.module.css' import { useDialog } from '@react-aria/dialog' import { FocusScope } from '@react-aria/focus' import { Transition } from '@headlessui/react' import { useOverlay, useModal, OverlayContainer } from '@react-aria/overlays' interface Props { className?: string children?: any open?: boolean onClose?: () => void } const Modal: FC = ({ className, children, open = false, onClose, ...props }) => { const rootClassName = cn(s.root, className) let ref = useRef() as React.MutableRefObject let { modalProps } = useModal() let { dialogProps } = useDialog({}, ref) let { overlayProps } = useOverlay( { isOpen: open, isDismissable: true, onClose: onClose, ...props, }, ref ) return (
{children}
) } export default Modal