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.

38 lines 1.87 kB
import * as React from 'react'; import type { InteractionType } from '@base-ui-components/utils/useEnhancedClickHandler'; import type { FloatingRootContext } from "../../floating-ui-react/index.js"; import type { TransitionStatus } from "../../utils/useTransitionStatus.js"; import type { HTMLProps } from "../../utils/types.js"; import type { PopoverRoot } from "./PopoverRoot.js"; export interface PopoverRootContext { open: boolean; openOnHover: boolean; setOpen: (open: boolean, eventDetails: PopoverRoot.ChangeEventDetails) => void; triggerElement: Element | null; setTriggerElement: (el: Element | null) => void; positionerElement: HTMLElement | null; setPositionerElement: (el: HTMLElement | null) => void; popupRef: React.RefObject<HTMLElement | null>; backdropRef: React.RefObject<HTMLDivElement | null>; internalBackdropRef: React.RefObject<HTMLDivElement | null>; delay: number; closeDelay: number; instantType: 'dismiss' | 'click' | undefined; mounted: boolean; setMounted: React.Dispatch<React.SetStateAction<boolean>>; transitionStatus: TransitionStatus; titleId: string | undefined; setTitleId: React.Dispatch<React.SetStateAction<string | undefined>>; descriptionId: string | undefined; setDescriptionId: React.Dispatch<React.SetStateAction<string | undefined>>; floatingRootContext: FloatingRootContext; triggerProps: HTMLProps; popupProps: HTMLProps; openMethod: InteractionType | null; openReason: PopoverRoot.ChangeEventReason | null; onOpenChangeComplete: ((open: boolean) => void) | undefined; modal: boolean | 'trap-focus'; } export declare const PopoverRootContext: React.Context<PopoverRootContext | undefined>; export declare function usePopoverRootContext(optional?: false): PopoverRootContext; export declare function usePopoverRootContext(optional: true): PopoverRootContext | undefined;