Detent Drawer
ProOpens over the page. Drag between detents, flick down to dismiss.
Installation
ProRequires a Planes Pro license.
npx shadcn add @useplanes/detent-drawer
Works once the @useplanes registry is set up in your project (one-time). After that, copy and run commands directly.
Unlock with Planes Pro
$99 once · 161 Pro components · lifetime updates.
import { DetentDrawer } from "@/components/ui/DetentDrawer";
// Mark the page root once, e.g. in your layout:
// <div data-drawer-wrapper className="min-h-dvh bg-white dark:bg-zinc-950">…</div>
<DetentDrawer
fixed
scaleBackground
open={open}
onClose={() => setOpen(false)}
detents={[0.45, 0.9]}
>
<SheetContent />
</DetentDrawer>Use cases
Mobile action sheets
Share sheets, queues, and pickers that feel native instead of modal.
Half-then-full detail views
Open at 45% for a summary; drag to 90% for the full content.
Map and player overlays
Persistent bottom UI the user resizes by feel, like Apple Maps.
Mobile filters
A filter panel that dismisses with a flick instead of a close button.