UNPKG

treemap-chart

Version:

A treemap interactive chart web component for visualizing hierarchical data

83 lines (67 loc) 2.47 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 TreemapChart { constructor(element: HTMLElement, configOptions?: ConfigOptions); width(): number; width(width: number): TreemapChart; height(): number; height(height: number): TreemapChart; data(): Node; data(rootNode: Node): TreemapChart; children(): NodeAccessor<Node[]>; children(childrenAccessor: NodeAccessor<Node[]>): TreemapChart; label(): NodeAccessor<string>; label(textAccessor: NodeAccessor<string>): TreemapChart; size(): NodeAccessor<string>; size(sizeAccessor: NodeAccessor<string>): TreemapChart; padding(): number; padding(padding: number): TreemapChart; color(): NodeAccessor<string>; color(colorAccessor: NodeAccessor<string>): TreemapChart; nodeClassName(): NodeAccessor<string>; nodeClassName(nodeClassName: NodeAccessor<string>): TreemapChart; minBlockArea(): number; minBlockArea(area: number): TreemapChart; excludeRoot(): boolean; excludeRoot(exclude: boolean): TreemapChart; sort(): CompareFn<Node> | null; sort(cmpFn: CompareFn<Node> | null): TreemapChart; showLabels(): boolean; showLabels(show: boolean): TreemapChart; showTooltip(): (node: Node) => boolean; showTooltip(showTooltipFn: (node: Node) => boolean): TreemapChart; tooltipTitle(): TooltipFn; tooltipTitle(fn: TooltipFn): TreemapChart; tooltipContent(): TooltipFn; tooltipContent(fn: TooltipFn): TreemapChart; onClick(cb: ((node: Node, event: MouseEvent) => void) | null): TreemapChart; onRightClick(cb: ((node: Node, event: MouseEvent) => void) | null): TreemapChart; onHover(cb: ((node: Node | null, event: MouseEvent) => void) | null): TreemapChart; zoomToNode(node: Node): TreemapChart; zoomBy(k: number):TreemapChart; zoomReset():TreemapChart; transitionDuration(): number; transitionDuration(duration: number): TreemapChart; } export { type ConfigOptions, type DataNode, type Node, TreemapChart as default };