import { clsx, type ClassValue } from "clsx";
import { twMerge } from "tailwind-merge";

/**
 * shadcn/ui class combiner: conditionally joins class values with `clsx`, then
 * resolves conflicting Tailwind utilities with `tailwind-merge` (the later
 * class wins, e.g. `cn("p-2", "p-4")` → `"p-4"`).
 *
 * @param inputs - Class values (strings, arrays, or conditional objects) as accepted by `clsx`.
 * @returns A single space-separated `className` string with Tailwind conflicts resolved.
 */
export function cn(...inputs: ClassValue[]) {
  return twMerge(clsx(inputs));
}
