@kadoui/react
Version:
Kadoui primitive components for React
17 lines (16 loc) • 780 B
JavaScript
"use client";
import { jsx as _jsx } from "react/jsx-runtime";
import { use, useEffect, useRef } from "react";
import { AnimatePresence, motion } from "framer-motion";
import { ModalContext } from "./ModalContext";
export function ModalBody(p) {
const { isOpen } = use(ModalContext);
const contentRef = useRef(null);
useEffect(() => {
if (isOpen) {
const indexElement = contentRef.current?.querySelector("[data-modal='index']");
indexElement?.focus();
}
}, [isOpen]);
return (_jsx(AnimatePresence, { children: isOpen ? (_jsx(motion.div, { ref: contentRef, initial: { opacity: 0, scale: 0.9 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.9 }, transition: { ease: "easeInOut" }, ...p })) : null }));
}