react-native-wagmi-charts 2.3.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 (351) hide show
  1. package/README.md +23 -22
  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 +3 -18
  11. package/lib/commonjs/charts/candle/Crosshair.js.map +1 -1
  12. package/lib/commonjs/charts/candle/CrosshairTooltip.js +6 -21
  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 +0 -4
  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 +0 -4
  30. package/lib/commonjs/charts/candle/useDatetime.js.map +1 -1
  31. package/lib/commonjs/charts/candle/usePrice.js +0 -8
  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 +9 -28
  46. package/lib/commonjs/charts/line/Chart.js.map +1 -1
  47. package/lib/commonjs/charts/line/ChartPath.js +23 -46
  48. package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
  49. package/lib/commonjs/charts/line/Context.js +8 -19
  50. package/lib/commonjs/charts/line/Context.js.map +1 -1
  51. package/lib/commonjs/charts/line/Cursor.js +41 -66
  52. package/lib/commonjs/charts/line/Cursor.js.map +1 -1
  53. package/lib/commonjs/charts/line/CursorCrosshair.js +5 -14
  54. package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
  55. package/lib/commonjs/charts/line/CursorLine.js +5 -19
  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 +27 -33
  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 +8 -23
  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 +0 -7
  89. package/lib/commonjs/charts/line/useCurrentY.js.map +1 -1
  90. package/lib/commonjs/charts/line/useDatetime.js +0 -4
  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 +1 -5
  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 +5 -8
  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 +6 -17
  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 +1 -4
  129. package/lib/module/charts/candle/Crosshair.js.map +1 -1
  130. package/lib/module/charts/candle/CrosshairTooltip.js +3 -6
  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 +0 -1
  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.map +1 -1
  144. package/lib/module/charts/candle/usePrice.js +0 -2
  145. package/lib/module/charts/candle/usePrice.js.map +1 -1
  146. package/lib/module/charts/candle/utils/getDomain.js.map +1 -1
  147. package/lib/module/charts/candle/utils/getHeight.js.map +1 -1
  148. package/lib/module/charts/candle/utils/getPrice.js.map +1 -1
  149. package/lib/module/charts/candle/utils/getY.js.map +1 -1
  150. package/lib/module/charts/candle/utils/index.js.map +1 -1
  151. package/lib/module/charts/candle/utils.js.map +1 -1
  152. package/lib/module/charts/line/Chart.js +8 -12
  153. package/lib/module/charts/line/Chart.js.map +1 -1
  154. package/lib/module/charts/line/ChartPath.js +21 -28
  155. package/lib/module/charts/line/ChartPath.js.map +1 -1
  156. package/lib/module/charts/line/Context.js +4 -6
  157. package/lib/module/charts/line/Context.js.map +1 -1
  158. package/lib/module/charts/line/Cursor.js +37 -50
  159. package/lib/module/charts/line/Cursor.js.map +1 -1
  160. package/lib/module/charts/line/CursorCrosshair.js +3 -3
  161. package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
  162. package/lib/module/charts/line/CursorLine.js +3 -3
  163. package/lib/module/charts/line/CursorLine.js.map +1 -1
  164. package/lib/module/charts/line/Data.js +0 -2
  165. package/lib/module/charts/line/Data.js.map +1 -1
  166. package/lib/module/charts/line/DatetimeText.js.map +1 -1
  167. package/lib/module/charts/line/Dot.js +25 -18
  168. package/lib/module/charts/line/Dot.js.map +1 -1
  169. package/lib/module/charts/line/Gradient.js +10 -5
  170. package/lib/module/charts/line/Gradient.js.map +1 -1
  171. package/lib/module/charts/line/Group.js +0 -2
  172. package/lib/module/charts/line/Group.js.map +1 -1
  173. package/lib/module/charts/line/Highlight.js +7 -5
  174. package/lib/module/charts/line/Highlight.js.map +1 -1
  175. package/lib/module/charts/line/HorizontalLine.js +6 -8
  176. package/lib/module/charts/line/HorizontalLine.js.map +1 -1
  177. package/lib/module/charts/line/HoverTrap/index.js.map +1 -1
  178. package/lib/module/charts/line/HoverTrap/index.web.js +12 -14
  179. package/lib/module/charts/line/HoverTrap/index.web.js.map +1 -1
  180. package/lib/module/charts/line/LineChartPathContext.js.map +1 -1
  181. package/lib/module/charts/line/Path.js +7 -4
  182. package/lib/module/charts/line/Path.js.map +1 -1
  183. package/lib/module/charts/line/PriceText.js.map +1 -1
  184. package/lib/module/charts/line/Tooltip.js +21 -33
  185. package/lib/module/charts/line/Tooltip.js.map +1 -1
  186. package/lib/module/charts/line/index.js.map +1 -1
  187. package/lib/module/charts/line/types.js.map +1 -1
  188. package/lib/module/charts/line/useAnimatedPath.js +3 -5
  189. package/lib/module/charts/line/useAnimatedPath.js.map +1 -1
  190. package/lib/module/charts/line/useCurrentY.js +0 -1
  191. package/lib/module/charts/line/useCurrentY.js.map +1 -1
  192. package/lib/module/charts/line/useDatetime.js.map +1 -1
  193. package/lib/module/charts/line/useLineChart.js +2 -1
  194. package/lib/module/charts/line/useLineChart.js.map +1 -1
  195. package/lib/module/charts/line/usePrice.js +1 -1
  196. package/lib/module/charts/line/usePrice.js.map +1 -1
  197. package/lib/module/charts/line/utils/getArea.js +9 -6
  198. package/lib/module/charts/line/utils/getArea.js.map +1 -1
  199. package/lib/module/charts/line/utils/getDomain.js.map +1 -1
  200. package/lib/module/charts/line/utils/getPath.js +3 -3
  201. package/lib/module/charts/line/utils/getPath.js.map +1 -1
  202. package/lib/module/charts/line/utils/getXPositionForCurve.js +9 -0
  203. package/lib/module/charts/line/utils/getXPositionForCurve.js.map +1 -0
  204. package/lib/module/charts/line/utils/index.js.map +1 -1
  205. package/lib/module/charts/line/utils/interpolatePath.js +116 -117
  206. package/lib/module/charts/line/utils/interpolatePath.js.map +1 -1
  207. package/lib/module/charts/line/utils/lineChartDataPropToArray.js +0 -2
  208. package/lib/module/charts/line/utils/lineChartDataPropToArray.js.map +1 -1
  209. package/lib/module/components/AnimatedText.js +4 -3
  210. package/lib/module/components/AnimatedText.js.map +1 -1
  211. package/lib/module/index.js.map +1 -1
  212. package/lib/module/utils/formatDatetime.js.map +1 -1
  213. package/lib/module/utils/formatPrice.js +2 -11
  214. package/lib/module/utils/formatPrice.js.map +1 -1
  215. package/lib/module/utils/index.js.map +1 -1
  216. package/lib/module/utils/usePrevious.js +2 -3
  217. package/lib/module/utils/usePrevious.js.map +1 -1
  218. package/lib/typescript/src/charts/candle/Candle.d.ts +7 -5
  219. package/lib/typescript/src/charts/candle/Candle.d.ts.map +1 -0
  220. package/lib/typescript/src/charts/candle/Candles.d.ts +4 -3
  221. package/lib/typescript/src/charts/candle/Candles.d.ts.map +1 -0
  222. package/lib/typescript/src/charts/candle/Chart.d.ts +3 -2
  223. package/lib/typescript/src/charts/candle/Chart.d.ts.map +1 -0
  224. package/lib/typescript/src/charts/candle/Context.d.ts +3 -2
  225. package/lib/typescript/src/charts/candle/Context.d.ts.map +1 -0
  226. package/lib/typescript/src/charts/candle/Crosshair.d.ts +3 -2
  227. package/lib/typescript/src/charts/candle/Crosshair.d.ts.map +1 -0
  228. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts +4 -3
  229. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts.map +1 -0
  230. package/lib/typescript/src/charts/candle/DatetimeText.d.ts +4 -3
  231. package/lib/typescript/src/charts/candle/DatetimeText.d.ts.map +1 -0
  232. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts +3 -2
  233. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts.map +1 -0
  234. package/lib/typescript/src/charts/candle/Line.d.ts +4 -3
  235. package/lib/typescript/src/charts/candle/Line.d.ts.map +1 -0
  236. package/lib/typescript/src/charts/candle/PriceText.d.ts +4 -3
  237. package/lib/typescript/src/charts/candle/PriceText.d.ts.map +1 -0
  238. package/lib/typescript/src/charts/candle/index.d.ts +3 -2
  239. package/lib/typescript/src/charts/candle/index.d.ts.map +1 -0
  240. package/lib/typescript/src/charts/candle/types.d.ts +7 -6
  241. package/lib/typescript/src/charts/candle/types.d.ts.map +1 -0
  242. package/lib/typescript/src/charts/candle/useCandleData.d.ts +1 -0
  243. package/lib/typescript/src/charts/candle/useCandleData.d.ts.map +1 -0
  244. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts +1 -0
  245. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts.map +1 -0
  246. package/lib/typescript/src/charts/candle/useDatetime.d.ts +1 -0
  247. package/lib/typescript/src/charts/candle/useDatetime.d.ts.map +1 -0
  248. package/lib/typescript/src/charts/candle/usePrice.d.ts +1 -0
  249. package/lib/typescript/src/charts/candle/usePrice.d.ts.map +1 -0
  250. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +1 -0
  251. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts.map +1 -0
  252. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +1 -0
  253. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts.map +1 -0
  254. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +1 -0
  255. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts.map +1 -0
  256. package/lib/typescript/src/charts/candle/utils/getY.d.ts +1 -0
  257. package/lib/typescript/src/charts/candle/utils/getY.d.ts.map +1 -0
  258. package/lib/typescript/src/charts/candle/utils/index.d.ts +1 -0
  259. package/lib/typescript/src/charts/candle/utils/index.d.ts.map +1 -0
  260. package/lib/typescript/src/charts/candle/utils.d.ts +1 -0
  261. package/lib/typescript/src/charts/candle/utils.d.ts.map +1 -0
  262. package/lib/typescript/src/charts/line/Chart.d.ts +3 -2
  263. package/lib/typescript/src/charts/line/Chart.d.ts.map +1 -0
  264. package/lib/typescript/src/charts/line/ChartPath.d.ts +3 -2
  265. package/lib/typescript/src/charts/line/ChartPath.d.ts.map +1 -0
  266. package/lib/typescript/src/charts/line/Context.d.ts +3 -2
  267. package/lib/typescript/src/charts/line/Context.d.ts.map +1 -0
  268. package/lib/typescript/src/charts/line/Cursor.d.ts +3 -2
  269. package/lib/typescript/src/charts/line/Cursor.d.ts.map +1 -0
  270. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +3 -2
  271. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts.map +1 -0
  272. package/lib/typescript/src/charts/line/CursorLine.d.ts +3 -2
  273. package/lib/typescript/src/charts/line/CursorLine.d.ts.map +1 -0
  274. package/lib/typescript/src/charts/line/Data.d.ts +6 -4
  275. package/lib/typescript/src/charts/line/Data.d.ts.map +1 -0
  276. package/lib/typescript/src/charts/line/DatetimeText.d.ts +4 -3
  277. package/lib/typescript/src/charts/line/DatetimeText.d.ts.map +1 -0
  278. package/lib/typescript/src/charts/line/Dot.d.ts +4 -3
  279. package/lib/typescript/src/charts/line/Dot.d.ts.map +1 -0
  280. package/lib/typescript/src/charts/line/Gradient.d.ts +3 -2
  281. package/lib/typescript/src/charts/line/Gradient.d.ts.map +1 -0
  282. package/lib/typescript/src/charts/line/Group.d.ts +4 -2
  283. package/lib/typescript/src/charts/line/Group.d.ts.map +1 -0
  284. package/lib/typescript/src/charts/line/Highlight.d.ts +4 -3
  285. package/lib/typescript/src/charts/line/Highlight.d.ts.map +1 -0
  286. package/lib/typescript/src/charts/line/HorizontalLine.d.ts +4 -3
  287. package/lib/typescript/src/charts/line/HorizontalLine.d.ts.map +1 -0
  288. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +3 -2
  289. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts.map +1 -0
  290. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +3 -2
  291. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts.map +1 -0
  292. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts +1 -0
  293. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts.map +1 -0
  294. package/lib/typescript/src/charts/line/Path.d.ts +4 -3
  295. package/lib/typescript/src/charts/line/Path.d.ts.map +1 -0
  296. package/lib/typescript/src/charts/line/PriceText.d.ts +4 -3
  297. package/lib/typescript/src/charts/line/PriceText.d.ts.map +1 -0
  298. package/lib/typescript/src/charts/line/Tooltip.d.ts +4 -3
  299. package/lib/typescript/src/charts/line/Tooltip.d.ts.map +1 -0
  300. package/lib/typescript/src/charts/line/index.d.ts +2 -1
  301. package/lib/typescript/src/charts/line/index.d.ts.map +1 -0
  302. package/lib/typescript/src/charts/line/types.d.ts +8 -7
  303. package/lib/typescript/src/charts/line/types.d.ts.map +1 -0
  304. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +1 -0
  305. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts.map +1 -0
  306. package/lib/typescript/src/charts/line/useCurrentY.d.ts +1 -0
  307. package/lib/typescript/src/charts/line/useCurrentY.d.ts.map +1 -0
  308. package/lib/typescript/src/charts/line/useDatetime.d.ts +1 -0
  309. package/lib/typescript/src/charts/line/useDatetime.d.ts.map +1 -0
  310. package/lib/typescript/src/charts/line/useLineChart.d.ts +1 -0
  311. package/lib/typescript/src/charts/line/useLineChart.d.ts.map +1 -0
  312. package/lib/typescript/src/charts/line/usePrice.d.ts +1 -0
  313. package/lib/typescript/src/charts/line/usePrice.d.ts.map +1 -0
  314. package/lib/typescript/src/charts/line/utils/getArea.d.ts +3 -1
  315. package/lib/typescript/src/charts/line/utils/getArea.d.ts.map +1 -0
  316. package/lib/typescript/src/charts/line/utils/getDomain.d.ts +1 -0
  317. package/lib/typescript/src/charts/line/utils/getDomain.d.ts.map +1 -0
  318. package/lib/typescript/src/charts/line/utils/getPath.d.ts +1 -0
  319. package/lib/typescript/src/charts/line/utils/getPath.d.ts.map +1 -0
  320. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts +3 -0
  321. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts.map +1 -0
  322. package/lib/typescript/src/charts/line/utils/index.d.ts +1 -0
  323. package/lib/typescript/src/charts/line/utils/index.d.ts.map +1 -0
  324. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts +1 -0
  325. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts.map +1 -0
  326. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +1 -0
  327. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts.map +1 -0
  328. package/lib/typescript/src/components/AnimatedText.d.ts +3 -2
  329. package/lib/typescript/src/components/AnimatedText.d.ts.map +1 -0
  330. package/lib/typescript/src/index.d.ts +1 -0
  331. package/lib/typescript/src/index.d.ts.map +1 -0
  332. package/lib/typescript/src/utils/formatDatetime.d.ts +1 -0
  333. package/lib/typescript/src/utils/formatDatetime.d.ts.map +1 -0
  334. package/lib/typescript/src/utils/formatPrice.d.ts +1 -0
  335. package/lib/typescript/src/utils/formatPrice.d.ts.map +1 -0
  336. package/lib/typescript/src/utils/index.d.ts +1 -0
  337. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  338. package/lib/typescript/src/utils/usePrevious.d.ts +1 -0
  339. package/lib/typescript/src/utils/usePrevious.d.ts.map +1 -0
  340. package/package.json +10 -9
  341. package/src/charts/candle/Candle.tsx +3 -3
  342. package/src/charts/candle/CrosshairTooltip.tsx +2 -2
  343. package/src/charts/line/Chart.tsx +6 -4
  344. package/src/charts/line/Cursor.tsx +52 -67
  345. package/src/charts/line/Dot.tsx +8 -8
  346. package/src/charts/line/Gradient.tsx +1 -0
  347. package/src/charts/line/HorizontalLine.tsx +8 -15
  348. package/src/charts/line/Tooltip.tsx +21 -13
  349. package/src/charts/line/useAnimatedPath.ts +3 -3
  350. package/src/charts/line/utils/getArea.ts +8 -5
  351. package/src/charts/line/utils/getXPositionForCurve.ts +9 -0
@@ -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","xDomain","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, xDomain } = 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 xDomain,\n });\n }\n return '';\n }, [data, pathWidth, height, yGutter, shape, yDomain, xDomain]);\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
@@ -67,35 +66,29 @@ export function LineChartPathWrapper({
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 animateOnMount,\n animationDuration,\n animationProps,\n currentX,\n hasMountedAnimation,\n isActive,\n isMounted,\n mountAnimationDuration,\n mountAnimationProps,\n pathWidth,\n widthOffset,\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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"}
@@ -34,8 +34,6 @@ export function LineChartProvider({
34
34
  const isActive = useSharedValue(false);
35
35
  const domain = React.useMemo(() => getDomain(Array.isArray(data) ? data : Object.values(data)[0]), [data]);
36
36
  const contextValue = React.useMemo(() => {
37
- var _yRange$min, _yRange$max;
38
-
39
37
  const values = lineChartDataPropToArray(data).map(({
40
38
  value
41
39
  }) => value);
@@ -45,13 +43,13 @@ export function LineChartProvider({
45
43
  isActive,
46
44
  domain,
47
45
  yDomain: {
48
- min: (_yRange$min = yRange === null || yRange === void 0 ? void 0 : yRange.min) !== null && _yRange$min !== void 0 ? _yRange$min : Math.min(...values),
49
- 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)
50
48
  },
51
49
  xDomain,
52
- xLength: xLength !== null && xLength !== void 0 ? xLength : (Array.isArray(data) ? data : Object.values(data)[0]).length
50
+ xLength: xLength ?? (Array.isArray(data) ? data : Object.values(data)[0]).length
53
51
  };
54
- }, [currentIndex, currentX, data, domain, isActive, yRange === null || yRange === void 0 ? void 0 : yRange.max, yRange === null || yRange === void 0 ? void 0 : yRange.min, xLength, xDomain]);
52
+ }, [currentIndex, currentX, data, domain, isActive, yRange?.max, yRange?.min, xLength, xDomain]);
55
53
  useAnimatedReaction(() => currentIndex.value, (x, prevX) => {
56
54
  if (x !== -1 && x !== prevX && onCurrentIndexChange) {
57
55
  runOnJS(onCurrentIndexChange)(x);
@@ -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","xDomain","undefined","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 xDomain: undefined,\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 xDomain?: [number, number];\n};\n\nLineChartProvider.displayName = 'LineChartProvider';\n\nexport function LineChartProvider({\n children,\n data = [],\n yRange,\n onCurrentIndexChange,\n xLength,\n xDomain,\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 xDomain,\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 xDomain,\n ]);\n\n useAnimatedReaction(\n () => currentIndex.value,\n (x, prevX) => {\n if (x !== -1 && x !== prevX && onCurrentIndexChange) {\n runOnJS(onCurrentIndexChange)(x);\n }\n },\n [currentIndex]\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,46 +1,16 @@
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';
5
- import { LongPressGestureHandler } from 'react-native-gesture-handler';
6
3
  import Animated, { runOnJS, useAnimatedGestureHandler } from 'react-native-reanimated';
4
+ import { LongPressGestureHandler } from 'react-native-gesture-handler';
7
5
  import { LineChartDimensionsContext } from './Chart';
8
- import { useLineChart } from './useLineChart';
9
- import { scaleLinear } from 'd3-scale';
6
+ import { StyleSheet } from 'react-native';
10
7
  import { bisectCenter } from 'd3-array';
8
+ import { scaleLinear } from 'd3-scale';
9
+ import { useLineChart } from './useLineChart';
11
10
  export const CursorContext = /*#__PURE__*/React.createContext({
12
11
  type: ''
13
12
  });
14
13
  LineChartCursor.displayName = 'LineChartCursor';
15
-
16
- const linearScalePositionAndIndex = ({
17
- timestamps,
18
- width,
19
- xToUpdate,
20
- currentIndex,
21
- xPosition,
22
- path,
23
- xDomain
24
- }) => {
25
- if (!path) {
26
- return;
27
- }
28
-
29
- const domainArray = xDomain !== null && xDomain !== void 0 ? xDomain : [0, timestamps.length]; // Same scale as in /src/charts/line/utils/getPath.ts
30
-
31
- const scaleX = scaleLinear().domain(domainArray).range([0, width]); // Calculate a scaled timestamp for the current touch position
32
-
33
- const xRelative = scaleX.invert(xPosition);
34
- const closestIndex = bisectCenter(timestamps, xRelative);
35
- const pathDataDelta = Math.abs(path.curves.length - timestamps.length); // sometimes there is a difference between data length and number of path curves.
36
-
37
- const closestPathCurve = Math.max(Math.min(bisectCenter(timestamps, xRelative), path.curves.length + 1) - pathDataDelta, 0);
38
- const p0 = (closestIndex > 0 ? path.curves[closestPathCurve].to : path.move).x; // Update values
39
-
40
- currentIndex.value = closestIndex;
41
- xToUpdate.value = p0;
42
- };
43
-
44
14
  export function LineChartCursor({
45
15
  children,
46
16
  snapToPoint,
@@ -58,35 +28,52 @@ export function LineChartCursor({
58
28
  data,
59
29
  xDomain
60
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
+ };
61
57
  const onGestureEvent = useAnimatedGestureHandler({
62
58
  onActive: ({
63
59
  x
64
60
  }) => {
65
61
  if (parsedPath) {
66
- const boundedX = Math.max(0, x <= width ? x : width);
62
+ const xPosition = Math.max(0, x <= width ? x : width);
67
63
  isActive.value = true;
68
- const xValues = data.map(({
69
- timestamp
70
- }, i) => xDomain ? timestamp : i); // 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
71
66
  // so we clamp the index at 0 to fix it
72
67
  // https://github.com/coinjar/react-native-wagmi-charts/issues/24
73
-
74
68
  const minIndex = 0;
75
- const boundedIndex = Math.max(minIndex, Math.round(boundedX / width / (1 / (data.length - 1))));
76
-
69
+ const boundedIndex = Math.max(minIndex, Math.round(xPosition / width / (1 / (data.length - 1))));
77
70
  if (snapToPoint) {
78
71
  // We have to run this on the JS thread unfortunately as the scaleLinear functions won't work on UI thread
79
72
  runOnJS(linearScalePositionAndIndex)({
80
- timestamps: xValues,
81
- width,
82
- xToUpdate: currentX,
83
- currentIndex,
84
- xPosition: boundedX,
85
- path: parsedPath,
86
- xDomain
73
+ xPosition
87
74
  });
88
75
  } else if (!snapToPoint) {
89
- currentX.value = boundedX;
76
+ currentX.value = xPosition;
90
77
  currentIndex.value = boundedIndex;
91
78
  }
92
79
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["Cursor.tsx"],"names":["React","StyleSheet","LongPressGestureHandler","Animated","runOnJS","useAnimatedGestureHandler","LineChartDimensionsContext","useLineChart","scaleLinear","bisectCenter","CursorContext","createContext","type","LineChartCursor","displayName","linearScalePositionAndIndex","timestamps","width","xToUpdate","currentIndex","xPosition","path","xDomain","domainArray","length","scaleX","domain","range","xRelative","invert","closestIndex","pathDataDelta","Math","abs","curves","closestPathCurve","max","min","p0","to","move","x","value","children","snapToPoint","props","pathWidth","parsedPath","useContext","currentX","isActive","data","onGestureEvent","onActive","boundedX","xValues","map","timestamp","i","minIndex","boundedIndex","round","onEnd","absoluteFill"],"mappings":"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","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, {\n runOnJS,\n useAnimatedGestureHandler,\n} from 'react-native-reanimated';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { useLineChart } from './useLineChart';\nimport { scaleLinear } from 'd3-scale';\nimport { bisectCenter } from 'd3-array';\nimport type { Path } from 'react-native-redash';\n\nexport type LineChartCursorProps = LongPressGestureHandlerProps & {\n children: React.ReactNode;\n type: 'line' | 'crosshair';\n snapToPoint?: boolean;\n};\n\nexport const CursorContext = React.createContext({ type: '' });\n\nLineChartCursor.displayName = 'LineChartCursor';\n\nconst linearScalePositionAndIndex = ({\n timestamps,\n width,\n xToUpdate,\n currentIndex,\n xPosition,\n path,\n xDomain,\n}: {\n timestamps: number[];\n width: number;\n xToUpdate: Animated.SharedValue<number>;\n currentIndex: Animated.SharedValue<number>;\n xPosition: number;\n path: Path | undefined;\n xDomain: [number, number] | undefined;\n}) => {\n if (!path) {\n return;\n }\n\n const domainArray = xDomain ?? [0, timestamps.length];\n\n // Same scale as in /src/charts/line/utils/getPath.ts\n const scaleX = scaleLinear().domain(domainArray).range([0, width]);\n\n // Calculate a scaled timestamp for the current touch position\n const xRelative = scaleX.invert(xPosition);\n\n const closestIndex = bisectCenter(timestamps, xRelative);\n const pathDataDelta = Math.abs(path.curves.length - timestamps.length); // sometimes there is a difference between data length and number of path curves.\n const closestPathCurve = Math.max(\n Math.min(bisectCenter(timestamps, xRelative), path.curves.length + 1) -\n pathDataDelta,\n 0\n );\n\n const p0 = (closestIndex > 0 ? path.curves[closestPathCurve].to : path.move)\n .x;\n // Update values\n currentIndex.value = closestIndex;\n xToUpdate.value = p0;\n};\n\nexport function LineChartCursor({\n children,\n snapToPoint,\n type,\n ...props\n}: LineChartCursorProps) {\n const { pathWidth: width, parsedPath } = React.useContext(\n LineChartDimensionsContext\n );\n const { currentX, currentIndex, isActive, data, xDomain } = 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 const xValues = data.map(({ timestamp }, i) =>\n xDomain ? timestamp : i\n );\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 if (snapToPoint) {\n // We have to run this on the JS thread unfortunately as the scaleLinear functions won't work on UI thread\n runOnJS(linearScalePositionAndIndex)({\n timestamps: xValues,\n width,\n xToUpdate: currentX,\n currentIndex,\n xPosition: boundedX,\n path: parsedPath,\n xDomain,\n });\n } else if (!snapToPoint) {\n currentX.value = boundedX;\n currentIndex.value = boundedIndex;\n }\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 shouldCancelWhenOutside={false}\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(() => {
@@ -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 () => ({\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 [currentX, currentY, enableSpringAnimation, isActive, outerSize]\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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"}
@@ -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 React from 'react';
4
3
  import { StyleSheet } from 'react-native';
5
4
  import Animated, { useAnimatedStyle } from 'react-native-reanimated';
@@ -45,7 +44,8 @@ export function LineChartCursorLine({
45
44
  }, lineProps)))), children);
46
45
  }
47
46
  const styles = StyleSheet.create({
48
- svg: { ...StyleSheet.absoluteFillObject,
47
+ svg: {
48
+ ...StyleSheet.absoluteFillObject,
49
49
  // height: 100% is required for <svg /> on web
50
50
  height: '100%'
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["CursorLine.tsx"],"names":["React","StyleSheet","Animated","useAnimatedStyle","Svg","Line","SVGLine","LineChartDimensionsContext","LineChartCursor","useLineChart","LineChartCursorLine","displayName","children","color","lineProps","cursorProps","height","useContext","currentX","isActive","vertical","opacity","value","transform","translateX","styles","svg","create","absoluteFillObject"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,QAAP,IAAmBC,gBAAnB,QAA2C,yBAA3C;AACA,OAAOC,GAAP,IAAcC,IAAI,IAAIC,OAAtB,QAAgD,kBAAhD;AAEA,SAASC,0BAAT,QAA2C,SAA3C;AACA,SAASC,eAAT,QAAsD,UAAtD;AACA,SAASC,YAAT,QAA6B,gBAA7B;AAQAC,mBAAmB,CAACC,WAApB,GAAkC,qBAAlC;AAEA,OAAO,SAASD,mBAAT,CAA6B;AAClCE,EAAAA,QADkC;AAElCC,EAAAA,KAAK,GAAG,MAF0B;AAGlCC,EAAAA,SAHkC;AAIlC,KAAGC;AAJ+B,CAA7B,EAKsB;AAC3B,QAAM;AAAEC,IAAAA;AAAF,MAAahB,KAAK,CAACiB,UAAN,CAAiBV,0BAAjB,CAAnB;AACA,QAAM;AAAEW,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAyBV,YAAY,EAA3C;AAEA,QAAMW,QAAQ,GAAGjB,gBAAgB,CAC/B,OAAO;AACLkB,IAAAA,OAAO,EAAEF,QAAQ,CAACG,KAAT,GAAiB,CAAjB,GAAqB,CADzB;AAELN,IAAAA,MAAM,EAAE,MAFH;AAGLO,IAAAA,SAAS,EAAE,CAAC;AAAEC,MAAAA,UAAU,EAAEN,QAAQ,CAACI;AAAvB,KAAD;AAHN,GAAP,CAD+B,EAM/B,CAACJ,QAAD,EAAWC,QAAX,CAN+B,CAAjC;AASA,sBACE,oBAAC,eAAD,eAAqBJ,WAArB;AAAkC,IAAA,IAAI,EAAC;AAAvC,mBACE,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAEK;AAAtB,kBACE,oBAAC,GAAD;AAAK,IAAA,KAAK,EAAEK,MAAM,CAACC;AAAnB,kBACE,oBAAC,OAAD;AACE,IAAA,EAAE,EAAE,CADN;AAEE,IAAA,EAAE,EAAE,CAFN;AAGE,IAAA,EAAE,EAAE,CAHN;AAIE,IAAA,EAAE,EAAEV,MAJN;AAKE,IAAA,WAAW,EAAE,CALf;AAME,IAAA,MAAM,EAAEH,KANV;AAOE,IAAA,eAAe,EAAC;AAPlB,KAQMC,SARN,EADF,CADF,CADF,EAeGF,QAfH,CADF;AAmBD;AAED,MAAMa,MAAM,GAAGxB,UAAU,CAAC0B,MAAX,CAAkB;AAC/BD,EAAAA,GAAG,EAAE,EACH,GAAGzB,UAAU,CAAC2B,kBADX;AAEH;AACAZ,IAAAA,MAAM,EAAE;AAHL;AAD0B,CAAlB,CAAf","sourcesContent":["import React from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { useAnimatedStyle } from 'react-native-reanimated';\nimport Svg, { Line as SVGLine, LineProps } from 'react-native-svg';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { LineChartCursor, LineChartCursorProps } from './Cursor';\nimport { useLineChart } from './useLineChart';\n\ntype LineChartCursorLineProps = {\n children?: React.ReactNode;\n color?: string;\n lineProps?: Partial<LineProps>;\n} & Omit<LineChartCursorProps, 'type' | 'children'>;\n\nLineChartCursorLine.displayName = 'LineChartCursorLine';\n\nexport function LineChartCursorLine({\n children,\n color = 'gray',\n lineProps,\n ...cursorProps\n}: LineChartCursorLineProps) {\n const { height } = React.useContext(LineChartDimensionsContext);\n const { currentX, isActive } = useLineChart();\n\n const vertical = useAnimatedStyle(\n () => ({\n opacity: isActive.value ? 1 : 0,\n height: '100%',\n transform: [{ translateX: currentX.value }],\n }),\n [currentX, isActive]\n );\n\n return (\n <LineChartCursor {...cursorProps} type=\"line\">\n <Animated.View style={vertical}>\n <Svg style={styles.svg}>\n <SVGLine\n x1={0}\n y1={0}\n x2={0}\n y2={height}\n strokeWidth={2}\n stroke={color}\n strokeDasharray=\"3 3\"\n {...lineProps}\n />\n </Svg>\n </Animated.View>\n {children}\n </LineChartCursor>\n );\n}\n\nconst styles = StyleSheet.create({\n svg: {\n ...StyleSheet.absoluteFillObject,\n // height: 100% is required for <svg /> on web\n height: '100%',\n },\n});\n"]}
1
+ {"version":3,"names":["React","StyleSheet","Animated","useAnimatedStyle","Svg","Line","SVGLine","LineChartDimensionsContext","LineChartCursor","useLineChart","LineChartCursorLine","displayName","children","color","lineProps","cursorProps","height","useContext","currentX","isActive","vertical","opacity","value","transform","translateX","createElement","_extends","type","View","style","styles","svg","x1","y1","x2","y2","strokeWidth","stroke","strokeDasharray","create","absoluteFillObject"],"sourceRoot":"../../../../src","sources":["charts/line/CursorLine.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,IAAIC,gBAAgB,QAAQ,yBAAyB;AACpE,OAAOC,GAAG,IAAIC,IAAI,IAAIC,OAAO,QAAmB,kBAAkB;AAElE,SAASC,0BAA0B,QAAQ,SAAS;AACpD,SAASC,eAAe,QAA8B,UAAU;AAChE,SAASC,YAAY,QAAQ,gBAAgB;AAQ7CC,mBAAmB,CAACC,WAAW,GAAG,qBAAqB;AAEvD,OAAO,SAASD,mBAAmBA,CAAC;EAClCE,QAAQ;EACRC,KAAK,GAAG,MAAM;EACdC,SAAS;EACT,GAAGC;AACqB,CAAC,EAAE;EAC3B,MAAM;IAAEC;EAAO,CAAC,GAAGhB,KAAK,CAACiB,UAAU,CAACV,0BAA0B,CAAC;EAC/D,MAAM;IAAEW,QAAQ;IAAEC;EAAS,CAAC,GAAGV,YAAY,CAAC,CAAC;EAE7C,MAAMW,QAAQ,GAAGjB,gBAAgB,CAC/B,OAAO;IACLkB,OAAO,EAAEF,QAAQ,CAACG,KAAK,GAAG,CAAC,GAAG,CAAC;IAC/BN,MAAM,EAAE,MAAM;IACdO,SAAS,EAAE,CAAC;MAAEC,UAAU,EAAEN,QAAQ,CAACI;IAAM,CAAC;EAC5C,CAAC,CAAC,EACF,CAACJ,QAAQ,EAAEC,QAAQ,CACrB,CAAC;EAED,oBACEnB,KAAA,CAAAyB,aAAA,CAACjB,eAAe,EAAAkB,QAAA,KAAKX,WAAW;IAAEY,IAAI,EAAC;EAAM,iBAC3C3B,KAAA,CAAAyB,aAAA,CAACvB,QAAQ,CAAC0B,IAAI;IAACC,KAAK,EAAET;EAAS,gBAC7BpB,KAAA,CAAAyB,aAAA,CAACrB,GAAG;IAACyB,KAAK,EAAEC,MAAM,CAACC;EAAI,gBACrB/B,KAAA,CAAAyB,aAAA,CAACnB,OAAO,EAAAoB,QAAA;IACNM,EAAE,EAAE,CAAE;IACNC,EAAE,EAAE,CAAE;IACNC,EAAE,EAAE,CAAE;IACNC,EAAE,EAAEnB,MAAO;IACXoB,WAAW,EAAE,CAAE;IACfC,MAAM,EAAExB,KAAM;IACdyB,eAAe,EAAC;EAAK,GACjBxB,SAAS,CACd,CACE,CACQ,CAAC,EACfF,QACc,CAAC;AAEtB;AAEA,MAAMkB,MAAM,GAAG7B,UAAU,CAACsC,MAAM,CAAC;EAC/BR,GAAG,EAAE;IACH,GAAG9B,UAAU,CAACuC,kBAAkB;IAChC;IACAxB,MAAM,EAAE;EACV;AACF,CAAC,CAAC"}
@@ -13,7 +13,6 @@ export function LineChartDataProvider({
13
13
  [DefaultLineChartId]: data
14
14
  };
15
15
  }
16
-
17
16
  return data;
18
17
  }, [data]);
19
18
  return /*#__PURE__*/React.createElement(LineChartDataContext.Provider, {
@@ -40,7 +39,6 @@ export function useLineChartData({
40
39
  data
41
40
  }), [data]);
42
41
  }
43
-
44
42
  function validateLineChartId(dataContext, id) {
45
43
  if (id != null && !dataContext[id]) {
46
44
  const otherIds = Object.keys(dataContext).filter(otherId => otherId !== DefaultLineChartId);
@@ -1 +1 @@
1
- {"version":3,"sources":["Data.tsx"],"names":["React","createContext","useContext","useMemo","DefaultLineChartId","LineChartDataContext","LineChartDataProvider","children","data","contextValue","Array","isArray","LineChartIdContext","undefined","LineChartIdProvider","id","useLineChartId","useLineChartData","dataContext","validateLineChartId","otherIds","Object","keys","filter","otherId","singular","length","joinedIds","join","suggestion","console","warn","error"],"mappings":"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","sourcesContent":["import type { TLineChartData } from './types';\nimport React, { createContext, useContext, useMemo } from 'react';\nimport type { ReactNode } from 'react';\nimport type { TLineChartDataProp } from './types';\n\nexport const DefaultLineChartId = '__LineChartData';\n\nexport type LineChartDataContext = {\n [key: string]: TLineChartData;\n};\n\nconst LineChartDataContext = createContext<LineChartDataContext>({\n [DefaultLineChartId]: [],\n});\n\nexport type LineChartDataProviderProps = {\n children: ReactNode;\n data: TLineChartDataProp;\n};\n\nexport function LineChartDataProvider({\n children,\n data,\n}: LineChartDataProviderProps) {\n const contextValue = useMemo<LineChartDataContext>(() => {\n if (Array.isArray(data)) {\n return {\n [DefaultLineChartId]: data,\n };\n }\n return data;\n }, [data]);\n\n return (\n <LineChartDataContext.Provider value={contextValue}>\n {children}\n </LineChartDataContext.Provider>\n );\n}\n\nconst LineChartIdContext = createContext<string | undefined>(undefined);\n\nexport function LineChartIdProvider({\n id,\n children,\n}: {\n id?: string;\n children: ReactNode;\n}) {\n return (\n <LineChartIdContext.Provider value={id}>\n {children}\n </LineChartIdContext.Provider>\n );\n}\n\nexport const useLineChartId = () => useContext(LineChartIdContext);\n\nexport function useLineChartData({ id }: { id?: string }) {\n const dataContext = useContext(LineChartDataContext);\n\n validateLineChartId(dataContext, id);\n\n const data = dataContext[id || DefaultLineChartId];\n\n return useMemo(() => ({ data }), [data]);\n}\n\nfunction validateLineChartId(dataContext: LineChartDataContext, id?: string) {\n if (id != null && !dataContext[id]) {\n const otherIds = Object.keys(dataContext).filter(\n (otherId) => otherId !== DefaultLineChartId\n );\n const singular = otherIds.length <= 1;\n\n const joinedIds = otherIds.join(', ');\n\n const suggestion = otherIds.length\n ? `Did you mean to use ${\n singular ? 'this ID' : 'one of these IDs'\n }: ${joinedIds}`\n : `You didn't pass any IDs to your <LineChart.Provider />'s data prop. Did you mean to pass an array instead?`;\n\n console.warn(\n `[react-native-wagmi-charts] Invalid usage of \"id\" prop on LineChart. You passed id=\"${id}\", but this ID does not exist in your <LineChart.Provider />'s \"data\" prop.\n\n${suggestion}`\n );\n } else if (id == null && !dataContext[DefaultLineChartId]) {\n const otherIds = Object.keys(dataContext);\n const singular = otherIds.length <= 1;\n\n const joinedIds = otherIds.join(', ');\n const suggestion = otherIds.length\n ? `Did you mean to use ${\n singular ? 'this ID' : 'one of these IDs'\n }: ${joinedIds}`\n : `You didn't pass any IDs to your <LineChart.Provider />'s data prop. Did you mean to pass an array instead?`;\n\n console.error(`[react-native-wagmi-charts] Missing data \"id\" prop on LineChart. You must pass an id prop to <LineChart /> when using a dictionary for your data.\n\n${suggestion}\n `);\n }\n}\n"]}
1
+ {"version":3,"names":["React","createContext","useContext","useMemo","DefaultLineChartId","LineChartDataContext","LineChartDataProvider","children","data","contextValue","Array","isArray","createElement","Provider","value","LineChartIdContext","undefined","LineChartIdProvider","id","useLineChartId","useLineChartData","dataContext","validateLineChartId","otherIds","Object","keys","filter","otherId","singular","length","joinedIds","join","suggestion","console","warn","error"],"sourceRoot":"../../../../src","sources":["charts/line/Data.tsx"],"mappings":"AACA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAIjE,OAAO,MAAMC,kBAAkB,GAAG,iBAAiB;AAMnD,MAAMC,oBAAoB,gBAAGJ,aAAa,CAAuB;EAC/D,CAACG,kBAAkB,GAAG;AACxB,CAAC,CAAC;AAOF,OAAO,SAASE,qBAAqBA,CAAC;EACpCC,QAAQ;EACRC;AAC0B,CAAC,EAAE;EAC7B,MAAMC,YAAY,GAAGN,OAAO,CAAuB,MAAM;IACvD,IAAIO,KAAK,CAACC,OAAO,CAACH,IAAI,CAAC,EAAE;MACvB,OAAO;QACL,CAACJ,kBAAkB,GAAGI;MACxB,CAAC;IACH;IACA,OAAOA,IAAI;EACb,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBACER,KAAA,CAAAY,aAAA,CAACP,oBAAoB,CAACQ,QAAQ;IAACC,KAAK,EAAEL;EAAa,GAChDF,QAC4B,CAAC;AAEpC;AAEA,MAAMQ,kBAAkB,gBAAGd,aAAa,CAAqBe,SAAS,CAAC;AAEvE,OAAO,SAASC,mBAAmBA,CAAC;EAClCC,EAAE;EACFX;AAIF,CAAC,EAAE;EACD,oBACEP,KAAA,CAAAY,aAAA,CAACG,kBAAkB,CAACF,QAAQ;IAACC,KAAK,EAAEI;EAAG,GACpCX,QAC0B,CAAC;AAElC;AAEA,OAAO,MAAMY,cAAc,GAAGA,CAAA,KAAMjB,UAAU,CAACa,kBAAkB,CAAC;AAElE,OAAO,SAASK,gBAAgBA,CAAC;EAAEF;AAAoB,CAAC,EAAE;EACxD,MAAMG,WAAW,GAAGnB,UAAU,CAACG,oBAAoB,CAAC;EAEpDiB,mBAAmB,CAACD,WAAW,EAAEH,EAAE,CAAC;EAEpC,MAAMV,IAAI,GAAGa,WAAW,CAACH,EAAE,IAAId,kBAAkB,CAAC;EAElD,OAAOD,OAAO,CAAC,OAAO;IAAEK;EAAK,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;AAC1C;AAEA,SAASc,mBAAmBA,CAACD,WAAiC,EAAEH,EAAW,EAAE;EAC3E,IAAIA,EAAE,IAAI,IAAI,IAAI,CAACG,WAAW,CAACH,EAAE,CAAC,EAAE;IAClC,MAAMK,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,WAAW,CAAC,CAACK,MAAM,CAC7CC,OAAO,IAAKA,OAAO,KAAKvB,kBAC3B,CAAC;IACD,MAAMwB,QAAQ,GAAGL,QAAQ,CAACM,MAAM,IAAI,CAAC;IAErC,MAAMC,SAAS,GAAGP,QAAQ,CAACQ,IAAI,CAAC,IAAI,CAAC;IAErC,MAAMC,UAAU,GAAGT,QAAQ,CAACM,MAAM,GAC7B,uBACCD,QAAQ,GAAG,SAAS,GAAG,kBACxB,KAAIE,SAAU,EAAC,GACf,4GAA2G;IAEhHG,OAAO,CAACC,IAAI,CACT,uFAAsFhB,EAAG;AAChG;AACA,EAAEc,UAAW,EACT,CAAC;EACH,CAAC,MAAM,IAAId,EAAE,IAAI,IAAI,IAAI,CAACG,WAAW,CAACjB,kBAAkB,CAAC,EAAE;IACzD,MAAMmB,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACJ,WAAW,CAAC;IACzC,MAAMO,QAAQ,GAAGL,QAAQ,CAACM,MAAM,IAAI,CAAC;IAErC,MAAMC,SAAS,GAAGP,QAAQ,CAACQ,IAAI,CAAC,IAAI,CAAC;IACrC,MAAMC,UAAU,GAAGT,QAAQ,CAACM,MAAM,GAC7B,uBACCD,QAAQ,GAAG,SAAS,GAAG,kBACxB,KAAIE,SAAU,EAAC,GACf,4GAA2G;IAEhHG,OAAO,CAACE,KAAK,CAAE;AACnB;AACA,EAAEH,UAAW;AACb,KAAK,CAAC;EACJ;AACF"}