"use client";
import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
import { XIcon } from "lucide-react";
import { cn } from "~/lib/utils";
import { Button } from "~/components/ui/button";
import { ScrollArea } from "~/components/ui/scroll-area";
const DialogCreateHandle = DialogPrimitive.createHandle;
const Dialog = DialogPrimitive.Root;
const DialogPortal = DialogPrimitive.Portal;
function DialogTrigger(props: DialogPrimitive.Trigger.Props) {
return ;
}
function DialogClose(props: DialogPrimitive.Close.Props) {
return ;
}
function DialogBackdrop({ className, ...props }: DialogPrimitive.Backdrop.Props) {
return (
);
}
function DialogViewport({ className, ...props }: DialogPrimitive.Viewport.Props) {
return (
);
}
function DialogPopup({
className,
children,
showCloseButton = true,
bottomStickOnMobile = true,
...props
}: DialogPrimitive.Popup.Props & {
showCloseButton?: boolean;
bottomStickOnMobile?: boolean;
}) {
return (
{children}
{showCloseButton && (
}
>
)}
);
}
function DialogHeader({ className, ...props }: React.ComponentProps<"div">) {
return (
);
}
function DialogFooter({
className,
variant = "default",
...props
}: React.ComponentProps<"div"> & {
variant?: "default" | "bare";
}) {
return (
);
}
function DialogTitle({ className, ...props }: DialogPrimitive.Title.Props) {
return (
);
}
function DialogDescription({ className, ...props }: DialogPrimitive.Description.Props) {
return (
);
}
function DialogPanel({
className,
scrollFade = true,
...props
}: React.ComponentProps<"div"> & { scrollFade?: boolean }) {
return (
);
}
export {
DialogCreateHandle,
Dialog,
DialogTrigger,
DialogPortal,
DialogClose,
DialogBackdrop,
DialogBackdrop as DialogOverlay,
DialogPopup,
DialogPopup as DialogContent,
DialogHeader,
DialogFooter,
DialogTitle,
DialogDescription,
DialogPanel,
DialogViewport,
};