'use client'; import { cn } from '@/lib/utils/cn'; import { Check, Copy } from 'lucide-react'; import { useState } from 'react'; import { toast } from 'sonner'; interface ColorSwatchProps { color: string; size?: 'sm' | 'md' | 'lg'; showLabel?: boolean; onClick?: () => void; className?: string; } export function ColorSwatch({ color, size = 'md', showLabel = true, onClick, className, }: ColorSwatchProps) { const [copied, setCopied] = useState(false); const sizeClasses = { sm: 'h-12 w-12', md: 'h-16 w-16', lg: 'h-24 w-24', }; const handleCopy = (e: React.MouseEvent) => { e.stopPropagation(); navigator.clipboard.writeText(color); setCopied(true); toast.success(`Copied ${color}`); setTimeout(() => setCopied(false), 2000); }; return (