// Shared visual primitives used by ClaimCard837 and ClaimCard835. // // Both cards render validation status (Passed / Warnings / Failed) and // a grid of stat pills (Member, Place of service, …). The exact same // mark-up was being copy-pasted inside Upload.tsx for both cards; this // file is the shared home. import { AlertTriangle, CheckCircle2, XCircle } from "lucide-react"; import { cn } from "@/lib/utils"; /** * Tri-state validation indicator. * * - `passed` → green "Passed" with check icon * - `hasWarnings` → amber "Warnings" with triangle * - else → red "Failed" with X */ export function ValidationDot({ passed, hasWarnings, }: { passed: boolean; hasWarnings?: boolean; }) { if (passed) { return ( Passed ); } if (hasWarnings) { return ( Warnings ); } return ( Failed ); } /** * Small label + value cell for the expanded-card detail grid. */ export function StatPill({ label, value, mono = true, }: { label: string; value: React.ReactNode; mono?: boolean; }) { return (
{label}
{value}
); }