UNPKG

kien-react-minimal-pie-chart

Version:
77 lines (67 loc) 1.69 kB
import * as React from 'react'; declare type StyleObject = { [key: string]: string | number; }; export type PieChartData = { title?: string | number; color: string; value: number; key?: string | number; style?: StyleObject; [key: string]: any; }; export type ExtendedPieChartData = PieChartData & { degrees: number; startOffset: number; percentage: number; }; export type LabelProps = { key: string | number; x: number; y: number; dx: number; dy: number; textAnchor: string; data: ExtendedPieChartData[]; dataIndex: number; color: string; style: StyleObject; }; declare type LabelPropAsReactElement = React.ReactElement<LabelProps>; declare type LabelPropAsFunction = ( labelProps: LabelProps ) => number | string | React.ReactElement; declare type EventHandler = ( event: React.MouseEvent, data: PieChartData[], dataIndex: number ) => any; declare type ChartProps = { className?: string; style?: StyleObject; data: PieChartData[]; cx?: number; cy?: number; ratio?: number; startAngle?: number; lengthAngle?: number; totalValue?: number; radius?: number; lineWidth?: number; paddingAngle?: number; rounded?: boolean; segmentsStyle?: StyleObject; background?: string; animate?: boolean; animationDuration?: number; animationEasing?: string; reveal?: number; injectSvg?: () => React.ReactElement | void; label?: boolean | LabelPropAsReactElement | LabelPropAsFunction; labelPosition?: number; labelStyle?: StyleObject; onClick?: EventHandler; onMouseOver?: EventHandler; onMouseOut?: EventHandler; }; export default class ReactMinimalPieChart extends React.Component<ChartProps> {}