'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 ExpandProps = IconProps; const animations = { default: { group1: { initial: { y: 0, x: 0, transition: { duration: 0.3, ease: 'easeInOut' }, }, animate: { y: 2, x: 2, transition: { duration: 0.3, ease: 'easeInOut' }, }, }, group2: { initial: { y: 0, x: 0, transition: { duration: 0.3, ease: 'easeInOut' }, }, animate: { y: -2, x: 2, transition: { duration: 0.3, ease: 'easeInOut' }, }, }, group3: { initial: { y: 0, x: 0, transition: { duration: 0.3, ease: 'easeInOut' }, }, animate: { y: 2, x: -2, transition: { duration: 0.3, ease: 'easeInOut' }, }, }, group4: { initial: { y: 0, x: 0, transition: { duration: 0.3, ease: 'easeInOut' }, }, animate: { y: -2, x: -2, transition: { duration: 0.3, ease: 'easeInOut' }, }, }, path1: {}, path2: {}, path3: {}, path4: {}, path5: {}, path6: {}, path7: {}, path8: {}, } satisfies Record, 'default-loop': { group1: { initial: { y: 0, x: 0, }, animate: { y: [0, 2, 0], x: [0, 2, 0], transition: { duration: 0.6, ease: 'easeInOut' }, }, }, group2: { initial: { y: 0, x: 0, }, animate: { y: [0, -2, 0], x: [0, 2, 0], transition: { duration: 0.6, ease: 'easeInOut' }, }, }, group3: { initial: { y: 0, x: 0, }, animate: { y: [0, 2, 0], x: [0, -2, 0], transition: { duration: 0.6, ease: 'easeInOut' }, }, }, group4: { initial: { y: 0, x: 0, }, animate: { y: [0, -2, 0], x: [0, -2, 0], transition: { duration: 0.6, ease: 'easeInOut' }, }, }, path1: {}, path2: {}, path3: {}, path4: {}, path5: {}, path6: {}, path7: {}, path8: {}, } satisfies Record, } as const; function IconComponent({ size, ...props }: ExpandProps) { const { controls } = useAnimateIconContext(); const variants = getVariants(animations); return ( ); } function Expand(props: ExpandProps) { return ; } export { animations, Expand, Expand as ExpandIcon, type ExpandProps, type ExpandProps as ExpandIconProps, };