react-teleportal
Version:
Alternative React portal implementation, giving you control over portal rendering.
22 lines (19 loc) • 833 B
TypeScript
import React from 'react';
interface PortalRegistry {
readonly add: (id: string, node: React.ReactElement) => void;
readonly remove: (id: string) => void;
readonly children: Map<string, React.ReactElement>;
}
interface PortalProviderProps {
readonly children?: React.ReactNode;
}
declare const PortalProvider: ({ children }: PortalProviderProps) => JSX.Element;
interface PortalOutletProps {
readonly children?: (children: React.ReactElement[]) => React.ReactNode | undefined;
}
declare const PortalOutlet: ({ children: render }: PortalOutletProps) => JSX.Element;
interface PortalProps {
readonly children: React.ReactElement;
}
declare const Portal: ({ children }: PortalProps) => null;
export { Portal, PortalOutlet, PortalOutletProps, PortalProps, PortalProvider, PortalProviderProps, PortalRegistry };