Overlay Dialog Stack
Stacked or nested dialogs where a settings dialog opens a confirmation on top.
Choose the primitives library your project already uses. Both look the same: your theme, not the variant, controls colors, shape, type and motion.
About this block
What it's for
- Stacked or nested dialogs where a settings dialog opens a confirmation on top.
- Destructive confirm dialog that requires typing the resource name to enable delete.
- Dialog manager with a hook to open modals from anywhere with correct focus return.
Includes
- Dialog stack
- Nested dialogs
- Dialog manager
- Escape order
- Focus return
- Typed confirmation
- Destructive dialog
- Depth limit
Works with
- Radix UI and Base UI primitives (pick the one your project uses)
- React 19 and Tailwind CSS 4 in Next.js (App Router), Vite, React Router or TanStack Start, installed with the agentic-ui or shadcn CLI
- Your theme tokens, in light and dark mode
Install
Included with Agentic UI Kit (one-time license). Install needs your license key: see pricing · connect your project.
Agentic UI CLI
agentic-ui add overlay-dialog-stackInstalls through shadcn and adapts the component to your design tokens.
shadcn CLI
npx shadcn@4.17.0 add @agentic-ui/overlay-dialog-stackUsed in
A standalone component: drop it into any screen.
- Type
- Block
- Variants
- Radix UI and Base UI
- Themes
- Light and dark
- Widths
- Preview it at desktop, tablet and mobile widths above.
- npm packages
lucide-react- Registry dependencies
lib-primitives- Files
4 files
- components/agentic-ui/overlay-dialog-stack/overlay-dialog-stack/overlay-dialog-stack.tsx
- components/agentic-ui/overlay-dialog-stack/overlay-dialog-stack/stack-model.ts
- components/agentic-ui/overlay-dialog-stack/overlay-dialog-stack/stack-context.tsx
- components/agentic-ui/overlay-dialog-stack/overlay-dialog-stack/stacked-dialog.tsx
Related components
A11y Contrast Badge
Check in the browser whether the theme palette meets AA before opening the PR.
Details and live previewA11y Focus Manager
Confirmation dialog that returns focus to the button that opened it.
Details and live previewA11y Live Announcer
Announce the number of results when filtering a table without reloading the page.
Details and live previewA11y Skip Links
Skip the side navigation and header to reach the main content.
Details and live preview