import { LitElement, TemplateResult } from 'lit';
export interface ContextMenuItem {
id: string;
label?: string;
icon?: string;
shortcut?: string;
disabled?: boolean;
danger?: boolean;
divider?: boolean;
children?: ContextMenuItem[];
}
/**
* Context Menu — attaches to any element via the `for` attribute or
* by nesting inside a container with `trigger="contextmenu"`.
*
* @fires menu-select - Fired when a menu item is selected. detail: { id, item }
*
* @example
*
Right-click me
*
*/
export declare class UIContextMenu extends LitElement {
static styles: import("lit").CSSResult;
/** Menu items */
items: ContextMenuItem[];
/** ID of the element to listen for contextmenu on */
for: string;
private _open;
private _x;
private _y;
private _activeSubmenu;
private _target;
connectedCallback(): void;
disconnectedCallback(): void;
updated(changed: Map): void;
private _attachTarget;
private _handleContextmenu;
private _show;
private _close;
private _handleKeydown;
private _select;
private _renderItems;
render(): TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'ui-context-menu': UIContextMenu;
}
}
//# sourceMappingURL=context-menu.d.ts.map