@bashem/rn-charts 0.0.3 → 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.
Files changed (79) hide show
  1. package/README.md +1 -1
  2. package/lib/module/skia/AreaChart/AreaChart.js +60 -51
  3. package/lib/module/skia/AreaChart/AreaChart.js.map +1 -1
  4. package/lib/module/skia/AreaChart/useAreaChart.js +18 -14
  5. package/lib/module/skia/AreaChart/useAreaChart.js.map +1 -1
  6. package/lib/module/skia/BarChart/BarChart.js +156 -69
  7. package/lib/module/skia/BarChart/BarChart.js.map +1 -1
  8. package/lib/module/skia/BarChart/useBarChart.js +53 -41
  9. package/lib/module/skia/BarChart/useBarChart.js.map +1 -1
  10. package/lib/module/skia/Common/HorizontalLabelView.js +121 -0
  11. package/lib/module/skia/Common/HorizontalLabelView.js.map +1 -0
  12. package/lib/module/skia/Common/VerticalLabelView.js +100 -0
  13. package/lib/module/skia/Common/VerticalLabelView.js.map +1 -0
  14. package/lib/module/skia/Common/useComponentLayout.js +13 -0
  15. package/lib/module/skia/Common/useComponentLayout.js.map +1 -0
  16. package/lib/module/skia/HeatMap/DateHeatMap.js +472 -0
  17. package/lib/module/skia/HeatMap/DateHeatMap.js.map +1 -0
  18. package/lib/module/skia/HeatMap/HeatMap.js +121 -33
  19. package/lib/module/skia/HeatMap/HeatMap.js.map +1 -1
  20. package/lib/module/skia/HeatMap/useHeatMap.js +132 -48
  21. package/lib/module/skia/HeatMap/useHeatMap.js.map +1 -1
  22. package/lib/module/skia/PieChart/PieChart.js +21 -17
  23. package/lib/module/skia/PieChart/PieChart.js.map +1 -1
  24. package/lib/module/skia/PieChart/usePieChart.js +241 -30
  25. package/lib/module/skia/PieChart/usePieChart.js.map +1 -1
  26. package/lib/module/skia/Popup.js +7 -5
  27. package/lib/module/skia/Popup.js.map +1 -1
  28. package/lib/module/skia/common.js +4 -41
  29. package/lib/module/skia/common.js.map +1 -1
  30. package/lib/typescript/src/index.d.ts +1 -0
  31. package/lib/typescript/src/index.d.ts.map +1 -1
  32. package/lib/typescript/src/skia/AreaChart/AreaChart.d.ts +15 -3
  33. package/lib/typescript/src/skia/AreaChart/AreaChart.d.ts.map +1 -1
  34. package/lib/typescript/src/skia/AreaChart/useAreaChart.d.ts +13 -14
  35. package/lib/typescript/src/skia/AreaChart/useAreaChart.d.ts.map +1 -1
  36. package/lib/typescript/src/skia/BarChart/BarChart.d.ts +16 -2
  37. package/lib/typescript/src/skia/BarChart/BarChart.d.ts.map +1 -1
  38. package/lib/typescript/src/skia/BarChart/useBarChart.d.ts +17 -5
  39. package/lib/typescript/src/skia/BarChart/useBarChart.d.ts.map +1 -1
  40. package/lib/typescript/src/skia/Common/HorizontalLabelView.d.ts +33 -0
  41. package/lib/typescript/src/skia/Common/HorizontalLabelView.d.ts.map +1 -0
  42. package/lib/typescript/src/skia/Common/VerticalLabelView.d.ts +24 -0
  43. package/lib/typescript/src/skia/Common/VerticalLabelView.d.ts.map +1 -0
  44. package/lib/typescript/src/skia/Common/useComponentLayout.d.ts +4 -0
  45. package/lib/typescript/src/skia/Common/useComponentLayout.d.ts.map +1 -0
  46. package/lib/typescript/src/skia/HeatMap/DateHeatMap.d.ts +1 -0
  47. package/lib/typescript/src/skia/HeatMap/DateHeatMap.d.ts.map +1 -0
  48. package/lib/typescript/src/skia/HeatMap/HeatMap.d.ts +28 -12
  49. package/lib/typescript/src/skia/HeatMap/HeatMap.d.ts.map +1 -1
  50. package/lib/typescript/src/skia/HeatMap/useHeatMap.d.ts +15 -4
  51. package/lib/typescript/src/skia/HeatMap/useHeatMap.d.ts.map +1 -1
  52. package/lib/typescript/src/skia/PieChart/PieChart.d.ts +5 -1
  53. package/lib/typescript/src/skia/PieChart/PieChart.d.ts.map +1 -1
  54. package/lib/typescript/src/skia/PieChart/usePieChart.d.ts +6 -1
  55. package/lib/typescript/src/skia/PieChart/usePieChart.d.ts.map +1 -1
  56. package/lib/typescript/src/skia/Popup.d.ts.map +1 -1
  57. package/lib/typescript/src/skia/common.d.ts +3 -10
  58. package/lib/typescript/src/skia/common.d.ts.map +1 -1
  59. package/package.json +11 -8
  60. package/src/index.tsx +6 -4
  61. package/src/skia/AreaChart/AreaChart.tsx +85 -62
  62. package/src/skia/AreaChart/useAreaChart.ts +25 -26
  63. package/src/skia/BarChart/BarChart.tsx +163 -95
  64. package/src/skia/BarChart/useBarChart.ts +55 -44
  65. package/src/skia/Common/HorizontalLabelView.tsx +153 -0
  66. package/src/skia/Common/VerticalLabelView.tsx +113 -0
  67. package/src/skia/Common/useComponentLayout.ts +14 -0
  68. package/src/skia/HeatMap/DateHeatMap.tsx +470 -0
  69. package/src/skia/HeatMap/HeatMap.tsx +168 -54
  70. package/src/skia/HeatMap/useHeatMap.ts +139 -65
  71. package/src/skia/PieChart/PieChart.tsx +16 -11
  72. package/src/skia/PieChart/usePieChart.ts +316 -66
  73. package/src/skia/Popup.tsx +38 -36
  74. package/src/skia/common.ts +8 -46
  75. package/lib/module/skia/Common/VerticalLabel.js +0 -73
  76. package/lib/module/skia/Common/VerticalLabel.js.map +0 -1
  77. package/lib/typescript/src/skia/Common/VerticalLabel.d.ts +0 -17
  78. package/lib/typescript/src/skia/Common/VerticalLabel.d.ts.map +0 -1
  79. 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 deegreesToRadians(degrees) {
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(deegreesToRadians(angle));
10
+ return cy - radius * Math.sin(degreesToRadians(angle));
11
11
  }
12
12
  function xpoint(angle, radius, cx) {
13
- return cx - radius * Math.cos(deegreesToRadians(angle));
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 innerRadius = style.innerRadius ?? 100;
31
- const cx = radius;
32
- const cy = radius;
33
- const total = slices.reduce((sum, slice) => sum + slice.value, 0);
34
- let startAngle = 0;
35
- const paths = slices.map(({
36
- value,
37
- color
38
- }, index) => {
39
- const sweepAngle = value / total * 360;
40
- let [x1, y1, x2, y2] = getCircularPoints(startAngle, radius, sweepAngle, cx, cy);
41
- let [cx1, cy1, cx2, cy2] = getCircularPoints(startAngle, innerRadius, sweepAngle, cx, cy);
42
- const path = Skia.Path.Make();
43
- path.moveTo(cx1, cy1);
44
- path.lineTo(x1, y1);
45
- path.addArc(rect(cx - radius, cy - radius, radius * 2, radius * 2), startAngle + 180, sweepAngle);
46
- path.lineTo(cx2, cy2);
47
- path.addArc(rect(cx - innerRadius, cy - innerRadius, innerRadius * 2, innerRadius * 2), startAngle + 180 + sweepAngle, -sweepAngle);
48
- path.lineTo(x1, y1);
49
- path.close();
50
- startAngle += sweepAngle;
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
- path,
53
- color: color ?? getRandomRGBColor()
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":[]}
@@ -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":"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","ignoreList":[]}
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 { matchFont, Skia, TextAlign } from "@shopify/react-native-skia";
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 paddingLeft = style?.paddingLeft ?? style?.paddingStart ?? style?.padding ?? 0;
17
- const paddingRight = style?.paddingRight ?? style?.paddingEnd ?? style?.padding ?? 0;
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":["matchFont","Skia","TextAlign","Platform","getCommonStyleFont","style","fontSize","font","getSize","getFont","getPaddings","paddingTop","padding","paddingBottom","paddingLeft","paddingStart","paddingRight","paddingEnd","paddingHorizontal","paddingVertical","getRandomRGBColor","r","Math","floor","random","g","b","systemFontFamilies","select","ios","android","default","size","fontFamily","fontStyle","fontWeight","createParagraph","text","paragraphStyle","textAlign","Center","fontFamilies","paragraph","ParagraphBuilder","Make","pushStyle","addText","pop","build"],"sourceRoot":"../../../src","sources":["skia/common.ts"],"mappings":"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","ignoreList":[]}
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,CAAA;AAC9D,cAAc,0BAA0B,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACjE,cAAc,4BAA4B,CAAC;AAI3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACpE,cAAc,8BAA8B,CAAC;AAE7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAC3D,cAAc,wBAAwB,CAAC"}
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
- export interface AreaChartStyle extends CommonStyle {
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;AAG7C,OAAqB,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG7D,OAAc,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,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;CAC1B;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,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,cAAc,+BA8GvC;AAED,eAAe,SAAS,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
- declare function useAreaChart({ data, xLabels, maxValue, minValue, style, }: AreaChartProps): {
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
- labelWidth: number;
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: XLable[];
41
- xLabelHeight: number;
42
- font: import("@shopify/react-native-skia").SkFont;
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,EAAkB,MAAM,aAAa,CAAC;AAGlE,MAAM,WAAW,QAAQ;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,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,MAAM,WAAW,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CAClB;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,iBAAS,YAAY,CAAC,EACrB,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,KAAK,GACL,EAAE,cAAc;;;;;;;;;;;;;;6BA6FgB,MAAM,YAAY,MAAM;;EAyCxD;AAED,eAAe,YAAY,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): import("react").JSX.Element;
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