1 | import { Component } from "react";
|
2 | import { ChartConfig, Dataset, PartialBy } from "./HelperTypes";
|
3 | export 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 | }
|
14 | export 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 | }
|
29 | export declare type AbstractChartState = {};
|
30 | declare 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 | }
|
138 | export default AbstractChart;
|
139 |
|
\ | No newline at end of file |