ns-ui

Dialog Emerge

A native <dialog> modal that grows out of the control that opened it and returns into it on close.

Use when a modal that should visibly grow out of the control that opened it and return into it on close, built on the native dialog element so the focus trap, background inertness and Escape come from the platform; pick drawer-counterweight instead when the panel is a side sheet the user drags, or popover-pendulum when the content is non-modal and anchored rather than blocking.

Install

npx shadcn add https://design.helpmarq.com/r/dialog-emerge.json
  • dialog
  • modal
  • overlay
  • flip
  • accessibility

Delete this draft?

“Q3 launch notes” and its 3 saved revisions will be removed from the workspace. This can't be undone.

ns-ui / dialog-emerge — the panel grows out of the control that opened it

q3-launch-notes.md
q1-retro.mdDraft
onboarding-copy.mdDraft
pricing-faq.mdDraft
changelog-draft.mdDraft
roadmap-notes.mdDraft
support-macros.mdDraft
release-checklist.mdDraft
brand-voice.mdDraft

Props

PropTypeDefaultDescription
openbooleanControlled open state. The dialog is opened with `showModal()`.
onOpenChange(open: boolean) => voidCalled for every close the platform can originate: Escape, backdrop, close controls.
triggerRef?RefObject<HTMLElement | null>The control the panel emerges from and returns into. Omit for a centered scale-in.
title?ReactNode
description?ReactNode
children?ReactNodeBody and actions. Rendered inside the panel, below the title block.
dismissOnBackdrop?booleanClicking the dimmed backdrop closes. Default true.
className?string