"use client"; import * as React from "react"; import * as SheetPrimitive from "@radix-ui/react-dialog"; import { XIcon } from "lucide-react"; import { cn } from "./utils"; function Sheet({ ...props }: React.ComponentProps) { // modal={false}: aria-hidden이 sibling 요소에 설정되지 않도록 함 // 사이드바 용도로는 modal 모드가 필요하지 않음 (focus trap 불필요) // 이렇게 하면 Select, Dialog 등 다른 Radix 컴포넌트와 충돌 방지 return ; } function SheetTrigger({ ...props }: React.ComponentProps) { return ; } function SheetClose({ ...props }: React.ComponentProps) { return ; } function SheetPortal({ ...props }: React.ComponentProps) { return ; } const SheetOverlay = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )); SheetOverlay.displayName = SheetPrimitive.Overlay.displayName; function SheetContent({ className, children, side = "right", ...props }: React.ComponentProps & { side?: "top" | "right" | "bottom" | "left"; }) { return ( {children} Close ); } function SheetHeader({ className, ...props }: React.ComponentProps<"div">) { return (
); } function SheetFooter({ className, ...props }: React.ComponentProps<"div">) { return (
); } function SheetTitle({ className, ...props }: React.ComponentProps) { return ( ); } function SheetDescription({ className, ...props }: React.ComponentProps) { return ( ); } export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };