import { MANTINE_TOKENS, isHex } from "./_mantine_color_helpers";

/**
 * Genera el valor CSS para el borde de un elemento con color de tarjeta Mantine.
 *
 * - Sin color (""): borde base dark-4.
 * - Hex (#rgb/#rrggbb): mezcla 30% del hex con dark-4.
 * - Token Mantine (blue, red, ...): mezcla 30% del tono -7 con dark-4.
 * - Valor desconocido: borde base dark-4.
 */
export function colorBorder(color: string): string {
  if (!color) return "var(--mantine-color-dark-4)";
  if (isHex(color)) return `color-mix(in srgb, ${color} 30%, var(--mantine-color-dark-4))`;
  if (MANTINE_TOKENS.has(color)) return `color-mix(in srgb, var(--mantine-color-${color}-7) 30%, var(--mantine-color-dark-4))`;
  return "var(--mantine-color-dark-4)";
}
