react-native-wagmi-charts 2.9.0 → 2.10.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 (218) hide show
  1. package/README.md +143 -66
  2. package/lib/commonjs/charts/candle/Candle.js +92 -177
  3. package/lib/commonjs/charts/candle/Candles.js +39 -66
  4. package/lib/commonjs/charts/candle/Chart.js +26 -37
  5. package/lib/commonjs/charts/candle/Context.js +49 -69
  6. package/lib/commonjs/charts/candle/Crosshair.js +82 -183
  7. package/lib/commonjs/charts/candle/Crosshair.js.map +1 -1
  8. package/lib/commonjs/charts/candle/CrosshairTooltip.js +61 -140
  9. package/lib/commonjs/charts/candle/DatetimeText.js +14 -19
  10. package/lib/commonjs/charts/candle/Line.js +27 -73
  11. package/lib/commonjs/charts/candle/PriceText.js +14 -19
  12. package/lib/commonjs/charts/candle/index.js +64 -67
  13. package/lib/commonjs/charts/candle/types.js +4 -4
  14. package/lib/commonjs/charts/candle/useCandleData.js +12 -9
  15. package/lib/commonjs/charts/candle/useCandlestickChart.js +7 -9
  16. package/lib/commonjs/charts/candle/useDatetime.js +18 -16
  17. package/lib/commonjs/charts/candle/usePrice.js +22 -21
  18. package/lib/commonjs/charts/candle/utils/getDomain.js +9 -5
  19. package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -1
  20. package/lib/commonjs/charts/candle/utils/getHeight.js +11 -12
  21. package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -1
  22. package/lib/commonjs/charts/candle/utils/getPrice.js +11 -12
  23. package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -1
  24. package/lib/commonjs/charts/candle/utils/getY.js +11 -12
  25. package/lib/commonjs/charts/candle/utils/getY.js.map +1 -1
  26. package/lib/commonjs/charts/candle/utils/index.js +16 -16
  27. package/lib/commonjs/charts/line/Axis.js +148 -268
  28. package/lib/commonjs/charts/line/Chart.js +62 -129
  29. package/lib/commonjs/charts/line/Chart.js.map +1 -1
  30. package/lib/commonjs/charts/line/ChartPath.js +105 -285
  31. package/lib/commonjs/charts/line/Context.js +37 -95
  32. package/lib/commonjs/charts/line/Cursor.js +74 -125
  33. package/lib/commonjs/charts/line/Cursor.js.map +1 -1
  34. package/lib/commonjs/charts/line/CursorCrosshair.js +56 -134
  35. package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
  36. package/lib/commonjs/charts/line/CursorLine.js +67 -152
  37. package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
  38. package/lib/commonjs/charts/line/Data.js +34 -73
  39. package/lib/commonjs/charts/line/DatetimeText.js +15 -20
  40. package/lib/commonjs/charts/line/Dot.js +56 -149
  41. package/lib/commonjs/charts/line/Gradient.js +53 -124
  42. package/lib/commonjs/charts/line/Group.js +23 -54
  43. package/lib/commonjs/charts/line/Group.js.map +1 -1
  44. package/lib/commonjs/charts/line/Highlight.js +47 -115
  45. package/lib/commonjs/charts/line/HorizontalLine.js +39 -92
  46. package/lib/commonjs/charts/line/HoverTrap/index.js +7 -10
  47. package/lib/commonjs/charts/line/HoverTrap/index.web.js +43 -48
  48. package/lib/commonjs/charts/line/LineChartPathContext.js +11 -14
  49. package/lib/commonjs/charts/line/Path.js +32 -78
  50. package/lib/commonjs/charts/line/PriceText.js +36 -78
  51. package/lib/commonjs/charts/line/Tooltip.js +102 -188
  52. package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
  53. package/lib/commonjs/charts/line/index.js +65 -65
  54. package/lib/commonjs/charts/line/types.js +4 -4
  55. package/lib/commonjs/charts/line/useAnimatedPath.js +22 -27
  56. package/lib/commonjs/charts/line/useCurrentY.js +17 -17
  57. package/lib/commonjs/charts/line/useDatetime.js +28 -32
  58. package/lib/commonjs/charts/line/useLineChart.js +15 -20
  59. package/lib/commonjs/charts/line/usePrice.js +26 -28
  60. package/lib/commonjs/charts/line/utils/getArea.js +14 -47
  61. package/lib/commonjs/charts/line/utils/getDomain.js +8 -5
  62. package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -1
  63. package/lib/commonjs/charts/line/utils/getPath.js +14 -53
  64. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js +5 -8
  65. package/lib/commonjs/charts/line/utils/index.js +19 -19
  66. package/lib/commonjs/charts/line/utils/interpolatePath.js +60 -100
  67. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +5 -5
  68. package/lib/commonjs/components/AnimatedText.js +29 -67
  69. package/lib/commonjs/index.js +19 -19
  70. package/lib/commonjs/types.js +2 -2
  71. package/lib/commonjs/utils/formatDatetime.js +9 -5
  72. package/lib/commonjs/utils/formatPrice.js +6 -10
  73. package/lib/commonjs/utils/index.js +13 -13
  74. package/lib/commonjs/utils/usePrevious.js +6 -8
  75. package/lib/module/charts/candle/Candle.js +76 -126
  76. package/lib/module/charts/candle/Candles.js +30 -52
  77. package/lib/module/charts/candle/Chart.js +19 -22
  78. package/lib/module/charts/candle/Context.js +29 -47
  79. package/lib/module/charts/candle/Crosshair.js +69 -142
  80. package/lib/module/charts/candle/Crosshair.js.map +1 -1
  81. package/lib/module/charts/candle/CrosshairTooltip.js +51 -101
  82. package/lib/module/charts/candle/DatetimeText.js +5 -5
  83. package/lib/module/charts/candle/Line.js +19 -37
  84. package/lib/module/charts/candle/PriceText.js +5 -5
  85. package/lib/module/charts/candle/index.js +2 -2
  86. package/lib/module/charts/candle/types.js +1 -1
  87. package/lib/module/charts/candle/useCandleData.js +7 -3
  88. package/lib/module/charts/candle/useCandlestickChart.js +1 -1
  89. package/lib/module/charts/candle/useDatetime.js +12 -10
  90. package/lib/module/charts/candle/usePrice.js +14 -12
  91. package/lib/module/charts/candle/utils/getDomain.js +6 -2
  92. package/lib/module/charts/candle/utils/getDomain.js.map +1 -1
  93. package/lib/module/charts/candle/utils/getHeight.js +8 -9
  94. package/lib/module/charts/candle/utils/getHeight.js.map +1 -1
  95. package/lib/module/charts/candle/utils/getPrice.js +8 -4
  96. package/lib/module/charts/candle/utils/getPrice.js.map +1 -1
  97. package/lib/module/charts/candle/utils/getY.js +8 -4
  98. package/lib/module/charts/candle/utils/getY.js.map +1 -1
  99. package/lib/module/charts/candle/utils/index.js +1 -1
  100. package/lib/module/charts/line/Axis.js +113 -189
  101. package/lib/module/charts/line/Chart.js +40 -73
  102. package/lib/module/charts/line/Chart.js.map +1 -1
  103. package/lib/module/charts/line/ChartPath.js +90 -238
  104. package/lib/module/charts/line/Context.js +29 -61
  105. package/lib/module/charts/line/Cursor.js +61 -82
  106. package/lib/module/charts/line/Cursor.js.map +1 -1
  107. package/lib/module/charts/line/CursorCrosshair.js +47 -99
  108. package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
  109. package/lib/module/charts/line/CursorLine.js +52 -107
  110. package/lib/module/charts/line/CursorLine.js.map +1 -1
  111. package/lib/module/charts/line/Data.js +28 -41
  112. package/lib/module/charts/line/DatetimeText.js +5 -5
  113. package/lib/module/charts/line/Dot.js +39 -93
  114. package/lib/module/charts/line/Gradient.js +41 -79
  115. package/lib/module/charts/line/Group.js +14 -15
  116. package/lib/module/charts/line/Group.js.map +1 -1
  117. package/lib/module/charts/line/Highlight.js +32 -61
  118. package/lib/module/charts/line/HorizontalLine.js +27 -49
  119. package/lib/module/charts/line/HoverTrap/index.js +2 -3
  120. package/lib/module/charts/line/HoverTrap/index.web.js +34 -34
  121. package/lib/module/charts/line/LineChartPathContext.js +3 -3
  122. package/lib/module/charts/line/Path.js +20 -33
  123. package/lib/module/charts/line/PriceText.js +25 -42
  124. package/lib/module/charts/line/Tooltip.js +89 -151
  125. package/lib/module/charts/line/Tooltip.js.map +1 -1
  126. package/lib/module/charts/line/index.js +2 -2
  127. package/lib/module/charts/line/types.js +1 -1
  128. package/lib/module/charts/line/useAnimatedPath.js +16 -22
  129. package/lib/module/charts/line/useCurrentY.js +9 -4
  130. package/lib/module/charts/line/useDatetime.js +22 -26
  131. package/lib/module/charts/line/useLineChart.js +7 -10
  132. package/lib/module/charts/line/usePrice.js +20 -22
  133. package/lib/module/charts/line/utils/getArea.js +8 -15
  134. package/lib/module/charts/line/utils/getDomain.js +5 -2
  135. package/lib/module/charts/line/utils/getDomain.js.map +1 -1
  136. package/lib/module/charts/line/utils/getPath.js +8 -21
  137. package/lib/module/charts/line/utils/getXPositionForCurve.js +2 -5
  138. package/lib/module/charts/line/utils/index.js +1 -1
  139. package/lib/module/charts/line/utils/interpolatePath.js +57 -97
  140. package/lib/module/charts/line/utils/lineChartDataPropToArray.js +2 -2
  141. package/lib/module/components/AnimatedText.js +21 -25
  142. package/lib/module/index.js +1 -1
  143. package/lib/module/types.js +2 -1
  144. package/lib/module/utils/formatDatetime.js +6 -2
  145. package/lib/module/utils/formatPrice.js +3 -7
  146. package/lib/module/utils/index.js +1 -1
  147. package/lib/module/utils/usePrevious.js +1 -1
  148. package/lib/typescript/src/charts/candle/Candle.d.ts +31 -45
  149. package/lib/typescript/src/charts/candle/Candles.d.ts +13 -24
  150. package/lib/typescript/src/charts/candle/Chart.d.ts +7 -12
  151. package/lib/typescript/src/charts/candle/Context.d.ts +7 -12
  152. package/lib/typescript/src/charts/candle/Crosshair.d.ts +9 -17
  153. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts +8 -15
  154. package/lib/typescript/src/charts/candle/DatetimeText.d.ts +9 -15
  155. package/lib/typescript/src/charts/candle/Line.d.ts +5 -10
  156. package/lib/typescript/src/charts/candle/PriceText.d.ts +7 -13
  157. package/lib/typescript/src/charts/candle/index.d.ts +13 -32
  158. package/lib/typescript/src/charts/candle/types.d.ts +16 -16
  159. package/lib/typescript/src/charts/candle/useCandleData.d.ts +1 -1
  160. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts +1 -1
  161. package/lib/typescript/src/charts/candle/useDatetime.d.ts +9 -13
  162. package/lib/typescript/src/charts/candle/usePrice.d.ts +7 -11
  163. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +1 -1
  164. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts.map +1 -1
  165. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +5 -9
  166. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +5 -9
  167. package/lib/typescript/src/charts/candle/utils/getY.d.ts +5 -9
  168. package/lib/typescript/src/charts/candle/utils/index.d.ts +1 -1
  169. package/lib/typescript/src/charts/line/Axis.d.ts +14 -27
  170. package/lib/typescript/src/charts/line/Chart.d.ts +23 -33
  171. package/lib/typescript/src/charts/line/Chart.d.ts.map +1 -1
  172. package/lib/typescript/src/charts/line/ChartPath.d.ts +15 -28
  173. package/lib/typescript/src/charts/line/Context.d.ts +9 -16
  174. package/lib/typescript/src/charts/line/Cursor.d.ts +14 -22
  175. package/lib/typescript/src/charts/line/Cursor.d.ts.map +1 -1
  176. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +11 -23
  177. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts.map +1 -1
  178. package/lib/typescript/src/charts/line/CursorLine.d.ts +9 -15
  179. package/lib/typescript/src/charts/line/CursorLine.d.ts.map +1 -1
  180. package/lib/typescript/src/charts/line/Data.d.ts +13 -17
  181. package/lib/typescript/src/charts/line/DatetimeText.d.ts +8 -14
  182. package/lib/typescript/src/charts/line/Dot.d.ts +25 -38
  183. package/lib/typescript/src/charts/line/Gradient.d.ts +5 -9
  184. package/lib/typescript/src/charts/line/Group.d.ts +3 -6
  185. package/lib/typescript/src/charts/line/Group.d.ts.map +1 -1
  186. package/lib/typescript/src/charts/line/Highlight.d.ts +9 -17
  187. package/lib/typescript/src/charts/line/HorizontalLine.d.ts +22 -30
  188. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +1 -1
  189. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +1 -1
  190. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts +4 -4
  191. package/lib/typescript/src/charts/line/Path.d.ts +23 -28
  192. package/lib/typescript/src/charts/line/PriceText.d.ts +20 -28
  193. package/lib/typescript/src/charts/line/Tooltip.d.ts +20 -32
  194. package/lib/typescript/src/charts/line/index.d.ts +20 -33
  195. package/lib/typescript/src/charts/line/types.d.ts +17 -19
  196. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +7 -10
  197. package/lib/typescript/src/charts/line/useCurrentY.d.ts +2 -2
  198. package/lib/typescript/src/charts/line/useDatetime.d.ts +7 -11
  199. package/lib/typescript/src/charts/line/useLineChart.d.ts +10 -10
  200. package/lib/typescript/src/charts/line/usePrice.d.ts +7 -11
  201. package/lib/typescript/src/charts/line/utils/getArea.d.ts +9 -17
  202. package/lib/typescript/src/charts/line/utils/getDomain.d.ts +1 -1
  203. package/lib/typescript/src/charts/line/utils/getDomain.d.ts.map +1 -1
  204. package/lib/typescript/src/charts/line/utils/getPath.d.ts +11 -21
  205. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts +1 -1
  206. package/lib/typescript/src/charts/line/utils/index.d.ts +1 -1
  207. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts +5 -17
  208. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +2 -4
  209. package/lib/typescript/src/components/AnimatedText.d.ts +4 -7
  210. package/lib/typescript/src/index.d.ts +1 -1
  211. package/lib/typescript/src/types.d.ts +4 -7
  212. package/lib/typescript/src/utils/formatDatetime.d.ts +5 -9
  213. package/lib/typescript/src/utils/formatPrice.d.ts +5 -9
  214. package/lib/typescript/src/utils/index.d.ts +1 -1
  215. package/lib/typescript/src/utils/usePrevious.d.ts +1 -1
  216. package/package.json +1 -1
  217. package/src/charts/line/CursorLine.tsx +6 -2
  218. package/src/charts/line/HorizontalLine.tsx +5 -1
@@ -1,80 +1,25 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true,
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
5
  });
6
6
  exports.LineChartPathWrapper = LineChartPathWrapper;
7
- var _react = _interopRequireDefault(require('react'));
8
- var _reactNative = require('react-native');
9
- var _reactNativeSvg = require('react-native-svg');
10
- var _reactNativeReanimated = _interopRequireWildcard(
11
- require('react-native-reanimated')
12
- );
13
- var _reactKeyedFlattenChildren = _interopRequireDefault(
14
- require('react-keyed-flatten-children')
15
- );
16
- var _Chart = require('./Chart');
17
- var _LineChartPathContext = require('./LineChartPathContext');
18
- var _Path = require('./Path');
19
- var _useLineChart = require('./useLineChart');
20
- function _interopRequireWildcard(e, t) {
21
- if ('function' == typeof WeakMap)
22
- var r = new WeakMap(),
23
- n = new WeakMap();
24
- return (_interopRequireWildcard = function (e, t) {
25
- if (!t && e && e.__esModule) return e;
26
- var o,
27
- i,
28
- f = { __proto__: null, default: e };
29
- if (null === e || ('object' != typeof e && 'function' != typeof e))
30
- return f;
31
- if ((o = t ? n : r)) {
32
- if (o.has(e)) return o.get(e);
33
- o.set(e, f);
34
- }
35
- for (const t in e)
36
- 'default' !== t &&
37
- {}.hasOwnProperty.call(e, t) &&
38
- ((i =
39
- (o = Object.defineProperty) &&
40
- Object.getOwnPropertyDescriptor(e, t)) &&
41
- (i.get || i.set)
42
- ? o(f, t, i)
43
- : (f[t] = e[t]));
44
- return f;
45
- })(e, t);
46
- }
47
- function _interopRequireDefault(e) {
48
- return e && e.__esModule ? e : { default: e };
49
- }
50
- function _extends() {
51
- return (
52
- (_extends = Object.assign
53
- ? Object.assign.bind()
54
- : function (n) {
55
- for (var e = 1; e < arguments.length; e++) {
56
- var t = arguments[e];
57
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
58
- }
59
- return n;
60
- }),
61
- _extends.apply(null, arguments)
62
- );
63
- }
64
- const BACKGROUND_COMPONENTS = [
65
- 'LineChartHighlight',
66
- 'LineChartHorizontalLine',
67
- 'LineChartGradient',
68
- 'LineChartDot',
69
- 'LineChartTooltip',
70
- ];
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeSvg = require("react-native-svg");
10
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
11
+ var _reactKeyedFlattenChildren = _interopRequireDefault(require("react-keyed-flatten-children"));
12
+ var _Chart = require("./Chart");
13
+ var _LineChartPathContext = require("./LineChartPathContext");
14
+ var _Path = require("./Path");
15
+ var _useLineChart = require("./useLineChart");
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
19
+ const BACKGROUND_COMPONENTS = ['LineChartHighlight', 'LineChartHorizontalLine', 'LineChartGradient', 'LineChartDot', 'LineChartTooltip'];
71
20
  const FOREGROUND_COMPONENTS = ['LineChartHighlight', 'LineChartDot'];
72
- const AnimatedSVG = _reactNativeReanimated.default.createAnimatedComponent(
73
- _reactNativeSvg.Svg
74
- );
75
- const AnimatedRect = _reactNativeReanimated.default.createAnimatedComponent(
76
- _reactNativeSvg.Rect
77
- );
21
+ const AnimatedSVG = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeSvg.Svg);
22
+ const AnimatedRect = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeSvg.Rect);
78
23
  LineChartPathWrapper.displayName = 'LineChartPathWrapper';
79
24
  function LineChartPathWrapper({
80
25
  animationDuration = 300,
@@ -88,12 +33,17 @@ function LineChartPathWrapper({
88
33
  showInactivePath = true,
89
34
  animateOnMount,
90
35
  mountAnimationDuration = animationDuration,
91
- mountAnimationProps = animationProps,
36
+ mountAnimationProps = animationProps
92
37
  }) {
93
- const { height, pathWidth, width } = _react.default.useContext(
94
- _Chart.LineChartDimensionsContext
95
- );
96
- const { currentX, isActive } = (0, _useLineChart.useLineChart)();
38
+ const {
39
+ height,
40
+ pathWidth,
41
+ width
42
+ } = _react.default.useContext(_Chart.LineChartDimensionsContext);
43
+ const {
44
+ currentX,
45
+ isActive
46
+ } = (0, _useLineChart.useLineChart)();
97
47
  const isMounted = (0, _reactNativeReanimated.useSharedValue)(false);
98
48
  const hasMountedAnimation = (0, _reactNativeReanimated.useSharedValue)(false);
99
49
  _react.default.useEffect(() => {
@@ -105,63 +55,30 @@ function LineChartPathWrapper({
105
55
 
106
56
  ////////////////////////////////////////////////
107
57
 
108
- const clipId = _react.default.useMemo(
109
- () => `clip-foreground-${Math.random().toString(36).substring(2, 11)}`,
110
- []
111
- );
58
+ const clipId = _react.default.useMemo(() => `clip-foreground-${Math.random().toString(36).substring(2, 11)}`, []);
112
59
  const clipProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
113
60
  const shouldAnimateOnMount = animateOnMount === 'foreground';
114
- const inactiveWidth =
115
- !isMounted.value && shouldAnimateOnMount ? 0 : pathWidth;
116
- let duration =
117
- shouldAnimateOnMount && !hasMountedAnimation.value
118
- ? mountAnimationDuration
119
- : animationDuration;
120
- const props =
121
- shouldAnimateOnMount && !hasMountedAnimation.value
122
- ? mountAnimationProps
123
- : animationProps;
61
+ const inactiveWidth = !isMounted.value && shouldAnimateOnMount ? 0 : pathWidth;
62
+ let duration = shouldAnimateOnMount && !hasMountedAnimation.value ? mountAnimationDuration : animationDuration;
63
+ const props = shouldAnimateOnMount && !hasMountedAnimation.value ? mountAnimationProps : animationProps;
124
64
  if (isActive.value) {
125
65
  duration = 0;
126
66
  }
127
67
  return {
128
- width: (0, _reactNativeReanimated.withTiming)(
129
- isActive.value
130
- ? // on Web, <svg /> elements don't support negative widths
131
- // https://github.com/coinjar/react-native-wagmi-charts/issues/24#issuecomment-955789904
132
- Math.max(currentX.value, 0)
133
- : inactiveWidth + widthOffset,
134
- Object.assign(
135
- {
136
- duration,
137
- },
138
- props
139
- ),
140
- () => {
141
- hasMountedAnimation.value = true;
142
- }
143
- ),
68
+ width: (0, _reactNativeReanimated.withTiming)(isActive.value ?
69
+ // on Web, <svg /> elements don't support negative widths
70
+ // https://github.com/coinjar/react-native-wagmi-charts/issues/24#issuecomment-955789904
71
+ Math.max(currentX.value, 0) : inactiveWidth + widthOffset, Object.assign({
72
+ duration
73
+ }, props), () => {
74
+ hasMountedAnimation.value = true;
75
+ })
144
76
  };
145
- }, [
146
- animateOnMount,
147
- animationDuration,
148
- animationProps,
149
- currentX,
150
- hasMountedAnimation,
151
- isActive,
152
- isMounted,
153
- mountAnimationDuration,
154
- mountAnimationProps,
155
- pathWidth,
156
- widthOffset,
157
- ]);
158
- const viewSize = _react.default.useMemo(
159
- () => ({
160
- width,
161
- height,
162
- }),
163
- [width, height]
164
- );
77
+ }, [animateOnMount, animationDuration, animationProps, currentX, hasMountedAnimation, isActive, isMounted, mountAnimationDuration, mountAnimationProps, pathWidth, widthOffset]);
78
+ const viewSize = _react.default.useMemo(() => ({
79
+ width,
80
+ height
81
+ }), [width, height]);
165
82
 
166
83
  ////////////////////////////////////////////////
167
84
 
@@ -169,165 +86,68 @@ function LineChartPathWrapper({
169
86
  let foregroundChildren;
170
87
  if (children) {
171
88
  const iterableChildren = (0, _reactKeyedFlattenChildren.default)(children);
172
- backgroundChildren = iterableChildren.filter((child) =>
173
- BACKGROUND_COMPONENTS.includes(child?.type?.displayName || '')
174
- );
175
- foregroundChildren = iterableChildren.filter((child) =>
176
- FOREGROUND_COMPONENTS.includes(child?.type?.displayName || '')
177
- );
89
+ backgroundChildren = iterableChildren.filter(child => BACKGROUND_COMPONENTS.includes(child?.type?.displayName || ''));
90
+ foregroundChildren = iterableChildren.filter(child => FOREGROUND_COMPONENTS.includes(child?.type?.displayName || ''));
178
91
  }
179
92
 
180
93
  ////////////////////////////////////////////////
181
94
 
182
- return /*#__PURE__*/ _react.default.createElement(
183
- _react.default.Fragment,
184
- null,
185
- /*#__PURE__*/ _react.default.createElement(
186
- _LineChartPathContext.LineChartPathContext.Provider,
187
- {
188
- value: {
189
- color,
190
- isInactive: showInactivePath,
191
- isTransitionEnabled: pathProps.isTransitionEnabled ?? true,
192
- },
193
- },
194
- /*#__PURE__*/ _react.default.createElement(
195
- _reactNative.View,
196
- {
197
- style: viewSize,
198
- },
199
- /*#__PURE__*/ _react.default.createElement(
200
- _reactNativeSvg.Svg,
201
- {
202
- width: width,
203
- height: height,
204
- },
205
- /*#__PURE__*/ _react.default.createElement(
206
- _Path.LineChartPath,
207
- _extends(
208
- {
209
- color: color,
210
- inactiveColor: inactiveColor,
211
- width: strokeWidth,
212
- },
213
- pathProps
214
- )
215
- )
216
- ),
217
- /*#__PURE__*/ _react.default.createElement(
218
- _reactNativeSvg.Svg,
219
- {
220
- style: _reactNative.StyleSheet.absoluteFill,
221
- },
222
- backgroundChildren
223
- )
224
- )
225
- ),
226
- /*#__PURE__*/ _react.default.createElement(
227
- _LineChartPathContext.LineChartPathContext.Provider,
228
- {
229
- value: {
230
- color,
231
- isInactive: false,
232
- isTransitionEnabled: pathProps.isTransitionEnabled ?? true,
233
- },
234
- },
235
- /*#__PURE__*/ _react.default.createElement(
236
- _reactNative.View,
237
- {
238
- style: _reactNative.StyleSheet.absoluteFill,
239
- },
240
- _reactNative.Platform.OS === 'web'
241
- ? /*#__PURE__*/ _react.default.createElement(
242
- _react.default.Fragment,
243
- null,
244
- /*#__PURE__*/ _react.default.createElement(
245
- _reactNativeSvg.Svg,
246
- {
247
- width: width,
248
- height: height,
249
- },
250
- /*#__PURE__*/ _react.default.createElement(
251
- _reactNativeSvg.Defs,
252
- null,
253
- /*#__PURE__*/ _react.default.createElement(
254
- _reactNativeSvg.ClipPath,
255
- {
256
- id: clipId,
257
- },
258
- /*#__PURE__*/ _react.default.createElement(AnimatedRect, {
259
- x: 0,
260
- y: 0,
261
- animatedProps: clipProps,
262
- height: height,
263
- })
264
- )
265
- ),
266
- /*#__PURE__*/ _react.default.createElement(
267
- _reactNativeSvg.G,
268
- {
269
- clipPath: `url(#${clipId})`,
270
- },
271
- /*#__PURE__*/ _react.default.createElement(
272
- _Path.LineChartPath,
273
- _extends(
274
- {
275
- color: color,
276
- width: strokeWidth,
277
- },
278
- pathProps
279
- )
280
- )
281
- )
282
- ),
283
- /*#__PURE__*/ _react.default.createElement(
284
- _reactNativeSvg.Svg,
285
- {
286
- width: width,
287
- height: height,
288
- style: _reactNative.StyleSheet.absoluteFill,
289
- },
290
- /*#__PURE__*/ _react.default.createElement(
291
- _reactNativeSvg.G,
292
- {
293
- clipPath: `url(#${clipId})`,
294
- },
295
- foregroundChildren
296
- )
297
- )
298
- )
299
- : /*#__PURE__*/ _react.default.createElement(
300
- _react.default.Fragment,
301
- null,
302
- /*#__PURE__*/ _react.default.createElement(
303
- AnimatedSVG,
304
- {
305
- animatedProps: clipProps,
306
- height: height,
307
- },
308
- /*#__PURE__*/ _react.default.createElement(
309
- _Path.LineChartPath,
310
- _extends(
311
- {
312
- color: color,
313
- width: strokeWidth,
314
- },
315
- pathProps
316
- )
317
- )
318
- ),
319
- /*#__PURE__*/ _react.default.createElement(
320
- AnimatedSVG,
321
- {
322
- animatedProps: clipProps,
323
- height: height,
324
- style: _reactNative.StyleSheet.absoluteFill,
325
- },
326
- foregroundChildren
327
- )
328
- )
329
- )
330
- )
331
- );
95
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_LineChartPathContext.LineChartPathContext.Provider, {
96
+ value: {
97
+ color,
98
+ isInactive: showInactivePath,
99
+ isTransitionEnabled: pathProps.isTransitionEnabled ?? true
100
+ }
101
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
102
+ style: viewSize
103
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Svg, {
104
+ width: width,
105
+ height: height
106
+ }, /*#__PURE__*/_react.default.createElement(_Path.LineChartPath, _extends({
107
+ color: color,
108
+ inactiveColor: inactiveColor,
109
+ width: strokeWidth
110
+ }, pathProps))), /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Svg, {
111
+ style: _reactNative.StyleSheet.absoluteFill
112
+ }, backgroundChildren))), /*#__PURE__*/_react.default.createElement(_LineChartPathContext.LineChartPathContext.Provider, {
113
+ value: {
114
+ color,
115
+ isInactive: false,
116
+ isTransitionEnabled: pathProps.isTransitionEnabled ?? true
117
+ }
118
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
119
+ style: _reactNative.StyleSheet.absoluteFill
120
+ }, _reactNative.Platform.OS === 'web' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Svg, {
121
+ width: width,
122
+ height: height
123
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Defs, null, /*#__PURE__*/_react.default.createElement(_reactNativeSvg.ClipPath, {
124
+ id: clipId
125
+ }, /*#__PURE__*/_react.default.createElement(AnimatedRect, {
126
+ x: 0,
127
+ y: 0,
128
+ animatedProps: clipProps,
129
+ height: height
130
+ }))), /*#__PURE__*/_react.default.createElement(_reactNativeSvg.G, {
131
+ clipPath: `url(#${clipId})`
132
+ }, /*#__PURE__*/_react.default.createElement(_Path.LineChartPath, _extends({
133
+ color: color,
134
+ width: strokeWidth
135
+ }, pathProps)))), /*#__PURE__*/_react.default.createElement(_reactNativeSvg.Svg, {
136
+ width: width,
137
+ height: height,
138
+ style: _reactNative.StyleSheet.absoluteFill
139
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeSvg.G, {
140
+ clipPath: `url(#${clipId})`
141
+ }, foregroundChildren))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(AnimatedSVG, {
142
+ animatedProps: clipProps,
143
+ height: height
144
+ }, /*#__PURE__*/_react.default.createElement(_Path.LineChartPath, _extends({
145
+ color: color,
146
+ width: strokeWidth
147
+ }, pathProps))), /*#__PURE__*/_react.default.createElement(AnimatedSVG, {
148
+ animatedProps: clipProps,
149
+ height: height,
150
+ style: _reactNative.StyleSheet.absoluteFill
151
+ }, foregroundChildren)))));
332
152
  }
333
- //# sourceMappingURL=ChartPath.js.map
153
+ //# sourceMappingURL=ChartPath.js.map
@@ -1,89 +1,52 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', {
4
- value: true,
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
5
  });
6
6
  exports.LineChartContext = void 0;
7
7
  exports.LineChartProvider = LineChartProvider;
8
- var _react = _interopRequireWildcard(require('react'));
9
- var _reactNativeReanimated = require('react-native-reanimated');
10
- var _Data = require('./Data');
11
- var _utils = require('./utils');
12
- function _interopRequireWildcard(e, t) {
13
- if ('function' == typeof WeakMap)
14
- var r = new WeakMap(),
15
- n = new WeakMap();
16
- return (_interopRequireWildcard = function (e, t) {
17
- if (!t && e && e.__esModule) return e;
18
- var o,
19
- i,
20
- f = { __proto__: null, default: e };
21
- if (null === e || ('object' != typeof e && 'function' != typeof e))
22
- return f;
23
- if ((o = t ? n : r)) {
24
- if (o.has(e)) return o.get(e);
25
- o.set(e, f);
26
- }
27
- for (const t in e)
28
- 'default' !== t &&
29
- {}.hasOwnProperty.call(e, t) &&
30
- ((i =
31
- (o = Object.defineProperty) &&
32
- Object.getOwnPropertyDescriptor(e, t)) &&
33
- (i.get || i.set)
34
- ? o(f, t, i)
35
- : (f[t] = e[t]));
36
- return f;
37
- })(e, t);
38
- }
39
- const LineChartContext = (exports.LineChartContext = /*#__PURE__*/ (0,
40
- _react.createContext)({
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactNativeReanimated = require("react-native-reanimated");
10
+ var _Data = require("./Data");
11
+ var _utils = require("./utils");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ const LineChartContext = exports.LineChartContext = /*#__PURE__*/(0, _react.createContext)({
41
14
  currentX: {
42
- value: -1,
15
+ value: -1
43
16
  },
44
17
  currentIndex: {
45
- value: -1,
18
+ value: -1
46
19
  },
47
20
  domain: [0, 0],
48
21
  isActive: {
49
- value: false,
22
+ value: false
50
23
  },
51
24
  yDomain: {
52
25
  min: 0,
53
- max: 0,
26
+ max: 0
54
27
  },
55
28
  xDomain: undefined,
56
- xLength: 0,
57
- }));
29
+ xLength: 0
30
+ });
58
31
  function LineChartProvider({
59
32
  children,
60
33
  data = [],
61
34
  yRange,
62
35
  onCurrentIndexChange,
63
36
  xLength,
64
- xDomain,
37
+ xDomain
65
38
  }) {
66
39
  const currentX = (0, _reactNativeReanimated.useSharedValue)(-1);
67
40
  const currentIndex = (0, _reactNativeReanimated.useSharedValue)(-1);
68
41
  const isActive = (0, _reactNativeReanimated.useSharedValue)(false);
69
- const domain = (0, _react.useMemo)(
70
- () =>
71
- (0, _utils.getDomain)(
72
- Array.isArray(data) ? data : Object.values(data)[0]
73
- ),
74
- [data]
75
- );
76
- const values = (0, _react.useMemo)(
77
- () => (0, _utils.lineChartDataPropToArray)(data).map(({ value }) => value),
78
- [data]
79
- );
80
- const yDomainValues = (0, _react.useMemo)(
81
- () => ({
82
- min: yRange?.min ?? Math.min(...values),
83
- max: yRange?.max ?? Math.max(...values),
84
- }),
85
- [values, yRange?.min, yRange?.max]
86
- );
42
+ const domain = (0, _react.useMemo)(() => (0, _utils.getDomain)(Array.isArray(data) ? data : Object.values(data)[0]), [data]);
43
+ const values = (0, _react.useMemo)(() => (0, _utils.lineChartDataPropToArray)(data).map(({
44
+ value
45
+ }) => value), [data]);
46
+ const yDomainValues = (0, _react.useMemo)(() => ({
47
+ min: yRange?.min ?? Math.min(...values),
48
+ max: yRange?.max ?? Math.max(...values)
49
+ }), [values, yRange?.min, yRange?.max]);
87
50
  const contextValue = (0, _react.useMemo)(() => {
88
51
  const domainRows = Array.isArray(data) ? data : Object.values(data)[0];
89
52
  return {
@@ -93,40 +56,19 @@ function LineChartProvider({
93
56
  domain,
94
57
  yDomain: yDomainValues,
95
58
  xDomain,
96
- xLength: xLength ?? domainRows.length,
59
+ xLength: xLength ?? domainRows.length
97
60
  };
98
- }, [
99
- currentIndex,
100
- currentX,
101
- data,
102
- domain,
103
- isActive,
104
- yDomainValues,
105
- xLength,
106
- xDomain,
107
- ]);
108
- (0, _reactNativeReanimated.useAnimatedReaction)(
109
- () => currentIndex.value,
110
- (x, prevX) => {
111
- if (x !== prevX && onCurrentIndexChange) {
112
- (0, _reactNativeReanimated.runOnJS)(onCurrentIndexChange)(x);
113
- }
114
- },
115
- [currentIndex]
116
- );
117
- return /*#__PURE__*/ _react.default.createElement(
118
- _Data.LineChartDataProvider,
119
- {
120
- data: data,
121
- },
122
- /*#__PURE__*/ _react.default.createElement(
123
- LineChartContext.Provider,
124
- {
125
- value: contextValue,
126
- },
127
- children
128
- )
129
- );
61
+ }, [currentIndex, currentX, data, domain, isActive, yDomainValues, xLength, xDomain]);
62
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => currentIndex.value, (x, prevX) => {
63
+ if (x !== prevX && onCurrentIndexChange) {
64
+ (0, _reactNativeReanimated.runOnJS)(onCurrentIndexChange)(x);
65
+ }
66
+ }, [currentIndex]);
67
+ return /*#__PURE__*/_react.default.createElement(_Data.LineChartDataProvider, {
68
+ data: data
69
+ }, /*#__PURE__*/_react.default.createElement(LineChartContext.Provider, {
70
+ value: contextValue
71
+ }, children));
130
72
  }
131
73
  LineChartProvider.displayName = 'LineChartProvider';
132
- //# sourceMappingURL=Context.js.map
74
+ //# sourceMappingURL=Context.js.map