import type { JSX } from "@solidjs/web"; import { type MaybeAccessor } from "../../internals/maybe-accessor.js"; import type { MenuRootChangeEventDetails, MenuRootChangeEventReason } from "../../menu/root/menu-root-context.js"; export type ContextMenuRootChangeEventReason = MenuRootChangeEventReason; export type ContextMenuRootChangeEventDetails = MenuRootChangeEventDetails; export type ContextMenuRootState = Record; export interface ContextMenuRootProps { /** * Controlled open state. When provided (resolved value not * `undefined`), the consumer owns the state — pair with * {@link onOpenChange}. When omitted, the context menu manages its own * open state (seeded from {@link defaultOpen}) and the right-click / * long-press gesture opens it with zero wiring. */ open?: MaybeAccessor; /** * Initial open state when uncontrolled. Read once at mount. * @default false */ defaultOpen?: MaybeAccessor; /** Whether arrow keys loop at the ends. @default true */ loopFocus?: boolean | undefined; /** Highlight items on hover. @default true */ highlightItemOnHover?: boolean | undefined; /** Called when the menu opens or closes. */ onOpenChange?: ((open: boolean, eventDetails: ContextMenuRootChangeEventDetails) => void) | undefined; /** Called after any animations complete when the menu is closed. */ onOpenChangeComplete?: ((open: boolean) => void) | undefined; /** Whether the menu ignores user interaction. @default false */ disabled?: MaybeAccessor; /** Visual/keyboard orientation. @default "vertical" */ orientation?: "horizontal" | "vertical" | undefined; /** * Children. May be a regular node or a render function that receives the * active trigger's payload. */ children?: JSX.Element; } /** * Creates a context menu activated by right-click or long-press. * Doesn't render its own HTML element — pure context provider chained * around ``. */ export declare function ContextMenuRoot(props: ContextMenuRootProps): JSX.Element; //# sourceMappingURL=context-menu-root.d.ts.map