"use client" import { ButtonHTMLAttributes, ReactNode } from "react"; import { Loader2 } from "lucide-react"; import { Button } from "@/components/ui/button"; export type VariantButton = { secondary: string; default: string; outline: string; ghost: string; link: string; destructive: string; }; export type SizeButton = { default: string; icon: string; sm: string; lg: string; }; export type ButtonWithLoadingProps = { children?: string | ReactNode; icon?: ReactNode; variant?: keyof VariantButton; className?: string; onClick?: (e: React.MouseEvent) => void; isPending?: boolean; size?: keyof SizeButton; } & ButtonHTMLAttributes; export const ButtonWithLoading = ({ icon, children, variant = "default", className, onClick, isPending, size = "default", ...rest }: ButtonWithLoadingProps) => { return ( ); };