import * as DialogPrimitive from "@radix-ui/react-dialog"; import { X } from "lucide-react"; import React from "react"; import { cn } from "./styles"; // Dialog Root and Trigger export const Dialog = DialogPrimitive.Root; export const DialogTrigger = DialogPrimitive.Trigger; export const DialogPortal = DialogPrimitive.Portal; export const DialogClose = DialogPrimitive.Close; // Dialog Overlay with glassmorphism export const DialogOverlay = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )); DialogOverlay.displayName = DialogPrimitive.Overlay.displayName; // Dialog Content with Tron-style glassmorphism export const DialogContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef & { showCloseButton?: boolean; } >(({ className, children, showCloseButton = true, ...props }, ref) => (
{children}
{showCloseButton && ( Close )}
)); DialogContent.displayName = DialogPrimitive.Content.displayName; // Dialog Header export const DialogHeader = React.forwardRef>( ({ className, ...props }, ref) => (
), ); DialogHeader.displayName = "DialogHeader"; // Dialog Footer export const DialogFooter = React.forwardRef>( ({ className, ...props }, ref) => (
), ); DialogFooter.displayName = "DialogFooter"; // Dialog Title export const DialogTitle = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )); DialogTitle.displayName = DialogPrimitive.Title.displayName; // Dialog Description export const DialogDescription = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )); DialogDescription.displayName = DialogPrimitive.Description.displayName;