@amcharts/amcharts5
Version:
amCharts 5
113 lines • 3.35 kB
TypeScript
import type { DataItem } from "../../core/render/Component";
import { Flow, IFlowSettings, IFlowDataItem, IFlowPrivate, IFlowEvents } from "./Flow";
import { RibbonGenerator, RibbonSubgroup, Ribbon } from "d3-chord";
import { ListTemplate } from "../../core/util/List";
import { ChordNodes, IChordNodesDataItem } from "./ChordNodes";
import { ChordLink } from "./ChordLink";
import { Percent } from "../../core/util/Percent";
export interface IChordDataItem extends IFlowDataItem {
/**
* A link element.
*/
link: ChordLink;
/**
* Source node data item.
*/
source: DataItem<IChordNodesDataItem>;
/**
* Target node data item.
*/
target: DataItem<IChordNodesDataItem>;
}
export interface IChordSettings extends IFlowSettings {
/**
* Angle of a gap between each node, in degrees.
*
* @default 1
*/
padAngle?: number;
/**
* Radius of the diagram in percent or pixels.
*
* If set in percent, it will be relative to the whole area available for
* the series.
*
* @default 90%
*/
radius?: number | Percent;
/**
* The thickness of node strip in pixels.
*
* @default 10
*/
nodeWidth?: number;
/**
* Starting angle in degrees.
*
* @default 0
*/
startAngle?: number;
/**
* How to sort nodes by their value.
*
* @default "descending"
*/
sort?: "ascending" | "descending" | "none";
}
export interface IChordPrivate extends IFlowPrivate {
}
export interface IChordEvents extends IFlowEvents {
}
/**
* Regular chord series.
*
* @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more information
* @important
*/
export declare class Chord extends Flow {
static className: string;
static classNames: Array<string>;
/**
* List of link elements.
*
* @default new ListTemplate<ChordLink>
*/
readonly links: ListTemplate<ChordLink>;
/**
* A series for all chord nodes.
*
* @default ChordNodes.new()
*/
readonly nodes: ChordNodes;
_settings: IChordSettings;
_privateSettings: IChordPrivate;
_dataItemSettings: IChordDataItem;
_events: IChordEvents;
_d3chord: import("d3-chord").ChordLayout;
_chordLayout: {
source: {
index: number;
startAngle: number;
endAngle: number;
value: number;
};
target: {
index: number;
startAngle: number;
endAngle: number;
value: number;
};
}[];
_ribbon: RibbonGenerator<any, Ribbon, RibbonSubgroup>;
protected _afterNew(): void;
protected _fixRibbon(ribbon: RibbonGenerator<any, Ribbon, RibbonSubgroup>): void;
/**
* @ignore
*/
makeLink(dataItem: DataItem<this["_dataItemSettings"]>): ChordLink;
protected _makeMatrix(): number[][];
_prepareChildren(): void;
protected _getLinkPoints(link: ChordLink, linkRadius: number, chordLayoutItem: any): void;
protected _updateLink(ribbon: RibbonGenerator<any, Ribbon, RibbonSubgroup>, link: ChordLink, linkRadius: number, chordLayoutItem: any): void;
}
//# sourceMappingURL=Chord.d.ts.map