birch-context-menu
Version:
Custom context menu for react
36 lines (35 loc) • 1 kB
TypeScript
export interface IMenuItem {
label: string;
disabled: boolean;
}
export interface ITextMenuItem extends IMenuItem {
sublabel?: string;
onClick: () => void;
}
export interface ISubMenuItem extends IMenuItem {
submenu: IContextMenuData;
}
export declare type IMenuItemGroup = Array<ITextMenuItem | ISubMenuItem>;
export declare type IContextMenuData = IMenuItemGroup[];
export interface IContextMenuProps {
}
export interface IContextMenuReactContext {
showContextMenu: (data: (ITextMenuItem | ISubMenuItem)[][] | Promise<(ITextMenuItem | ISubMenuItem)[][]>, pos?: IPosition) => {
onShow: (cb: any) => void;
onClose: (cb: any) => void;
update: (newData: (ITextMenuItem | ISubMenuItem)[][]) => void;
close: () => void;
isActive: () => boolean;
};
hideContextMenu: () => void;
pos: {
x: number;
y: number;
};
visible: boolean;
data: any[];
}
export interface IPosition {
x: number;
y: number;
}