reagraph
Version:
WebGL Node-based Graph for React
59 lines (58 loc) • 1.52 kB
TypeScript
import { ThreeEvent } from '@react-three/fiber';
import { FC } from 'react';
import { ClusterRenderer } from '../types';
import { ClusterGroup } from '../utils';
export type ClusterEventArgs = Omit<ClusterGroup, 'position'>;
export interface ClusterProps extends ClusterGroup {
/**
* Whether the circle should be animated.
*/
animated?: boolean;
/**
* The radius of the circle.
*
* @default 2
*/
radius?: number;
/**
* The padding of the circle.
*
* @default 40
*/
padding?: number;
/**
* The url for the label font.
*/
labelFontUrl?: string;
/**
* Whether the node is disabled.
*/
disabled?: boolean;
/**
* When the cluster was clicked.
*/
onClick?: (cluster: ClusterEventArgs, event: ThreeEvent<MouseEvent>) => void;
/**
* When a cluster receives a pointer over event.
*/
onPointerOver?: (cluster: ClusterEventArgs, event: ThreeEvent<PointerEvent>) => void;
/**
* When cluster receives a pointer leave event.
*/
onPointerOut?: (cluster: ClusterEventArgs, event: ThreeEvent<PointerEvent>) => void;
/**
* Whether the cluster is draggable
*
* @default false
*/
draggable?: boolean;
/**
* Triggered after a cluster was dragged
*/
onDragged?: (cluster: ClusterEventArgs) => void;
/**
* Render a custom cluster label
*/
onRender?: ClusterRenderer;
}
export declare const Cluster: FC<ClusterProps>;