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

/** Joins conditional class names and resolves conflicting Tailwind utilities. */
export function cn(...inputs: ClassValue[]) {
  return twMerge(clsx(inputs));
}

/** Strips control characters (keeping tabs and newlines) and trims. Use for every free-text field. */
export function cleanText(value: string) {
  return value.replace(/[^\P{Cc}\t\n\r]/gu, "").trim();
}
