import React, { useEffect, useRef } from "react"; import { motion, AnimatePresence } from "framer-motion"; interface DrawerProps { show?: boolean; onClose: () => void; children: React.ReactNode; } export const NavigationDrawer = ({ show = false, onClose, children }: DrawerProps) => { const scrimRef = useRef(null); useEffect(() => { const handleOutsideClick = (event: MouseEvent) => { if (show && scrimRef.current && event.target === scrimRef.current) { onClose(); } }; window.addEventListener("click", handleOutsideClick); return () => { window.removeEventListener("click", handleOutsideClick); }; }, [show, onClose]); return ( {show && ( <> {/* Scrim - Fade in/out */} ); }; export default NavigationDrawer;