export type ContextMenuTheme = "light" | "dark"; export type ContextMenuTrigger = "contextmenu" | "click"; export type ContextMenuVariant = "default" | "danger" | "success" | "info"; export interface ContextMenuActionContext { originalEvent: Event; target?: HTMLElement | null; metadata?: Record; close: () => void; } export interface ContextMenuEventContext { originalEvent: MouseEvent; target?: HTMLElement | null; } export interface ContextMenuItemBase { id?: string; label: string; icon?: string; shortcut?: string; description?: string; disabled?: boolean; metadata?: Record; variant?: ContextMenuVariant; } export interface ContextMenuActionItem extends ContextMenuItemBase { type?: "action"; onSelect?: (context: ContextMenuActionContext) => void; } export interface ContextMenuDividerItem { type: "divider"; id?: string; label?: string; } export interface ContextMenuSectionItem { type: "section"; id?: string; label?: string; description?: string; items: ContextMenuItem[]; } export type ContextMenuItem = ContextMenuActionItem | ContextMenuDividerItem | ContextMenuSectionItem; export type ContextMenuItemSource = ContextMenuItem[] | ((context: ContextMenuEventContext) => ContextMenuItem[]); export interface ContextMenuOptions { selector: string; items: ContextMenuItemSource; theme?: ContextMenuTheme; trigger?: ContextMenuTrigger; closeOnSelect?: boolean; preventDefault?: boolean; offset?: number; restoreFocus?: boolean; ariaLabel?: string; triggerSelector?: string; onOpen?: (context: ContextMenuEventContext) => void; onClose?: () => void; hydrate?: boolean; } //# sourceMappingURL=ContextMenu.types.d.ts.map