v0.1 public beta early access on GitHub
Home / Components / morphing-modal

Morphing ModaliOS

Height-morphing modal: the surface springs between measured content heights while outgoing content dissolves into the incoming tree via a blur-style opacity/scale cross-fade. Controlled open state, backdrop dismiss, swipe-to-dismiss, optional close button, safe-area aware, reduced-motion support.

$ npx lumioui add morphing-modal
import { MorphingModal } from "@/components/ui/morphing-modal/morphing-modal";
Props10
open boolean
onOpenChange (open: boolean) => void
title? string Modal title (also used as the accessible name).
description? string Optional description shown under the title.
showCloseButton? boolean Show a close button in the top-right. Default true.
dismissible? boolean Close on backdrop press. Default true.
swipeToDismiss? boolean Enable swipe-to-dismiss. Default true.
placement? "center" | "bottom" Anchor: "center" unfolds from the middle, "bottom" rises from the bottom.
className? string
children? React.ReactNode
Morphing Modalmorphing-modal.tsx
morphing-modal/morphing-modal.tsx open

Height-morphing modal: the surface springs between measured content heights while outgoing content dissolves into the incoming tree via a blur-style opacity/scale cross-fade. Controlled open state, backdrop dismiss, swipe-to-dismiss, optional close button, safe-area aware, reduced-motion support.