UNPKG

dockview

Version:

Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support

36 lines (35 loc) 1.41 kB
import * as React from 'react'; import { IDisposable } from '../lifecycle'; import { IFrameworkPart } from '../panel/types'; export interface ReactPortalStore { addPortal: (portal: React.ReactPortal) => IDisposable; } export declare const ReactPartContext: React.Context<{}>; export declare class ReactPart<P extends object, C extends object = {}> implements IFrameworkPart { private readonly parent; private readonly portalStore; private readonly component; private readonly parameters; private readonly context?; private componentInstance?; private ref?; private disposed; constructor(parent: HTMLElement, portalStore: ReactPortalStore, component: React.FunctionComponent<P>, parameters: P, context?: C | undefined); update(props: { [index: string]: any; }): void; private createPortal; dispose(): void; } declare type PortalLifecycleHook = () => [ React.ReactPortal[], (portal: React.ReactPortal) => IDisposable ]; /** * A React Hook that returns an array of portals to be rendered by the user of this hook * and a disposable function to add a portal. Calling dispose removes this portal from the * portal array */ export declare const usePortalsLifecycle: PortalLifecycleHook; export declare function isReactElement(element: any | React.ReactElement): element is React.ReactElement; export {};