/**
 * Animation variants for FunnelChart segments
 */
const segmentVariants = {
    hidden: {
        opacity: 0,
        scaleX: 0.8,
    },
    visible: (index) => ({
        opacity: 1,
        scaleX: 1,
        transition: {
            delay: index * 0.08,
            duration: 0.4,
            ease: [0.25, 0.46, 0.45, 0.94], // easeOutQuad
        },
    }),
    exit: {
        opacity: 0,
        scaleX: 0.8,
        transition: {
            duration: 0.2,
        },
    },
};
/**
 * Animation variants for vertical orientation segments
 */
const verticalSegmentVariants = {
    hidden: {
        opacity: 0,
        scaleY: 0.8,
    },
    visible: (index) => ({
        opacity: 1,
        scaleY: 1,
        transition: {
            delay: index * 0.08,
            duration: 0.4,
            ease: [0.25, 0.46, 0.45, 0.94],
        },
    }),
    exit: {
        opacity: 0,
        scaleY: 0.8,
        transition: {
            duration: 0.2,
        },
    },
};
/**
 * Animation variants for labels
 */
const labelVariants = {
    hidden: {
        opacity: 0,
        y: -10,
    },
    visible: (index) => ({
        opacity: 1,
        y: 0,
        transition: {
            delay: index * 0.08 + 0.2,
            duration: 0.3,
            ease: 'easeOut',
        },
    }),
};
/**
 * Animation variants for conversion badges
 */
const badgeVariants = {
    hidden: {
        opacity: 0,
        scale: 0.8,
    },
    visible: (index) => ({
        opacity: 1,
        scale: 1,
        transition: {
            delay: index * 0.08 + 0.3,
            duration: 0.25,
            ease: 'easeOut',
        },
    }),
};
/**
 * Animation variants for summary box
 */
const summaryVariants = {
    hidden: {
        opacity: 0,
        x: 20,
    },
    visible: {
        opacity: 1,
        x: 0,
        transition: {
            delay: 0.5,
            duration: 0.3,
            ease: 'easeOut',
        },
    },
};

export { badgeVariants, labelVariants, segmentVariants, summaryVariants, verticalSegmentVariants };
