{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"empty","title":"Empty State","type":"registry:ui","description":"A placeholder for when there is no data to display.","dependencies":["lucide-react","class-variance-authority"],"registryDependencies":["utils"],"files":[{"path":"fysk/empty.tsx","type":"registry:ui","content":"\"use client\";\r\nimport * as React from \"react\"\r\nimport { FolderOpen } from \"lucide-react\"\r\nimport { cva, type VariantProps } from \"class-variance-authority\"\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst emptyVariants = cva(\r\n    \"flex flex-col items-center justify-center text-center rounded-lg transition-colors\",\r\n    {\r\n        variants: {\r\n            variant: {\r\n                default: \"border border-border bg-muted/5\",\r\n                secondary: \"border border-border/50 bg-secondary/50\",\r\n                glass: \"bg-foreground/5 backdrop-blur-md border border-border/50 shadow-sm\",\r\n                outline: \"border border-border bg-background shadow-xs\",\r\n                ghost: \"bg-transparent border-none shadow-none\"\r\n            },\r\n            size: {\r\n                sm: \"p-6 min-h-[150px]\",\r\n                md: \"p-12 min-h-[300px]\",\r\n                lg: \"p-16 min-h-[450px]\",\r\n                fill: \"p-8 w-full h-full min-h-inherit\"\r\n            }\r\n        },\r\n        defaultVariants: {\r\n            variant: \"default\",\r\n            size: \"md\",\r\n        },\r\n    }\r\n)\r\n\r\nexport interface EmptyProps\r\n    extends React.HTMLAttributes<HTMLDivElement>,\r\n    VariantProps<typeof emptyVariants> {\r\n    title?: string;\r\n    description?: string;\r\n    titleClassName?: string;\r\n    descriptionClassName?: string;\r\n    icon?: React.ReactNode;\r\n    action?: React.ReactNode;\r\n}\r\n\r\nconst Empty = React.forwardRef<HTMLDivElement, EmptyProps>(\r\n    ({ className, variant, size, title, description, titleClassName, descriptionClassName, icon, action, children, ...props }, ref) => {\r\n\r\n        const activeIcon = icon || <FolderOpen className=\"size-6 text-muted-foreground\" />\r\n\r\n        return (\r\n            <div\r\n                ref={ref}\r\n                className={cn(emptyVariants({ variant, size, className }))}\r\n                {...props}\r\n            >\r\n                {/* Icon Container */}\r\n                <div className={cn(\r\n                    \"flex items-center justify-center rounded-full mb-4\",\r\n                    \"bg-muted/50 border border-border/50 p-3\", // Standard Shadcn-like icon wrapper\r\n                    variant === \"glass\" && \"bg-foreground/10 border-white/10 text-foreground\"\r\n                )}>\r\n                    {activeIcon}\r\n                </div>\r\n\r\n                {/* Content */}\r\n                <div className=\"space-y-2 max-w-sm\">\r\n                    {title && (\r\n                        <h3 className={cn(\"text-lg font-semibold tracking-tight text-foreground\", titleClassName)}>\r\n                            {title}\r\n                        </h3>\r\n                    )}\r\n                    {description && (\r\n                        <p className={cn(\"text-sm text-muted-foreground text-pretty\", descriptionClassName)}>\r\n                            {description}\r\n                        </p>\r\n                    )}\r\n                </div>\r\n\r\n                {/* Children/Custom Content */}\r\n                {children && (\r\n                    <div className=\"mt-6 w-full\">\r\n                        {children}\r\n                    </div>\r\n                )}\r\n\r\n                {/* Link/Button Action */}\r\n                {action && (\r\n                    <div className=\"mt-6\">\r\n                        {action}\r\n                    </div>\r\n                )}\r\n            </div>\r\n        )\r\n    }\r\n)\r\nEmpty.displayName = \"Empty\"\r\n\r\nexport { Empty }"}]}