UNPKG

zz-chart

Version:

Alauda Chart components by Alauda Frontend Team

97 lines (96 loc) 2.57 kB
/// <reference types="react" resolution-mode="require"/> /// <reference types="web" /> import * as d3 from 'd3'; import { Data, PieShapeOption } from '../../types/options.js'; import { PolarShape } from './index.js'; export declare const DEFAULT_RADIUS_DIFF = 8; export declare const ACTIVE_RADIUS_ENLARGE_SIZE = 2; interface PieItemConfig { padAngle: number; startAngle: number; endAngle: number; innerRadius: number; outerRadius: number; borderRadius: number; borderWidth: number; color: string; } interface PieItemValue { path: string; config: PieItemConfig; data: Data; selected?: boolean; polylinePoints?: [number, number][]; } /** * Pie 饼图 环形图 */ export default class Pie extends PolarShape<PieShapeOption> { type: string; pieGuide: d3.Selection<HTMLDivElement, unknown, null, undefined>; svgEl: d3.Selection<SVGSVGElement, unknown, null, undefined>; data: Data; get nullData(): boolean; get totalValue(): number; get colorVar(): Record<string, string>; init(): void; render(): void; calculateLabelLength(data: any): number; renderPie(clientHeight: number): void; getLabel(d: any): string; renderGuidelines(paths: any): void; onMousemove(res: { self: unknown; data: PieItemValue; event: MouseEvent; }): void; onMouseleave(res: { self: unknown; data: PieItemValue; event: MouseEvent; }): void; addListener(): void; renderLabel(): void; redraw(): void; } export declare function getPath(config: { padAngle: number; startAngle: number; endAngle: number; innerRadius: number; outerRadius: number; borderRadius: number; borderWidth: number; color: string; }): string; export declare function calculatePaths(data: Data, option: PieShapeOption, color: string): ({ path: string; config: { padAngle?: number; startAngle: number; endAngle: number; innerRadius?: number; outerRadius?: number; borderRadius?: number; borderWidth?: number; color: string; }; } | { path: string; config: { startAngle: number; endAngle: number; padAngle?: number; innerRadius?: number; outerRadius?: number; borderRadius?: number; borderWidth?: number; color: string; }; data: any; })[]; export declare function getRadius(option: PieShapeOption): { outerRadius: number; innerRadius: number; }; export {};