'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 LightbulbProps = IconProps; const animations = { default: { path1: { initial: { rotate: 0, fill: 'transparent', }, animate: { transformOrigin: 'bottom center', fill: 'currentColor', rotate: [0, -20, 15, -7, 0], fillOpacity: [0, 1, 0, 1, 0], transition: { duration: 0.8, ease: 'easeInOut', rotate: { duration: 0.8, ease: 'easeInOut', times: [0, 0.4, 0.6, 0.8, 1], }, fillOpacity: { duration: 0.3, ease: 'easeInOut', times: [0, 0.4, 0.6, 0.8, 1], delay: 0.4, }, }, }, }, path2: { initial: { rotate: 0, }, animate: { transformOrigin: 'bottom center', rotate: [0, 0, 10, -5, 0], transition: { duration: 0.8, ease: 'easeInOut', times: [0, 0.4, 0.6, 0.8, 1], }, }, }, path3: {}, } satisfies Record, } as const; function IconComponent({ size, ...props }: LightbulbProps) { const { controls } = useAnimateIconContext(); const variants = getVariants(animations); return ( ); } function Lightbulb(props: LightbulbProps) { return ; } export { animations, Lightbulb, Lightbulb as LightbulbIcon, type LightbulbProps, type LightbulbProps as LightbulbIconProps, };