UNPKG

@base-ui-components/react

Version:

Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.

39 lines 1.89 kB
import * as React from 'react'; import type { FloatingRootContext } from "../../floating-ui-react/index.js"; import type { MenuParent, MenuRoot } from "./MenuRoot.js"; import { HTMLProps } from "../../utils/types.js"; import { TransitionStatus } from "../../utils/useTransitionStatus.js"; export interface MenuRootContext { disabled: boolean; typingRef: React.RefObject<boolean>; modal: boolean; activeIndex: number | null; floatingRootContext: FloatingRootContext; itemProps: HTMLProps; popupProps: HTMLProps; triggerProps: HTMLProps; itemDomElements: React.MutableRefObject<(HTMLElement | null)[]>; itemLabels: React.MutableRefObject<(string | null)[]>; mounted: boolean; open: boolean; popupRef: React.RefObject<HTMLElement | null>; setOpen: (open: boolean, event: Event | undefined, reason: MenuRoot.OpenChangeReason | undefined) => void; positionerRef: React.RefObject<HTMLElement | null>; setPositionerElement: (element: HTMLElement | null) => void; triggerElement: HTMLElement | null; setTriggerElement: (element: HTMLElement | null) => void; transitionStatus: TransitionStatus; allowMouseUpTriggerRef: React.RefObject<boolean>; lastOpenChangeReason: MenuRoot.OpenChangeReason | null; instantType: 'dismiss' | 'click' | 'group' | undefined; onOpenChangeComplete: ((open: boolean) => void) | undefined; setHoverEnabled: React.Dispatch<React.SetStateAction<boolean>>; setActiveIndex: React.Dispatch<React.SetStateAction<number | null>>; parent: MenuParent; rootId: string | undefined; allowMouseEnter: boolean; setAllowMouseEnter: React.Dispatch<React.SetStateAction<boolean>>; } export declare const MenuRootContext: React.Context<MenuRootContext | undefined>; export declare function useMenuRootContext(optional?: false): MenuRootContext; export declare function useMenuRootContext(optional: true): MenuRootContext | undefined;