import * as React from "react" import { Dialog as DialogPrimitive } from "@base-ui/react/dialog" import { cva, type VariantProps } from "class-variance-authority" import { XIcon } from "lucide-react" import { cn } from "../core/cn" function Sheet({ ...props }: DialogPrimitive.Root.Props) { return } function SheetTrigger({ ...props }: DialogPrimitive.Trigger.Props) { return } function SheetClose({ ...props }: DialogPrimitive.Close.Props) { return } function SheetPortal({ ...props }: DialogPrimitive.Portal.Props) { return } function SheetOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props) { return ( ) } const sheetVariants = cva( "fixed z-50 flex flex-col gap-4 bg-background p-6 shadow-lg transition ease-in-out", { variants: { side: { top: "inset-x-0 top-0 border-b data-open:animate-in data-open:slide-in-from-top data-closed:animate-out data-closed:slide-out-to-top", bottom: "inset-x-0 bottom-0 border-t data-open:animate-in data-open:slide-in-from-bottom data-closed:animate-out data-closed:slide-out-to-bottom", left: "inset-y-0 left-0 h-full w-3/4 border-r data-open:animate-in data-open:slide-in-from-left data-closed:animate-out data-closed:slide-out-to-left sm:max-w-sm", right: "inset-y-0 right-0 h-full w-3/4 border-l data-open:animate-in data-open:slide-in-from-right data-closed:animate-out data-closed:slide-out-to-right sm:max-w-sm", }, }, defaultVariants: { side: "right" }, } ) interface SheetContentProps extends DialogPrimitive.Popup.Props, VariantProps { showCloseButton?: boolean } function SheetContent({ className, children, side = "right", showCloseButton = true, ...props }: SheetContentProps) { return ( {children} {showCloseButton && ( Close )} ) } function SheetHeader({ className, ...props }: React.ComponentProps<"div">) { return
} function SheetFooter({ className, ...props }: React.ComponentProps<"div">) { return (
) } function SheetTitle({ className, ...props }: DialogPrimitive.Title.Props) { return ( ) } function SheetDescription({ className, ...props }: DialogPrimitive.Description.Props) { return ( ) } export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, sheetVariants } export type { SheetContentProps }