Sheet

화면 가장자리에서 슬라이드되는 사이드 패널 오버레이입니다. Radix UI Dialog 기반.

Installation

bash
npx axis-cli add sheet

Usage

tsx
import {
  Button,
  Sheet,
  SheetClose,
  SheetContent,
  SheetDescription,
  SheetFooter,
  SheetHeader,
  SheetTitle,
  SheetTrigger,
} from '@axis-ds/ui-react'

export function Example() {
  return (
    <Sheet>
      <SheetTrigger asChild>
        <Button variant="outline">Open Sheet</Button>
      </SheetTrigger>
      <SheetContent>
        <SheetHeader>
          <SheetTitle>설정</SheetTitle>
          <SheetDescription>
            애플리케이션 설정을 변경할 수 있습니다.
          </SheetDescription>
        </SheetHeader>
        <div className="py-4">
          <p className="text-sm text-muted-foreground">
            설정 내용이 여기에 표시됩니다.
          </p>
        </div>
        <SheetFooter>
          <SheetClose asChild>
            <Button variant="outline">취소</Button>
          </SheetClose>
          <Button>저장</Button>
        </SheetFooter>
      </SheetContent>
    </Sheet>
  )
}

Components

Sheet

시트 루트 컨테이너

SheetTrigger

시트를 여는 트리거

SheetContent

시트 콘텐츠 영역 (side prop으로 방향 설정)

SheetHeader

시트 헤더

SheetTitle

시트 제목

SheetDescription

시트 설명

SheetFooter

시트 푸터

SheetClose

시트 닫기 버튼

Props

Sheet

open
Type:boolean
Default:-

시트 열림 상태 (controlled)

onOpenChange
Type:(open: boolean) => void
Default:-

열림 상태 변경 콜백

modal
Type:boolean
Default:true

모달 모드 여부

SheetContent

side
Type:"top" | "right" | "bottom" | "left"
Default:"right"

시트가 나타나는 방향

onOpenAutoFocus
Type:(event: Event) => void
Default:-

열릴 때 포커스 이벤트

onCloseAutoFocus
Type:(event: Event) => void
Default:-

닫힐 때 포커스 이벤트