UNPKG

@base-ui/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.

47 lines 2.74 kB
import * as React from 'react'; import type { FloatingRootContext } from "../../floating-ui-react/index.js"; import type { TransitionStatus } from "../../internals/useTransitionStatus.js"; import type { NavigationMenuRoot } from "./NavigationMenuRoot.js"; export type NavigationMenuPopupAutoSizeResetState = { abortController: AbortController | null; owner: any; }; export interface NavigationMenuRootContext<Value = any> { open: boolean; value: NavigationMenuRoot.Value<Value>; setValue: (value: NavigationMenuRoot.Value<Value>, eventDetails: NavigationMenuRoot.ChangeEventDetails) => void; transitionStatus: TransitionStatus; mounted: boolean; popupElement: HTMLElement | null; setPopupElement: React.Dispatch<React.SetStateAction<HTMLElement | null>>; positionerElement: HTMLElement | null; setPositionerElement: React.Dispatch<React.SetStateAction<HTMLElement | null>>; viewportElement: HTMLElement | null; setViewportElement: React.Dispatch<React.SetStateAction<HTMLElement | null>>; viewportTargetElement: HTMLElement | null; setViewportTargetElement: React.Dispatch<React.SetStateAction<HTMLElement | null>>; activationDirection: 'left' | 'right' | 'up' | 'down' | null; setActivationDirection: React.Dispatch<React.SetStateAction<'left' | 'right' | 'up' | 'down' | null>>; floatingRootContext: FloatingRootContext | undefined; setFloatingRootContext: React.Dispatch<React.SetStateAction<FloatingRootContext | undefined>>; currentContentRef: React.RefObject<HTMLDivElement | null>; nested: boolean; rootRef: React.RefObject<HTMLDivElement | null>; beforeInsideRef: React.RefObject<HTMLSpanElement | null>; afterInsideRef: React.RefObject<HTMLSpanElement | null>; beforeOutsideRef: React.RefObject<HTMLSpanElement | null>; afterOutsideRef: React.RefObject<HTMLSpanElement | null>; prevTriggerElementRef: React.RefObject<Element | null | undefined>; popupAutoSizeResetRef: React.MutableRefObject<NavigationMenuPopupAutoSizeResetState>; delay: number; closeDelay: number; orientation: 'horizontal' | 'vertical'; viewportInert: boolean; setViewportInert: React.Dispatch<React.SetStateAction<boolean>>; } export declare const NavigationMenuRootContext: React.Context<NavigationMenuRootContext<any> | undefined>; declare function useNavigationMenuRootContext<Value = any>(optional?: false): NavigationMenuRootContext<Value>; declare function useNavigationMenuRootContext<Value = any>(optional: true): NavigationMenuRootContext<Value> | undefined; export declare const NavigationMenuTreeContext: React.Context<string | undefined>; declare function useNavigationMenuTreeContext(): string | undefined; export { useNavigationMenuRootContext, useNavigationMenuTreeContext };