'use client'
import * as React from 'react'
import { Button } from '@/components/ui/button'
import {
Dialog,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
DialogTrigger,
} from '@/components/ui/dialog'
import {
Card,
CardContent,
CardDescription,
CardHeader,
CardTitle,
} from '@/components/ui/card'
import { Input } from '@/components/ui/input'
import { Label } from '@/components/ui/label'
import { toast } from 'sonner'
export default function DialogsPage() {
const [isOpen, setIsOpen] = React.useState(false)
const handleSave = () => {
toast.success('Changes saved successfully!')
setIsOpen(false)
}
return (
Dialog Examples
Modal dialogs with focus trapping and keyboard navigation
{/* Basic Dialog */}
Basic DialogSimple dialog with title and content
{/* Dialog with Form */}
Dialog with FormDialog containing a form with inputs
{/* Confirmation Dialog */}
Confirmation DialogDestructive action confirmation
{/* Info Dialog */}
Information DialogDisplay information without actions
{/* Accessibility Info */}
Dialog Accessibility
shadcn/ui dialogs are built on Radix UI with full accessibility
Keyboard Navigation
ESC -
Close dialog
Tab -
Move focus forward
Shift + Tab
{' '}
- Move focus backward
Screen Reader Support
Dialog title is announced via{' '}
aria-labelledby