import { ReactNode } from "react";
import { ArrowRight, LucideIcon } from "lucide-react";
import { Link } from "react-router-dom";
import { cn } from "../../lib/utils";
/**
* Bento Grid Components - Feature 14 from AuraUI
*
* A responsive, modular grid system for dashboard widgets.
*/
// --- Grid Container ---
export const BentoGrid = ({
children,
className,
}: {
children: ReactNode;
className?: string;
}) => {
return (
{children}
);
};
// --- Grid Item (Card) ---
interface BentoCardProps {
name: string;
className: string;
background?: ReactNode;
Icon: LucideIcon;
description: string;
href: string;
cta?: string;
children?: ReactNode; // For custom content inside the card
value?: string | number; // For metric displays
}
export const BentoCard = ({
name,
className,
background,
Icon,
description,
href,
cta = "View Details",
children,
value
}: BentoCardProps) => {
return (
{/* Background Graphic (optional) */}
{background}
{/* Content Area */}
{/* Header */}
{/* Metric Value (if provided) - Large display */}
{value && (
{value}
)}
{/* Description / Subtext */}
{description}
{/* Custom Children (Charts, Lists, etc) */}
{children && (
{children}
)}
{/* Interactive Footer / CTA */}
{/* Hover Effect Details */}
);
};