UNPKG

circlepack-chart

Version:

A circle packing interactive chart web component for visualizing hierarchical data

85 lines (69 loc) 2.66 kB
interface ConfigOptions {} type Accessor<In, Out> = Out | string | ((obj: In) => Out); type NodeAccessor<T> = Accessor<Node, T>; interface Node { __dataNode?: DataNode; name?: string; children?: Node[]; } interface DataNode { data: Node; id: number; value: number; depth: number; height: number; parent: DataNode | null; children?: DataNode[]; x0?: number; y0?: number; x1?: number; y1?: number; } type CompareFn<ItemType> = (a: ItemType, b: ItemType) => number; type TooltipFn = (node: Node, dataNode: DataNode) => string; declare class CirclePackChart { constructor(element: HTMLElement, configOptions?: ConfigOptions); width(): number; width(width: number): CirclePackChart; height(): number; height(height: number): CirclePackChart; data(): Node; data(rootNode: Node): CirclePackChart; children(): NodeAccessor<Node[]>; children(childrenAccessor: NodeAccessor<Node[]>): CirclePackChart; label(): NodeAccessor<string>; label(textAccessor: NodeAccessor<string>): CirclePackChart; size(): NodeAccessor<string>; size(sizeAccessor: NodeAccessor<string>): CirclePackChart; padding(): number; padding(padding: number): CirclePackChart; color(): NodeAccessor<string>; color(colorAccessor: NodeAccessor<string>): CirclePackChart; borderWidth(): NodeAccessor<string>; borderWidth(borderWidthAccessor: NodeAccessor<string>): CirclePackChart; nodeClassName(): NodeAccessor<string>; nodeClassName(nodeClassName: NodeAccessor<string>): CirclePackChart; minCircleRadius(): number; minCircleRadius(r: number): CirclePackChart; excludeRoot(): boolean; excludeRoot(exclude: boolean): CirclePackChart; sort(): CompareFn<Node> | null; sort(cmpFn: CompareFn<Node> | null): CirclePackChart; showLabels(): boolean; showLabels(show: boolean): CirclePackChart; showTooltip(): (node: Node) => boolean; showTooltip(showTooltipFn: (node: Node) => boolean): CirclePackChart; tooltipTitle(): TooltipFn; tooltipTitle(fn: TooltipFn): CirclePackChart; tooltipContent(): TooltipFn; tooltipContent(fn: TooltipFn): CirclePackChart; onClick(cb: ((node: Node, event: MouseEvent) => void) | null): CirclePackChart; onRightClick(cb: ((node: Node, event: MouseEvent) => void) | null): CirclePackChart; onHover(cb: ((node: Node | null, event: MouseEvent) => void) | null): CirclePackChart; zoomToNode(node: Node): CirclePackChart; zoomBy(k: number):CirclePackChart; zoomReset():CirclePackChart; transitionDuration(): number; transitionDuration(duration: number): CirclePackChart; } export { type ConfigOptions, type DataNode, type Node, CirclePackChart as default };