import { cva, type VariantProps } from "class-variance-authority"; import { cn } from "../../lib/utils"; const emptyVariants = cva( "flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border-dashed p-6 text-center text-balance", { variants: { variant: { default: "", outline: "border border-[color:color-mix(in_oklab,var(--border)_12%,transparent)]", }, }, defaultVariants: { variant: "default", }, }, ); function Empty({ className, variant = "default", ...props }: React.ComponentProps<"div"> & VariantProps) { return
; } function EmptyHeader({ className, ...props }: React.ComponentProps<"div">) { return (
); } const emptyMediaVariants = cva( "mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0", { variants: { variant: { default: "bg-transparent", icon: "flex size-8 shrink-0 items-center justify-center rounded-md bg-[color:var(--muted)] text-[color:var(--foreground)] [&_svg:not([class*='size-'])]:size-4", }, }, defaultVariants: { variant: "default", }, }, ); function EmptyMedia({ className, variant = "default", ...props }: React.ComponentProps<"div"> & VariantProps) { return (
); } function EmptyTitle({ className, ...props }: React.ComponentProps<"div">) { return (
); } function EmptyDescription({ className, ...props }: React.ComponentProps<"p">) { return (

a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-[color:var(--primary)]", className, )} {...props} /> ); } function EmptyContent({ className, ...props }: React.ComponentProps<"div">) { return (

); } export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, };