'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 LayoutDashboardProps = IconProps; const animations = { default: { rect1: { initial: { height: 9, transition: { duration: 0.3, ease: 'easeInOut' }, }, animate: { height: 5, transition: { duration: 0.3, ease: 'easeInOut' }, }, }, rect2: { initial: { height: 5, transition: { duration: 0.3, ease: 'easeInOut' }, }, animate: { height: 9, transition: { duration: 0.3, ease: 'easeInOut' }, }, }, rect3: { initial: { height: 9, y: 0, transition: { duration: 0.3, ease: 'easeInOut' }, }, animate: { height: 5, y: 4, transition: { duration: 0.3, ease: 'easeInOut' }, }, }, rect4: { initial: { height: 5, y: 0, transition: { duration: 0.3, ease: 'easeInOut' }, }, animate: { height: 9, y: -4, transition: { duration: 0.3, ease: 'easeInOut' }, }, }, } satisfies Record, 'default-loop': { rect1: { initial: { height: 9, }, animate: { height: [9, 5, 9], transition: { duration: 0.6, ease: 'easeInOut' }, }, }, rect2: { initial: { height: 5, }, animate: { height: [5, 9, 5], transition: { duration: 0.6, ease: 'easeInOut' }, }, }, rect3: { initial: { height: 9, y: 0, }, animate: { height: [9, 5, 9], y: [0, 4, 0], transition: { duration: 0.6, ease: 'easeInOut' }, }, }, rect4: { initial: { height: 5, y: 0, }, animate: { height: [5, 9, 5], y: [0, -4, 0], transition: { duration: 0.6, ease: 'easeInOut' }, }, }, } satisfies Record, } as const; function IconComponent({ size, ...props }: LayoutDashboardProps) { const { controls } = useAnimateIconContext(); const variants = getVariants(animations); return ( ); } function LayoutDashboard(props: LayoutDashboardProps) { return ; } export { animations, LayoutDashboard, LayoutDashboard as LayoutDashboardIcon, type LayoutDashboardProps, type LayoutDashboardProps as LayoutDashboardIconProps, };