UNPKG

@reactodia/workspace

Version:

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

42 lines 1.87 kB
import * as React from 'react'; import { Cell } from './elements'; import { Vector } from './geometry'; import { DiagramModel } from './model'; export interface PaperProps { model: DiagramModel; paperTransform: PaperTransform; onPointerDown?: (e: React.PointerEvent<HTMLElement>, cell: Cell | undefined) => void; onContextMenu?: (e: React.MouseEvent<HTMLElement>, cell: Cell | undefined) => void; onScrollCapture?: (e: React.UIEvent<HTMLElement>, cell: Cell | undefined) => void; children: React.ReactNode; } export declare class Paper extends React.Component<PaperProps> { render(): import("react/jsx-runtime").JSX.Element; private onPointerDown; private onContextMenu; private onScrollCapture; } export interface PaperTransform { readonly width: number; readonly height: number; readonly originX: number; readonly originY: number; readonly scale: number; readonly paddingX: number; readonly paddingY: number; } export interface HtmlPaperLayerProps extends React.HTMLProps<HTMLDivElement> { paperTransform: PaperTransform; layerRef?: React.Ref<HTMLDivElement | null>; } export declare function HtmlPaperLayer(props: HtmlPaperLayerProps): import("react/jsx-runtime").JSX.Element; export interface SvgPaperLayerProps extends React.HTMLProps<SVGSVGElement> { paperTransform: PaperTransform; layerRef?: React.RefObject<SVGSVGElement | null>; } export declare function SvgPaperLayer(props: SvgPaperLayerProps): import("react/jsx-runtime").JSX.Element; export declare function totalPaneSize(pt: PaperTransform): Vector; export declare function paneTopLeft(pt: PaperTransform): Vector; export declare function paneFromPaperCoords(paper: Vector, pt: PaperTransform): Vector; export declare function paperFromPaneCoords(pane: Vector, pt: PaperTransform): Vector; //# sourceMappingURL=paper.d.ts.map