UNPKG

8.41 kBTypeScriptView Raw
1import { Component } from "react";
2import { ChartConfig, Dataset, PartialBy } from "./HelperTypes";
3export interface AbstractChartProps {
4 fromZero?: boolean;
5 chartConfig?: AbstractChartConfig;
6 yAxisLabel?: string;
7 yAxisSuffix?: string;
8 yLabelsOffset?: number;
9 yAxisInterval?: number;
10 xAxisLabel?: string;
11 xLabelsOffset?: number;
12 hidePointsAtIndex?: number[];
13}
14export interface AbstractChartConfig extends ChartConfig {
15 count: number;
16 data: Dataset[];
17 width: number;
18 height: number;
19 paddingTop: number;
20 paddingRight: number;
21 horizontalLabelRotation?: number;
22 formatYLabel?: (yLabel: string) => string;
23 labels?: string[];
24 horizontalOffset?: number;
25 stackedBar?: boolean;
26 verticalLabelRotation?: number;
27 formatXLabel?: (xLabel: string) => string;
28}
29export declare type AbstractChartState = {};
30declare class AbstractChart<IProps extends AbstractChartProps, IState extends AbstractChartState> extends Component<AbstractChartProps & IProps, AbstractChartState & IState> {
31 calcScaler: (data: number[]) => number;
32 calcBaseHeight: (data: number[], height: number) => number;
33 calcHeight: (val: number, data: number[], height: number) => number;
34 getPropsForBackgroundLines(): {
35 stroke: string;
36 strokeDasharray: string;
37 strokeWidth: number;
38 };
39 getPropsForLabels(): {
40 x?: import("react-native-svg").NumberArray;
41 y?: import("react-native-svg").NumberArray;
42 dx?: import("react-native-svg").NumberArray;
43 dy?: import("react-native-svg").NumberArray;
44 rotate?: import("react-native-svg").NumberArray;
45 opacity?: string | number;
46 inlineSize?: string | number;
47 alignmentBaseline?: import("react-native-svg").AlignmentBaseline;
48 baselineShift?: import("react-native-svg").BaselineShift;
49 verticalAlign?: string | number;
50 lengthAdjust?: import("react-native-svg").LengthAdjust;
51 textLength?: string | number;
52 fontData?: {
53 [name: string]: unknown;
54 };
55 fontFeatureSettings?: string;
56 fill: import("react-native-svg").Color;
57 fillOpacity?: string | number;
58 fillRule?: import("react-native-svg").FillRule;
59 stroke?: import("react-native-svg").Color;
60 strokeWidth?: string | number;
61 strokeOpacity?: string | number;
62 strokeDasharray?: string | number | readonly (string | number)[];
63 strokeDashoffset?: string | number;
64 strokeLinecap?: "round" | "butt" | "square";
65 strokeLinejoin?: "round" | "bevel" | "miter";
66 strokeMiterlimit?: string | number;
67 clipRule?: import("react-native-svg").FillRule;
68 clipPath?: string;
69 transform?: string | import("react-native-svg").TransformObject | import("react-native-svg").ColumnMajorTransformMatrix;
70 translate?: import("react-native-svg").NumberArray;
71 translateX?: string | number;
72 translateY?: string | number;
73 origin?: import("react-native-svg").NumberArray;
74 originX?: string | number;
75 originY?: string | number;
76 scale?: import("react-native-svg").NumberArray;
77 scaleX?: string | number;
78 scaleY?: string | number;
79 skew?: import("react-native-svg").NumberArray;
80 skewX?: string | number;
81 skewY?: string | number;
82 rotation?: string | number;
83 vectorEffect?: "default" | "inherit" | "none" | "non-scaling-stroke" | "nonScalingStroke" | "uri";
84 pointerEvents?: "auto" | "none" | "box-none" | "box-only";
85 onStartShouldSetResponder?: (event: import("react-native").GestureResponderEvent) => boolean;
86 onMoveShouldSetResponder?: (event: import("react-native").GestureResponderEvent) => boolean;
87 onResponderEnd?: (event: import("react-native").GestureResponderEvent) => void;
88 onResponderGrant?: (event: import("react-native").GestureResponderEvent) => void;
89 onResponderReject?: (event: import("react-native").GestureResponderEvent) => void;
90 onResponderMove?: (event: import("react-native").GestureResponderEvent) => void;
91 onResponderRelease?: (event: import("react-native").GestureResponderEvent) => void;
92 onResponderStart?: (event: import("react-native").GestureResponderEvent) => void;
93 onResponderTerminationRequest?: (event: import("react-native").GestureResponderEvent) => boolean;
94 onResponderTerminate?: (event: import("react-native").GestureResponderEvent) => void;
95 onStartShouldSetResponderCapture?: (event: import("react-native").GestureResponderEvent) => boolean;
96 onMoveShouldSetResponderCapture?: (event: import("react-native").GestureResponderEvent) => boolean;
97 disabled?: boolean;
98 onPress?: (event: import("react-native").GestureResponderEvent) => void;
99 onPressIn?: (event: import("react-native").GestureResponderEvent) => void;
100 onPressOut?: (event: import("react-native").GestureResponderEvent) => void;
101 onLongPress?: (event: import("react-native").GestureResponderEvent) => void;
102 delayPressIn?: number;
103 delayPressOut?: number;
104 delayLongPress?: number;
105 id?: string;
106 marker?: string;
107 markerStart?: string;
108 markerMid?: string;
109 markerEnd?: string;
110 mask?: string;
111 font?: import("react-native-svg").FontObject;
112 fontStyle?: import("react-native-svg").FontStyle;
113 fontVariant?: import("react-native-svg").FontVariant;
114 fontWeight?: string | number;
115 fontStretch?: import("react-native-svg").FontStretch;
116 fontSize: string | number;
117 fontFamily?: string;
118 textAnchor?: import("react-native-svg").TextAnchor;
119 textDecoration?: import("react-native-svg").TextDecoration;
120 letterSpacing?: string | number;
121 wordSpacing?: string | number;
122 kerning?: string | number;
123 fontVariantLigatures?: import("react-native-svg").FontVariantLigatures;
124 fontVariationSettings?: string;
125 };
126 renderHorizontalLines: (config: any) => JSX.Element[];
127 renderHorizontalLine: (config: any) => JSX.Element;
128 renderHorizontalLabels: (config: Pick<AbstractChartConfig, "color" | "style" | "height" | "width" | "propsForBackgroundLines" | "propsForLabels" | "labelColor" | "count" | "paddingTop" | "paddingRight" | "horizontalLabelRotation" | "formatYLabel" | "labels" | "horizontalOffset" | "stackedBar" | "verticalLabelRotation" | "formatXLabel" | "backgroundColor" | "backgroundGradientFrom" | "backgroundGradientFromOpacity" | "backgroundGradientTo" | "backgroundGradientToOpacity" | "fillShadowGradient" | "fillShadowGradientOpacity" | "useShadowColorFromDataset" | "strokeWidth" | "barPercentage" | "barRadius" | "propsForDots" | "decimalPlaces" | "linejoinType" | "scrollableDotFill" | "scrollableDotStrokeColor" | "scrollableDotStrokeWidth" | "scrollableDotRadius" | "scrollableInfoViewStyle" | "scrollableInfoTextStyle" | "scrollableInfoTextDecorator" | "scrollableInfoOffset" | "scrollableInfoSize"> & {
129 data: number[];
130 }) => JSX.Element[];
131 renderVerticalLabels: ({ labels, width, height, paddingRight, paddingTop, horizontalOffset, stackedBar, verticalLabelRotation, formatXLabel }: Pick<AbstractChartConfig, "labels" | "width" | "height" | "paddingRight" | "paddingTop" | "horizontalOffset" | "stackedBar" | "verticalLabelRotation" | "formatXLabel">) => JSX.Element[];
132 renderVerticalLines: ({ data, width, height, paddingTop, paddingRight }: Pick<Pick<AbstractChartConfig, "data" | "height" | "width" | "paddingTop" | "paddingRight">, "height" | "width" | "paddingTop" | "paddingRight"> & {
133 data: number[];
134 }) => JSX.Element[];
135 renderVerticalLine: ({ height, paddingTop, paddingRight }: Pick<AbstractChartConfig, "height" | "paddingRight" | "paddingTop">) => JSX.Element;
136 renderDefs: (config: Pick<PartialBy<AbstractChartConfig, "backgroundGradientFromOpacity" | "backgroundGradientToOpacity" | "fillShadowGradient" | "fillShadowGradientOpacity">, "width" | "height" | "backgroundGradientFrom" | "backgroundGradientTo" | "useShadowColorFromDataset" | "data" | "backgroundGradientFromOpacity" | "backgroundGradientToOpacity" | "fillShadowGradient" | "fillShadowGradientOpacity">) => JSX.Element;
137}
138export default AbstractChart;
139//# sourceMappingURL=AbstractChart.d.ts.map
\No newline at end of file