vanilla-context-menu
Version:
Easily create context menus using vanilla JavaScript and integrate them in any web application
33 lines (32 loc) • 961 B
TypeScript
export interface CoreOptions {
transformOrigin: [string, string];
}
export interface DefaultOptions {
transitionDuration: number;
theme: 'black' | 'white';
normalizePosition?: boolean;
}
export interface ConfigurableOptions extends Partial<DefaultOptions> {
scope: HTMLElement;
menuItems: MenuItem[];
customClass?: string;
customThemeClass?: string;
preventCloseOnClick?: boolean;
}
export interface Options extends ConfigurableOptions, CoreOptions {
}
export interface BaseMenuOption {
label: string;
callback?: (ev: MouseEvent) => unknown;
/**
* @deprecated This property was replaced by the new iconHTML property
*/
iconClass?: string;
iconHTML?: string;
preventCloseOnClick?: boolean;
}
export interface MenuOption extends BaseMenuOption {
nestedMenu?: NestedMenuItem[];
}
export declare type MenuItem = MenuOption | 'hr';
export declare type NestedMenuItem = BaseMenuOption | 'hr';