import { useState, type ReactNode } from "react"; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; export interface DeleteDropdownSettingDialogProps { settingLabel: string; settingCode: string; onConfirm?: () => void; children?: ReactNode; open?: boolean; onOpenChange?: (open: boolean) => void; } export default function DeleteDropdownSettingDialog({ settingLabel, settingCode, onConfirm, children, open: openProp, onOpenChange, }: DeleteDropdownSettingDialogProps) { const isControlled = openProp !== undefined; const [internalOpen, setInternalOpen] = useState(false); const open = isControlled ? openProp : internalOpen; const setOpen = (next: boolean) => { if (!isControlled) setInternalOpen(next); onOpenChange?.(next); }; return ( {children ? {children} : null} Delete dropdown setting? This will remove{" "} {settingLabel}{" "} ({settingCode}) and all of its options. Forms referencing this code will fall back to empty options. ); }