Morphing Modal

Family-app-style modal. A single panel that morphs its height as you navigate between inner views, with blur cross-fade on content.

Preview

Click a row. The modal morphs height to match new content.

Install

Add it with the shadcn CLI, or copy the source manually.

$ bunx --bun shadcn add @beui/morphing-modal

API Reference

viewId
string | null

Which view is currently shown. `null` closes the modal.

onClose
() => void
placement?
"bottom" | "center"

"bottom" anchors to the viewport bottom (mobile-like). "center" centers vertically.

bottom
className?
string

Keep in mind

Some components on this site are inspired by or recreated from existing work across the web. I'm not here to take credit; just to learn, experiment, and sometimes push things a bit further. If something looks familiar and I forgot to mention you, reach out and I'll fix that right away.

Updated