UNPKG

@reactodia/workspace

Version:

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

100 lines 3.86 kB
import * as React from 'react'; import type { ColorSchemeApi } from '../coreUtils/colorScheme'; import { Events } from '../coreUtils/events'; import { CanvasApi, CanvasEvents, CanvasMetrics, CenterToOptions, ScaleOptions, ViewportOptions, CanvasPointerMode, ZoomOptions, ExportSvgOptions, ExportRasterOptions } from './canvasApi'; import { Vector, Rect } from './geometry'; import { DiagramModel } from './model'; import { PaperTransform } from './paper'; import { MutableRenderingState } from './renderingState'; export interface PaperAreaProps { model: DiagramModel; renderingState: MutableRenderingState; colorSchemeApi: ColorSchemeApi; zoomOptions?: ZoomOptions; hideScrollBars?: boolean; watermarkSvg?: string; watermarkUrl?: string; children?: React.ReactNode; } interface State { readonly transform: PaperTransform; readonly cssAnimations: number; readonly cssAnimationDuration: number | undefined; } export declare class PaperArea extends React.Component<PaperAreaProps, State> implements CanvasApi { private readonly listener; private readonly source; readonly events: Events<CanvasEvents>; private area; private readonly rootRef; private readonly linkLayerRef; private readonly labelLayerRef; private readonly elementLayerRef; private readonly placeLayerContext; private readonly pageSize; private readonly canvasContext; private viewportAnimation; private movingState; private scrollBeforeUpdate; private _pointerMode; private readonly _zoomOptions; private resizeObserver; readonly metrics: CanvasMetrics; constructor(props: PaperAreaProps); get renderingState(): MutableRenderingState; get pointerMode(): CanvasPointerMode; setPointerMode(value: CanvasPointerMode): void; get zoomOptions(): Required<ZoomOptions>; render(): import("react/jsx-runtime").JSX.Element; private onAreaMount; componentDidMount(): void; componentDidUpdate(prevProps: PaperAreaProps, prevState: State): void; componentWillUnmount(): void; private getContentFittingBox; private computeAdjustedBox; private adjustPaper; private onAreaPointerDown; private onPaperPointerDown; private handleMultiPointerDown; private shouldStartPanning; private shouldStartElementMove; private onPointerMove; private handleMultiPointerMove; private generateLinkVertex; private onPointerUp; private onPointerCancel; private onPaperScrollCapture; private stopListeningToPointerMove; private onWheel; private shouldStartZooming; private onResize; focus(): void; centerTo(paperPosition?: Vector, options?: CenterToOptions): Promise<void>; centerContent(options?: ViewportOptions): Promise<void>; private centerToPosition; getScale(): number; setScale(value: number, options?: ScaleOptions): Promise<void>; zoomBy(value: number, options?: ScaleOptions): Promise<void>; zoomIn(scaleOptions?: ScaleOptions): Promise<void>; zoomOut(scaleOptions?: ScaleOptions): Promise<void>; zoomToFit(options?: ViewportOptions): Promise<void>; zoomToFitRect(paperRect: Rect, options?: ViewportOptions): Promise<void>; private onDragOver; private onDragDrop; private onScroll; private onContextMenu; private onKeyDown; private onKeyUp; private isEventFromCellLayer; private makeToSVGOptions; exportSvg(options?: ExportSvgOptions): Promise<string>; exportRaster(options?: ExportRasterOptions): Promise<string>; isAnimatingGraph(): boolean; animateGraph(setupChanges: () => void, duration?: number): Promise<void>; private changeGraphAnimationCount; private get viewportState(); private setViewportState; private applyViewportState; } export {}; //# sourceMappingURL=paperArea.d.ts.map