export interface MenuItemEntry {
el: HTMLElement;
disabled: boolean;
onSelect?: () => void;
}
export interface MenuContext {
open: () => boolean;
setOpen: (v: boolean) => void;
disabled: () => boolean;
highlighted: () => HTMLElement | null;
setHighlighted: (el: HTMLElement | null) => void;
lastActivatedEl: () => HTMLElement | null;
lastActivatedIndex: () => number;
triggerEl: {
current: HTMLElement | null;
};
setTriggerEl: (el: HTMLElement | null) => void;
contentEl: {
current: HTMLElement | null;
};
setContentEl: (el: HTMLElement | null) => void;
registerItem: (entry: MenuItemEntry) => () => void;
items: () => MenuItemEntry[];
activate: (entry: MenuItemEntry) => void;
contentId: string;
triggerId: string;
}
export declare function getMenuContext(): MenuContext;
export declare function setMenuContext(ctx: MenuContext): void;
interface Props {
children?: import('svelte').Snippet;
open?: boolean;
disabled?: boolean;
onOpenChange?: (open: boolean) => void;
}
declare const Menu: import("svelte").Component;
type Menu = ReturnType;
export default Menu;