UNPKG

@reactodia/workspace

Version:

Reactodia Workspace -- library for visual interaction with graphs in a form of a diagram.

58 lines 1.86 kB
import * as React from 'react'; import { CanvasContext } from '../diagram/canvasApi'; import { Element, Link } from '../diagram/elements'; import { Rect, Size } from '../diagram/geometry'; export interface DialogProps extends DialogStyleProps { target?: DialogTarget; onHide: () => void; centered?: boolean; children: React.ReactNode; } export interface DialogStyleProps { defaultSize?: Size; minSize?: Size; maxSize?: Size; resizableBy?: 'none' | 'x' | 'y' | 'all'; caption: string; closable?: boolean; dock?: 'n' | 'e' | 's' | 'w'; dockMargin?: number; } interface State { width?: number; height?: number; } export declare class Dialog extends React.Component<DialogProps, State> { static contextType: React.Context<CanvasContext | null>; readonly context: CanvasContext; private unsubscribeFromTarget; private readonly handler; private updateAll; private startSize; constructor(props: DialogProps); componentDidMount(): void; componentDidUpdate(prevProps: DialogProps): void; componentWillUnmount(): void; private listenToTarget; private calculatePosition; private getViewPortScrollablePoints; private getDialogScrollableBounds; private focusOn; private onStartDragging; private calculateHeight; private calculateWidth; private onDragHandle; render(): import("react/jsx-runtime").JSX.Element; private getCurrentSize; private onClose; } export interface DialogTarget { readonly subscribe: (onChange: () => void, context: CanvasContext) => () => void; readonly getBounds: (context: CanvasContext) => Rect; } export declare const DialogTarget: { readonly forElement: (element: Element) => DialogTarget; readonly forLink: (link: Link) => DialogTarget; }; export {}; //# sourceMappingURL=dialog.d.ts.map