solid-contextmenu
Version:
Add contextmenu to your solid app with ease
38 lines (37 loc) • 978 B
TypeScript
import { Accessor } from "solid-js";
import { LocalMenuProps } from ".";
export declare type MenuId = string | number;
export interface Pos {
x: number;
y: number;
}
export interface Size {
width: number;
height: number;
}
export declare type TriggerEvent = MouseEvent;
export declare type ShowContextMenuParams = {
id: MenuId;
event: TriggerEvent;
props?: any;
position?: Pos;
};
export declare type MenuContextType = Omit<LocalMenuProps, "children"> & {
shown: Accessor<boolean>;
props: Accessor<any>;
hide: () => void;
};
export interface ItemParams<Props = any, Data = any> {
/**
* Any props supplied when triggering the menu
*/
props?: Props;
/**
* Data object provided to item
*/
data?: Data;
}
export declare type HandlerParams<Props = any, Data = any> = ItemParams<Props, Data> & {
event: MouseEvent;
};
export declare type BooleanPredicate = boolean | ((args: ItemParams) => boolean);