UNPKG

@grafana/ui

Version:
25 lines (24 loc) 1.09 kB
import { type JSX } from 'react'; import * as React from 'react'; /** * Anything we can resolve into a viewport `{ x, y }` position for the context menu: * - A React or native pointer event → use `pageX`/`pageY` (legacy, click-driven path) * - A DOM/SVG element → use the element's bounding-rect center * (keyboard-driven path: trigger.focus()+Enter) * - An explicit `{ x, y }` literal → use it directly */ export type OpenMenuTrigger = React.MouseEvent | Element | { x: number; y: number; }; export interface WithContextMenuProps { /** Menu item trigger that accepts openMenu prop */ children: (props: { openMenu: (trigger: OpenMenuTrigger) => void; }) => JSX.Element; /** A function that returns an array of menu items */ renderMenuItems: () => React.ReactNode; /** On menu open focus the first element */ focusOnOpen?: boolean; } export declare const WithContextMenu: ({ children, renderMenuItems, focusOnOpen }: WithContextMenuProps) => import("react/jsx-runtime").JSX.Element;