/* Copyright (C) 2023-2026 QuantumNous This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ import { cva, type VariantProps } from 'class-variance-authority' import { cn } from '@/lib/utils' function Empty({ className, ...props }: React.ComponentProps<'div'>) { 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-lg bg-muted text-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:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4', className )} {...props} /> ) } function EmptyContent({ className, ...props }: React.ComponentProps<'div'>) { return (
) } export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia, }