'use client'; import * as React from 'react'; import { motion, type Variants } from 'motion/react'; import { getVariants, useAnimateIconContext, IconWrapper, type IconProps, pathClassName, } from '@/registry/icons/icon'; import { cn } from '@workspace/ui/lib/utils'; type FingerprintProps = IconProps; const animations = { default: (() => { const variants: Record = { group: { initial: { scale: 1, }, animate: { scale: [1, 1.1, 1], transition: { ease: 'easeInOut', duration: 1.5, }, }, }, path: { initial: { strokeOpacity: 0.2, }, }, }; new Array(9).fill(0).forEach((_, i) => { variants[`path${i + 1}`] = { initial: { pathLength: 1, }, animate: { pathLength: [1, 0.05, 1], transition: { pathLength: { duration: 1.5, ease: 'easeInOut' }, }, }, }; }); return variants; })() satisfies Record, 'default-2': (() => { const variants: Record = { group: { initial: { scale: 1, }, animate: { scale: [1, 1.1, 1], transition: { ease: 'easeInOut', duration: 1.5, }, }, }, path: { initial: { strokeOpacity: 0, }, }, }; new Array(9).fill(0).forEach((_, i) => { variants[`path${i + 1}`] = { initial: { pathLength: 1, }, animate: { pathLength: [1, 0.05, 1], transition: { pathLength: { duration: 1.5, ease: 'easeInOut' }, }, }, }; }); return variants; })() satisfies Record, } as const; function IconComponent({ size, className, ...props }: FingerprintProps) { const { controls } = useAnimateIconContext(); const variants = getVariants(animations); return ( ); } function Fingerprint(props: FingerprintProps) { return ; } export { animations, Fingerprint, Fingerprint as FingerprintIcon, type FingerprintProps, type FingerprintProps as FingerprintIconProps, };