import { type ClassValue, clsx } from "clsx" import { twMerge } from "tailwind-merge" export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)) } export function debounce void>( func: T, delay: number ): T { let timeoutId: ReturnType return function (this: any, ...args: Parameters) { clearTimeout(timeoutId) timeoutId = setTimeout(() => func.apply(this, args), delay) } as T }