import * as React from 'react'; import * as DialogPrimitive from '@radix-ui/react-dialog'; import { Cross2Icon } from '@radix-ui/react-icons'; import { cn } from '@/utils'; import { portalContainerContext } from '@/store/theme'; import { ScrollArea } from './scroll-area'; const Dialog = DialogPrimitive.Root; const DialogTrigger = DialogPrimitive.Trigger; const DialogPortal = DialogPrimitive.Portal; const DialogClose = DialogPrimitive.Close; const DialogOverlay = React.forwardRef, React.ComponentPropsWithoutRef>( ({ className, ...props }, ref) => (
) ); DialogOverlay.displayName = DialogPrimitive.Overlay.displayName; const DialogContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef & { containerClassName?: string; showCloseButton?: boolean; } >(({ className, containerClassName, showCloseButton = true, children, ...props }, ref) => ( {children} {showCloseButton && ( Close )} )); DialogContent.displayName = DialogPrimitive.Content.displayName; const DialogNormalContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef & { containerClassName?: string; } >(({ className, containerClassName, children, ...props }, ref) => ( {children} Close )); DialogNormalContent.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.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, DialogTrigger, DialogClose, DialogContent, DialogNormalContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };