@trutoo/funnel-graph
Version:
SVG Funnel Graph TypeScript Library.
51 lines (50 loc) • 1.74 kB
TypeScript
import { Direction, FunnelData, FunnelDataLayered, FunnelOptions } from './types';
export declare class FunnelGraph {
private container;
private graphContainer;
private containerSelector;
private data;
private gradientDirection;
private direction;
private displayPercent;
private width;
private height;
private subLabelValue;
constructor(options: FunnelOptions);
private createContainer;
private makeSVG;
private drawPaths;
private addLabels;
private addSubLabels;
private applyGradient;
getMainAxisPoints(): number[];
getCrossAxisPoints(): number[][];
getGraphType(): "layered" | "normal";
isVertical(): boolean;
getDataSize(): number;
getSubDataSize(): number;
getFullDimension(): number;
setValues(values: number[] | number[][]): this;
setDirection(direction: Direction): this;
setHeight(height: number): this;
setWidth(width: number): this;
getLayerSums(): number[];
getLayerPercentages(): number[][];
getPercentages(): number[];
getSVG(): SVGSVGElement | undefined;
getWidth(): number;
getHeight(): number;
getPathDefinitions(): string[];
getPathMedian(i: number): string;
makeVertical(): true | undefined;
makeHorizontal(): true | undefined;
toggleDirection(): void;
gradientMakeVertical(): boolean;
gradientMakeHorizontal(): boolean;
gradientToggleDirection(): void;
updateWidth(width: number): true | undefined;
updateHeight(height: number): true | undefined;
updateData(data: Partial<FunnelData | FunnelDataLayered>, reset?: boolean): void;
update(options: FunnelOptions): void;
draw(): void;
}