shadcn/ui Sheet vs Drawer

Use a Sheet for side panels on desktop, like filters, settings, or navigation. Use a Drawer for bottom panels on mobile that people can drag to dismiss. In shadcn/ui, a Sheet extends the Dialog component to slide in from an edge, and a Drawer is a gesture-driven panel.

Side by side

SheetDrawer
Built onDialogBase UI drawer by default, or Vaul with the Radix base
Opens fromTop, right, bottom, or leftUsually the bottom
GesturesNoneDrag to dismiss
Best forDesktop side panelsMobile action sheets

A note on Vaul

The Radix version of the shadcn Drawer is built on Vaul, which its README now marks as unmaintained. New shadcn/ui projects use the Base UI drawer instead, and the shadcn docs include a migration guide.

A common pattern

Many apps render a Sheet on desktop and a Drawer on mobile for the same content, switching on a media query. See Watermelon sheet components and dialog components for ready-made variants.

Related

Open-source UI platform for developers

Watermelon UI is an open-source platform for browsing React components, animated interactions, dashboards, templates, and reusable page sections. The project is built for the community and helps developers move from inspiration to implementation faster by pairing visual previews with source-backed examples and documentation. The platform also includes full templates so people can see how individual blocks work together as realistic product pages instead of only as isolated snippets.

Important public pages include the main docs home, animated components, blocks, dashboards, templates, developer docs, about, contact, privacy, terms, copyright, llms.txt, and the sitemap. The repositories under WatermelonCorp are the source of truth for contributions, and the platform repository includes local MCP tooling for structured agent access to the catalog.