@intuitionrobotics/thunderstorm
Version:
41 lines • 1.58 kB
TypeScript
import { Module } from "@intuitionrobotics/ts-common";
import { type MenuPosition } from "./PopupMenu.js";
import { type _GenericRenderer, Adapter } from "../../components/adapter/Adapter.js";
import { type BaseRendererMap } from "../../components/adapter/BaseRenderer.js";
import { type CSSProperties } from "react";
export declare const resolveRealPosition: (button: HTMLImageElement) => MenuPosition;
export type _Menu<Rm extends BaseRendererMap<any>> = _GenericRenderer<Rm>;
export type Menu_Model = {
id: string;
adapter: Adapter;
pos: MenuPosition;
onNodeClicked?: (path: string, item: any) => void;
onNodeDoubleClicked?: (...args: any[]) => any;
css?: CSSProperties;
};
export interface MenuListener {
__onMenuDisplay: (menu: Menu_Model) => void;
__onMenuHide: (id: string) => void;
}
export declare class MenuModule_Class extends Module<{}> {
constructor();
private showMenu;
private hideMenu;
show: (model: Menu_Model) => void;
hide: (id: string) => void[];
}
export declare const MenuModule: MenuModule_Class;
export declare class MenuBuilder {
private readonly adapter;
private readonly position;
private readonly cssContainer?;
private id;
private onNodeClicked?;
private onNodeDoubleClicked?;
constructor(menu: Adapter, position: MenuPosition, cssContainer?: CSSProperties);
show(): void;
setId(id: string): this;
setOnClick(func: (path: string, item: any) => void): this;
setOnDoubleClick(func: (...args: any[]) => any): this;
}
//# sourceMappingURL=MenuModule.d.ts.map