import * as DialogPrimitive from '@radix-ui/react-dialog'; import { X } from 'lucide-react'; import * as React from 'react'; import { getPortalContainer } from '@/lib/portal'; import { cn } from '@/lib/utils'; const Dialog = DialogPrimitive.Root; const DialogTrigger = DialogPrimitive.Trigger; const DialogPortal = DialogPrimitive.Portal; const DialogClose = DialogPrimitive.Close; const DialogOverlay = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >( ( { className, ...props }, ref ) => ( ) ); DialogOverlay.displayName = DialogPrimitive.Overlay.displayName; interface DialogContentProps extends React.ComponentPropsWithoutRef { hideCloseButton?: boolean; } const DialogContent = React.forwardRef< React.ElementRef, DialogContentProps >( ( { className, children, hideCloseButton, ...props }, ref ) => ( { children } { ! hideCloseButton && ( Close ) } ) ); DialogContent.displayName = DialogPrimitive.Content.displayName; const DialogHeader = ( { className, ...props }: React.HTMLAttributes ) => (
); DialogHeader.displayName = 'DialogHeader'; const DialogFooter = ( { className, ...props }: React.HTMLAttributes ) => (
); DialogFooter.displayName = 'DialogFooter'; const DialogTitle = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >( ( { className, ...props }, ref ) => ( ) ); DialogTitle.displayName = DialogPrimitive.Title.displayName; const DialogDescription = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >( ( { className, ...props }, ref ) => ( ) ); DialogDescription.displayName = DialogPrimitive.Description.displayName; export { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };