"use client"; import { motion, type Variants } from "framer-motion"; import type { ReactNode } from "react"; /* ─── Fade-up stagger container ─── */ const containerVariants: Variants = { hidden: {}, show: { transition: { staggerChildren: 0.06, delayChildren: 0.1 } }, }; const itemVariants: Variants = { hidden: { opacity: 0, y: 24, filter: "blur(4px)" }, show: { opacity: 1, y: 0, filter: "blur(0px)", transition: { duration: 0.5, ease: [0.25, 0.46, 0.45, 0.94] }, }, }; export function StaggerContainer({ children, className, }: { children: ReactNode; className?: string; }) { return ( {children} ); } export function StaggerItem({ children, className, }: { children: ReactNode; className?: string; }) { return ( {children} ); } /* ─── Fade in (standalone) ─── */ export function FadeIn({ children, className, delay = 0, direction = "up", }: { children: ReactNode; className?: string; delay?: number; direction?: "up" | "down" | "left" | "right" | "none"; }) { const offsets = { up: { y: 30 }, down: { y: -30 }, left: { x: 30 }, right: { x: -30 }, none: {}, }; return ( {children} ); } /* ─── Animated counter ─── */ export { AnimatedCounter } from "./AnimatedCounter"; /* ─── Hover card ─── */ export function HoverCard({ children, className, }: { children: ReactNode; className?: string; }) { return ( {children} ); } /* ─── Scale on tap ─── */ export function ScaleTap({ children, className, }: { children: ReactNode; className?: string; }) { return ( {children} ); }