import { useState } from "react"; import { PencilIcon, TrashIcon } from "@heroicons/react/20/solid"; import { cn } from "~/utils/cn"; import { Button } from "../primitives/Buttons"; import { Popover, PopoverContent, PopoverMenuItem, PopoverVerticalEllipseTrigger, } from "../primitives/Popover"; import { Dialog, DialogContent, DialogFooter, DialogHeader } from "../primitives/Dialog"; import { DialogClose } from "@radix-ui/react-dialog"; import { Input } from "../primitives/Input"; import { InputGroup } from "../primitives/InputGroup"; import { Label } from "../primitives/Label"; export type TitleWidgetProps = { title: string; isDraggable?: boolean; isResizing?: boolean; /** Callback when rename is clicked. Receives the new title. */ onRename?: (newTitle: string) => void; /** Callback when delete is clicked. */ onDelete?: () => void; }; export function TitleWidget({ title, isDraggable, isResizing, onRename, onDelete, }: TitleWidgetProps) { const [isMenuOpen, setIsMenuOpen] = useState(false); const [isRenameDialogOpen, setIsRenameDialogOpen] = useState(false); const [renameValue, setRenameValue] = useState(title); const hasMenu = onRename || onDelete; return (