import { Component } from 'react'; import type { PositionProps } from '@instructure/ui-position'; import type { DialogProps } from '@instructure/ui-dialog'; import type { PopoverProps, PopoverState } from './props'; /** --- category: components tags: overlay, portal, dialog --- **/ declare class Popover extends Component { static readonly componentId = "Popover"; static allowedProps: readonly (keyof import("./props").PopoverOwnProps)[]; static defaultProps: { defaultIsShowingContent: boolean; placement: string; stacking: string; shadow: string; offsetX: number; offsetY: number; color: string; on: string[]; withArrow: boolean; constrain: string; insertAt: string; shouldAlignArrow: boolean; shouldTrackPosition: boolean; shouldRenderOffscreen: boolean; shouldContainFocus: boolean; shouldReturnFocus: boolean; shouldCloseOnDocumentClick: boolean; shouldFocusContentOnTriggerBlur: boolean; shouldCloseOnEscape: boolean; shouldSetAriaExpanded: boolean; }; constructor(props: PopoverProps); private _handleMouseOver; private _handleMouseOut; private _id; private _raf; private _trigger; private _view; private _dialog; _contentElement: Element | null; private _focusRegion?; private _renderTrigger?; private _renderTriggerProp?; private mouseOutTimeout?; ref: Element | null; handleRef: (el: Element | null) => void; get isTooltip(): boolean | undefined; componentDidMount(): void; componentWillUnmount(): void; shouldComponentUpdate(nextProps: PopoverProps, nextState: PopoverState): boolean; componentDidUpdate(prevProps: PopoverProps, prevState: PopoverState): void; /** * Offsets the popover by the arrow size */ computeOffsets(placement: PopoverProps['placement']): { offsetX: string | number | undefined; offsetY: string | number | undefined; }; get placement(): PopoverProps['placement']; get positionProps(): Partial; get shown(): boolean | undefined; get defaultFocusElement(): import("@instructure/shared-types").UIElement | undefined; show: (event: React.UIEvent | React.FocusEvent) => void; hide: (event: React.UIEvent | React.FocusEvent, documentClick?: boolean) => void; toggle: (event: React.MouseEvent) => void; handleDialogDismiss: DialogProps['onDismiss']; handleDialogBlur: (event: React.UIEvent | React.FocusEvent) => void; handleTriggerKeyDown: (event: React.KeyboardEvent) => void; handleTriggerKeyUp: (event: React.KeyboardEvent) => void; handleTriggerBlur: (event: React.FocusEvent) => void; handlePositioned: PositionProps['onPositioned']; handlePositionChanged: PositionProps['onPositionChanged']; renderTrigger(): import("react").ReactElement> | undefined; renderContent(): import("@emotion/react/jsx-runtime").JSX.Element | null; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export default Popover; export { Popover }; //# sourceMappingURL=index.d.ts.map