시트
시트 (Sheet)
Dialog 컴포넌트를 확장해서, 화면의 주된 콘텐츠를 보완하는 내용을 옆에서 슬라이드로 나타나게 해 주는 컴포넌트예요. 모달 대신 화면 가장자리에서 끌려나오는 패널 형태로, 설정이나 상세 정보처럼 보조적인 콘텐츠를 보여줄 때 사용해요.
출처: 문서
본문
설치하기
npx shadcn@latest add sheet
npm install @radix-ui/react-dialog
사용하기
필요한 컴포넌트를 import 하고,
import {
Sheet,
SheetContent,
SheetDescription,
SheetHeader,
SheetTitle,
SheetTrigger,
} from "@/components/ui/sheet"
다음 구조로 조립하면 돼요. SheetTrigger가 시트를 열고, SheetContent 안에 SheetHeader로 제목(SheetTitle)과 설명(SheetDescription)을 넣어요.
<Sheet>
<SheetTrigger>Open</SheetTrigger>
<SheetContent>
<SheetHeader>
<SheetTitle>Are you absolutely sure?</SheetTitle>
<SheetDescription>
This action cannot be undone. This will permanently delete your account
and remove your data from our servers.
</SheetDescription>
</SheetHeader>
</SheetContent>
</Sheet>
예시
방향 (Side)
<SheetContent />의 side prop을 사용하면 시트가 나타날 화면의 가장자리를 정할 수 있어요. 값은 top, right, bottom, left 중에서 고를 수 있어요.
크기 (Size)
CSS 클래스를 이용해서 시트의 크기를 조절할 수 있어요.
<Sheet>
<SheetTrigger>Open</SheetTrigger>
<SheetContent className="w-[400px] sm:w-[540px]">
<SheetHeader>
<SheetTitle>Are you absolutely sure?</SheetTitle>
<SheetDescription>
This action cannot be undone. This will permanently delete your account
and remove your data from our servers.
</SheetDescription>
</SheetHeader>
</SheetContent>
</Sheet>
더 알아보기 (Learn more)
- Radix UI Dialog — 시트의 기반이 되는 다이얼로그 프리미티브와 API 레퍼런스