react-native-chart-kit 7.0.0-next.2 → 7.0.0

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 (78) hide show
  1. package/README.md +89 -522
  2. package/dist/charts/line/LineChart.d.ts +3 -3
  3. package/dist/charts/line/LineChart.js +1 -1
  4. package/dist/v2/react-native/charts/bar/BarChart.d.ts +1 -1
  5. package/dist/v2/react-native/charts/bar/BarChart.d.ts.map +1 -1
  6. package/dist/v2/react-native/charts/bar/BarChart.js +1 -0
  7. package/dist/v2/react-native/charts/bar/BarChartSurface.d.ts +3 -3
  8. package/dist/v2/react-native/charts/bar/BarChartSurface.d.ts.map +1 -1
  9. package/dist/v2/react-native/charts/bar/BarChartSurface.js +53 -45
  10. package/dist/v2/react-native/charts/bar/StackedBarChart.d.ts +1 -1
  11. package/dist/v2/react-native/charts/bar/StackedBarChart.d.ts.map +1 -1
  12. package/dist/v2/react-native/charts/bar/tooltip.d.ts +1 -1
  13. package/dist/v2/react-native/charts/bar/tooltip.d.ts.map +1 -1
  14. package/dist/v2/react-native/charts/bar/tooltip.js +5 -2
  15. package/dist/v2/react-native/charts/bar/tooltipModel.d.ts.map +1 -1
  16. package/dist/v2/react-native/charts/bar/tooltipModel.js +14 -8
  17. package/dist/v2/react-native/charts/bar/types.d.ts +1 -1
  18. package/dist/v2/react-native/charts/bar/types.d.ts.map +1 -1
  19. package/dist/v2/react-native/charts/contribution/ContributionGraph.d.ts +2 -2
  20. package/dist/v2/react-native/charts/contribution/ContributionGraph.d.ts.map +1 -1
  21. package/dist/v2/react-native/charts/contribution/ContributionGraph.js +104 -10
  22. package/dist/v2/react-native/charts/contribution/interaction.d.ts +23 -0
  23. package/dist/v2/react-native/charts/contribution/interaction.d.ts.map +1 -0
  24. package/dist/v2/react-native/charts/contribution/interaction.js +75 -0
  25. package/dist/v2/react-native/charts/contribution/types.d.ts +21 -0
  26. package/dist/v2/react-native/charts/contribution/types.d.ts.map +1 -1
  27. package/dist/v2/react-native/charts/line/AreaChart.d.ts +1 -1
  28. package/dist/v2/react-native/charts/line/AreaChart.d.ts.map +1 -1
  29. package/dist/v2/react-native/charts/line/ChartSurface.d.ts +1 -1
  30. package/dist/v2/react-native/charts/line/ChartSurface.d.ts.map +1 -1
  31. package/dist/v2/react-native/charts/line/LineChart.d.ts +1 -1
  32. package/dist/v2/react-native/charts/line/LineChart.d.ts.map +1 -1
  33. package/dist/v2/react-native/charts/line/StickyYAxis.d.ts +1 -1
  34. package/dist/v2/react-native/charts/line/StickyYAxis.d.ts.map +1 -1
  35. package/dist/v2/react-native/charts/line/defaultTooltip.d.ts +1 -1
  36. package/dist/v2/react-native/charts/line/defaultTooltip.d.ts.map +1 -1
  37. package/dist/v2/react-native/charts/line/legend.d.ts +1 -1
  38. package/dist/v2/react-native/charts/line/legend.d.ts.map +1 -1
  39. package/dist/v2/react-native/charts/line/markers.d.ts +1 -1
  40. package/dist/v2/react-native/charts/line/markers.d.ts.map +1 -1
  41. package/dist/v2/react-native/charts/line/rangeSelector.d.ts +1 -1
  42. package/dist/v2/react-native/charts/line/rangeSelector.d.ts.map +1 -1
  43. package/dist/v2/react-native/charts/line/rangeSelector.js +27 -18
  44. package/dist/v2/react-native/charts/line/responders.d.ts.map +1 -1
  45. package/dist/v2/react-native/charts/line/responders.js +3 -0
  46. package/dist/v2/react-native/charts/line/thresholdRendering.d.ts +3 -3
  47. package/dist/v2/react-native/charts/line/thresholdRendering.d.ts.map +1 -1
  48. package/dist/v2/react-native/charts/pie/PieChart.d.ts +2 -2
  49. package/dist/v2/react-native/charts/pie/PieChart.d.ts.map +1 -1
  50. package/dist/v2/react-native/charts/pie/PieChart.js +12 -3
  51. package/dist/v2/react-native/charts/pie/slices.d.ts +1 -1
  52. package/dist/v2/react-native/charts/pie/slices.d.ts.map +1 -1
  53. package/dist/v2/react-native/charts/progress/ProgressChart.d.ts +2 -2
  54. package/dist/v2/react-native/charts/progress/ProgressChart.d.ts.map +1 -1
  55. package/dist/v2/react-native/index.d.ts +1 -1
  56. package/dist/v2/react-native/index.d.ts.map +1 -1
  57. package/dist/v2/react-native/selection/ChartSelectionProvider.d.ts +1 -1
  58. package/dist/v2/react-native/selection/ChartSelectionProvider.d.ts.map +1 -1
  59. package/dist/v2/react-native/theme/presets.js +39 -39
  60. package/dist/v2/react-native/theme/provider.d.ts +1 -1
  61. package/dist/v2/react-native/theme/provider.d.ts.map +1 -1
  62. package/dist/v2/react-native/viewport/pinchZoom.d.ts +1 -1
  63. package/dist/v2/react-native/viewport/pinchZoom.d.ts.map +1 -1
  64. package/dist/v2/svg-renderer/defs.d.ts +2 -2
  65. package/dist/v2/svg-renderer/defs.d.ts.map +1 -1
  66. package/dist/v2/svg-renderer/layers.d.ts +1 -1
  67. package/dist/v2/svg-renderer/layers.d.ts.map +1 -1
  68. package/dist/v2/svg-renderer/primitives.d.ts +9 -9
  69. package/dist/v2/svg-renderer/primitives.d.ts.map +1 -1
  70. package/dist/v2/svg-renderer/symbols.d.ts +1 -1
  71. package/dist/v2/svg-renderer/symbols.d.ts.map +1 -1
  72. package/package.json +57 -5
  73. package/dist/v2/react-native/charts/line/viewportInteractionConfig.d.ts +0 -3
  74. package/dist/v2/react-native/charts/line/viewportInteractionConfig.d.ts.map +0 -1
  75. package/dist/v2/react-native/charts/line/viewportInteractionConfig.js +0 -1
  76. package/dist/v2/react-native/viewport/panResponder.d.ts +0 -14
  77. package/dist/v2/react-native/viewport/panResponder.d.ts.map +0 -1
  78. package/dist/v2/react-native/viewport/panResponder.js +0 -115
@@ -1,115 +0,0 @@
1
- /* eslint-disable react-hooks/refs -- PanResponder stores callbacks during creation; refs keep gesture state outside render. */
2
- import { useMemo, useRef } from "react";
3
- import { PanResponder } from "react-native";
4
- import { resolveChartViewportWindowFromPanDelta } from "../../core/index";
5
- import { getChartViewportPanDeltaPoints, resolveChartViewportInteractionConfig } from "./config";
6
- const isSameViewportWindow = (first, second) => first.startIndex === second.startIndex && first.endIndex === second.endIndex;
7
- const emitViewportChange = ({ nextWindow, onViewportChange }) => {
8
- onViewportChange?.({
9
- viewport: {
10
- startIndex: nextWindow.startIndex,
11
- endIndex: nextWindow.endIndex
12
- },
13
- startIndex: nextWindow.startIndex,
14
- endIndex: nextWindow.endIndex,
15
- visibleCount: nextWindow.visibleCount,
16
- itemCount: nextWindow.itemCount,
17
- isWindowed: nextWindow.isWindowed,
18
- source: "mainPlot",
19
- interaction: "pan"
20
- });
21
- };
22
- export const useChartViewportPanResponder = ({ dataLength, enabled, onPress, onViewportChange, plotBounds, preventBrowserSelection, viewportInteraction, viewportWindow }) => {
23
- const panStateRef = useRef(undefined);
24
- return useMemo(() => {
25
- const config = resolveChartViewportInteractionConfig(viewportInteraction);
26
- const canPan = enabled &&
27
- config.pan &&
28
- onViewportChange !== undefined &&
29
- dataLength > viewportWindow.visibleCount &&
30
- viewportWindow.visibleCount > 0 &&
31
- plotBounds.width > 0;
32
- const isEnabled = canPan || onPress !== undefined;
33
- const startPan = () => {
34
- panStateRef.current = {
35
- didPan: false,
36
- lastWindow: viewportWindow,
37
- startWindow: viewportWindow
38
- };
39
- config.onGestureStart?.({ interaction: "pan" });
40
- };
41
- const updatePan = (gestureState) => {
42
- const panState = panStateRef.current;
43
- if (!canPan || !panState) {
44
- return;
45
- }
46
- if (Math.abs(gestureState.dx) < config.minPanDistance) {
47
- return;
48
- }
49
- const deltaPoints = getChartViewportPanDeltaPoints({
50
- currentLocationX: gestureState.dx,
51
- plotWidth: plotBounds.width,
52
- startLocationX: 0,
53
- visibleCount: panState.startWindow.visibleCount
54
- });
55
- if (deltaPoints === 0) {
56
- return;
57
- }
58
- const nextWindow = resolveChartViewportWindowFromPanDelta({
59
- currentWindow: panState.startWindow,
60
- deltaPoints,
61
- itemCount: dataLength
62
- });
63
- if (isSameViewportWindow(nextWindow, panState.lastWindow)) {
64
- return;
65
- }
66
- panStateRef.current = {
67
- ...panState,
68
- didPan: true,
69
- lastWindow: nextWindow
70
- };
71
- emitViewportChange({ nextWindow, onViewportChange });
72
- };
73
- const endPan = (event) => {
74
- const didPan = panStateRef.current?.didPan ?? false;
75
- if (panStateRef.current) {
76
- panStateRef.current = undefined;
77
- config.onGestureEnd?.({ interaction: "pan" });
78
- }
79
- if (!didPan) {
80
- onPress?.(event);
81
- }
82
- };
83
- return PanResponder.create({
84
- onMoveShouldSetPanResponder: (_event, gestureState) => canPan && Math.abs(gestureState.dx) >= config.minPanDistance,
85
- onPanResponderGrant: (event) => {
86
- preventBrowserSelection(event);
87
- if (canPan) {
88
- startPan();
89
- }
90
- },
91
- onPanResponderMove: (event, gestureState) => {
92
- preventBrowserSelection(event);
93
- updatePan(gestureState);
94
- },
95
- onPanResponderRelease: endPan,
96
- onPanResponderTerminate: () => {
97
- if (panStateRef.current) {
98
- panStateRef.current = undefined;
99
- config.onGestureEnd?.({ interaction: "pan" });
100
- }
101
- },
102
- onShouldBlockNativeResponder: () => canPan && config.lockParentScroll,
103
- onStartShouldSetPanResponder: () => isEnabled
104
- });
105
- }, [
106
- dataLength,
107
- enabled,
108
- onPress,
109
- onViewportChange,
110
- plotBounds.width,
111
- preventBrowserSelection,
112
- viewportInteraction,
113
- viewportWindow
114
- ]);
115
- };