"use client"; import { motion, type Variants } from "framer-motion"; import type { ReactNode } from "react"; const variants: Variants = { hidden: { opacity: 0, y: 28 }, visible: { opacity: 1, y: 0 }, }; type RevealProps = { children: ReactNode; delay?: number; className?: string; as?: "div" | "li"; }; /** Fades and lifts content into place once it scrolls into view. */ export function Reveal({ children, delay = 0, className, as = "div" }: RevealProps) { const Component = motion[as]; return ( {children} ); }