import { type ReactNode, type ReactElement, useRef, useEffect } from 'react'; import { createPortal } from 'react-dom'; import { useRevealContext } from '../hooks/useRevealContext'; export function RevealCanvas({ children, }: { children?: ReactNode; }): ReactElement { const { viewer } = useRevealContext(); const parentElement = useRef(null); useEffect(() => { if (parentElement.current !== null) { parentElement.current.appendChild(viewer.domElement); } }, [viewer]); return (
{createPortal(children, viewer.domElement)}
); }