@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.
42 lines • 2.42 kB
TypeScript
import * as React from 'react';
import type { FloatingRootContext } from "../../floating-ui-react/index.js";
import type { TransitionStatus } from "../../utils/useTransitionStatus.js";
import type { NavigationMenuRoot } from "./NavigationMenuRoot.js";
export interface NavigationMenuRootContext {
open: boolean;
value: any;
setValue: (value: any, 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>;
delay: number;
closeDelay: number;
orientation: 'horizontal' | 'vertical';
viewportInert: boolean;
setViewportInert: React.Dispatch<React.SetStateAction<boolean>>;
}
export declare const NavigationMenuRootContext: React.Context<NavigationMenuRootContext | undefined>;
declare function useNavigationMenuRootContext(optional?: false): NavigationMenuRootContext;
declare function useNavigationMenuRootContext(optional: true): NavigationMenuRootContext | undefined;
export declare const NavigationMenuTreeContext: React.Context<string | undefined>;
declare function useNavigationMenuTreeContext(): string | undefined;
export { useNavigationMenuRootContext, useNavigationMenuTreeContext };