ThiloDesign System
DV

Drawer

shadcn/ui
Vaul

Mobile-friendly slide-up panel with drag-to-close. Built on Vaul. Use Sheet for desktop.

@/components/ui/drawer

Directions

directionDemoUsage
bottom (default)Mobile action sheets, quick actions — slides up from bottom edge
topNotifications, banners — slides down from top
leftMobile nav sidebar — slides in from left
rightDetail panels on mobile — prefer Sheet on desktop

In context — ticket table row (mobile)

Tickets

Drawer vs Sheet

DrawerSheet
Best forMobile, touch-first interactionsDesktop detail panels, settings
Close methodDrag down + backdrop click + buttonBackdrop click + button + Escape
HandleVisible drag handle at topNo handle
Vaul-basedYes — native feel on mobileNo — Radix Dialog

Sub-components

ComponentRole
DrawerRoot — wraps trigger and content. direction prop: "bottom" (default) | "top" | "left" | "right"
DrawerTriggerElement that opens the drawer — use asChild to pass any button
DrawerContentThe panel — slides in from the configured direction
DrawerHeaderTop section with title + description
DrawerTitleHeading — required for accessibility
DrawerDescriptionSubtitle / context text below title
DrawerFooterBottom section — typically Cancel + primary action
DrawerCloseCloses the drawer on click — use asChild for custom button

On this page