행동과 오버레이@neumorphism-ui/drawer

Drawer

Base UI Drawer의 swipe gesture와 포커스 관리를 사용합니다. Sheet가 고정된 작업 패널이라면 Drawer는 터치 환경에서 손가락으로 닫거나 방향을 바꿀 수 있는 임시 작업 표면에 적합합니다.

@neumorphism-ui/drawer
Registry JSON

미리보기

설치

설치: drawernpx shadcn@latest add @neumorphism-ui/drawer

CLI가 npm 의존성, base 토큰, utils와 컴포넌트 소스를 순서대로 확인하고 설치합니다.

Registry를 처음 사용한다면 namespace 설정 을 먼저 완료하세요.

사용법

사용법: 설치npx shadcn@latest add @neumorphism-ui/drawer @neumorphism-ui/button

Import

Drawer import 코드
"use client";
import {
  Drawer,
  DrawerClose,
  DrawerContent,
  DrawerDescription,
  DrawerFooter,
  DrawerHeader,
  DrawerTitle,
  DrawerTrigger,
} from "@/components/ui/drawer";
import { Button } from "@/components/ui/button";

Example

Drawer 사용 코드
export default function Example() {
  return <Drawer swipeDirection="down">
    <DrawerTrigger render={<Button />}>빠른 설정</DrawerTrigger>
    <DrawerContent>
      <DrawerHeader>
        <DrawerTitle>빠른 설정</DrawerTitle>
        <DrawerDescription>화면을 떠나지 않고 자주 쓰는 옵션을 조절합니다.</DrawerDescription>
      </DrawerHeader>
      <div className="grid gap-3 px-5 py-4"><p>알림과 표시 옵션을 이 영역에 배치할 수 있습니다.</p></div>
      <DrawerFooter><DrawerClose render={<Button variant="primary" />}>완료</DrawerClose></DrawerFooter>
    </DrawerContent>
  </Drawer>;
}

API 레퍼런스

컴포넌트속성타입기본값설명
DrawerswipeDirection"down" | "up" | "left" | "right""down"패널이 열리고 닫히는 방향과 swipe 방향을 지정합니다.
Draweropen / onOpenChangeboolean / (open: boolean) => void—Drawer의 controlled 열림 상태를 관리합니다.
DrawersnapPointsnumber[]—필요할 때 중간 정지 지점을 구성합니다.
DrawerTriggerrenderReactElement—기존 Button이나 다른 요소를 trigger로 합성합니다.
DrawerContentclassNamestring | (state) => string—기본 방향·gesture 동작을 유지하면서 패널 스타일을 확장합니다.

접근성

  • 01

    DrawerTitle과 DrawerDescription을 제공해 열린 패널의 목적을 스크린 리더에 전달합니다.

  • 02

    모달 Drawer는 열린 동안 배경 콘텐츠와 포커스를 분리하고 Escape로 닫을 수 있어야 합니다.

  • 03

    swipe gesture만 유일한 닫기 방법으로 사용하지 말고 DrawerClose 같은 명시적 컨트롤을 함께 제공합니다.