import { clsx, type ClassValue } from "clsx"; import { twMerge } from "tailwind-merge"; /** * Merge Tailwind CSS classes with proper precedence */ export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); } /** * Format a number as Mexican peso currency */ export function formatCurrency(amount: number): string { return new Intl.NumberFormat("es-MX", { style: "currency", currency: "MXN", minimumFractionDigits: 0, maximumFractionDigits: 2, }).format(amount); } /** * Format a date in Spanish format (e.g., "15 de enero de 2024") */ export function formatDate(date: Date | string): string { const dateObj = typeof date === "string" ? new Date(date) : date; return new Intl.DateTimeFormat("es-MX", { day: "numeric", month: "long", year: "numeric", }).format(dateObj); } /** * Format time in 12-hour format with AM/PM */ export function formatTime(date: Date | string): string { const dateObj = typeof date === "string" ? new Date(date) : date; return new Intl.DateTimeFormat("es-MX", { hour: "numeric", minute: "2-digit", hour12: true, }).format(dateObj); }