react-native-wagmi-charts 2.2.0 → 2.3.2

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 (367) hide show
  1. package/README.md +23 -21
  2. package/lib/commonjs/charts/candle/Candle.js +6 -19
  3. package/lib/commonjs/charts/candle/Candle.js.map +1 -1
  4. package/lib/commonjs/charts/candle/Candles.js +6 -13
  5. package/lib/commonjs/charts/candle/Candles.js.map +1 -1
  6. package/lib/commonjs/charts/candle/Chart.js +3 -12
  7. package/lib/commonjs/charts/candle/Chart.js.map +1 -1
  8. package/lib/commonjs/charts/candle/Context.js +4 -12
  9. package/lib/commonjs/charts/candle/Context.js.map +1 -1
  10. package/lib/commonjs/charts/candle/Crosshair.js +6 -21
  11. package/lib/commonjs/charts/candle/Crosshair.js.map +1 -1
  12. package/lib/commonjs/charts/candle/CrosshairTooltip.js +10 -25
  13. package/lib/commonjs/charts/candle/CrosshairTooltip.js.map +1 -1
  14. package/lib/commonjs/charts/candle/DatetimeText.js +2 -8
  15. package/lib/commonjs/charts/candle/DatetimeText.js.map +1 -1
  16. package/lib/commonjs/charts/candle/HoverTrap/index.web.js +12 -24
  17. package/lib/commonjs/charts/candle/HoverTrap/index.web.js.map +1 -1
  18. package/lib/commonjs/charts/candle/Line.js +3 -12
  19. package/lib/commonjs/charts/candle/Line.js.map +1 -1
  20. package/lib/commonjs/charts/candle/PriceText.js +2 -8
  21. package/lib/commonjs/charts/candle/PriceText.js.map +1 -1
  22. package/lib/commonjs/charts/candle/index.js +1 -32
  23. package/lib/commonjs/charts/candle/index.js.map +1 -1
  24. package/lib/commonjs/charts/candle/types.js.map +1 -1
  25. package/lib/commonjs/charts/candle/useCandleData.js +1 -5
  26. package/lib/commonjs/charts/candle/useCandleData.js.map +1 -1
  27. package/lib/commonjs/charts/candle/useCandlestickChart.js +2 -7
  28. package/lib/commonjs/charts/candle/useCandlestickChart.js.map +1 -1
  29. package/lib/commonjs/charts/candle/useDatetime.js +2 -6
  30. package/lib/commonjs/charts/candle/useDatetime.js.map +1 -1
  31. package/lib/commonjs/charts/candle/usePrice.js +2 -10
  32. package/lib/commonjs/charts/candle/usePrice.js.map +1 -1
  33. package/lib/commonjs/charts/candle/utils/getDomain.js +0 -1
  34. package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -1
  35. package/lib/commonjs/charts/candle/utils/getHeight.js +0 -2
  36. package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -1
  37. package/lib/commonjs/charts/candle/utils/getPrice.js +0 -2
  38. package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -1
  39. package/lib/commonjs/charts/candle/utils/getY.js +0 -2
  40. package/lib/commonjs/charts/candle/utils/getY.js.map +1 -1
  41. package/lib/commonjs/charts/candle/utils/index.js +0 -8
  42. package/lib/commonjs/charts/candle/utils/index.js.map +1 -1
  43. package/lib/commonjs/charts/candle/utils.js +1 -6
  44. package/lib/commonjs/charts/candle/utils.js.map +1 -1
  45. package/lib/commonjs/charts/line/Chart.js +14 -31
  46. package/lib/commonjs/charts/line/Chart.js.map +1 -1
  47. package/lib/commonjs/charts/line/ChartPath.js +24 -47
  48. package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
  49. package/lib/commonjs/charts/line/Context.js +13 -21
  50. package/lib/commonjs/charts/line/Context.js.map +1 -1
  51. package/lib/commonjs/charts/line/Cursor.js +53 -26
  52. package/lib/commonjs/charts/line/Cursor.js.map +1 -1
  53. package/lib/commonjs/charts/line/CursorCrosshair.js +6 -15
  54. package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
  55. package/lib/commonjs/charts/line/CursorLine.js +10 -23
  56. package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
  57. package/lib/commonjs/charts/line/Data.js +5 -17
  58. package/lib/commonjs/charts/line/Data.js.map +1 -1
  59. package/lib/commonjs/charts/line/DatetimeText.js +2 -9
  60. package/lib/commonjs/charts/line/DatetimeText.js.map +1 -1
  61. package/lib/commonjs/charts/line/Dot.js +28 -34
  62. package/lib/commonjs/charts/line/Dot.js.map +1 -1
  63. package/lib/commonjs/charts/line/Gradient.js +12 -19
  64. package/lib/commonjs/charts/line/Gradient.js.map +1 -1
  65. package/lib/commonjs/charts/line/Group.js +2 -14
  66. package/lib/commonjs/charts/line/Group.js.map +1 -1
  67. package/lib/commonjs/charts/line/Highlight.js +9 -21
  68. package/lib/commonjs/charts/line/Highlight.js.map +1 -1
  69. package/lib/commonjs/charts/line/HorizontalLine.js +9 -24
  70. package/lib/commonjs/charts/line/HorizontalLine.js.map +1 -1
  71. package/lib/commonjs/charts/line/HoverTrap/index.js +0 -4
  72. package/lib/commonjs/charts/line/HoverTrap/index.js.map +1 -1
  73. package/lib/commonjs/charts/line/HoverTrap/index.web.js +12 -23
  74. package/lib/commonjs/charts/line/HoverTrap/index.web.js.map +1 -1
  75. package/lib/commonjs/charts/line/LineChartPathContext.js +1 -6
  76. package/lib/commonjs/charts/line/LineChartPathContext.js.map +1 -1
  77. package/lib/commonjs/charts/line/Path.js +9 -18
  78. package/lib/commonjs/charts/line/Path.js.map +1 -1
  79. package/lib/commonjs/charts/line/PriceText.js +2 -9
  80. package/lib/commonjs/charts/line/PriceText.js.map +1 -1
  81. package/lib/commonjs/charts/line/Tooltip.js +25 -47
  82. package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
  83. package/lib/commonjs/charts/line/index.js +1 -39
  84. package/lib/commonjs/charts/line/index.js.map +1 -1
  85. package/lib/commonjs/charts/line/types.js.map +1 -1
  86. package/lib/commonjs/charts/line/useAnimatedPath.js +6 -12
  87. package/lib/commonjs/charts/line/useAnimatedPath.js.map +1 -1
  88. package/lib/commonjs/charts/line/useCurrentY.js +1 -8
  89. package/lib/commonjs/charts/line/useCurrentY.js.map +1 -1
  90. package/lib/commonjs/charts/line/useDatetime.js +3 -7
  91. package/lib/commonjs/charts/line/useDatetime.js.map +1 -1
  92. package/lib/commonjs/charts/line/useLineChart.js +4 -10
  93. package/lib/commonjs/charts/line/useLineChart.js.map +1 -1
  94. package/lib/commonjs/charts/line/usePrice.js +3 -7
  95. package/lib/commonjs/charts/line/usePrice.js.map +1 -1
  96. package/lib/commonjs/charts/line/utils/getArea.js +11 -11
  97. package/lib/commonjs/charts/line/utils/getArea.js.map +1 -1
  98. package/lib/commonjs/charts/line/utils/getDomain.js +0 -1
  99. package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -1
  100. package/lib/commonjs/charts/line/utils/getPath.js +11 -11
  101. package/lib/commonjs/charts/line/utils/getPath.js.map +1 -1
  102. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js +15 -0
  103. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js.map +1 -0
  104. package/lib/commonjs/charts/line/utils/index.js +0 -10
  105. package/lib/commonjs/charts/line/utils/index.js.map +1 -1
  106. package/lib/commonjs/charts/line/utils/interpolatePath.js +119 -124
  107. package/lib/commonjs/charts/line/utils/interpolatePath.js.map +1 -1
  108. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +0 -3
  109. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js.map +1 -1
  110. package/lib/commonjs/components/AnimatedText.js +7 -18
  111. package/lib/commonjs/components/AnimatedText.js.map +1 -1
  112. package/lib/commonjs/index.js +0 -8
  113. package/lib/commonjs/index.js.map +1 -1
  114. package/lib/commonjs/utils/formatDatetime.js +0 -1
  115. package/lib/commonjs/utils/formatDatetime.js.map +1 -1
  116. package/lib/commonjs/utils/formatPrice.js +2 -12
  117. package/lib/commonjs/utils/formatPrice.js.map +1 -1
  118. package/lib/commonjs/utils/index.js +0 -6
  119. package/lib/commonjs/utils/index.js.map +1 -1
  120. package/lib/commonjs/utils/usePrevious.js +4 -9
  121. package/lib/commonjs/utils/usePrevious.js.map +1 -1
  122. package/lib/module/charts/candle/Candle.js +4 -2
  123. package/lib/module/charts/candle/Candle.js.map +1 -1
  124. package/lib/module/charts/candle/Candles.js +4 -3
  125. package/lib/module/charts/candle/Candles.js.map +1 -1
  126. package/lib/module/charts/candle/Chart.js.map +1 -1
  127. package/lib/module/charts/candle/Context.js.map +1 -1
  128. package/lib/module/charts/candle/Crosshair.js +4 -7
  129. package/lib/module/charts/candle/Crosshair.js.map +1 -1
  130. package/lib/module/charts/candle/CrosshairTooltip.js +7 -10
  131. package/lib/module/charts/candle/CrosshairTooltip.js.map +1 -1
  132. package/lib/module/charts/candle/DatetimeText.js.map +1 -1
  133. package/lib/module/charts/candle/HoverTrap/index.web.js +12 -14
  134. package/lib/module/charts/candle/HoverTrap/index.web.js.map +1 -1
  135. package/lib/module/charts/candle/Line.js +1 -2
  136. package/lib/module/charts/candle/Line.js.map +1 -1
  137. package/lib/module/charts/candle/PriceText.js.map +1 -1
  138. package/lib/module/charts/candle/index.js.map +1 -1
  139. package/lib/module/charts/candle/types.js.map +1 -1
  140. package/lib/module/charts/candle/useCandleData.js +1 -2
  141. package/lib/module/charts/candle/useCandleData.js.map +1 -1
  142. package/lib/module/charts/candle/useCandlestickChart.js.map +1 -1
  143. package/lib/module/charts/candle/useDatetime.js +2 -2
  144. package/lib/module/charts/candle/useDatetime.js.map +1 -1
  145. package/lib/module/charts/candle/usePrice.js +2 -4
  146. package/lib/module/charts/candle/usePrice.js.map +1 -1
  147. package/lib/module/charts/candle/utils/getDomain.js.map +1 -1
  148. package/lib/module/charts/candle/utils/getHeight.js.map +1 -1
  149. package/lib/module/charts/candle/utils/getPrice.js.map +1 -1
  150. package/lib/module/charts/candle/utils/getY.js.map +1 -1
  151. package/lib/module/charts/candle/utils/index.js.map +1 -1
  152. package/lib/module/charts/candle/utils.js.map +1 -1
  153. package/lib/module/charts/line/Chart.js +13 -15
  154. package/lib/module/charts/line/Chart.js.map +1 -1
  155. package/lib/module/charts/line/ChartPath.js +22 -29
  156. package/lib/module/charts/line/ChartPath.js.map +1 -1
  157. package/lib/module/charts/line/Context.js +9 -8
  158. package/lib/module/charts/line/Context.js.map +1 -1
  159. package/lib/module/charts/line/Cursor.js +49 -11
  160. package/lib/module/charts/line/Cursor.js.map +1 -1
  161. package/lib/module/charts/line/CursorCrosshair.js +4 -4
  162. package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
  163. package/lib/module/charts/line/CursorLine.js +8 -7
  164. package/lib/module/charts/line/CursorLine.js.map +1 -1
  165. package/lib/module/charts/line/Data.js +0 -2
  166. package/lib/module/charts/line/Data.js.map +1 -1
  167. package/lib/module/charts/line/DatetimeText.js.map +1 -1
  168. package/lib/module/charts/line/Dot.js +26 -19
  169. package/lib/module/charts/line/Dot.js.map +1 -1
  170. package/lib/module/charts/line/Gradient.js +10 -5
  171. package/lib/module/charts/line/Gradient.js.map +1 -1
  172. package/lib/module/charts/line/Group.js +0 -2
  173. package/lib/module/charts/line/Group.js.map +1 -1
  174. package/lib/module/charts/line/Highlight.js +7 -5
  175. package/lib/module/charts/line/Highlight.js.map +1 -1
  176. package/lib/module/charts/line/HorizontalLine.js +7 -9
  177. package/lib/module/charts/line/HorizontalLine.js.map +1 -1
  178. package/lib/module/charts/line/HoverTrap/index.js.map +1 -1
  179. package/lib/module/charts/line/HoverTrap/index.web.js +12 -14
  180. package/lib/module/charts/line/HoverTrap/index.web.js.map +1 -1
  181. package/lib/module/charts/line/LineChartPathContext.js.map +1 -1
  182. package/lib/module/charts/line/Path.js +7 -4
  183. package/lib/module/charts/line/Path.js.map +1 -1
  184. package/lib/module/charts/line/PriceText.js.map +1 -1
  185. package/lib/module/charts/line/Tooltip.js +21 -33
  186. package/lib/module/charts/line/Tooltip.js.map +1 -1
  187. package/lib/module/charts/line/index.js.map +1 -1
  188. package/lib/module/charts/line/types.js.map +1 -1
  189. package/lib/module/charts/line/useAnimatedPath.js +3 -5
  190. package/lib/module/charts/line/useAnimatedPath.js.map +1 -1
  191. package/lib/module/charts/line/useCurrentY.js +1 -2
  192. package/lib/module/charts/line/useCurrentY.js.map +1 -1
  193. package/lib/module/charts/line/useDatetime.js +3 -3
  194. package/lib/module/charts/line/useDatetime.js.map +1 -1
  195. package/lib/module/charts/line/useLineChart.js +2 -1
  196. package/lib/module/charts/line/useLineChart.js.map +1 -1
  197. package/lib/module/charts/line/usePrice.js +3 -3
  198. package/lib/module/charts/line/usePrice.js.map +1 -1
  199. package/lib/module/charts/line/utils/getArea.js +9 -6
  200. package/lib/module/charts/line/utils/getArea.js.map +1 -1
  201. package/lib/module/charts/line/utils/getDomain.js.map +1 -1
  202. package/lib/module/charts/line/utils/getPath.js +9 -6
  203. package/lib/module/charts/line/utils/getPath.js.map +1 -1
  204. package/lib/module/charts/line/utils/getXPositionForCurve.js +9 -0
  205. package/lib/module/charts/line/utils/getXPositionForCurve.js.map +1 -0
  206. package/lib/module/charts/line/utils/index.js.map +1 -1
  207. package/lib/module/charts/line/utils/interpolatePath.js +116 -117
  208. package/lib/module/charts/line/utils/interpolatePath.js.map +1 -1
  209. package/lib/module/charts/line/utils/lineChartDataPropToArray.js +0 -2
  210. package/lib/module/charts/line/utils/lineChartDataPropToArray.js.map +1 -1
  211. package/lib/module/components/AnimatedText.js +5 -4
  212. package/lib/module/components/AnimatedText.js.map +1 -1
  213. package/lib/module/index.js.map +1 -1
  214. package/lib/module/utils/formatDatetime.js.map +1 -1
  215. package/lib/module/utils/formatPrice.js +2 -11
  216. package/lib/module/utils/formatPrice.js.map +1 -1
  217. package/lib/module/utils/index.js.map +1 -1
  218. package/lib/module/utils/usePrevious.js +2 -3
  219. package/lib/module/utils/usePrevious.js.map +1 -1
  220. package/lib/typescript/src/charts/candle/Candle.d.ts +7 -5
  221. package/lib/typescript/src/charts/candle/Candle.d.ts.map +1 -0
  222. package/lib/typescript/src/charts/candle/Candles.d.ts +4 -3
  223. package/lib/typescript/src/charts/candle/Candles.d.ts.map +1 -0
  224. package/lib/typescript/src/charts/candle/Chart.d.ts +3 -2
  225. package/lib/typescript/src/charts/candle/Chart.d.ts.map +1 -0
  226. package/lib/typescript/src/charts/candle/Context.d.ts +3 -2
  227. package/lib/typescript/src/charts/candle/Context.d.ts.map +1 -0
  228. package/lib/typescript/src/charts/candle/Crosshair.d.ts +3 -2
  229. package/lib/typescript/src/charts/candle/Crosshair.d.ts.map +1 -0
  230. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts +4 -3
  231. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts.map +1 -0
  232. package/lib/typescript/src/charts/candle/DatetimeText.d.ts +4 -3
  233. package/lib/typescript/src/charts/candle/DatetimeText.d.ts.map +1 -0
  234. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts +3 -2
  235. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts.map +1 -0
  236. package/lib/typescript/src/charts/candle/Line.d.ts +4 -3
  237. package/lib/typescript/src/charts/candle/Line.d.ts.map +1 -0
  238. package/lib/typescript/src/charts/candle/PriceText.d.ts +4 -3
  239. package/lib/typescript/src/charts/candle/PriceText.d.ts.map +1 -0
  240. package/lib/typescript/src/charts/candle/index.d.ts +3 -2
  241. package/lib/typescript/src/charts/candle/index.d.ts.map +1 -0
  242. package/lib/typescript/src/charts/candle/types.d.ts +7 -6
  243. package/lib/typescript/src/charts/candle/types.d.ts.map +1 -0
  244. package/lib/typescript/src/charts/candle/useCandleData.d.ts +1 -0
  245. package/lib/typescript/src/charts/candle/useCandleData.d.ts.map +1 -0
  246. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts +1 -0
  247. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts.map +1 -0
  248. package/lib/typescript/src/charts/candle/useDatetime.d.ts +1 -0
  249. package/lib/typescript/src/charts/candle/useDatetime.d.ts.map +1 -0
  250. package/lib/typescript/src/charts/candle/usePrice.d.ts +1 -0
  251. package/lib/typescript/src/charts/candle/usePrice.d.ts.map +1 -0
  252. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +1 -0
  253. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts.map +1 -0
  254. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +1 -0
  255. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts.map +1 -0
  256. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +1 -0
  257. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts.map +1 -0
  258. package/lib/typescript/src/charts/candle/utils/getY.d.ts +1 -0
  259. package/lib/typescript/src/charts/candle/utils/getY.d.ts.map +1 -0
  260. package/lib/typescript/src/charts/candle/utils/index.d.ts +1 -0
  261. package/lib/typescript/src/charts/candle/utils/index.d.ts.map +1 -0
  262. package/lib/typescript/src/charts/candle/utils.d.ts +1 -0
  263. package/lib/typescript/src/charts/candle/utils.d.ts.map +1 -0
  264. package/lib/typescript/src/charts/line/Chart.d.ts +3 -2
  265. package/lib/typescript/src/charts/line/Chart.d.ts.map +1 -0
  266. package/lib/typescript/src/charts/line/ChartPath.d.ts +3 -2
  267. package/lib/typescript/src/charts/line/ChartPath.d.ts.map +1 -0
  268. package/lib/typescript/src/charts/line/Context.d.ts +4 -2
  269. package/lib/typescript/src/charts/line/Context.d.ts.map +1 -0
  270. package/lib/typescript/src/charts/line/Cursor.d.ts +4 -2
  271. package/lib/typescript/src/charts/line/Cursor.d.ts.map +1 -0
  272. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +3 -2
  273. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts.map +1 -0
  274. package/lib/typescript/src/charts/line/CursorLine.d.ts +5 -3
  275. package/lib/typescript/src/charts/line/CursorLine.d.ts.map +1 -0
  276. package/lib/typescript/src/charts/line/Data.d.ts +6 -4
  277. package/lib/typescript/src/charts/line/Data.d.ts.map +1 -0
  278. package/lib/typescript/src/charts/line/DatetimeText.d.ts +4 -3
  279. package/lib/typescript/src/charts/line/DatetimeText.d.ts.map +1 -0
  280. package/lib/typescript/src/charts/line/Dot.d.ts +4 -3
  281. package/lib/typescript/src/charts/line/Dot.d.ts.map +1 -0
  282. package/lib/typescript/src/charts/line/Gradient.d.ts +3 -2
  283. package/lib/typescript/src/charts/line/Gradient.d.ts.map +1 -0
  284. package/lib/typescript/src/charts/line/Group.d.ts +4 -2
  285. package/lib/typescript/src/charts/line/Group.d.ts.map +1 -0
  286. package/lib/typescript/src/charts/line/Highlight.d.ts +4 -3
  287. package/lib/typescript/src/charts/line/Highlight.d.ts.map +1 -0
  288. package/lib/typescript/src/charts/line/HorizontalLine.d.ts +4 -3
  289. package/lib/typescript/src/charts/line/HorizontalLine.d.ts.map +1 -0
  290. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +3 -2
  291. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts.map +1 -0
  292. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +3 -2
  293. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts.map +1 -0
  294. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts +1 -0
  295. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts.map +1 -0
  296. package/lib/typescript/src/charts/line/Path.d.ts +4 -3
  297. package/lib/typescript/src/charts/line/Path.d.ts.map +1 -0
  298. package/lib/typescript/src/charts/line/PriceText.d.ts +4 -3
  299. package/lib/typescript/src/charts/line/PriceText.d.ts.map +1 -0
  300. package/lib/typescript/src/charts/line/Tooltip.d.ts +4 -3
  301. package/lib/typescript/src/charts/line/Tooltip.d.ts.map +1 -0
  302. package/lib/typescript/src/charts/line/index.d.ts +2 -1
  303. package/lib/typescript/src/charts/line/index.d.ts.map +1 -0
  304. package/lib/typescript/src/charts/line/types.d.ts +9 -7
  305. package/lib/typescript/src/charts/line/types.d.ts.map +1 -0
  306. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +1 -0
  307. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts.map +1 -0
  308. package/lib/typescript/src/charts/line/useCurrentY.d.ts +1 -0
  309. package/lib/typescript/src/charts/line/useCurrentY.d.ts.map +1 -0
  310. package/lib/typescript/src/charts/line/useDatetime.d.ts +1 -0
  311. package/lib/typescript/src/charts/line/useDatetime.d.ts.map +1 -0
  312. package/lib/typescript/src/charts/line/useLineChart.d.ts +2 -0
  313. package/lib/typescript/src/charts/line/useLineChart.d.ts.map +1 -0
  314. package/lib/typescript/src/charts/line/usePrice.d.ts +1 -0
  315. package/lib/typescript/src/charts/line/usePrice.d.ts.map +1 -0
  316. package/lib/typescript/src/charts/line/utils/getArea.d.ts +3 -1
  317. package/lib/typescript/src/charts/line/utils/getArea.d.ts.map +1 -0
  318. package/lib/typescript/src/charts/line/utils/getDomain.d.ts +1 -0
  319. package/lib/typescript/src/charts/line/utils/getDomain.d.ts.map +1 -0
  320. package/lib/typescript/src/charts/line/utils/getPath.d.ts +3 -1
  321. package/lib/typescript/src/charts/line/utils/getPath.d.ts.map +1 -0
  322. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts +3 -0
  323. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts.map +1 -0
  324. package/lib/typescript/src/charts/line/utils/index.d.ts +1 -0
  325. package/lib/typescript/src/charts/line/utils/index.d.ts.map +1 -0
  326. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts +1 -0
  327. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts.map +1 -0
  328. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +1 -0
  329. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts.map +1 -0
  330. package/lib/typescript/src/components/AnimatedText.d.ts +3 -2
  331. package/lib/typescript/src/components/AnimatedText.d.ts.map +1 -0
  332. package/lib/typescript/src/index.d.ts +1 -0
  333. package/lib/typescript/src/index.d.ts.map +1 -0
  334. package/lib/typescript/src/utils/formatDatetime.d.ts +1 -0
  335. package/lib/typescript/src/utils/formatDatetime.d.ts.map +1 -0
  336. package/lib/typescript/src/utils/formatPrice.d.ts +1 -0
  337. package/lib/typescript/src/utils/formatPrice.d.ts.map +1 -0
  338. package/lib/typescript/src/utils/index.d.ts +1 -0
  339. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  340. package/lib/typescript/src/utils/usePrevious.d.ts +1 -0
  341. package/lib/typescript/src/utils/usePrevious.d.ts.map +1 -0
  342. package/package.json +19 -9
  343. package/src/charts/candle/Candle.tsx +3 -3
  344. package/src/charts/candle/Crosshair.tsx +16 -9
  345. package/src/charts/candle/CrosshairTooltip.tsx +28 -19
  346. package/src/charts/candle/useCandleData.ts +1 -1
  347. package/src/charts/candle/useDatetime.ts +2 -2
  348. package/src/charts/candle/usePrice.ts +2 -2
  349. package/src/charts/line/Chart.tsx +9 -6
  350. package/src/charts/line/ChartPath.tsx +13 -1
  351. package/src/charts/line/Context.tsx +7 -1
  352. package/src/charts/line/Cursor.tsx +61 -7
  353. package/src/charts/line/CursorCrosshair.tsx +16 -13
  354. package/src/charts/line/CursorLine.tsx +13 -9
  355. package/src/charts/line/Dot.tsx +19 -12
  356. package/src/charts/line/Gradient.tsx +1 -0
  357. package/src/charts/line/HorizontalLine.tsx +17 -12
  358. package/src/charts/line/Tooltip.tsx +30 -9
  359. package/src/charts/line/types.ts +1 -0
  360. package/src/charts/line/useAnimatedPath.ts +3 -3
  361. package/src/charts/line/useCurrentY.ts +1 -1
  362. package/src/charts/line/useDatetime.ts +3 -3
  363. package/src/charts/line/usePrice.ts +2 -2
  364. package/src/charts/line/utils/getArea.ts +9 -6
  365. package/src/charts/line/utils/getPath.ts +5 -3
  366. package/src/charts/line/utils/getXPositionForCurve.ts +9 -0
  367. package/src/components/AnimatedText.tsx +2 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["interpolate","Extrapolate","getDomain","rows","values","map","high","low","flat","min","Math","max","getY","value","domain","maxHeight","CLAMP","getHeight","getPrice","y","reverse"],"mappings":"AAAA,SAASA,WAAT,EAAsBC,WAAtB,QAAyC,yBAAzC;AAIA,OAAO,SAASC,SAAT,CAAmBC,IAAnB,EAAgE;AACrE;;AACA,QAAMC,MAAM,GAAGD,IAAI,CAACE,GAAL,CAAS,CAAC;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAD,KAAmB,CAACD,IAAD,EAAOC,GAAP,CAA5B,EAAyCC,IAAzC,EAAf;AACA,QAAMC,GAAG,GAAGC,IAAI,CAACD,GAAL,CAAS,GAAGL,MAAZ,CAAZ;AACA,QAAMO,GAAG,GAAGD,IAAI,CAACC,GAAL,CAAS,GAAGP,MAAZ,CAAZ;AACA,SAAO,CAACK,GAAG,GAAG,CAACE,GAAG,GAAGF,GAAP,IAAc,KAArB,EAA4BE,GAAG,GAAG,CAACA,GAAG,GAAGF,GAAP,IAAc,KAAhD,CAAP;AACD;AAED,OAAO,SAASG,IAAT,CAAc;AACnBC,EAAAA,KADmB;AAEnBC,EAAAA,MAFmB;AAGnBC,EAAAA;AAHmB,CAAd,EAQJ;AACD;;AACA,SAAOf,WAAW,CAACa,KAAD,EAAQC,MAAR,EAAgB,CAACC,SAAD,EAAY,CAAZ,CAAhB,EAAgCd,WAAW,CAACe,KAA5C,CAAlB;AACD;AAED,OAAO,SAASC,SAAT,CAAmB;AACxBJ,EAAAA,KADwB;AAExBC,EAAAA,MAFwB;AAGxBC,EAAAA;AAHwB,CAAnB,EAQJ;AACD;;AACA,SAAOf,WAAW,CAChBa,KADgB,EAEhB,CAAC,CAAD,EAAIH,IAAI,CAACC,GAAL,CAAS,GAAGG,MAAZ,IAAsBJ,IAAI,CAACD,GAAL,CAAS,GAAGK,MAAZ,CAA1B,CAFgB,EAGhB,CAAC,CAAD,EAAIC,SAAJ,CAHgB,EAIhBd,WAAW,CAACe,KAJI,CAAlB;AAMD;AAED,OAAO,SAASE,QAAT,CAAkB;AACvBC,EAAAA,CADuB;AAEvBL,EAAAA,MAFuB;AAGvBC,EAAAA;AAHuB,CAAlB,EAQJ;AACD;;AACA,MAAII,CAAC,KAAK,CAAC,CAAX,EAAc,OAAO,CAAC,CAAR;AACd,SAAOnB,WAAW,CAACmB,CAAD,EAAI,CAAC,CAAD,EAAIJ,SAAJ,CAAJ,EAAoBD,MAAM,CAACM,OAAP,EAApB,EAAsCnB,WAAW,CAACe,KAAlD,CAAlB;AACD","sourcesContent":["import { interpolate, Extrapolate } from 'react-native-reanimated';\n\nimport type { TCandle, TDomain } from './types';\n\nexport function getDomain(rows: TCandle[]): [min: number, max: number] {\n 'worklet';\n const values = rows.map(({ high, low }) => [high, low]).flat();\n const min = Math.min(...values);\n const max = Math.max(...values);\n return [min - (max - min) * 0.025, max + (max - min) * 0.025];\n}\n\nexport function getY({\n value,\n domain,\n maxHeight,\n}: {\n value: number;\n domain: TDomain;\n maxHeight: number;\n}) {\n 'worklet';\n return interpolate(value, domain, [maxHeight, 0], Extrapolate.CLAMP);\n}\n\nexport function getHeight({\n value,\n domain,\n maxHeight,\n}: {\n value: number;\n domain: TDomain;\n maxHeight: number;\n}) {\n 'worklet';\n return interpolate(\n value,\n [0, Math.max(...domain) - Math.min(...domain)],\n [0, maxHeight],\n Extrapolate.CLAMP\n );\n}\n\nexport function getPrice({\n y,\n domain,\n maxHeight,\n}: {\n y: number;\n domain: TDomain;\n maxHeight: number;\n}) {\n 'worklet';\n if (y === -1) return -1;\n return interpolate(y, [0, maxHeight], domain.reverse(), Extrapolate.CLAMP);\n}\n"]}
1
+ {"version":3,"names":["interpolate","Extrapolate","getDomain","rows","values","map","high","low","flat","min","Math","max","getY","value","domain","maxHeight","CLAMP","getHeight","getPrice","y","reverse"],"sourceRoot":"../../../../src","sources":["charts/candle/utils.ts"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,yBAAyB;AAIlE,OAAO,SAASC,SAASA,CAACC,IAAe,EAA8B;EACrE,SAAS;;EACT,MAAMC,MAAM,GAAGD,IAAI,CAACE,GAAG,CAAC,CAAC;IAAEC,IAAI;IAAEC;EAAI,CAAC,KAAK,CAACD,IAAI,EAAEC,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;EAC9D,MAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,GAAGL,MAAM,CAAC;EAC/B,MAAMO,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,GAAGP,MAAM,CAAC;EAC/B,OAAO,CAACK,GAAG,GAAG,CAACE,GAAG,GAAGF,GAAG,IAAI,KAAK,EAAEE,GAAG,GAAG,CAACA,GAAG,GAAGF,GAAG,IAAI,KAAK,CAAC;AAC/D;AAEA,OAAO,SAASG,IAAIA,CAAC;EACnBC,KAAK;EACLC,MAAM;EACNC;AAKF,CAAC,EAAE;EACD,SAAS;;EACT,OAAOf,WAAW,CAACa,KAAK,EAAEC,MAAM,EAAE,CAACC,SAAS,EAAE,CAAC,CAAC,EAAEd,WAAW,CAACe,KAAK,CAAC;AACtE;AAEA,OAAO,SAASC,SAASA,CAAC;EACxBJ,KAAK;EACLC,MAAM;EACNC;AAKF,CAAC,EAAE;EACD,SAAS;;EACT,OAAOf,WAAW,CAChBa,KAAK,EACL,CAAC,CAAC,EAAEH,IAAI,CAACC,GAAG,CAAC,GAAGG,MAAM,CAAC,GAAGJ,IAAI,CAACD,GAAG,CAAC,GAAGK,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,EAAEC,SAAS,CAAC,EACdd,WAAW,CAACe,KACd,CAAC;AACH;AAEA,OAAO,SAASE,QAAQA,CAAC;EACvBC,CAAC;EACDL,MAAM;EACNC;AAKF,CAAC,EAAE;EACD,SAAS;;EACT,IAAII,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;EACvB,OAAOnB,WAAW,CAACmB,CAAC,EAAE,CAAC,CAAC,EAAEJ,SAAS,CAAC,EAAED,MAAM,CAACM,OAAO,CAAC,CAAC,EAAEnB,WAAW,CAACe,KAAK,CAAC;AAC5E"}
@@ -1,13 +1,12 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- import * as React from 'react'; // @ts-ignore
4
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import * as React from 'react';
3
+ // @ts-ignore
5
4
  import * as d3Shape from 'd3-shape';
6
5
  import { Dimensions, StyleSheet, View } from 'react-native';
7
- import { LineChartContext } from './Context';
8
6
  import { LineChartIdProvider, useLineChartData } from './Data';
9
- import { getArea, getPath } from './utils';
10
7
  import { parse } from 'react-native-redash';
8
+ import { getArea, getPath } from './utils';
9
+ import { LineChartContext } from './Context';
11
10
  export const LineChartDimensionsContext = /*#__PURE__*/React.createContext({
12
11
  width: 0,
13
12
  height: 0,
@@ -35,7 +34,8 @@ export function LineChart({
35
34
  }) {
36
35
  const {
37
36
  yDomain,
38
- xLength
37
+ xLength,
38
+ xDomain
39
39
  } = React.useContext(LineChartContext);
40
40
  const {
41
41
  data
@@ -44,11 +44,9 @@ export function LineChart({
44
44
  });
45
45
  const pathWidth = React.useMemo(() => {
46
46
  let allowedWidth = width;
47
-
48
47
  if (xLength > data.length) {
49
48
  allowedWidth = width * data.length / xLength;
50
49
  }
51
-
52
50
  return allowedWidth;
53
51
  }, [data.length, width, xLength]);
54
52
  const path = React.useMemo(() => {
@@ -59,12 +57,12 @@ export function LineChart({
59
57
  height,
60
58
  gutter: yGutter,
61
59
  shape,
62
- yDomain
60
+ yDomain,
61
+ xDomain
63
62
  });
64
63
  }
65
-
66
64
  return '';
67
- }, [data, pathWidth, height, yGutter, shape, yDomain]);
65
+ }, [data, pathWidth, height, yGutter, shape, yDomain, xDomain]);
68
66
  const area = React.useMemo(() => {
69
67
  if (data && data.length > 0) {
70
68
  return getArea({
@@ -73,12 +71,12 @@ export function LineChart({
73
71
  height,
74
72
  gutter: yGutter,
75
73
  shape,
76
- yDomain
74
+ yDomain,
75
+ xDomain
77
76
  });
78
77
  }
79
-
80
78
  return '';
81
- }, [data, pathWidth, height, yGutter, shape, yDomain]);
79
+ }, [data, pathWidth, height, yGutter, shape, yDomain, xDomain]);
82
80
  const dataLength = data.length;
83
81
  const parsedPath = React.useMemo(() => parse(path), [path]);
84
82
  const pointWidth = React.useMemo(() => width / (dataLength - 1), [dataLength, width]);
@@ -1 +1 @@
1
- {"version":3,"sources":["Chart.tsx"],"names":["React","d3Shape","Dimensions","StyleSheet","View","LineChartContext","LineChartIdProvider","useLineChartData","getArea","getPath","parse","LineChartDimensionsContext","createContext","width","height","pointWidth","parsedPath","path","area","shape","curveBumpX","gutter","pathWidth","screenWidth","get","LineChart","displayName","children","yGutter","id","absolute","props","yDomain","xLength","useContext","data","useMemo","allowedWidth","length","dataLength","contextValue","styles","style","create","position"],"mappings":"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","sourcesContent":["import * as React from 'react';\n// @ts-ignore\nimport * as d3Shape from 'd3-shape';\nimport { Dimensions, StyleSheet, View, ViewProps } from 'react-native';\nimport { LineChartContext } from './Context';\nimport { LineChartIdProvider, useLineChartData } from './Data';\n\nimport { getArea, getPath } from './utils';\nimport { parse, Path } from 'react-native-redash';\n\nexport const LineChartDimensionsContext = React.createContext({\n width: 0,\n height: 0,\n pointWidth: 0,\n parsedPath: {} as Path,\n path: '',\n area: '',\n shape: d3Shape.curveBumpX,\n gutter: 0,\n pathWidth: 0,\n});\n\ntype LineChartProps = ViewProps & {\n children: React.ReactNode;\n yGutter?: number;\n width?: number;\n height?: number;\n shape?: unknown;\n /**\n * If your `LineChart.Provider` uses a dictionary with multiple IDs for multiple paths, then this field is required.\n */\n id?: string;\n absolute?: boolean;\n};\n\nconst { width: screenWidth } = Dimensions.get('window');\n\nLineChart.displayName = 'LineChart';\n\nexport function LineChart({\n children,\n yGutter = 16,\n width = screenWidth,\n height = screenWidth,\n shape = d3Shape.curveBumpX,\n id,\n absolute,\n ...props\n}: LineChartProps) {\n const { yDomain, xLength } = React.useContext(LineChartContext);\n const { data } = useLineChartData({\n id,\n });\n\n const pathWidth = React.useMemo(() => {\n let allowedWidth = width;\n if (xLength > data.length) {\n allowedWidth = (width * data.length) / xLength;\n }\n return allowedWidth;\n }, [data.length, width, xLength]);\n\n const path = React.useMemo(() => {\n if (data && data.length > 0) {\n return getPath({\n data,\n width: pathWidth,\n height,\n gutter: yGutter,\n shape,\n yDomain,\n });\n }\n return '';\n }, [data, pathWidth, height, yGutter, shape, yDomain]);\n\n const area = React.useMemo(() => {\n if (data && data.length > 0) {\n return getArea({\n data,\n width: pathWidth,\n height,\n gutter: yGutter,\n shape,\n yDomain,\n });\n }\n return '';\n }, [data, pathWidth, height, yGutter, shape, yDomain]);\n\n const dataLength = data.length;\n const parsedPath = React.useMemo(() => parse(path), [path]);\n const pointWidth = React.useMemo(\n () => width / (dataLength - 1),\n [dataLength, width]\n );\n\n const contextValue = React.useMemo(\n () => ({\n gutter: yGutter,\n parsedPath,\n pointWidth,\n area,\n path,\n width,\n height,\n pathWidth,\n shape,\n }),\n [\n yGutter,\n parsedPath,\n pointWidth,\n area,\n path,\n width,\n height,\n pathWidth,\n shape,\n ]\n );\n\n return (\n <LineChartIdProvider id={id}>\n <LineChartDimensionsContext.Provider value={contextValue}>\n <View {...props} style={[absolute && styles.absolute, props.style]}>\n {children}\n </View>\n </LineChartDimensionsContext.Provider>\n </LineChartIdProvider>\n );\n}\n\nconst styles = StyleSheet.create({\n absolute: {\n position: 'absolute',\n },\n});\n"]}
1
+ {"version":3,"names":["React","d3Shape","Dimensions","StyleSheet","View","LineChartIdProvider","useLineChartData","parse","getArea","getPath","LineChartContext","LineChartDimensionsContext","createContext","width","height","pointWidth","parsedPath","path","area","shape","curveBumpX","gutter","pathWidth","screenWidth","get","LineChart","displayName","children","yGutter","id","absolute","props","yDomain","xLength","xDomain","useContext","data","useMemo","allowedWidth","length","dataLength","contextValue","createElement","Provider","value","_extends","style","styles","create","position"],"sourceRoot":"../../../../src","sources":["charts/line/Chart.tsx"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  import * as React from 'react';
4
3
  import { StyleSheet, View } from 'react-native';
5
4
  import { Svg } from 'react-native-svg';
@@ -27,8 +26,6 @@ export function LineChartPathWrapper({
27
26
  mountAnimationDuration = animationDuration,
28
27
  mountAnimationProps = animationProps
29
28
  }) {
30
- var _pathProps$isTransiti, _pathProps$isTransiti2;
31
-
32
29
  const {
33
30
  height,
34
31
  pathWidth,
@@ -41,21 +38,23 @@ export function LineChartPathWrapper({
41
38
  const isMounted = useSharedValue(false);
42
39
  const hasMountedAnimation = useSharedValue(false);
43
40
  React.useEffect(() => {
44
- isMounted.value = true; // eslint-disable-next-line react-hooks/exhaustive-deps
45
- }, []); ////////////////////////////////////////////////
41
+ isMounted.value = true;
42
+ // eslint-disable-next-line react-hooks/exhaustive-deps
43
+ }, []);
44
+
45
+ ////////////////////////////////////////////////
46
46
 
47
47
  const svgProps = useAnimatedProps(() => {
48
48
  const shouldAnimateOnMount = animateOnMount === 'foreground';
49
49
  const inactiveWidth = !isMounted.value && shouldAnimateOnMount ? 0 : pathWidth;
50
50
  let duration = shouldAnimateOnMount && !hasMountedAnimation.value ? mountAnimationDuration : animationDuration;
51
51
  const props = shouldAnimateOnMount && !hasMountedAnimation.value ? mountAnimationProps : animationProps;
52
-
53
52
  if (isActive.value) {
54
53
  duration = 0;
55
54
  }
56
-
57
55
  return {
58
- width: withTiming(isActive.value ? // on Web, <svg /> elements don't support negative widths
56
+ width: withTiming(isActive.value ?
57
+ // on Web, <svg /> elements don't support negative widths
59
58
  // https://github.com/coinjar/react-native-wagmi-charts/issues/24#issuecomment-955789904
60
59
  Math.max(currentX.value, 0) : inactiveWidth + widthOffset, Object.assign({
61
60
  duration
@@ -63,39 +62,33 @@ export function LineChartPathWrapper({
63
62
  hasMountedAnimation.value = true;
64
63
  })
65
64
  };
66
- });
65
+ }, [animateOnMount, animationDuration, animationProps, currentX, hasMountedAnimation, isActive, isMounted, mountAnimationDuration, mountAnimationProps, pathWidth, widthOffset]);
67
66
  const viewSize = React.useMemo(() => ({
68
67
  width,
69
68
  height
70
- }), [width, height]); ////////////////////////////////////////////////
69
+ }), [width, height]);
70
+
71
+ ////////////////////////////////////////////////
71
72
 
72
73
  let backgroundChildren;
73
74
  let foregroundChildren;
74
-
75
75
  if (children) {
76
76
  const iterableChildren = flattenChildren(children);
77
- backgroundChildren = iterableChildren.filter(child => {
78
- var _child$type;
79
-
80
- return (// @ts-ignore
81
- BACKGROUND_COMPONENTS.includes(child === null || child === void 0 ? void 0 : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName)
82
- );
83
- });
84
- foregroundChildren = iterableChildren.filter(child => {
85
- var _child$type2;
86
-
87
- return (// @ts-ignore
88
- FOREGROUND_COMPONENTS.includes(child === null || child === void 0 ? void 0 : (_child$type2 = child.type) === null || _child$type2 === void 0 ? void 0 : _child$type2.displayName)
89
- );
90
- });
91
- } ////////////////////////////////////////////////
77
+ backgroundChildren = iterableChildren.filter(child =>
78
+ // @ts-ignore
79
+ BACKGROUND_COMPONENTS.includes(child?.type?.displayName));
80
+ foregroundChildren = iterableChildren.filter(child =>
81
+ // @ts-ignore
82
+ FOREGROUND_COMPONENTS.includes(child?.type?.displayName));
83
+ }
92
84
 
85
+ ////////////////////////////////////////////////
93
86
 
94
87
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LineChartPathContext.Provider, {
95
88
  value: {
96
89
  color,
97
90
  isInactive: showInactivePath,
98
- isTransitionEnabled: (_pathProps$isTransiti = pathProps.isTransitionEnabled) !== null && _pathProps$isTransiti !== void 0 ? _pathProps$isTransiti : true
91
+ isTransitionEnabled: pathProps.isTransitionEnabled ?? true
99
92
  }
100
93
  }, /*#__PURE__*/React.createElement(View, {
101
94
  style: viewSize
@@ -110,7 +103,7 @@ export function LineChartPathWrapper({
110
103
  value: {
111
104
  color,
112
105
  isInactive: false,
113
- isTransitionEnabled: (_pathProps$isTransiti2 = pathProps.isTransitionEnabled) !== null && _pathProps$isTransiti2 !== void 0 ? _pathProps$isTransiti2 : true
106
+ isTransitionEnabled: pathProps.isTransitionEnabled ?? true
114
107
  }
115
108
  }, /*#__PURE__*/React.createElement(View, {
116
109
  style: StyleSheet.absoluteFill
@@ -1 +1 @@
1
- {"version":3,"sources":["ChartPath.tsx"],"names":["React","StyleSheet","View","Svg","Animated","useAnimatedProps","useSharedValue","withTiming","flattenChildren","LineChartDimensionsContext","LineChartPathContext","LineChartPath","useLineChart","BACKGROUND_COMPONENTS","FOREGROUND_COMPONENTS","AnimatedSVG","createAnimatedComponent","LineChartPathWrapper","displayName","animationDuration","animationProps","children","color","inactiveColor","width","strokeWidth","widthOffset","pathProps","showInactivePath","animateOnMount","mountAnimationDuration","mountAnimationProps","height","pathWidth","useContext","currentX","isActive","isMounted","hasMountedAnimation","useEffect","value","svgProps","shouldAnimateOnMount","inactiveWidth","duration","props","Math","max","Object","assign","viewSize","useMemo","backgroundChildren","foregroundChildren","iterableChildren","filter","child","includes","type","isInactive","isTransitionEnabled","absoluteFill"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { Svg } from 'react-native-svg';\nimport Animated, {\n useAnimatedProps,\n useSharedValue,\n withTiming,\n WithTimingConfig,\n} from 'react-native-reanimated';\nimport flattenChildren from 'react-keyed-flatten-children';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { LineChartPathContext } from './LineChartPathContext';\nimport { LineChartPath, LineChartPathProps } from './Path';\nimport { useLineChart } from './useLineChart';\n\nconst BACKGROUND_COMPONENTS = [\n 'LineChartHighlight',\n 'LineChartHorizontalLine',\n 'LineChartGradient',\n 'LineChartDot',\n 'LineChartTooltip',\n];\nconst FOREGROUND_COMPONENTS = ['LineChartHighlight', 'LineChartDot'];\n\nconst AnimatedSVG = Animated.createAnimatedComponent(Svg);\n\ntype LineChartPathWrapperProps = {\n animationDuration?: number;\n animationProps?: Omit<Partial<WithTimingConfig>, 'duration'>;\n children?: React.ReactNode;\n color?: string;\n inactiveColor?: string;\n width?: number;\n widthOffset?: number;\n pathProps?: Partial<LineChartPathProps>;\n showInactivePath?: boolean;\n animateOnMount?: 'foreground';\n mountAnimationDuration?: number;\n mountAnimationProps?: Partial<WithTimingConfig>;\n};\n\nLineChartPathWrapper.displayName = 'LineChartPathWrapper';\n\nexport function LineChartPathWrapper({\n animationDuration = 300,\n animationProps = {},\n children,\n color = 'black',\n inactiveColor,\n width: strokeWidth = 3,\n widthOffset = 20,\n pathProps = {},\n showInactivePath = true,\n animateOnMount,\n mountAnimationDuration = animationDuration,\n mountAnimationProps = animationProps,\n}: LineChartPathWrapperProps) {\n const { height, pathWidth, width } = React.useContext(\n LineChartDimensionsContext\n );\n const { currentX, isActive } = useLineChart();\n const isMounted = useSharedValue(false);\n const hasMountedAnimation = useSharedValue(false);\n\n React.useEffect(() => {\n isMounted.value = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n ////////////////////////////////////////////////\n\n const svgProps = useAnimatedProps(() => {\n const shouldAnimateOnMount = animateOnMount === 'foreground';\n const inactiveWidth =\n !isMounted.value && shouldAnimateOnMount ? 0 : pathWidth;\n\n let duration =\n shouldAnimateOnMount && !hasMountedAnimation.value\n ? mountAnimationDuration\n : animationDuration;\n const props =\n shouldAnimateOnMount && !hasMountedAnimation.value\n ? mountAnimationProps\n : animationProps;\n\n if (isActive.value) {\n duration = 0;\n }\n\n return {\n width: withTiming(\n isActive.value\n ? // on Web, <svg /> elements don't support negative widths\n // https://github.com/coinjar/react-native-wagmi-charts/issues/24#issuecomment-955789904\n Math.max(currentX.value, 0)\n : inactiveWidth + widthOffset,\n Object.assign({ duration }, props),\n () => {\n hasMountedAnimation.value = true;\n }\n ),\n };\n });\n\n const viewSize = React.useMemo(() => ({ width, height }), [width, height]);\n\n ////////////////////////////////////////////////\n\n let backgroundChildren;\n let foregroundChildren;\n if (children) {\n const iterableChildren = flattenChildren(children);\n backgroundChildren = iterableChildren.filter((child) =>\n // @ts-ignore\n BACKGROUND_COMPONENTS.includes(child?.type?.displayName)\n );\n foregroundChildren = iterableChildren.filter((child) =>\n // @ts-ignore\n FOREGROUND_COMPONENTS.includes(child?.type?.displayName)\n );\n }\n\n ////////////////////////////////////////////////\n\n return (\n <>\n <LineChartPathContext.Provider\n value={{\n color,\n isInactive: showInactivePath,\n isTransitionEnabled: pathProps.isTransitionEnabled ?? true,\n }}\n >\n <View style={viewSize}>\n <Svg width={width} height={height}>\n <LineChartPath\n color={color}\n inactiveColor={inactiveColor}\n width={strokeWidth}\n {...pathProps}\n />\n {backgroundChildren}\n </Svg>\n </View>\n </LineChartPathContext.Provider>\n <LineChartPathContext.Provider\n value={{\n color,\n isInactive: false,\n isTransitionEnabled: pathProps.isTransitionEnabled ?? true,\n }}\n >\n <View style={StyleSheet.absoluteFill}>\n <AnimatedSVG animatedProps={svgProps} height={height}>\n <LineChartPath color={color} width={strokeWidth} {...pathProps} />\n {foregroundChildren}\n </AnimatedSVG>\n </View>\n </LineChartPathContext.Provider>\n </>\n );\n}\n"]}
1
+ {"version":3,"names":["React","StyleSheet","View","Svg","Animated","useAnimatedProps","useSharedValue","withTiming","flattenChildren","LineChartDimensionsContext","LineChartPathContext","LineChartPath","useLineChart","BACKGROUND_COMPONENTS","FOREGROUND_COMPONENTS","AnimatedSVG","createAnimatedComponent","LineChartPathWrapper","displayName","animationDuration","animationProps","children","color","inactiveColor","width","strokeWidth","widthOffset","pathProps","showInactivePath","animateOnMount","mountAnimationDuration","mountAnimationProps","height","pathWidth","useContext","currentX","isActive","isMounted","hasMountedAnimation","useEffect","value","svgProps","shouldAnimateOnMount","inactiveWidth","duration","props","Math","max","Object","assign","viewSize","useMemo","backgroundChildren","foregroundChildren","iterableChildren","filter","child","includes","type","createElement","Fragment","Provider","isInactive","isTransitionEnabled","style","_extends","absoluteFill","animatedProps"],"sourceRoot":"../../../../src","sources":["charts/line/ChartPath.tsx"],"mappings":"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"}
@@ -17,6 +17,7 @@ export const LineChartContext = /*#__PURE__*/React.createContext({
17
17
  min: 0,
18
18
  max: 0
19
19
  },
20
+ xDomain: undefined,
20
21
  xLength: 0
21
22
  });
22
23
  LineChartProvider.displayName = 'LineChartProvider';
@@ -25,15 +26,14 @@ export function LineChartProvider({
25
26
  data = [],
26
27
  yRange,
27
28
  onCurrentIndexChange,
28
- xLength
29
+ xLength,
30
+ xDomain
29
31
  }) {
30
32
  const currentX = useSharedValue(-1);
31
33
  const currentIndex = useSharedValue(-1);
32
34
  const isActive = useSharedValue(false);
33
35
  const domain = React.useMemo(() => getDomain(Array.isArray(data) ? data : Object.values(data)[0]), [data]);
34
36
  const contextValue = React.useMemo(() => {
35
- var _yRange$min, _yRange$max;
36
-
37
37
  const values = lineChartDataPropToArray(data).map(({
38
38
  value
39
39
  }) => value);
@@ -43,17 +43,18 @@ export function LineChartProvider({
43
43
  isActive,
44
44
  domain,
45
45
  yDomain: {
46
- min: (_yRange$min = yRange === null || yRange === void 0 ? void 0 : yRange.min) !== null && _yRange$min !== void 0 ? _yRange$min : Math.min(...values),
47
- max: (_yRange$max = yRange === null || yRange === void 0 ? void 0 : yRange.max) !== null && _yRange$max !== void 0 ? _yRange$max : Math.max(...values)
46
+ min: yRange?.min ?? Math.min(...values),
47
+ max: yRange?.max ?? Math.max(...values)
48
48
  },
49
- xLength: xLength !== null && xLength !== void 0 ? xLength : (Array.isArray(data) ? data : Object.values(data)[0]).length
49
+ xDomain,
50
+ xLength: xLength ?? (Array.isArray(data) ? data : Object.values(data)[0]).length
50
51
  };
51
- }, [currentIndex, currentX, data, domain, isActive, yRange === null || yRange === void 0 ? void 0 : yRange.max, yRange === null || yRange === void 0 ? void 0 : yRange.min, xLength]);
52
+ }, [currentIndex, currentX, data, domain, isActive, yRange?.max, yRange?.min, xLength, xDomain]);
52
53
  useAnimatedReaction(() => currentIndex.value, (x, prevX) => {
53
54
  if (x !== -1 && x !== prevX && onCurrentIndexChange) {
54
55
  runOnJS(onCurrentIndexChange)(x);
55
56
  }
56
- });
57
+ }, [currentIndex]);
57
58
  return /*#__PURE__*/React.createElement(LineChartDataProvider, {
58
59
  data: data
59
60
  }, /*#__PURE__*/React.createElement(LineChartContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"sources":["Context.tsx"],"names":["React","runOnJS","useAnimatedReaction","useSharedValue","LineChartDataProvider","getDomain","lineChartDataPropToArray","LineChartContext","createContext","currentX","value","currentIndex","domain","isActive","yDomain","min","max","xLength","LineChartProvider","displayName","children","data","yRange","onCurrentIndexChange","useMemo","Array","isArray","Object","values","contextValue","map","Math","length","x","prevX"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {\n runOnJS,\n useAnimatedReaction,\n useSharedValue,\n} from 'react-native-reanimated';\nimport type { TLineChartDataProp } from './types';\nimport { LineChartDataProvider } from './Data';\n\nimport type { TLineChartContext, YRangeProp } from './types';\nimport { getDomain, lineChartDataPropToArray } from './utils';\n\nexport const LineChartContext = React.createContext<TLineChartContext>({\n currentX: { value: -1 },\n currentIndex: { value: -1 },\n domain: [0, 0],\n isActive: { value: false },\n yDomain: {\n min: 0,\n max: 0,\n },\n xLength: 0,\n});\n\ntype LineChartProviderProps = {\n children: React.ReactNode;\n data: TLineChartDataProp;\n yRange?: YRangeProp;\n onCurrentIndexChange?: (x: number) => void;\n xLength?: number;\n};\n\nLineChartProvider.displayName = 'LineChartProvider';\n\nexport function LineChartProvider({\n children,\n data = [],\n yRange,\n onCurrentIndexChange,\n xLength,\n}: LineChartProviderProps) {\n const currentX = useSharedValue(-1);\n const currentIndex = useSharedValue(-1);\n const isActive = useSharedValue(false);\n\n const domain = React.useMemo(\n () => getDomain(Array.isArray(data) ? data : Object.values(data)[0]),\n [data]\n );\n\n const contextValue = React.useMemo<TLineChartContext>(() => {\n const values = lineChartDataPropToArray(data).map(({ value }) => value);\n\n return {\n currentX,\n currentIndex,\n isActive,\n domain,\n yDomain: {\n min: yRange?.min ?? Math.min(...values),\n max: yRange?.max ?? Math.max(...values),\n },\n xLength:\n xLength ?? (Array.isArray(data) ? data : Object.values(data)[0]).length,\n };\n }, [\n currentIndex,\n currentX,\n data,\n domain,\n isActive,\n yRange?.max,\n yRange?.min,\n xLength,\n ]);\n\n useAnimatedReaction(\n () => currentIndex.value,\n (x, prevX) => {\n if (x !== -1 && x !== prevX && onCurrentIndexChange) {\n runOnJS(onCurrentIndexChange)(x);\n }\n }\n );\n\n return (\n <LineChartDataProvider data={data}>\n <LineChartContext.Provider value={contextValue}>\n {children}\n </LineChartContext.Provider>\n </LineChartDataProvider>\n );\n}\n"]}
1
+ {"version":3,"names":["React","runOnJS","useAnimatedReaction","useSharedValue","LineChartDataProvider","getDomain","lineChartDataPropToArray","LineChartContext","createContext","currentX","value","currentIndex","domain","isActive","yDomain","min","max","xDomain","undefined","xLength","LineChartProvider","displayName","children","data","yRange","onCurrentIndexChange","useMemo","Array","isArray","Object","values","contextValue","map","Math","length","x","prevX","createElement","Provider"],"sourceRoot":"../../../../src","sources":["charts/line/Context.tsx"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  import * as React from 'react';
4
- import { StyleSheet } from 'react-native';
3
+ import Animated, { runOnJS, useAnimatedGestureHandler } from 'react-native-reanimated';
5
4
  import { LongPressGestureHandler } from 'react-native-gesture-handler';
6
- import Animated, { useAnimatedGestureHandler } from 'react-native-reanimated';
7
5
  import { LineChartDimensionsContext } from './Chart';
6
+ import { StyleSheet } from 'react-native';
7
+ import { bisectCenter } from 'd3-array';
8
+ import { scaleLinear } from 'd3-scale';
8
9
  import { useLineChart } from './useLineChart';
9
10
  export const CursorContext = /*#__PURE__*/React.createContext({
10
11
  type: ''
@@ -12,6 +13,7 @@ export const CursorContext = /*#__PURE__*/React.createContext({
12
13
  LineChartCursor.displayName = 'LineChartCursor';
13
14
  export function LineChartCursor({
14
15
  children,
16
+ snapToPoint,
15
17
  type,
16
18
  ...props
17
19
  }) {
@@ -23,22 +25,57 @@ export function LineChartCursor({
23
25
  currentX,
24
26
  currentIndex,
25
27
  isActive,
26
- data
28
+ data,
29
+ xDomain
27
30
  } = useLineChart();
31
+ const xValues = React.useMemo(() => data.map(({
32
+ timestamp
33
+ }, i) => xDomain ? timestamp : i), [data, xDomain]);
34
+
35
+ // Same scale as in /src/charts/line/utils/getPath.ts
36
+ const scaleX = React.useMemo(() => {
37
+ const domainArray = xDomain ?? [0, xValues.length];
38
+ return scaleLinear().domain(domainArray).range([0, width]);
39
+ }, [width, xDomain, xValues.length]);
40
+ const linearScalePositionAndIndex = ({
41
+ xPosition
42
+ }) => {
43
+ if (!parsedPath) {
44
+ return;
45
+ }
46
+
47
+ // Calculate a scaled timestamp for the current touch position
48
+ const xRelative = scaleX.invert(xPosition);
49
+ const closestIndex = bisectCenter(xValues, xRelative);
50
+ const pathDataDelta = Math.abs(parsedPath.curves.length - xValues.length); // sometimes there is a difference between data length and number of path curves.
51
+ const closestPathCurve = Math.max(Math.min(closestIndex, parsedPath.curves.length + 1) - pathDataDelta, 0);
52
+ const newXPosition = (closestIndex > 0 ? parsedPath.curves[closestPathCurve].to : parsedPath.move).x;
53
+ // Update values
54
+ currentIndex.value = closestIndex;
55
+ currentX.value = newXPosition;
56
+ };
28
57
  const onGestureEvent = useAnimatedGestureHandler({
29
58
  onActive: ({
30
59
  x
31
60
  }) => {
32
61
  if (parsedPath) {
33
- const boundedX = Math.max(0, x <= width ? x : width);
62
+ const xPosition = Math.max(0, x <= width ? x : width);
34
63
  isActive.value = true;
35
- currentX.value = boundedX; // on Web, we could drag the cursor to be negative, breaking it
64
+
65
+ // on Web, we could drag the cursor to be negative, breaking it
36
66
  // so we clamp the index at 0 to fix it
37
67
  // https://github.com/coinjar/react-native-wagmi-charts/issues/24
38
-
39
68
  const minIndex = 0;
40
- const boundedIndex = Math.max(minIndex, Math.round(boundedX / width / (1 / (data.length - 1))));
41
- currentIndex.value = boundedIndex;
69
+ const boundedIndex = Math.max(minIndex, Math.round(xPosition / width / (1 / (data.length - 1))));
70
+ if (snapToPoint) {
71
+ // We have to run this on the JS thread unfortunately as the scaleLinear functions won't work on UI thread
72
+ runOnJS(linearScalePositionAndIndex)({
73
+ xPosition
74
+ });
75
+ } else if (!snapToPoint) {
76
+ currentX.value = xPosition;
77
+ currentIndex.value = boundedIndex;
78
+ }
42
79
  }
43
80
  },
44
81
  onEnd: () => {
@@ -53,7 +90,8 @@ export function LineChartCursor({
53
90
  }, /*#__PURE__*/React.createElement(LongPressGestureHandler, _extends({
54
91
  minDurationMs: 0,
55
92
  maxDist: 999999,
56
- onGestureEvent: onGestureEvent
93
+ onGestureEvent: onGestureEvent,
94
+ shouldCancelWhenOutside: false
57
95
  }, props), /*#__PURE__*/React.createElement(Animated.View, {
58
96
  style: StyleSheet.absoluteFill
59
97
  }, children)));
@@ -1 +1 @@
1
- {"version":3,"sources":["Cursor.tsx"],"names":["React","StyleSheet","LongPressGestureHandler","Animated","useAnimatedGestureHandler","LineChartDimensionsContext","useLineChart","CursorContext","createContext","type","LineChartCursor","displayName","children","props","pathWidth","width","parsedPath","useContext","currentX","currentIndex","isActive","data","onGestureEvent","onActive","x","boundedX","Math","max","value","minIndex","boundedIndex","round","length","onEnd","absoluteFill"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,SAEEC,uBAFF,QAKO,8BALP;AAMA,OAAOC,QAAP,IAAmBC,yBAAnB,QAAoD,yBAApD;AAEA,SAASC,0BAAT,QAA2C,SAA3C;AACA,SAASC,YAAT,QAA6B,gBAA7B;AAOA,OAAO,MAAMC,aAAa,gBAAGP,KAAK,CAACQ,aAAN,CAAoB;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAApB,CAAtB;AAEPC,eAAe,CAACC,WAAhB,GAA8B,iBAA9B;AAEA,OAAO,SAASD,eAAT,CAAyB;AAC9BE,EAAAA,QAD8B;AAE9BH,EAAAA,IAF8B;AAG9B,KAAGI;AAH2B,CAAzB,EAIkB;AACvB,QAAM;AAAEC,IAAAA,SAAS,EAAEC,KAAb;AAAoBC,IAAAA;AAApB,MAAmChB,KAAK,CAACiB,UAAN,CACvCZ,0BADuC,CAAzC;AAGA,QAAM;AAAEa,IAAAA,QAAF;AAAYC,IAAAA,YAAZ;AAA0BC,IAAAA,QAA1B;AAAoCC,IAAAA;AAApC,MAA6Cf,YAAY,EAA/D;AAEA,QAAMgB,cAAc,GAAGlB,yBAAyB,CAE9C;AACAmB,IAAAA,QAAQ,EAAE,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAW;AACnB,UAAIR,UAAJ,EAAgB;AACd,cAAMS,QAAQ,GAAGC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYH,CAAC,IAAIT,KAAL,GAAaS,CAAb,GAAiBT,KAA7B,CAAjB;AACAK,QAAAA,QAAQ,CAACQ,KAAT,GAAiB,IAAjB;AACAV,QAAAA,QAAQ,CAACU,KAAT,GAAiBH,QAAjB,CAHc,CAKd;AACA;AACA;;AACA,cAAMI,QAAQ,GAAG,CAAjB;AACA,cAAMC,YAAY,GAAGJ,IAAI,CAACC,GAAL,CACnBE,QADmB,EAEnBH,IAAI,CAACK,KAAL,CAAWN,QAAQ,GAAGV,KAAX,IAAoB,KAAKM,IAAI,CAACW,MAAL,GAAc,CAAnB,CAApB,CAAX,CAFmB,CAArB;AAKAb,QAAAA,YAAY,CAACS,KAAb,GAAqBE,YAArB;AACD;AACF,KAlBD;AAmBAG,IAAAA,KAAK,EAAE,MAAM;AACXb,MAAAA,QAAQ,CAACQ,KAAT,GAAiB,KAAjB;AACAT,MAAAA,YAAY,CAACS,KAAb,GAAqB,CAAC,CAAtB;AACD;AAtBD,GAF8C,CAAhD;AA2BA,sBACE,oBAAC,aAAD,CAAe,QAAf;AAAwB,IAAA,KAAK,EAAE;AAAEnB,MAAAA;AAAF;AAA/B,kBACE,oBAAC,uBAAD;AACE,IAAA,aAAa,EAAE,CADjB;AAEE,IAAA,OAAO,EAAE,MAFX;AAGE,IAAA,cAAc,EAAEa;AAHlB,KAIMT,KAJN,gBAME,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAEZ,UAAU,CAACiC;AAAjC,KACGtB,QADH,CANF,CADF,CADF;AAcD","sourcesContent":["import * as React from 'react';\nimport { StyleSheet } from 'react-native';\nimport {\n GestureEvent,\n LongPressGestureHandler,\n LongPressGestureHandlerEventPayload,\n LongPressGestureHandlerProps,\n} from 'react-native-gesture-handler';\nimport Animated, { useAnimatedGestureHandler } from 'react-native-reanimated';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { useLineChart } from './useLineChart';\n\nexport type LineChartCursorProps = LongPressGestureHandlerProps & {\n children: React.ReactNode;\n type: 'line' | 'crosshair';\n};\n\nexport const CursorContext = React.createContext({ type: '' });\n\nLineChartCursor.displayName = 'LineChartCursor';\n\nexport function LineChartCursor({\n children,\n type,\n ...props\n}: LineChartCursorProps) {\n const { pathWidth: width, parsedPath } = React.useContext(\n LineChartDimensionsContext\n );\n const { currentX, currentIndex, isActive, data } = useLineChart();\n\n const onGestureEvent = useAnimatedGestureHandler<\n GestureEvent<LongPressGestureHandlerEventPayload>\n >({\n onActive: ({ x }) => {\n if (parsedPath) {\n const boundedX = Math.max(0, x <= width ? x : width);\n isActive.value = true;\n currentX.value = boundedX;\n\n // on Web, we could drag the cursor to be negative, breaking it\n // so we clamp the index at 0 to fix it\n // https://github.com/coinjar/react-native-wagmi-charts/issues/24\n const minIndex = 0;\n const boundedIndex = Math.max(\n minIndex,\n Math.round(boundedX / width / (1 / (data.length - 1)))\n );\n\n currentIndex.value = boundedIndex;\n }\n },\n onEnd: () => {\n isActive.value = false;\n currentIndex.value = -1;\n },\n });\n\n return (\n <CursorContext.Provider value={{ type }}>\n <LongPressGestureHandler\n minDurationMs={0}\n maxDist={999999}\n onGestureEvent={onGestureEvent}\n {...props}\n >\n <Animated.View style={StyleSheet.absoluteFill}>\n {children}\n </Animated.View>\n </LongPressGestureHandler>\n </CursorContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"names":["React","Animated","runOnJS","useAnimatedGestureHandler","LongPressGestureHandler","LineChartDimensionsContext","StyleSheet","bisectCenter","scaleLinear","useLineChart","CursorContext","createContext","type","LineChartCursor","displayName","children","snapToPoint","props","pathWidth","width","parsedPath","useContext","currentX","currentIndex","isActive","data","xDomain","xValues","useMemo","map","timestamp","i","scaleX","domainArray","length","domain","range","linearScalePositionAndIndex","xPosition","xRelative","invert","closestIndex","pathDataDelta","Math","abs","curves","closestPathCurve","max","min","newXPosition","to","move","x","value","onGestureEvent","onActive","minIndex","boundedIndex","round","onEnd","createElement","Provider","_extends","minDurationMs","maxDist","shouldCancelWhenOutside","View","style","absoluteFill"],"sourceRoot":"../../../../src","sources":["charts/line/Cursor.tsx"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  import * as React from 'react';
4
3
  import { Platform, View } from 'react-native';
5
4
  import Animated, { useAnimatedStyle, withSpring } from 'react-native-reanimated';
@@ -20,8 +19,9 @@ export function LineChartCursorCrosshair({
20
19
  currentX,
21
20
  currentY,
22
21
  isActive
23
- } = useLineChart(); // It seems that enabling spring animation on initial render on Android causes a crash.
22
+ } = useLineChart();
24
23
 
24
+ // It seems that enabling spring animation on initial render on Android causes a crash.
25
25
  const [enableSpringAnimation, setEnableSpringAnimation] = React.useState(Platform.OS === 'ios');
26
26
  React.useEffect(() => {
27
27
  setTimeout(() => {
@@ -38,7 +38,7 @@ export function LineChartCursorCrosshair({
38
38
  damping: 10
39
39
  }) : 0
40
40
  }]
41
- }));
41
+ }), [currentX, currentY, enableSpringAnimation, isActive, outerSize]);
42
42
  return /*#__PURE__*/React.createElement(LineChartCursor, _extends({
43
43
  type: "crosshair"
44
44
  }, props), /*#__PURE__*/React.createElement(Animated.View, _extends({}, crosshairWrapperProps, {
@@ -1 +1 @@
1
- {"version":3,"sources":["CursorCrosshair.tsx"],"names":["React","Platform","View","Animated","useAnimatedStyle","withSpring","LineChartCursor","useLineChart","LineChartCursorCrosshair","displayName","children","color","size","outerSize","crosshairWrapperProps","crosshairProps","crosshairOuterProps","props","currentX","currentY","isActive","enableSpringAnimation","setEnableSpringAnimation","useState","OS","useEffect","setTimeout","animatedCursorStyle","transform","translateX","value","translateY","scale","damping","width","height","alignItems","justifyContent","style","backgroundColor","borderRadius","opacity","position"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Platform, View, ViewProps } from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n withSpring,\n} from 'react-native-reanimated';\n\nimport { LineChartCursor, LineChartCursorProps } from './Cursor';\nimport { useLineChart } from './useLineChart';\n\ntype LineChartCursorCrosshairProps = Omit<\n LineChartCursorProps,\n 'children' | 'type'\n> & {\n children?: React.ReactNode;\n color?: string;\n size?: number;\n outerSize?: number;\n crosshairWrapperProps?: Animated.AnimateProps<ViewProps>;\n crosshairProps?: ViewProps;\n crosshairOuterProps?: ViewProps;\n};\n\nLineChartCursorCrosshair.displayName = 'LineChartCursorCrosshair';\n\nexport function LineChartCursorCrosshair({\n children,\n color = 'black',\n size = 8,\n outerSize = 32,\n crosshairWrapperProps = {},\n crosshairProps = {},\n crosshairOuterProps = {},\n ...props\n}: LineChartCursorCrosshairProps) {\n const { currentX, currentY, isActive } = useLineChart();\n\n // It seems that enabling spring animation on initial render on Android causes a crash.\n const [enableSpringAnimation, setEnableSpringAnimation] = React.useState(\n Platform.OS === 'ios'\n );\n React.useEffect(() => {\n setTimeout(() => {\n setEnableSpringAnimation(true);\n }, 100);\n }, []);\n\n const animatedCursorStyle = useAnimatedStyle(() => ({\n transform: [\n { translateX: currentX.value - outerSize / 2 },\n { translateY: currentY.value - outerSize / 2 },\n {\n scale: enableSpringAnimation\n ? withSpring(isActive.value ? 1 : 0, {\n damping: 10,\n })\n : 0,\n },\n ],\n }));\n\n return (\n <LineChartCursor type=\"crosshair\" {...props}>\n <Animated.View\n {...crosshairWrapperProps}\n style={[\n {\n width: outerSize,\n height: outerSize,\n alignItems: 'center',\n justifyContent: 'center',\n },\n animatedCursorStyle,\n crosshairWrapperProps.style,\n ]}\n >\n <View\n {...crosshairOuterProps}\n style={[\n {\n backgroundColor: color,\n width: outerSize,\n height: outerSize,\n borderRadius: outerSize,\n opacity: 0.1,\n position: 'absolute',\n },\n crosshairOuterProps.style,\n ]}\n />\n <View\n {...crosshairProps}\n style={[\n {\n backgroundColor: color,\n width: size,\n height: size,\n borderRadius: size,\n },\n crosshairProps.style,\n ]}\n />\n </Animated.View>\n {children}\n </LineChartCursor>\n );\n}\n"]}
1
+ {"version":3,"names":["React","Platform","View","Animated","useAnimatedStyle","withSpring","LineChartCursor","useLineChart","LineChartCursorCrosshair","displayName","children","color","size","outerSize","crosshairWrapperProps","crosshairProps","crosshairOuterProps","props","currentX","currentY","isActive","enableSpringAnimation","setEnableSpringAnimation","useState","OS","useEffect","setTimeout","animatedCursorStyle","transform","translateX","value","translateY","scale","damping","createElement","_extends","type","style","width","height","alignItems","justifyContent","backgroundColor","borderRadius","opacity","position"],"sourceRoot":"../../../../src","sources":["charts/line/CursorCrosshair.tsx"],"mappings":"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"}