UNPKG

reactflow-velocity

Version:

React Flow - A highly customizable React library for building node-based editors and interactive flow charts.

65 lines 2.82 kB
import type { ComponentType, CSSProperties, HTMLAttributes, MouseEvent } from 'react'; import type { PanelPosition, XYPosition } from '@xyflow/system'; import type { Node } from '../../types'; export type GetMiniMapNodeAttribute<NodeType extends Node = Node> = (node: NodeType) => string; export type MiniMapProps<NodeType extends Node = Node> = Omit<HTMLAttributes<SVGSVGElement>, 'onClick'> & { /** Color of nodes on minimap */ nodeColor?: string | GetMiniMapNodeAttribute<NodeType>; /** Stroke color of nodes on minimap */ nodeStrokeColor?: string | GetMiniMapNodeAttribute<NodeType>; /** ClassName applied to nodes on minimap */ nodeClassName?: string | GetMiniMapNodeAttribute<NodeType>; /** Border radius of nodes on minimap */ nodeBorderRadius?: number; /** Stroke width of nodes on minimap */ nodeStrokeWidth?: number; /** Component used to render nodes on minimap */ nodeComponent?: ComponentType<MiniMapNodeProps>; /** Color of mask representing viewport */ maskColor?: string; /** Stroke color of mask representing viewport */ maskStrokeColor?: string; /** Stroke width of mask representing viewport */ maskStrokeWidth?: number; /** Position of minimap on pane * @example PanelPosition.TopLeft, PanelPosition.TopRight, * PanelPosition.BottomLeft, PanelPosition.BottomRight */ position?: PanelPosition; /** Callback caled when minimap is clicked*/ onClick?: (event: MouseEvent, position: XYPosition) => void; /** Callback called when node on minimap is clicked */ onNodeClick?: (event: MouseEvent, node: NodeType) => void; /** If true, viewport is pannable via mini map component */ pannable?: boolean; /** If true, viewport is zoomable via mini map component */ zoomable?: boolean; /** The aria-label attribute */ ariaLabel?: string | null; /** Invert direction when panning the minimap viewport */ inversePan?: boolean; /** Step size for zooming in/out on minimap */ zoomStep?: number; /** Offset the viewport on the minmap, acts like a padding */ offsetScale?: number; }; export type MiniMapNodes<NodeType extends Node = Node> = Pick<MiniMapProps<NodeType>, 'nodeColor' | 'nodeStrokeColor' | 'nodeClassName' | 'nodeBorderRadius' | 'nodeStrokeWidth' | 'nodeComponent'> & { onClick?: (event: MouseEvent, nodeId: string) => void; }; export type MiniMapNodeProps = { id: string; x: number; y: number; width: number; height: number; borderRadius: number; className: string; color?: string; shapeRendering: string; strokeColor?: string; strokeWidth?: number; style?: CSSProperties; selected: boolean; onClick?: (event: MouseEvent, id: string) => void; }; //# sourceMappingURL=types.d.ts.map