5180 fichiers 38.5 Mo 0 téléchargements 246 vues mis à jour il y a 5 heures ui
nitro-v36-with-renderer-v36 / src / common / transitions / TransitionAnimation.tsx
TransitionAnimation.tsx 948 o Télécharger le fichier
import { AnimatePresence, motion, Variants } from 'framer-motion';
import { FC, ReactNode } from 'react';
import { getTransitionVariants } from './TransitionAnimationStyles';

interface TransitionAnimationProps {
    type: string;
    inProp: boolean;
    timeout?: number;
    className?: string;
    children?: ReactNode;
}

export const TransitionAnimation: FC<TransitionAnimationProps> = (props) => {
    const { type = null, inProp = false, timeout = 300, className = null, children = null } = props;

    const variants: Variants = getTransitionVariants(type);
    const duration = timeout / 1000;

    return (
        <AnimatePresence initial={false}>
            {inProp && (
                <motion.div className={className ?? ''} variants={variants} initial="hidden" animate="visible" exit="exit" transition={{ duration }}>
                    {children}
                </motion.div>
            )}
        </AnimatePresence>
    );
};
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser