"use client"; import { ChevronsDownUp, Download, Minimize2, ZoomIn, ZoomOut, } from "lucide-react"; import { Button } from "@/components/shadcn"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/shadcn/tooltip"; // Collapse-all is all-or-nothing: the enabled flag and its handler always // travel together, so a button can never be enabled without something to do. interface GraphCollapseAll { can: boolean; onCollapse: () => void; } interface GraphControlsProps { onZoomIn: () => void; onZoomOut: () => void; onFitToScreen: () => void; onExport?: () => void; // Collapse every expanded resource-class group. Omitted where unsupported; // the button hides itself while nothing is expanded. collapseAll?: GraphCollapseAll; } /** * Controls for graph visualization (zoom, pan, export) * Positioned as floating toolbar above graph */ export const GraphControls = ({ onZoomIn, onZoomOut, onFitToScreen, onExport, collapseAll, }: GraphControlsProps) => { return (