import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from "react";
import { cn } from "../../app/renderer/lib/utils";
export type CanvasNodeGhostIconButtonProps = Omit<
ButtonHTMLAttributes,
"type"
> & {
children: ReactNode;
/**
* When true (default), pointer/click stopPropagation — keeps React Flow from stealing node chrome
* interactions. Set false for Radix `DropdownMenuTrigger asChild` and other portaled triggers.
*/
stopsEventPropagation?: boolean;
};
/**
* Ghost icon control for canvas node chrome.
*/
export const CanvasNodeGhostIconButton = forwardRef<
HTMLButtonElement,
CanvasNodeGhostIconButtonProps
>(function CanvasNodeGhostIconButton(
{
className,
children,
onPointerDown,
onMouseDown,
onClick,
stopsEventPropagation = true,
...rest
},
ref
) {
"use memo";
return (
);
});