UNPKG

@amcharts/amcharts5

Version:
179 lines 5.79 kB
import type { DataItem } from "../../core/render/Component"; import type { ILegendDataItem } from "../../core/render/Legend"; import type { Color } from "../../core/util/Color"; import type { ColorSet } from "../../core/util/ColorSet"; import type { Pattern } from "../../core/render/patterns/Pattern"; import type { PatternSet } from "../../core/util/PatternSet"; import { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate } from "../../core/render/Series"; import { Graphics } from "../../core/render/Graphics"; import { Container } from "../../core/render/Container"; import { Label } from "../../core/render/Label"; import { ListTemplate } from "../../core/util/List"; export interface IVennDataItem extends ISeriesDataItem { /** * Array of categories that this data item is an intersection for. */ intersections: Array<string>; /** * Category. */ category: string; /** * Slice visual element. */ slice: Graphics; /** * Slice label. */ label: Label; /** * A related legend data item. */ legendDataItem: DataItem<ILegendDataItem>; /** * Fill color used for the slice and related elements, e.g. legend marker. */ fill: Color; /** * Fill pattern used for the slice and related elements, e.g. legend marker. * * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/} for more info * @since 5.10.0 */ fillPattern: Pattern; } export interface IVennSettings extends ISeriesSettings { /** * A field in data that holds array of categories that overlap. */ intersectionsField?: string; /** * A [[ColorSet]] to use when asigning colors for slices. */ colors?: ColorSet; /** * A [[PatternSet]] to use when asigning patterns for slices. * * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/patterns/#Pattern_sets} for more info * @since 5.10.0 */ patterns?: PatternSet; /** * A field in data that holds category names. */ categoryField?: string; /** * A field that holds color for slice fill. */ fillField?: string; } export interface IVennPrivate extends ISeriesPrivate { } /** * Creates a Venn diagram. * * @see {@link https://www.amcharts.com/docs/v5/charts/venn/} for more info * @important */ export declare class Venn extends Series { static className: string; static classNames: Array<string>; _settings: IVennSettings; _privateSettings: IVennPrivate; _dataItemSettings: IVennDataItem; protected _sets: string; /** * A [[Container]] that holds all slices (circles and intersections). * * @default Container.new() */ readonly slicesContainer: Container; /** * A [[Container]] that holds all labels. * * @default Container.new() */ readonly labelsContainer: Container; /** * A [[Graphics]] element that is used to show the shape of the hovered slice * or intersection. * * @default Graphics.new() */ readonly hoverGraphics: Graphics; protected _hovered?: Graphics; _applyThemes(force?: boolean): boolean; protected _afterNew(): void; /** * A [[ListTemplate]] of all slices in series. * * `slices.template` can also be used to configure slices. */ readonly slices: ListTemplate<Graphics>; /** * @ignore */ makeSlice(dataItem: DataItem<this["_dataItemSettings"]>): Graphics; protected _updateHover(): void; /** * A [[ListTemplate]] of all slice labels in series. * * `labels.template` can also be used to configure slice labels. */ readonly labels: ListTemplate<Label>; /** * @ignore */ makeLabel(dataItem: DataItem<this["_dataItemSettings"]>): Label; protected _makeSlices(): ListTemplate<Graphics>; protected _makeLabels(): ListTemplate<Label>; protected _onDataClear(): void; protected processDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void; _prepareChildren(): void; /** * Looks up and returns a data item by its category. * * @param category Category * @return Data item */ getDataItemByCategory(id: string): DataItem<this["_dataItemSettings"]> | undefined; /** * Shows series's data item. * * @param dataItem Data item * @param duration Animation duration in milliseconds * @return Promise */ showDataItem(dataItem: DataItem<this["_dataItemSettings"]>, duration?: number): Promise<void>; /** * Hides series's data item. * * @param dataItem Data item * @param duration Animation duration in milliseconds * @return Promise */ hideDataItem(dataItem: DataItem<this["_dataItemSettings"]>, duration?: number): Promise<void>; /** * @ignore */ disposeDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void; /** * @ignore */ updateLegendMarker(dataItem: DataItem<this["_dataItemSettings"]>): void; /** * Triggers hover on a series data item. * * @since 5.0.7 * @param dataItem Target data item */ hoverDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void; /** * Triggers un-hover on a series data item. * * @since 5.0.7 * @param dataItem Target data item */ unhoverDataItem(dataItem: DataItem<this["_dataItemSettings"]>): void; } //# sourceMappingURL=Venn.d.ts.map