"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({ modal = true, // 기본값을 true로 변경 (딤 처리 및 포커스 트랩 활성화) ...props }: React.ComponentProps & { modal?: boolean }) { // modal={true}: 딤 처리, 포커스 트랩, ESC 키로 닫기 등 모달 동작 활성화 // modal={false}: aria-hidden이 sibling 요소에 설정되지 않음, 다른 Radix 컴포넌트와 충돌 방지 // 모바일 사이드바에서는 modal={true}가 필요 (딤 클릭으로 닫기 기능) 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, };