@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
TypeScript
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 };