import { LucideIcon } from 'lucide-react'; import * as React from 'react'; import { IconType } from 'react-icons'; import { ImSpinner2 } from 'react-icons/im'; import { cn } from '@/lib/utils'; const IconButtonVariant = [ 'primary', 'outline', 'ghost', 'light', 'dark', ] as const; type IconButtonProps = { isLoading?: boolean; isDarkBg?: boolean; variant?: (typeof IconButtonVariant)[number]; icon?: IconType | LucideIcon; classNames?: { icon?: string; }; } & React.ComponentPropsWithRef<'button'>; const IconButton = React.forwardRef( ( { className, disabled: buttonDisabled, isLoading, variant = 'primary', isDarkBg = false, icon: Icon, classNames, ...rest }, ref ) => { const disabled = isLoading || buttonDisabled; return ( ); } ); export default IconButton;