UNPKG

react-mosaic-component2

Version:
60 lines (57 loc) 2.58 kB
import React__default, { ReactElement } from 'react'; import { ConnectDragSource, ConnectDragPreview, ConnectDropTarget } from 'react-dnd'; import { MosaicContext } from './contextTypes.js'; import { MosaicKey, MosaicBranch, CreateNode } from './types.js'; import 'immutability-helper'; interface MosaicWindowProps<T extends MosaicKey> { title: string; path: MosaicBranch[]; children?: React__default.ReactNode; className?: string; toolbarControls?: React__default.ReactNode; additionalControls?: React__default.ReactNode; additionalControlButtonText?: string; onAdditionalControlsToggle?: (toggle: boolean) => void; disableAdditionalControlsOverlay?: boolean; draggable?: boolean; createNode?: CreateNode<T>; renderPreview?: (props: MosaicWindowProps<T>) => ReactElement; renderToolbar?: ((props: MosaicWindowProps<T>, draggable: boolean | undefined) => ReactElement) | null; onDragStart?: () => void; onDragEnd?: (type: 'drop' | 'reset') => void; } interface InternalDragSourceProps { connectDragSource: ConnectDragSource; connectDragPreview: ConnectDragPreview; } interface InternalDropTargetProps { connectDropTarget: ConnectDropTarget; isOver: boolean; draggedMosaicId: string | undefined; } type InternalMosaicWindowProps<T extends MosaicKey> = MosaicWindowProps<T> & InternalDropTargetProps & InternalDragSourceProps; interface InternalMosaicWindowState { additionalControlsOpen: boolean; } declare class InternalMosaicWindow<T extends MosaicKey> extends React__default.Component<InternalMosaicWindowProps<T>, InternalMosaicWindowState> { static defaultProps: Partial<InternalMosaicWindowProps<any>>; static contextType: React__default.Context<MosaicContext<MosaicKey>>; context: React__default.ContextType<typeof MosaicContext>; state: InternalMosaicWindowState; private rootElement; render(): React__default.JSX.Element; private getToolbarControls; private renderToolbar; private renderDropTarget; private checkCreateNode; private split; private swap; private setAdditionalControlsOpen; private getPath; private connectDragSource; private readonly childContext; } declare class MosaicWindow<T extends MosaicKey = string> extends React__default.PureComponent<MosaicWindowProps<T>> { render(): React__default.JSX.Element; } export { type InternalDragSourceProps, type InternalDropTargetProps, InternalMosaicWindow, type InternalMosaicWindowProps, type InternalMosaicWindowState, MosaicWindow, type MosaicWindowProps };