"use client";
import { motion } from "framer-motion";
import { ReactNode } from "react";
interface FadeInProps {
children: ReactNode;
delay?: number;
duration?: number;
direction?: "up" | "down" | "left" | "right" | "none";
distance?: number;
className?: string;
once?: boolean;
}
export default function FadeIn({
children,
delay = 0,
duration = 0.6,
direction = "up",
distance = 30,
className = "",
once = true,
}: FadeInProps) {
const directions = {
up: { y: distance, x: 0 },
down: { y: -distance, x: 0 },
left: { x: distance, y: 0 },
right: { x: -distance, y: 0 },
none: { x: 0, y: 0 },
};
return (
{children}
);
}
interface StaggerContainerProps {
children: ReactNode;
className?: string;
staggerDelay?: number;
}
export function StaggerContainer({
children,
className = "",
staggerDelay = 0.1,
}: StaggerContainerProps) {
return (
{children}
);
}
interface StaggerItemProps {
children: ReactNode;
className?: string;
}
export function StaggerItem({ children, className = "" }: StaggerItemProps) {
return (
{children}
);
}