/**
 * Voice recorder enter/exit animation (replaces textarea area)
 */
/**
 * Textarea enter/exit animation (when swapping with voice recorder)
 */
const textareaSwapVariants = {
    initial: { opacity: 0, y: -8 },
    animate: { opacity: 1, y: 0, transition: { duration: 0.2, ease: "easeOut" } },
    exit: { opacity: 0, y: 8, transition: { duration: 0.15, ease: "easeIn" } },
};
/**
 * Submit/Stop icon swap animation
 */
const iconSwapVariants = {
    initial: { opacity: 0, scale: 0.5, rotate: -90 },
    animate: {
        opacity: 1,
        scale: 1,
        rotate: 0,
        transition: { duration: 0.2, ease: "easeOut" },
    },
    exit: {
        opacity: 0,
        scale: 0.5,
        rotate: 90,
        transition: { duration: 0.15, ease: "easeIn" },
    },
};
/**
 * Enhanced dropzone container animation
 */
const dropzoneContainerVariants = {
    initial: { opacity: 0 },
    animate: {
        opacity: 1,
        transition: {
            duration: 0.2,
            staggerChildren: 0.05,
        },
    },
    exit: { opacity: 0, transition: { duration: 0.15 } },
};
/**
 * Dropzone child elements stagger animation
 */
const dropzoneChildVariants = {
    initial: { opacity: 0, y: 8 },
    animate: { opacity: 1, y: 0, transition: { duration: 0.2, ease: "easeOut" } },
    exit: { opacity: 0, transition: { duration: 0.1 } },
};
/**
 * Dropzone action icons stagger animation
 */
const dropzoneActionIconVariants = {
    initial: { opacity: 0, scale: 0.8 },
    animate: { opacity: 1, scale: 1, transition: { duration: 0.15 } },
    exit: { opacity: 0, scale: 0.8, transition: { duration: 0.1 } },
};

export { dropzoneActionIconVariants, dropzoneChildVariants, dropzoneContainerVariants, iconSwapVariants, textareaSwapVariants };
