UNPKG

@kadoui/react

Version:

Kadoui primitive components for React

15 lines (14 loc) 745 B
"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 }) }) })); }