react-bootstrap-typeahead
Version:
React typeahead with Bootstrap styling
44 lines (43 loc) • 1.62 kB
TypeScript
import type { Placement } from '@popperjs/core';
import PropTypes from 'prop-types';
import { CSSProperties, ReactElement, RefCallback } from 'react';
declare const alignValues: readonly ["justify", "left", "right"];
export declare type Align = typeof alignValues[number];
export interface OverlayRenderProps {
innerRef: RefCallback<HTMLElement>;
style: CSSProperties;
}
export interface OverlayProps {
align: Align;
children: (props: OverlayRenderProps) => ReactElement | null;
dropup: boolean;
flip: boolean;
isMenuShown: boolean;
positionFixed: boolean;
referenceElement: HTMLElement | null;
}
export declare function getModifiers(props: Pick<OverlayProps, 'align' | 'flip'>): {
enabled: boolean;
name: string;
}[];
export declare function getPlacement(props: Pick<OverlayProps, 'align' | 'dropup'>): Placement;
declare const Overlay: {
({ referenceElement, ...props }: OverlayProps): ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
propTypes: {
align: PropTypes.Requireable<"justify" | "left" | "right">;
children: PropTypes.Validator<(...args: any[]) => any>;
dropup: PropTypes.Requireable<boolean>;
flip: PropTypes.Requireable<boolean>;
isMenuShown: PropTypes.Requireable<boolean>;
positionFixed: PropTypes.Requireable<boolean>;
referenceElement: PropTypes.Requireable<Element>;
};
defaultProps: {
align: string;
dropup: boolean;
flip: boolean;
isMenuShown: boolean;
positionFixed: boolean;
};
};
export default Overlay;