import classnames from 'classnames'; import { motion } from 'framer-motion'; import type { ReactNode } from 'react'; import { Portal } from '../Portal'; import { IconButton } from './IconButton'; import { HStack, VStack } from './Stacks'; interface Props { children: ReactNode; open: boolean; onOpenChange: (open: boolean) => void; title: string; description?: string; className?: string; wide?: boolean; } export function Dialog({ children, className, wide, open, onOpenChange, title, description, }: Props) { return ( {open && (
onOpenChange(false)} className="fixed inset-0 bg-gray-600/60 dark:bg-black/50" />
onOpenChange(false)} title="Close dialog" aria-label="Close" icon="x" size="sm" className="ml-auto absolute right-1 top-1" />
{title}
{description &&
{description}
}
{children}
)} ); }