'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 MoveRightProps = IconProps; const animations = { default: { group1: { initial: { x: 0, transition: { ease: 'easeInOut', duration: 0.3 }, }, animate: { x: '15%', transition: { ease: 'easeInOut', duration: 0.3 }, }, }, group2: {}, path1: {}, path2: {}, } satisfies Record, 'default-loop': { group1: { initial: { x: 0, }, animate: { x: [0, '15%', 0], transition: { ease: 'easeInOut', duration: 0.6 }, }, }, group2: {}, path1: {}, path2: {}, } satisfies Record, pointing: { group1: {}, group2: {}, path1: { initial: { d: 'M2 12H22', transition: { ease: 'easeInOut', duration: 0.3 }, }, animate: { d: 'M2 12H12', transition: { ease: 'easeInOut', duration: 0.3 }, }, }, path2: { initial: { d: 'M18 8L22 12L18 16', transition: { ease: 'easeInOut', duration: 0.3 }, }, animate: { d: 'M8 8L12 12L8 16', transition: { ease: 'easeInOut', duration: 0.3 }, }, }, } satisfies Record, 'pointing-loop': { group1: {}, group2: {}, path1: { initial: { d: 'M2 12H22', }, animate: { d: ['M2 12H22', 'M2 12H12', 'M2 12H22'], transition: { ease: 'easeInOut', duration: 0.6 }, }, }, path2: { initial: { d: 'M18 8L22 12L18 16', }, animate: { d: ['M18 8L22 12L18 16', 'M8 8L12 12L8 16', 'M18 8L22 12L18 16'], transition: { ease: 'easeInOut', duration: 0.6 }, }, }, } satisfies Record, out: { group1: {}, group2: { initial: { x: 0, }, animate: { x: [0, '150%', '-150%', 0], transition: { default: { ease: 'easeInOut', duration: 0.8 }, x: { ease: 'easeInOut', duration: 0.8, times: [0, 0.5, 0.5, 1], }, }, }, }, path1: {}, path2: {}, } satisfies Record, } as const; function IconComponent({ size, ...props }: MoveRightProps) { const { controls } = useAnimateIconContext(); const variants = getVariants(animations); return ( ); } function MoveRight(props: MoveRightProps) { return ; } export { animations, MoveRight, MoveRight as MoveRightIcon, type MoveRightProps, type MoveRightProps as MoveRightIconProps, };