"use client"; import type { ReactNode } from "react"; import { useState } from "react"; import { motion, useReducedMotion } from "framer-motion"; interface RevealProps { children: ReactNode; y?: number; duration?: number; delay?: number; ease?: string; start?: string; end?: string; scrub?: boolean | number; className?: string; } export function Reveal({ children, y = 36, duration = 0.8, delay = 0, className = "", }: RevealProps) { const shouldReduceMotion = useReducedMotion(); const [animating, setAnimating] = useState(!shouldReduceMotion); return ( { if (!shouldReduceMotion) { setAnimating(true); } }} onAnimationComplete={() => setAnimating(false)} > {children} ); }