'use client'; import * as React from 'react'; import { motion, type Variants } from 'motion/react'; import { getVariants, useAnimateIconContext, IconWrapper, type IconProps, } from '@/registry/icons/icon'; type ActivityProps = IconProps; const animations = { default: { path: { initial: { opacity: 1, pathLength: 1, pathOffset: 0, }, animate: { opacity: [0, 1], pathLength: [0, 1], pathOffset: [1, 0], transition: { duration: 0.8, ease: 'easeInOut', opacity: { duration: 0.01 }, }, }, }, } satisfies Record, 'default-return': { path: { initial: { opacity: 1, pathLength: 1, pathOffset: 0, }, animate: { opacity: [0, 1, 1, 1], pathLength: [0, 1, 0, 1], pathOffset: [1, 0, 0.01, 0], transition: { duration: 2.5, ease: 'easeInOut', opacity: { duration: 0.01 }, }, }, }, } satisfies Record, 'default-loop': { path: { initial: { opacity: 1, pathLength: 1, pathOffset: 0, }, animate: { opacity: [0, 1, 1, 1, 1], pathLength: [0, 1, 0, 1, 0], pathOffset: [1, 0, 0.01, 0, 0.999], transition: { duration: 3, ease: 'easeInOut', repeat: Infinity, repeatType: 'loop', opacity: { duration: 0.01 }, }, }, }, } satisfies Record, } as const; function IconComponent({ size, ...props }: ActivityProps) { const { controls } = useAnimateIconContext(); const variants = getVariants(animations); return ( ); } function Activity(props: ActivityProps) { return ; } export { animations, Activity, Activity as ActivityIcon, type ActivityProps, type ActivityProps as ActivityIconProps, };