@bashem/rn-charts 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/module/skia/AreaChart/AreaChart.js +60 -51
- package/lib/module/skia/AreaChart/AreaChart.js.map +1 -1
- package/lib/module/skia/AreaChart/useAreaChart.js +18 -14
- package/lib/module/skia/AreaChart/useAreaChart.js.map +1 -1
- package/lib/module/skia/BarChart/BarChart.js +156 -69
- package/lib/module/skia/BarChart/BarChart.js.map +1 -1
- package/lib/module/skia/BarChart/useBarChart.js +53 -41
- package/lib/module/skia/BarChart/useBarChart.js.map +1 -1
- package/lib/module/skia/Common/HorizontalLabelView.js +121 -0
- package/lib/module/skia/Common/HorizontalLabelView.js.map +1 -0
- package/lib/module/skia/Common/VerticalLabelView.js +100 -0
- package/lib/module/skia/Common/VerticalLabelView.js.map +1 -0
- package/lib/module/skia/Common/useComponentLayout.js +13 -0
- package/lib/module/skia/Common/useComponentLayout.js.map +1 -0
- package/lib/module/skia/HeatMap/DateHeatMap.js +472 -0
- package/lib/module/skia/HeatMap/DateHeatMap.js.map +1 -0
- package/lib/module/skia/HeatMap/HeatMap.js +121 -33
- package/lib/module/skia/HeatMap/HeatMap.js.map +1 -1
- package/lib/module/skia/HeatMap/useHeatMap.js +132 -48
- package/lib/module/skia/HeatMap/useHeatMap.js.map +1 -1
- package/lib/module/skia/PieChart/PieChart.js +21 -17
- package/lib/module/skia/PieChart/PieChart.js.map +1 -1
- package/lib/module/skia/PieChart/usePieChart.js +241 -30
- package/lib/module/skia/PieChart/usePieChart.js.map +1 -1
- package/lib/module/skia/Popup.js +7 -5
- package/lib/module/skia/Popup.js.map +1 -1
- package/lib/module/skia/common.js +4 -41
- package/lib/module/skia/common.js.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/skia/AreaChart/AreaChart.d.ts +15 -3
- package/lib/typescript/src/skia/AreaChart/AreaChart.d.ts.map +1 -1
- package/lib/typescript/src/skia/AreaChart/useAreaChart.d.ts +13 -14
- package/lib/typescript/src/skia/AreaChart/useAreaChart.d.ts.map +1 -1
- package/lib/typescript/src/skia/BarChart/BarChart.d.ts +16 -2
- package/lib/typescript/src/skia/BarChart/BarChart.d.ts.map +1 -1
- package/lib/typescript/src/skia/BarChart/useBarChart.d.ts +17 -5
- package/lib/typescript/src/skia/BarChart/useBarChart.d.ts.map +1 -1
- package/lib/typescript/src/skia/Common/HorizontalLabelView.d.ts +33 -0
- package/lib/typescript/src/skia/Common/HorizontalLabelView.d.ts.map +1 -0
- package/lib/typescript/src/skia/Common/VerticalLabelView.d.ts +24 -0
- package/lib/typescript/src/skia/Common/VerticalLabelView.d.ts.map +1 -0
- package/lib/typescript/src/skia/Common/useComponentLayout.d.ts +4 -0
- package/lib/typescript/src/skia/Common/useComponentLayout.d.ts.map +1 -0
- package/lib/typescript/src/skia/HeatMap/DateHeatMap.d.ts +1 -0
- package/lib/typescript/src/skia/HeatMap/DateHeatMap.d.ts.map +1 -0
- package/lib/typescript/src/skia/HeatMap/HeatMap.d.ts +28 -12
- package/lib/typescript/src/skia/HeatMap/HeatMap.d.ts.map +1 -1
- package/lib/typescript/src/skia/HeatMap/useHeatMap.d.ts +15 -4
- package/lib/typescript/src/skia/HeatMap/useHeatMap.d.ts.map +1 -1
- package/lib/typescript/src/skia/PieChart/PieChart.d.ts +5 -1
- package/lib/typescript/src/skia/PieChart/PieChart.d.ts.map +1 -1
- package/lib/typescript/src/skia/PieChart/usePieChart.d.ts +6 -1
- package/lib/typescript/src/skia/PieChart/usePieChart.d.ts.map +1 -1
- package/lib/typescript/src/skia/Popup.d.ts.map +1 -1
- package/lib/typescript/src/skia/common.d.ts +3 -10
- package/lib/typescript/src/skia/common.d.ts.map +1 -1
- package/package.json +6 -3
- package/src/index.tsx +6 -4
- package/src/skia/AreaChart/AreaChart.tsx +85 -62
- package/src/skia/AreaChart/useAreaChart.ts +25 -26
- package/src/skia/BarChart/BarChart.tsx +163 -95
- package/src/skia/BarChart/useBarChart.ts +55 -44
- package/src/skia/Common/HorizontalLabelView.tsx +153 -0
- package/src/skia/Common/VerticalLabelView.tsx +113 -0
- package/src/skia/Common/useComponentLayout.ts +14 -0
- package/src/skia/HeatMap/DateHeatMap.tsx +470 -0
- package/src/skia/HeatMap/HeatMap.tsx +168 -54
- package/src/skia/HeatMap/useHeatMap.ts +139 -65
- package/src/skia/PieChart/PieChart.tsx +16 -11
- package/src/skia/PieChart/usePieChart.ts +316 -66
- package/src/skia/Popup.tsx +38 -36
- package/src/skia/common.ts +8 -46
- package/lib/module/skia/Common/VerticalLabel.js +0 -73
- package/lib/module/skia/Common/VerticalLabel.js.map +0 -1
- package/lib/typescript/src/skia/Common/VerticalLabel.d.ts +0 -17
- package/lib/typescript/src/skia/Common/VerticalLabel.d.ts.map +0 -1
- package/src/skia/Common/VerticalLabel.tsx +0 -91
|
@@ -1,16 +1,113 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useState } from "react";
|
|
3
|
+
import { useMemo, useState } from "react";
|
|
4
4
|
import { rect, Skia } from "@shopify/react-native-skia";
|
|
5
5
|
import { getRandomRGBColor } from "../common.js";
|
|
6
|
-
function
|
|
6
|
+
function degreesToRadians(degrees) {
|
|
7
7
|
return degrees * Math.PI / 180;
|
|
8
8
|
}
|
|
9
9
|
function ypoint(angle, radius, cy) {
|
|
10
|
-
return cy - radius * Math.sin(
|
|
10
|
+
return cy - radius * Math.sin(degreesToRadians(angle));
|
|
11
11
|
}
|
|
12
12
|
function xpoint(angle, radius, cx) {
|
|
13
|
-
return cx - radius * Math.cos(
|
|
13
|
+
return cx - radius * Math.cos(degreesToRadians(angle));
|
|
14
|
+
}
|
|
15
|
+
function euclideanDistance(dx, dy) {
|
|
16
|
+
return Math.hypot(dx, dy);
|
|
17
|
+
}
|
|
18
|
+
function getProportionPoint(point, segment, length, dx, dy) {
|
|
19
|
+
const factor = segment / length;
|
|
20
|
+
return {
|
|
21
|
+
x: point.x - dx * factor,
|
|
22
|
+
y: point.y - dy * factor
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function angle(cx, cy, x, y) {
|
|
26
|
+
return (Math.atan2(y - cy, x - cx) * (180 / Math.PI) + 360) % 360;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// https://stackoverflow.com/a/24780108/13509919
|
|
30
|
+
function drawRoundedCorner(path, angularPoint, p1, p2, radius) {
|
|
31
|
+
// Vector 1
|
|
32
|
+
const dx1 = angularPoint.x - p1.x;
|
|
33
|
+
const dy1 = angularPoint.y - p1.y;
|
|
34
|
+
|
|
35
|
+
// Vector 2
|
|
36
|
+
const dx2 = angularPoint.x - p2.x;
|
|
37
|
+
const dy2 = angularPoint.y - p2.y;
|
|
38
|
+
|
|
39
|
+
// Angle / 2
|
|
40
|
+
let angleHalf = (Math.atan2(dy1, dx1) - Math.atan2(dy2, dx2)) / 2;
|
|
41
|
+
const tan = Math.abs(Math.tan(angleHalf));
|
|
42
|
+
if (tan === 0) return;
|
|
43
|
+
let segment = radius / tan;
|
|
44
|
+
|
|
45
|
+
// Lengths
|
|
46
|
+
const length1 = euclideanDistance(dx1, dy1);
|
|
47
|
+
const length2 = euclideanDistance(dx2, dy2);
|
|
48
|
+
const length = Math.min(length1, length2);
|
|
49
|
+
|
|
50
|
+
// Clamp
|
|
51
|
+
if (segment > length) {
|
|
52
|
+
segment = length;
|
|
53
|
+
radius = length * tan;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Trimmed points
|
|
57
|
+
const p1Cross = getProportionPoint(angularPoint, segment, length1, dx1, dy1);
|
|
58
|
+
const p2Cross = getProportionPoint(angularPoint, segment, length2, dx2, dy2);
|
|
59
|
+
|
|
60
|
+
// Circle center
|
|
61
|
+
const dx = angularPoint.x * 2 - p1Cross.x - p2Cross.x;
|
|
62
|
+
const dy = angularPoint.y * 2 - p1Cross.y - p2Cross.y;
|
|
63
|
+
const L = euclideanDistance(dx, dy);
|
|
64
|
+
const d = Math.hypot(segment, radius);
|
|
65
|
+
const circlePoint = getProportionPoint(angularPoint, d, L, dx, dy);
|
|
66
|
+
|
|
67
|
+
// Angles (degrees for Skia)
|
|
68
|
+
let startAngle = angle(circlePoint.x, circlePoint.y, p1Cross.x, p1Cross.y);
|
|
69
|
+
let endAngle = angle(circlePoint.x, circlePoint.y, p2Cross.x, p2Cross.y);
|
|
70
|
+
let sweepAngle = endAngle - startAngle;
|
|
71
|
+
|
|
72
|
+
// Normalize
|
|
73
|
+
if (sweepAngle < 0) {
|
|
74
|
+
const temp = startAngle;
|
|
75
|
+
startAngle = endAngle;
|
|
76
|
+
sweepAngle = temp - endAngle;
|
|
77
|
+
}
|
|
78
|
+
if (sweepAngle > 180) {
|
|
79
|
+
sweepAngle = 180 - sweepAngle;
|
|
80
|
+
}
|
|
81
|
+
path.moveTo(p1Cross.x, p1Cross.y);
|
|
82
|
+
|
|
83
|
+
// arc
|
|
84
|
+
path.addArc(rect(circlePoint.x - radius, circlePoint.y - radius, radius * 2, radius * 2), startAngle, sweepAngle);
|
|
85
|
+
path.lineTo(p1Cross.x, p1Cross.y);
|
|
86
|
+
path.close();
|
|
87
|
+
drawLines(path, [{
|
|
88
|
+
x: p1.x,
|
|
89
|
+
y: p1.y
|
|
90
|
+
}, {
|
|
91
|
+
x: p1Cross.x,
|
|
92
|
+
y: p1Cross.y
|
|
93
|
+
}, {
|
|
94
|
+
x: p2Cross.x,
|
|
95
|
+
y: p2Cross.y
|
|
96
|
+
}, {
|
|
97
|
+
x: p2.x,
|
|
98
|
+
y: p2.y
|
|
99
|
+
}, {
|
|
100
|
+
x: p1.x,
|
|
101
|
+
y: p1.y
|
|
102
|
+
}]);
|
|
103
|
+
}
|
|
104
|
+
function drawLines(path, points) {
|
|
105
|
+
if (points.length === 0) return;
|
|
106
|
+
path.moveTo(points[0].x, points[0].y);
|
|
107
|
+
for (let i = 1; i < points.length; i++) {
|
|
108
|
+
path.lineTo(points[i].x, points[i].y);
|
|
109
|
+
}
|
|
110
|
+
path.close();
|
|
14
111
|
}
|
|
15
112
|
function getCircularPoints(startAngle, radius, angle, cx, cy) {
|
|
16
113
|
let x1 = xpoint(startAngle, radius, cx);
|
|
@@ -19,6 +116,10 @@ function getCircularPoints(startAngle, radius, angle, cx, cy) {
|
|
|
19
116
|
let y2 = ypoint(startAngle + angle, radius, cy);
|
|
20
117
|
return [x1, y1, x2, y2];
|
|
21
118
|
}
|
|
119
|
+
|
|
120
|
+
// FIXME: Doesn't work innerradius is set to 0, need to investigate why. If it is set to a very small number, it works fine. COPILOT: This is a known issue in Skia when the path has self-intersection. Issue also occurs when rounding is set and innerRadius is small.
|
|
121
|
+
// QUICKFIX: If innerRadius is 0, we can set it to a very small number like 0.001 to avoid the issue.
|
|
122
|
+
// TODO: Verify the rounding of corners throughly
|
|
22
123
|
export function usePieChart({
|
|
23
124
|
slices,
|
|
24
125
|
style,
|
|
@@ -27,32 +128,139 @@ export function usePieChart({
|
|
|
27
128
|
const [popupData, setPopupData] = useState(undefined);
|
|
28
129
|
const radius = style.radius ?? 150;
|
|
29
130
|
const diameter = radius * 2;
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
let
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
131
|
+
const width = diameter + 30;
|
|
132
|
+
const height = width;
|
|
133
|
+
const innerRadius = Math.max(0.0001, style.innerRadius ?? 100);
|
|
134
|
+
const interSliceGap = style.interSliceGap ?? 20;
|
|
135
|
+
const cx = width / 2;
|
|
136
|
+
const cy = height / 2;
|
|
137
|
+
const {
|
|
138
|
+
paths,
|
|
139
|
+
total
|
|
140
|
+
} = useMemo(() => {
|
|
141
|
+
const total = slices.reduce((sum, slice) => sum + slice.value, 0);
|
|
142
|
+
let startAngle = style.startAngle ?? 0;
|
|
143
|
+
const paths = slices.map(({
|
|
144
|
+
value,
|
|
145
|
+
color,
|
|
146
|
+
radius: givenRoundRadius = 0
|
|
147
|
+
}, index) => {
|
|
148
|
+
const sweepAngleTobeAdded = value / total * 360;
|
|
149
|
+
let currentStartAngle = startAngle;
|
|
150
|
+
let sweepAngle = sweepAngleTobeAdded;
|
|
151
|
+
startAngle += sweepAngleTobeAdded;
|
|
152
|
+
const outerCircleLength = 2 * Math.PI * radius;
|
|
153
|
+
const innerCircleLength = 2 * Math.PI * innerRadius;
|
|
154
|
+
const roundRadius = Math.min(givenRoundRadius, (radius - innerRadius) / 2, innerCircleLength / 2);
|
|
155
|
+
let angleReductionForGap = !interSliceGap ? 0 : interSliceGap / outerCircleLength * 360;
|
|
156
|
+
let angleReductionForRounding = roundRadius / outerCircleLength * 360 * 2;
|
|
157
|
+
let angleReductionForInnerCircle = roundRadius / innerCircleLength * 360 * 2;
|
|
158
|
+
currentStartAngle += angleReductionForGap / 2;
|
|
159
|
+
sweepAngle -= angleReductionForGap;
|
|
160
|
+
let innerCircleStartAngle = currentStartAngle;
|
|
161
|
+
let innerCircleSweepAngle = sweepAngle;
|
|
162
|
+
const boundaryCircleStartingAngle = currentStartAngle + angleReductionForRounding / 2;
|
|
163
|
+
const boundaryCircleSweepAngle = sweepAngle - angleReductionForRounding;
|
|
164
|
+
const innerCircleBoundaryStartingAngle = innerCircleStartAngle + angleReductionForInnerCircle / 2;
|
|
165
|
+
const innerCircleBoundarySweepAngle = innerCircleSweepAngle - angleReductionForInnerCircle;
|
|
166
|
+
// Outer Circle
|
|
167
|
+
let [x1, y1, x2, y2] = getCircularPoints(boundaryCircleStartingAngle, radius, boundaryCircleSweepAngle, cx, cy);
|
|
168
|
+
let [cx1, cy1, cx2, cy2] = getCircularPoints(currentStartAngle, radius, sweepAngle, cx, cy);
|
|
169
|
+
let [rx1, ry1, rx2, ry2] = getCircularPoints(currentStartAngle, radius - roundRadius, sweepAngle, cx, cy);
|
|
170
|
+
|
|
171
|
+
// Inner circle
|
|
172
|
+
let [ix1, iy1, ix2, iy2] = getCircularPoints(innerCircleBoundaryStartingAngle, innerRadius, innerCircleBoundarySweepAngle, cx, cy);
|
|
173
|
+
let [cix1, ciy1, cix2, ciy2] = getCircularPoints(innerCircleStartAngle, innerRadius, innerCircleSweepAngle, cx, cy);
|
|
174
|
+
let [rix1, riy1, rix2, riy2] = getCircularPoints(innerCircleStartAngle, innerRadius + roundRadius, innerCircleSweepAngle, cx, cy);
|
|
175
|
+
let path = Skia.Path.Make();
|
|
176
|
+
drawRoundedCorner(path, {
|
|
177
|
+
x: cx2,
|
|
178
|
+
y: cy2
|
|
179
|
+
}, {
|
|
180
|
+
x: x2,
|
|
181
|
+
y: y2
|
|
182
|
+
}, {
|
|
183
|
+
x: rx2,
|
|
184
|
+
y: ry2
|
|
185
|
+
}, roundRadius);
|
|
186
|
+
drawRoundedCorner(path, {
|
|
187
|
+
x: cix2,
|
|
188
|
+
y: ciy2
|
|
189
|
+
}, {
|
|
190
|
+
x: rix2,
|
|
191
|
+
y: riy2
|
|
192
|
+
}, {
|
|
193
|
+
x: ix2,
|
|
194
|
+
y: iy2
|
|
195
|
+
}, roundRadius);
|
|
196
|
+
drawLines(path, [{
|
|
197
|
+
x: x2,
|
|
198
|
+
y: y2
|
|
199
|
+
}, {
|
|
200
|
+
x: rx2,
|
|
201
|
+
y: ry2
|
|
202
|
+
}, {
|
|
203
|
+
x: rix2,
|
|
204
|
+
y: riy2
|
|
205
|
+
}, {
|
|
206
|
+
x: ix2,
|
|
207
|
+
y: iy2
|
|
208
|
+
}, {
|
|
209
|
+
x: x2,
|
|
210
|
+
y: y2
|
|
211
|
+
}]);
|
|
212
|
+
path.moveTo(x1, y1);
|
|
213
|
+
path.addArc(rect(cx - radius, cy - radius, radius * 2, radius * 2), boundaryCircleStartingAngle + 180, boundaryCircleSweepAngle);
|
|
214
|
+
path.lineTo(ix2, iy2);
|
|
215
|
+
path.addArc(rect(cx - innerRadius, cy - innerRadius, innerRadius * 2, innerRadius * 2), innerCircleBoundaryStartingAngle + 180 + innerCircleBoundarySweepAngle, -innerCircleBoundarySweepAngle);
|
|
216
|
+
path.lineTo(x1, y1);
|
|
217
|
+
path.close();
|
|
218
|
+
drawRoundedCorner(path, {
|
|
219
|
+
x: cix1,
|
|
220
|
+
y: ciy1
|
|
221
|
+
}, {
|
|
222
|
+
x: ix1,
|
|
223
|
+
y: iy1
|
|
224
|
+
}, {
|
|
225
|
+
x: rix1,
|
|
226
|
+
y: riy1
|
|
227
|
+
}, roundRadius);
|
|
228
|
+
drawRoundedCorner(path, {
|
|
229
|
+
x: cx1,
|
|
230
|
+
y: cy1
|
|
231
|
+
}, {
|
|
232
|
+
x: rx1,
|
|
233
|
+
y: ry1
|
|
234
|
+
}, {
|
|
235
|
+
x: x1,
|
|
236
|
+
y: y1
|
|
237
|
+
}, roundRadius);
|
|
238
|
+
drawLines(path, [{
|
|
239
|
+
x: ix1,
|
|
240
|
+
y: iy1
|
|
241
|
+
}, {
|
|
242
|
+
x: rix1,
|
|
243
|
+
y: riy1
|
|
244
|
+
}, {
|
|
245
|
+
x: rx1,
|
|
246
|
+
y: ry1
|
|
247
|
+
}, {
|
|
248
|
+
x: x1,
|
|
249
|
+
y: y1
|
|
250
|
+
}, {
|
|
251
|
+
x: ix1,
|
|
252
|
+
y: iy1
|
|
253
|
+
}]);
|
|
254
|
+
return {
|
|
255
|
+
path,
|
|
256
|
+
color: color ?? getRandomRGBColor()
|
|
257
|
+
};
|
|
258
|
+
});
|
|
51
259
|
return {
|
|
52
|
-
|
|
53
|
-
|
|
260
|
+
paths,
|
|
261
|
+
total
|
|
54
262
|
};
|
|
55
|
-
});
|
|
263
|
+
}, [slices, radius, innerRadius, interSliceGap, cx, cy, style.startAngle]);
|
|
56
264
|
const touchHandler = (locationX, locationY) => {
|
|
57
265
|
if (!onSliceTouch || locationX < 0 || locationY < 0 || locationX >= diameter || locationY >= diameter) {
|
|
58
266
|
setPopupData(undefined);
|
|
@@ -67,7 +275,6 @@ export function usePieChart({
|
|
|
67
275
|
if (!slice) return;
|
|
68
276
|
let lastAngle = slice.value / total * 360;
|
|
69
277
|
if (path.contains(locationX, locationY)) {
|
|
70
|
-
const label = slice.label || 'Slice';
|
|
71
278
|
const outerX = xpoint(angles + lastAngle / 2, radius, cx);
|
|
72
279
|
const innerX = xpoint(angles + lastAngle / 2, innerRadius, cx);
|
|
73
280
|
const outerY = ypoint(angles + lastAngle / 2, radius, cy);
|
|
@@ -93,11 +300,15 @@ export function usePieChart({
|
|
|
93
300
|
};
|
|
94
301
|
return {
|
|
95
302
|
paths,
|
|
303
|
+
height,
|
|
304
|
+
width,
|
|
96
305
|
diameter,
|
|
97
306
|
innerRadius,
|
|
98
307
|
radius,
|
|
99
308
|
popupData,
|
|
100
|
-
touchHandler
|
|
309
|
+
touchHandler,
|
|
310
|
+
cx,
|
|
311
|
+
cy
|
|
101
312
|
};
|
|
102
313
|
}
|
|
103
314
|
//# sourceMappingURL=usePieChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","rect","Skia","getRandomRGBColor","deegreesToRadians","degrees","Math","PI","ypoint","angle","radius","cy","sin","xpoint","cx","cos","getCircularPoints","startAngle","x1","y1","x2","y2","usePieChart","slices","style","onSliceTouch","popupData","setPopupData","undefined","diameter","innerRadius","total","reduce","sum","slice","value","paths","map","color","index","sweepAngle","cx1","cy1","cx2","cy2","path","Path","Make","moveTo","lineTo","addArc","close","touchHandler","locationX","locationY","foundPath","angles","forEach","lastAngle","contains","label","outerX","innerX","outerY","innerY","centerY","centerX","data","console","log"],"sourceRoot":"../../../../src","sources":["skia/PieChart/usePieChart.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useMemo","useState","rect","Skia","getRandomRGBColor","degreesToRadians","degrees","Math","PI","ypoint","angle","radius","cy","sin","xpoint","cx","cos","euclideanDistance","dx","dy","hypot","getProportionPoint","point","segment","length","factor","x","y","atan2","drawRoundedCorner","path","angularPoint","p1","p2","dx1","dy1","dx2","dy2","angleHalf","tan","abs","length1","length2","min","p1Cross","p2Cross","L","d","circlePoint","startAngle","endAngle","sweepAngle","temp","moveTo","addArc","lineTo","close","drawLines","points","i","getCircularPoints","x1","y1","x2","y2","usePieChart","slices","style","onSliceTouch","popupData","setPopupData","undefined","diameter","width","height","innerRadius","max","interSliceGap","paths","total","reduce","sum","slice","value","map","color","givenRoundRadius","index","sweepAngleTobeAdded","currentStartAngle","outerCircleLength","innerCircleLength","roundRadius","angleReductionForGap","angleReductionForRounding","angleReductionForInnerCircle","innerCircleStartAngle","innerCircleSweepAngle","boundaryCircleStartingAngle","boundaryCircleSweepAngle","innerCircleBoundaryStartingAngle","innerCircleBoundarySweepAngle","cx1","cy1","cx2","cy2","rx1","ry1","rx2","ry2","ix1","iy1","ix2","iy2","cix1","ciy1","cix2","ciy2","rix1","riy1","rix2","riy2","Path","Make","touchHandler","locationX","locationY","foundPath","angles","forEach","lastAngle","contains","outerX","innerX","outerY","innerY","centerY","centerX","data","console","log"],"sourceRoot":"../../../../src","sources":["skia/PieChart/usePieChart.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/skia/Popup.js
CHANGED
|
@@ -35,19 +35,21 @@ export default function Popup({
|
|
|
35
35
|
touchHandler?.(x - viewOffset.x, y - viewOffset.y);
|
|
36
36
|
},
|
|
37
37
|
children: [popupData && !Array.isArray(popupData) && /*#__PURE__*/_jsx(View, {
|
|
38
|
-
style:
|
|
38
|
+
style: {
|
|
39
39
|
position: 'absolute',
|
|
40
40
|
left: Math.max(0, Math.min(popupData.x, totalWidth - (popupStyle?.width ?? 0)) + viewOffset.x),
|
|
41
|
-
top: Math.max(0, Math.min(popupData.y, totalHeight - (popupStyle?.height ?? 0)) + viewOffset.y)
|
|
42
|
-
|
|
41
|
+
top: Math.max(0, Math.min(popupData.y, totalHeight - (popupStyle?.height ?? 0)) + viewOffset.y),
|
|
42
|
+
width: popupStyle.width,
|
|
43
|
+
height: popupStyle.height
|
|
44
|
+
},
|
|
43
45
|
onTouchStart: e => e.stopPropagation(),
|
|
44
46
|
children: popupStyle?.renderPopup(popupData.data)
|
|
45
47
|
}), popupData && Array.isArray(popupData) && popupData.map((popupItem, index) => /*#__PURE__*/_jsx(View, {
|
|
46
|
-
style:
|
|
48
|
+
style: {
|
|
47
49
|
position: 'absolute',
|
|
48
50
|
left: Math.max(0, Math.min(popupItem.x, totalWidth - (popupStyle?.width ?? 0)) + viewOffset.x),
|
|
49
51
|
top: Math.max(0, Math.min(popupItem.y, totalHeight - (popupStyle?.height ?? 0)) + viewOffset.y)
|
|
50
|
-
}
|
|
52
|
+
},
|
|
51
53
|
onTouchStart: e => e.stopPropagation(),
|
|
52
54
|
children: popupStyle?.renderPopup?.(popupItem.data)
|
|
53
55
|
}, index))]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Modal","View","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Popup","popupData","totalWidth","totalHeight","touchHandler","onTouchOutside","popupStyle","viewOffset","children","renderPopup","animationType","transparent","visible","onRequestClose","onTouchStart","e","console","log","style","flex","width","height","x","nativeEvent","pageX","y","pageY","Array","isArray","position","left","Math","max","min","top","stopPropagation","data","map","popupItem","index"],"sourceRoot":"../../../src","sources":["skia/Popup.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AA2B3C,eAAe,SAASC,KAAKA,CAAI;EAC/BC,SAAS;EACTC,UAAU;EACVC,WAAW;EACXC,YAAY;EACZC,cAAc;EACdC,UAAU;EACVC;AACa,CAAC,EAAE;EAChB,oBACEZ,IAAA,CAAAI,SAAA;IAAAS,QAAA,EACGP,SAAS,IAAIK,UAAU,EAAEG,WAAW,iBACnCd,IAAA,CAACH,KAAK;MACJkB,aAAa,EAAC,MAAM;MACpBC,WAAW,EAAE,IAAK;MAClBC,OAAO,EAAE,IAAK;MACdC,cAAc,EAAEA,CAAA,KAAM;QACpBR,cAAc,GAAG,CAAC;MACpB,CAAE;MACFS,YAAY,EAAGC,CAAC,IAAK;QACnBC,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;MAC/B,CAAE;MAAAT,QAAA,eAEFX,KAAA,CAACJ,IAAI;QACHyB,KAAK,EAAE;UACLC,IAAI,EAAE,CAAC;UACPC,KAAK,EAAE,MAAM;UACbC,MAAM,EAAE;QACV,CAAE;QACFP,YAAY,EAAGC,CAAC,IAAK;UACnB,MAAMO,CAAC,GAAGP,CAAC,CAACQ,WAAW,CAACC,KAAK;UAC7B,MAAMC,CAAC,GAAGV,CAAC,CAACQ,WAAW,CAACG,KAAK;UAC7BtB,YAAY,GAAGkB,CAAC,GAAGf,UAAU,CAACe,CAAC,EAAEG,CAAC,GAAGlB,UAAU,CAACkB,CAAC,CAAC;QACpD,CAAE;QAAAjB,QAAA,GAEDP,SAAS,IAAI,CAAC0B,KAAK,CAACC,OAAO,CAAC3B,SAAS,CAAC,iBACrCN,IAAA,CAACF,IAAI;UACHyB,KAAK,
|
|
1
|
+
{"version":3,"names":["React","Modal","View","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Popup","popupData","totalWidth","totalHeight","touchHandler","onTouchOutside","popupStyle","viewOffset","children","renderPopup","animationType","transparent","visible","onRequestClose","onTouchStart","e","console","log","style","flex","width","height","x","nativeEvent","pageX","y","pageY","Array","isArray","position","left","Math","max","min","top","stopPropagation","data","map","popupItem","index"],"sourceRoot":"../../../src","sources":["skia/Popup.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import { Platform } from "react-native";
|
|
5
|
-
export function getCommonStyleFont(style) {
|
|
6
|
-
const fontSize = style?.font?.getSize() ?? style?.fontSize ?? 12;
|
|
7
|
-
const font = style?.font ?? getFont(fontSize);
|
|
8
|
-
return {
|
|
9
|
-
font,
|
|
10
|
-
fontSize
|
|
11
|
-
};
|
|
12
|
-
}
|
|
3
|
+
import { I18nManager } from "react-native";
|
|
13
4
|
export function getPaddings(style) {
|
|
14
5
|
const paddingTop = style?.paddingTop ?? style?.padding ?? 0;
|
|
15
6
|
const paddingBottom = style?.paddingBottom ?? style?.padding ?? 0;
|
|
16
|
-
const
|
|
17
|
-
const
|
|
7
|
+
const isRTL = I18nManager.isRTL && !(style?.disableRTL ?? false);
|
|
8
|
+
const paddingLeft = style?.paddingLeft ?? (isRTL ? style?.paddingEnd : style?.paddingStart) ?? style?.padding ?? 0;
|
|
9
|
+
const paddingRight = style?.paddingRight ?? (isRTL ? style?.paddingStart : style?.paddingEnd) ?? style?.padding ?? 0;
|
|
18
10
|
const paddingHorizontal = paddingLeft + paddingRight;
|
|
19
11
|
const paddingVertical = paddingTop + paddingBottom;
|
|
20
12
|
return {
|
|
@@ -33,33 +25,4 @@ export function getRandomRGBColor() {
|
|
|
33
25
|
return `rgb(${r},${g},${b})`;
|
|
34
26
|
}
|
|
35
27
|
;
|
|
36
|
-
export const systemFontFamilies = Platform.select({
|
|
37
|
-
ios: ["Helvetica", "Arial", "Courier"],
|
|
38
|
-
android: ["roboto-flex", "sans-serif", "Roboto", "serif", "monospace"],
|
|
39
|
-
default: ["sans-serif", "serif"]
|
|
40
|
-
});
|
|
41
|
-
export function getFont(size = 14) {
|
|
42
|
-
const fontFamily = systemFontFamilies[0];
|
|
43
|
-
// console.log("Available system font families:", listFontFamilies());
|
|
44
|
-
// console.log("Using font family:", fontFamily, systemFontFamilies);
|
|
45
|
-
const font = matchFont({
|
|
46
|
-
fontFamily,
|
|
47
|
-
fontSize: size,
|
|
48
|
-
fontStyle: "normal",
|
|
49
|
-
fontWeight: "normal"
|
|
50
|
-
});
|
|
51
|
-
return font;
|
|
52
|
-
}
|
|
53
|
-
export const font = getFont();
|
|
54
|
-
function createParagraph(text) {
|
|
55
|
-
const paragraphStyle = {
|
|
56
|
-
textAlign: TextAlign.Center
|
|
57
|
-
};
|
|
58
|
-
const fontStyle = {
|
|
59
|
-
fontFamilies: systemFontFamilies,
|
|
60
|
-
fontSize: 14
|
|
61
|
-
};
|
|
62
|
-
const paragraph = Skia.ParagraphBuilder.Make(paragraphStyle).pushStyle(fontStyle).addText(text).pop().build();
|
|
63
|
-
return paragraph;
|
|
64
|
-
}
|
|
65
28
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["I18nManager","getPaddings","style","paddingTop","padding","paddingBottom","isRTL","disableRTL","paddingLeft","paddingEnd","paddingStart","paddingRight","paddingHorizontal","paddingVertical","getRandomRGBColor","r","Math","floor","random","g","b"],"sourceRoot":"../../../src","sources":["skia/common.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,cAAc;AAc1C,OAAO,SAASC,WAAWA,CAACC,KAAmB,EAAE;EAChD,MAAMC,UAAU,GAAGD,KAAK,EAAEC,UAAU,IAAID,KAAK,EAAEE,OAAO,IAAI,CAAC;EAC3D,MAAMC,aAAa,GAAGH,KAAK,EAAEG,aAAa,IAAIH,KAAK,EAAEE,OAAO,IAAI,CAAC;EACjE,MAAME,KAAK,GAAGN,WAAW,CAACM,KAAK,IAAI,EAAEJ,KAAK,EAAEK,UAAU,IAAI,KAAK,CAAC;EAEhE,MAAMC,WAAW,GAAGN,KAAK,EAAEM,WAAW,KAAKF,KAAK,GAAGJ,KAAK,EAAEO,UAAU,GAAGP,KAAK,EAAEQ,YAAY,CAAC,IAAIR,KAAK,EAAEE,OAAO,IAAI,CAAC;EAClH,MAAMO,YAAY,GAAGT,KAAK,EAAES,YAAY,KAAKL,KAAK,GAAGJ,KAAK,EAAEQ,YAAY,GAAGR,KAAK,EAAEO,UAAU,CAAC,IAAIP,KAAK,EAAEE,OAAO,IAAI,CAAC;EACpH,MAAMQ,iBAAiB,GAAGJ,WAAW,GAAGG,YAAY;EACpD,MAAME,eAAe,GAAGV,UAAU,GAAGE,aAAa;EAElD,OAAO;IACNF,UAAU;IACVE,aAAa;IACbG,WAAW;IACXG,YAAY;IACZC,iBAAiB;IACjBC;EACD,CAAC;AACF;AAEA,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EACnC,MAAMC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;EACzC,MAAMC,CAAC,GAAGH,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;EACzC,MAAME,CAAC,GAAGJ,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;EACzC,OAAO,OAAOH,CAAC,IAAII,CAAC,IAAIC,CAAC,GAAG;AAC7B;AAAC","ignoreList":[]}
|
|
@@ -9,4 +9,5 @@ export { default as RadarChart } from "./skia/RadarChart/RadarChart";
|
|
|
9
9
|
export * from "./skia/RadarChart/RadarChart";
|
|
10
10
|
export { default as HeatMap } from "./skia/HeatMap/HeatMap";
|
|
11
11
|
export * from "./skia/HeatMap/HeatMap";
|
|
12
|
+
export { type HandleOutSideTouch } from "./skia/common";
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC/D,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC/D,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAC/D,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAClE,cAAc,4BAA4B,CAAC;AAI3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACrE,cAAc,8BAA8B,CAAC;AAE7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5D,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
import { type CommonStyle } from '../common';
|
|
2
|
-
import { type AreaData } from './useAreaChart';
|
|
3
2
|
import { type PopupStyle } from '../Popup';
|
|
4
|
-
|
|
3
|
+
import { type VerticalLabelStyle } from "../Common/VerticalLabelView";
|
|
4
|
+
import { type HorizontalLabelStyle } from "../Common/HorizontalLabelView";
|
|
5
|
+
export interface AreaData {
|
|
6
|
+
values: number[];
|
|
7
|
+
label?: string;
|
|
8
|
+
color?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface AreaChartStyle extends CommonStyle, VerticalLabelStyle {
|
|
5
11
|
width: number;
|
|
6
12
|
height: number;
|
|
7
13
|
showPoints?: boolean;
|
|
8
14
|
pointRadius?: number;
|
|
9
15
|
lightenPointsBy?: number;
|
|
16
|
+
strokeWidth?: number;
|
|
17
|
+
verticalLabelStyle?: VerticalLabelStyle;
|
|
18
|
+
horizontalLabelStyle?: HorizontalLabelStyle;
|
|
10
19
|
}
|
|
11
20
|
export interface AreaChartProps {
|
|
12
21
|
data: AreaData[];
|
|
13
22
|
minValue?: number;
|
|
14
23
|
maxValue?: number;
|
|
15
24
|
xLabels?: string[];
|
|
25
|
+
yLabels: number[];
|
|
26
|
+
yLabelView?: (percentage: number, min: number, max: number) => JSX.Element;
|
|
27
|
+
xLabelView?: (label?: string) => JSX.Element;
|
|
16
28
|
style?: AreaChartStyle;
|
|
17
29
|
popupStyle: PopupStyle<{
|
|
18
30
|
rowIndex: number;
|
|
@@ -20,6 +32,6 @@ export interface AreaChartProps {
|
|
|
20
32
|
value: number;
|
|
21
33
|
}>;
|
|
22
34
|
}
|
|
23
|
-
declare function AreaChart(props: AreaChartProps): import("react").JSX.Element;
|
|
35
|
+
declare function AreaChart({ xLabelView, yLabelView, ...props }: AreaChartProps): import("react").JSX.Element;
|
|
24
36
|
export default AreaChart;
|
|
25
37
|
//# sourceMappingURL=AreaChart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AreaChart.d.ts","sourceRoot":"","sources":["../../../../../src/skia/AreaChart/AreaChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"AreaChart.d.ts","sourceRoot":"","sources":["../../../../../src/skia/AreaChart/AreaChart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAK7C,OAAc,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAClD,OAA0B,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAA4B,EAAE,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE/F,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW,EAAE,kBAAkB;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3E,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7C,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC;CAChF;AAED,iBAAS,SAAS,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAwHtE;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import { type SkPath } from "@shopify/react-native-skia";
|
|
2
2
|
import type { AreaChartProps } from "./AreaChart";
|
|
3
|
-
export interface AreaData {
|
|
4
|
-
values: number[];
|
|
5
|
-
label?: string;
|
|
6
|
-
color?: string;
|
|
7
|
-
}
|
|
8
3
|
interface Point {
|
|
9
4
|
x: number;
|
|
10
5
|
y: number;
|
|
@@ -16,17 +11,17 @@ export interface PathData {
|
|
|
16
11
|
color?: string;
|
|
17
12
|
label?: string;
|
|
18
13
|
}
|
|
19
|
-
export interface XLable {
|
|
20
|
-
label: string;
|
|
21
|
-
xPosition: number;
|
|
22
|
-
}
|
|
23
14
|
interface TouchLine {
|
|
24
15
|
col: number;
|
|
25
16
|
x: number;
|
|
26
17
|
y: number[];
|
|
27
18
|
values: number[];
|
|
28
19
|
}
|
|
29
|
-
|
|
20
|
+
interface XLabel {
|
|
21
|
+
label: string;
|
|
22
|
+
xPosition: number;
|
|
23
|
+
}
|
|
24
|
+
declare function useAreaChart({ data, xLabels, maxValue, minValue, style, yLabels, }: AreaChartProps): {
|
|
30
25
|
paths: PathData[];
|
|
31
26
|
chartWidth: number;
|
|
32
27
|
canvasHeight: number;
|
|
@@ -34,12 +29,16 @@ declare function useAreaChart({ data, xLabels, maxValue, minValue, style, }: Are
|
|
|
34
29
|
paddingTop: number;
|
|
35
30
|
paddingHorizontal: number;
|
|
36
31
|
areaCanvasHeight: number;
|
|
37
|
-
|
|
32
|
+
strokeWidth: number;
|
|
33
|
+
verticalLabelStrokeWidth: number;
|
|
34
|
+
yLabels: number[];
|
|
35
|
+
verticalLabelWidth: number;
|
|
36
|
+
setVerticalLabelWidth: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
38
37
|
maxValue: number;
|
|
39
38
|
minValue: number;
|
|
40
|
-
xLabelsData:
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
xLabelsData: XLabel[];
|
|
40
|
+
horizontalLabelHeight: number;
|
|
41
|
+
setHorizontalLabelHeight: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
43
42
|
touchHandler: (touchedX: number, touchedY: number) => void;
|
|
44
43
|
touchLine: TouchLine | undefined;
|
|
45
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAreaChart.d.ts","sourceRoot":"","sources":["../../../../../src/skia/AreaChart/useAreaChart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"useAreaChart.d.ts","sourceRoot":"","sources":["../../../../../src/skia/AreaChart/useAreaChart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,UAAU,KAAK;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED,MAAM,WAAW,QAAQ;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,SAAS;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,UAAU,MAAM;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,iBAAS,YAAY,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAAO,GACP,EAAE,cAAc;;;;;;;;;;;;;;;;;;6BA6FgB,MAAM,YAAY,MAAM;;EA6CxD;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type SkHostRect } from '@shopify/react-native-skia';
|
|
1
3
|
import { type CommonStyle } from '../common';
|
|
2
4
|
import { type PopupStyle } from '../Popup';
|
|
5
|
+
import { type VerticalLabelStyle } from "../Common/VerticalLabelView";
|
|
6
|
+
import { type HorizontalLabelStyle } from "../Common/HorizontalLabelView";
|
|
3
7
|
export interface StackValue {
|
|
4
8
|
value: number;
|
|
5
9
|
label: string;
|
|
@@ -16,15 +20,25 @@ export interface BarChartStyle extends CommonStyle {
|
|
|
16
20
|
barSpacing?: number;
|
|
17
21
|
firstBarLeadingSpacing?: number;
|
|
18
22
|
lastBarTrailingSpacing?: number;
|
|
23
|
+
verticalLabelStyle?: VerticalLabelStyle;
|
|
24
|
+
horizontalLabelStyle?: HorizontalLabelStyle;
|
|
19
25
|
}
|
|
20
26
|
export interface BarChartProps {
|
|
21
27
|
data: BarData[];
|
|
22
|
-
colors?: Record<string, string>;
|
|
28
|
+
colors?: Record<string, string | string[]>;
|
|
29
|
+
yLabels: number[];
|
|
30
|
+
yLabelView?: (percentage: number, min: number, max: number) => React.JSX.Element;
|
|
31
|
+
yLabelSkiaView?: (percentage: number, yPosition: number) => React.JSX.Element | undefined;
|
|
32
|
+
xLabelView?: (label?: string) => React.JSX.Element;
|
|
33
|
+
onSelectBarView?: (stackValue: StackValue, xLabel?: string) => React.JSX.Element | undefined;
|
|
34
|
+
barSkiaView?: (rect: SkHostRect, stackValue: StackValue, xLabel?: string) => React.JSX.Element | undefined;
|
|
35
|
+
onSelectBarSkiaView?: (rect: SkHostRect, stackValue: StackValue, xLabel?: string) => React.JSX.Element | undefined;
|
|
23
36
|
maxValue?: number;
|
|
24
37
|
minValue?: number;
|
|
38
|
+
overscanRatio?: number;
|
|
25
39
|
popupStyle?: PopupStyle<StackValue>;
|
|
26
40
|
style?: BarChartStyle;
|
|
27
41
|
}
|
|
28
|
-
declare function BarChart(props: BarChartProps):
|
|
42
|
+
declare function BarChart({ xLabelView, yLabelView, yLabelSkiaView, barSkiaView, onSelectBarSkiaView, onSelectBarView, ...props }: BarChartProps): React.JSX.Element;
|
|
29
43
|
export default BarChart;
|
|
30
44
|
//# sourceMappingURL=BarChart.d.ts.map
|