'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 BotMessageSquareProps = IconProps; const animations = { default: { group: { initial: { rotate: 0, }, animate: { transformOrigin: 'bottom left', rotate: [0, 8, -8, 2, 0], transition: { ease: 'easeInOut', duration: 0.8, times: [0, 0.4, 0.6, 0.8, 1], }, }, }, path1: {}, path2: {}, path3: {}, path4: { initial: { scaleY: 1, }, animate: { scaleY: [1, 0.5, 1], transition: { ease: 'easeInOut', duration: 0.6, }, }, }, path5: {}, path6: {}, } satisfies Record, 'look-at': { group: {}, path1: {}, path2: {}, path3: {}, path4: { initial: { x: 0, y: 0, }, animate: { x: [0, -1.5, 1.5, 0], y: [0, 1.5, 1.5, 0], transition: { ease: 'easeInOut', duration: 1.3, }, }, }, path5: { initial: { x: 0, y: 0, }, animate: { x: [0, -1.5, 1.5, 0], y: [0, 1.5, 1.5, 0], transition: { ease: 'easeInOut', duration: 1.3, }, }, }, path6: {}, } satisfies Record, blink: { group: {}, path1: {}, path2: {}, path3: {}, path4: { initial: { scaleY: 1, }, animate: { scaleY: [1, 0.5, 1], transition: { ease: 'easeInOut', duration: 0.6, }, }, }, path5: { initial: { scaleY: 1, }, animate: { scaleY: [1, 0.5, 1], transition: { ease: 'easeInOut', duration: 0.6, }, }, }, path6: {}, } satisfies Record, wink: { group: {}, path1: {}, path2: {}, path3: {}, path4: {}, path5: { initial: { scaleY: 1, }, animate: { scaleY: [1, 0.5, 1], transition: { ease: 'easeInOut', duration: 0.6, }, }, }, path6: {}, } satisfies Record, } as const; function IconComponent({ size, ...props }: BotMessageSquareProps) { const { controls } = useAnimateIconContext(); const variants = getVariants(animations); return ( ); } function BotMessageSquare(props: BotMessageSquareProps) { return ; } export { animations, BotMessageSquare, BotMessageSquare as BotMessageSquareIcon, type BotMessageSquareProps, type BotMessageSquareProps as BotMessageSquareIconProps, };