import { forwardRef, ComponentPropsWithoutRef, ElementRef, HTMLAttributes } from "react"; import * as DialogPrimitive from "@radix-ui/react-dialog"; import { VisuallyHidden } from "@radix-ui/react-visually-hidden"; import { X } from "lucide-react"; import { cn } from "@/lib/cn"; export const Root = DialogPrimitive.Root; export const Trigger = DialogPrimitive.Trigger; export const Close = DialogPrimitive.Close; export const Portal = DialogPrimitive.Portal; export const Overlay = forwardRef< ElementRef, ComponentPropsWithoutRef >(function DialogOverlay({ className, ...props }, ref) { return ( ); }); type ContentProps = ComponentPropsWithoutRef & { showClose?: boolean; maxWidthClass?: string; }; export const Content = forwardRef, ContentProps>( function DialogContent( { className, children, showClose = true, maxWidthClass = "max-w-md", ...props }, ref, ) { return ( e.stopPropagation()} {...props} > Dialog {children} {showClose && ( )} ); }, ); export const Title = forwardRef< ElementRef, ComponentPropsWithoutRef >(function DialogTitle({ className, ...props }, ref) { return ( ); }); export const Description = forwardRef< ElementRef, ComponentPropsWithoutRef >(function DialogDescription({ className, ...props }, ref) { return ( ); }); type FooterProps = HTMLAttributes & { separator?: boolean; }; export const Footer = ({ className, separator = true, ...props }: FooterProps) => (
*]:w-full sm:[&>*]:w-auto", "px-8 pt-6", className, )} {...props} />
);