'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 BatteryFullProps = IconProps; const animations = { default: { rect: {}, line1: {}, line2: { initial: { opacity: 1, scale: 1, }, animate: { opacity: 0, scale: 0, transition: { opacity: { duration: 0.3, ease: 'easeInOut', repeat: 1, repeatType: 'reverse', repeatDelay: 0, }, scale: { duration: 0.3, ease: 'easeInOut', repeat: 1, repeatType: 'reverse', repeatDelay: 0, }, }, }, }, line3: { initial: { opacity: 1, scale: 1, }, animate: { opacity: 0, scale: 0, transition: { opacity: { duration: 0.3, ease: 'easeInOut', repeat: 1, repeatType: 'reverse', repeatDelay: 0.3, }, scale: { duration: 0.3, ease: 'easeInOut', repeat: 1, repeatType: 'reverse', repeatDelay: 0.3, }, }, }, }, line4: { initial: { opacity: 1, scale: 1, }, animate: { opacity: 0, scale: 0, transition: { opacity: { duration: 0.3, ease: 'easeInOut', repeat: 1, repeatType: 'reverse', repeatDelay: 0.6, }, scale: { duration: 0.3, ease: 'easeInOut', repeat: 1, repeatType: 'reverse', repeatDelay: 0.6, }, }, }, }, } satisfies Record, } as const; function IconComponent({ size, ...props }: BatteryFullProps) { const { controls } = useAnimateIconContext(); const variants = getVariants(animations); return ( ); } function BatteryFull(props: BatteryFullProps) { return ; } export { animations, BatteryFull, BatteryFull as BatteryFullIcon, type BatteryFullProps, type BatteryFullProps as BatteryFullIconProps, };