@retailmenot/anchor
Version:
A React UI Library by RetailMeNot
50 lines (49 loc) • 1.5 kB
TypeScript
import * as React from 'react';
import { SpaceProps } from '@xstyled/system';
import { Position } from '../utils/position/position';
export declare type Trigger = 'hover' | 'click' | 'both';
interface DropDownProps extends React.HTMLAttributes<HTMLDivElement>, SpaceProps {
overlay?: React.ReactElement<any> | React.ReactElement<any>[];
trigger?: Trigger;
className?: string;
children?: any;
arrowIndent?: string;
arrowSize?: string;
background?: string;
border?: string;
borderRadius?: string;
debug?: boolean;
onTriggered?: (state: boolean, trigger?: string) => void;
position?: Position;
ref?: any;
shadow?: string;
showArrow?: boolean;
spacing?: string;
open?: boolean;
onOutsideClick?: (event?: any) => any;
onEscapeKey?: (event?: any) => any;
}
interface DropDownState {
hovered: boolean;
clicked: boolean;
height?: number;
width?: number;
containerHeight?: number;
containerWidth?: number;
}
export declare class DropDown extends React.Component<DropDownProps> {
state: DropDownState;
private readonly dropDownReference;
private readonly containerReference;
private rootElement;
private hoveredSub;
private clickedSub;
private escapeSub;
private outsideClickSub;
isOpen(): boolean;
componentDidMount(): void;
componentWillUnmount(): void;
componentDidUpdate(prevProps: DropDownProps): void;
render(): React.ReactElement<DropDown>;
}
export {};