import * as DialogPrimitive from '@rn-primitives/dialog'; import * as React from 'react'; import { Platform, StyleSheet, View, type ViewProps } from 'react-native'; import Animated, { FadeIn, FadeOut } from 'react-native-reanimated'; import { X } from '@/lib/icons/X'; import { cn } from '@/lib/utils'; const Dialog = DialogPrimitive.Root; const DialogTrigger = DialogPrimitive.Trigger; const DialogPortal = DialogPrimitive.Portal; const DialogClose = DialogPrimitive.Close; const DialogOverlayWeb = React.forwardRef( ({ className, ...props }, ref) => { const { open } = DialogPrimitive.useRootContext(); return ( ); } ); DialogOverlayWeb.displayName = 'DialogOverlayWeb'; const DialogOverlayNative = React.forwardRef< DialogPrimitive.OverlayRef, DialogPrimitive.OverlayProps >(({ className, children, ...props }, ref) => { return ( <>{children} ); }); DialogOverlayNative.displayName = 'DialogOverlayNative'; const DialogOverlay = Platform.select({ web: DialogOverlayWeb, default: DialogOverlayNative, }); const DialogContent = React.forwardRef< DialogPrimitive.ContentRef, DialogPrimitive.ContentProps & { portalHost?: string } >(({ className, children, portalHost, ...props }, ref) => { const { open } = DialogPrimitive.useRootContext(); return ( {children} ); }); DialogContent.displayName = DialogPrimitive.Content.displayName; const DialogHeader = ({ className, ...props }: ViewProps) => ( ); DialogHeader.displayName = 'DialogHeader'; const DialogFooter = ({ className, ...props }: ViewProps) => ( ); DialogFooter.displayName = 'DialogFooter'; const DialogTitle = React.forwardRef( ({ className, ...props }, ref) => ( ) ); DialogTitle.displayName = DialogPrimitive.Title.displayName; const DialogDescription = React.forwardRef< DialogPrimitive.DescriptionRef, DialogPrimitive.DescriptionProps >(({ className, ...props }, ref) => ( )); DialogDescription.displayName = DialogPrimitive.Description.displayName; export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };