Stacked dialog component inspired by Radix UI Dialog. Accessible. Customizable. Open Source. Pre-styled for shadcn/ui.
Features
• Stacked dialog interface with smooth transitions
• Keyboard navigation support
• Accessible by default
• Customizable styling
• Previous/Next navigation controls
• Responsive design
• Fully typed with TypeScript
Props
DialogStack
• open?: boolean - Controls the open state
• onOpenChange?: (open: boolean) => void - Callback when open state changes
• clickable?: boolean - Enables clicking on previous dialogs to navigate back
DialogStackTrigger
• asChild?: boolean - Merges props onto child element instead of rendering button
DialogStackContent
• className?: string - Additional CSS classes
• children: ReactNode - Dialog content
• index?: number - Dialog position in stack (auto-populated)
• offset?: number - Visual offset between stacked dialogs
DialogStackNext/Previous
• asChild?: boolean - Merges props onto child element
• children?: ReactNode - Button content
• className?: string - Additional CSS classes
Example Use Cases
• Multi-step forms
• Onboarding flows
• Wizards
• Sequential content presentation
• Guided tutorials