/** * IMPORTANT * 1. infoModal Component renders as a different mini-app withine * sibling node of body invoke using callback * 2. Block mulitple calling of infomodal callback in your component using a state variable * so that it wont open multi instance of info modal **/ import React, { ReactNode } from 'react'; import './InfoModal.css'; export type portalProps = { sourceElem: React.ReactNode; AdjustLeftOffset?: Number; AdjustTopOffset?: Number; destinationElem?: React.ReactNode; }; export type ModalProps = { onClose?: (data?: any) => void; wrapperStyle?: Object; targetNodeOrId: ReactNode | string; closeOnOverlayClick?: boolean; closeOnMousedownClick?: boolean; portal?: portalProps; className?: string; ignoreContainers?: Array; closeOnEscape?: boolean; }; export type InfoModalProps = { component: React.ReactNode; modalProps?: ModalProps; alignment?: string; }; export type ModalMain = { closeModal: (data?: any) => void; component: any; wrapperStyle: Object; updatedProps: any; className?: string; alignment?: string; portal?: portalProps; destElem?: any; sourceStyle?: any; closeOnOverlayClick?: boolean; closeOnMousedownClick?: boolean; ignoreContainers?: Array; closeOnEscape?: boolean; }; declare const infoModal: ({ component, modalProps, alignment }: InfoModalProps) => { div: HTMLDivElement; closeModal: (data: any) => void; update: (updatedProps: any) => void; }; export declare const Modal: ({ component: Component, ...rest }: ModalMain) => React.JSX.Element; export default infoModal;