@kadoui/react
Version:
Kadoui primitive components for React
15 lines (14 loc) • 745 B
JavaScript
"use client";
import { jsx as _jsx } from "react/jsx-runtime";
import { use } from "react";
import { motion, AnimatePresence } from "framer-motion";
import { Portal } from "../Portal/Portal";
import { ModalContext } from "./ModalContext";
import { ClientOnly } from "../ClientOnly/ClientOnly";
export function ModalPortal({ onClick, ...p }) {
const { isOpen, setOpen } = use(ModalContext);
return (_jsx(ClientOnly, { children: _jsx(Portal, { children: _jsx(AnimatePresence, { children: isOpen ? (_jsx(motion.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, onClick: (ev) => {
onClick?.(ev);
setOpen(false);
}, ...p })) : null }) }) }));
}