import type { Ref, ReactElement, ReactNode } from 'react'; import type { PopperProps } from 'react-popper'; import type { VirtualElement } from '@popperjs/core'; import type { BaseProps, ForwardProps } from '../../types'; import type { ConfigurationProps } from '../Configuration'; export type Delay = 'none' | 'short' | 'long'; export interface PopoverProps extends BaseProps { /** The DOM element or [virtual element](https://popper.js.org/docs/v2/virtual-elements) that the Popover is positioned in reference to. */ target: Element | VirtualElement | null; /** * If true, the Popover will be visible. * @default true */ show?: boolean; /** * If true, the Popover will render outside of the current DOM hierarchy in a [portal](https://reactjs.org/docs/portals.html). * @default true */ portal?: boolean | ConfigurationProps['portalTarget']; /** * Delay on showing the Popover. * @default 'none' */ showDelay?: Delay; /** * Delay on hiding the Popover. * @default 'none' */ hideDelay?: Delay; /** * [React Popper Placement](https://popper.js.org/react-popper/v2/render-props/#placement) * @default 'bottom' */ placement?: PopperProps['placement']; /** * [React Popper Strategy](https://popper.js.org/react-popper/v2/render-props/#strategy) * @default 'absolute' */ strategy?: PopperProps['strategy']; /** * [React Popper Modifiers](https://popper.js.org/react-popper/v2/render-props/#modifiers) * @default [] */ modifiers?: PopperProps['modifiers']; /** * If true, an arrow will visually identify from which element the Popover is rendered. * @default false */ arrow?: boolean; /** The group that the Popover belongs to. Popovers in the same group will be closed when others open. */ groupId?: string; /** * If true, the Popover will be visibly hidden when its target leaves the viewport. * @default false */ hideOnTargetHidden?: boolean; /** Callback that runs when the popover is hidden */ onHide?: () => void; /** Callback that runs when the popover is shown */ onShow?: () => void; /** The content of the Popover. */ children: ReactNode; /** The ref of the wrapping element. */ ref?: Ref; } declare const Popover: (props: PopoverProps & ForwardProps) => ReactElement | null; export default Popover; //# sourceMappingURL=Popover.d.ts.map