import React from 'react'; import { PopperProps } from 'react-popper'; export interface IDropdownWrapper { /** Mandatory children */ children: React.ReactNode; /** Popper props for placement derived from [here](https://popper.js.org/docs/v2/constructors/#placement) */ placement?: PopperProps['placement']; /** Popper offset https://popper.js.org/docs/v2/modifiers/offset/. Input should be [0, 0] */ offset?: any; /** Popper props for placement derived from [here](https://popper.js.org/docs/v2/constructors/#placement) */ onClose: (e?: Event) => void; /** Control for if it is open */ isOpen: boolean; /** Default offset is 4px. custom offset can override this */ hasOffset?: boolean; /** Passed inline styles. This is mandatory for width and maybe height */ style?: object; /** Mandatory passed reference to the element we will pop over. I'm really not sure what the proper typescript is for this. */ refElement?: any; /** Instead of passing element, we pass reference element id */ refId?: string; /** In case there are any overflow hidden, we can use it. But default is false. */ usePortal?: boolean; /** We can initiate focus trap manually. */ useFocusTrap?: boolean; /** disable the feature of closing dropdown when clicking document */ isDocumentClickCloseDisabled?: boolean; portalDom?: () => HTMLElement; onMouseWheel?: (e: Event) => void; /**If the dropdown is "position:fixed" */ isPositionFixed?: boolean; /** padding to viewport */ verticalViewportPadding?: number; /** the distance between the real flip boundary and the container boundary */ flipPadding?: number | { top?: number; left?: number; bottom?: number; right?: number; }; /** when resizing the window or scroll content, the max-height of dropdown will become small to avoid touch the boundary. * But sometime we still want to keep the minimum height here. */ minimumMaxHeight?: number; /** We should have a set of boundaries to make sure the max height of dropdown. * Generally, this property can be detect automaticlly, and you don't need to set it. * But if you find that the maxHeight is abnormal, it means you should set this property manually. * if you set the `[]`, it means you set the `viewport` as the boundary. */ clipBoundary?: Node | string[]; /** * In general, clicking document will close current dropdown. * But in some scenario, we do not want to close dropdown when clicking some SPECIFIC elements included in the `excludedDocumentCloseElements` props. */ excludedDocumentCloseElements?: (HTMLElement | string)[]; } /** * Popup wrapper element. We can either pass the referred element directly, or pass in a refId. * The refId will allow us to wrap elements such as javascript elements that don't have react. */ export declare const DropdownWrapper: React.FC;