import * as React from 'react'; import { Dialog as SheetPrimitive } from '@base-ui/react/dialog'; import { XIcon } from 'lucide-react'; import { getPortalContainer } from '../../lib/portal'; import { classNames } from '../../lib/utils'; import { Button } from './button'; function Sheet({ ...props }: SheetPrimitive.Root.Props) { return ; } const SheetTrigger = React.forwardRef< HTMLButtonElement, SheetPrimitive.Trigger.Props >(function SheetTrigger({ ...props }, ref) { return ( ); }); const SheetClose = React.forwardRef< HTMLButtonElement, SheetPrimitive.Close.Props >(function SheetClose({ ...props }, ref) { return ; }); const SheetPortal = React.forwardRef< HTMLDivElement, SheetPrimitive.Portal.Props >(function SheetPortal({ ...props }, ref) { return ( ); }); const SheetOverlay = React.forwardRef< HTMLDivElement, SheetPrimitive.Backdrop.Props >(function SheetOverlay({ className, ...props }, ref) { return ( ); }); const SheetContent = React.forwardRef< HTMLDivElement, SheetPrimitive.Popup.Props & { side?: 'top' | 'right' | 'bottom' | 'left'; showCloseButton?: boolean; } >(function SheetContent( { className, children, side = 'right', showCloseButton = true, ...props }, ref ) { return ( {children} {showCloseButton && ( } > Close )} ); }); const SheetHeader = React.forwardRef< HTMLDivElement, React.ComponentProps<'div'> >(function SheetHeader({ className, ...props }, ref) { return (
); }); const SheetFooter = React.forwardRef< HTMLDivElement, React.ComponentProps<'div'> >(function SheetFooter({ className, ...props }, ref) { return (
); }); const SheetTitle = React.forwardRef< HTMLHeadingElement, SheetPrimitive.Title.Props >(function SheetTitle({ className, ...props }, ref) { return ( ); }); const SheetDescription = React.forwardRef< HTMLParagraphElement, SheetPrimitive.Description.Props >(function SheetDescription({ className, ...props }, ref) { return ( ); }); export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };