UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

58 lines (57 loc) 2.19 kB
/// <reference types="react" /> import * as React from 'react'; import { ICalloutProps } from './Callout.types'; import { DirectionalHint } from '../../common/DirectionalHint'; import { BaseComponent } from '../../Utilities'; import { ICalloutPositionedInfo } from '../../utilities/positioning'; export interface ICalloutState { positions?: ICalloutPositionedInfo; slideDirectionalClassName?: string; calloutElementRect?: ClientRect; heightOffset?: number; } export declare class CalloutContentBase extends BaseComponent<ICalloutProps, ICalloutState> { static defaultProps: { preventDismissOnLostFocus: boolean; preventDismissOnScroll: boolean; isBeakVisible: boolean; beakWidth: number; gapSpace: number; minPagePadding: number; directionalHint: DirectionalHint; }; private _classNames; private _didSetInitialFocus; private _hostElement; private _calloutElement; private _targetWindow; private _bounds; private _positionAttempts; private _target; private _setHeightOffsetTimer; private _hasListeners; private _maxHeight; constructor(props: ICalloutProps); componentDidUpdate(): void; componentWillMount(): void; componentWillUpdate(newProps: ICalloutProps): void; componentDidMount(): void; render(): JSX.Element | null; dismiss: (ev?: Event | React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLElement> | undefined) => void; protected _dismissOnScroll(ev: Event): void; protected _dismissOnLostFocus(ev: Event): void; protected _setInitialFocus: () => void; protected _onComponentDidMount: () => void; private _addListeners(); private _removeListeners(); private _updateAsyncPosition(); private _getBeakPosition(); private _updatePosition(); private _getBounds(); private _getMaxHeight(); private _arePositionsEqual(positions, newPosition); private _comparePositions(oldPositions, newPositions); private _setTargetWindowAndElement(target); private _setHeightOffsetEveryFrame(); private _getTarget(props?); }