react-native-wagmi-charts 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/.DS_Store +0 -0
  2. package/.editorconfig +15 -0
  3. package/.gitattributes +3 -0
  4. package/.gitignore +60 -0
  5. package/.husky/pre-commit +4 -0
  6. package/.prettierrc.js +5 -0
  7. package/.yarnrc +3 -0
  8. package/README.md +25 -24
  9. package/babel.config.js +3 -0
  10. package/example/.expo/README.md +8 -0
  11. package/example/.expo/devices.json +3 -0
  12. package/example/README.md +32 -0
  13. package/example/app.json +22 -0
  14. package/example/babel.config.js +23 -0
  15. package/example/index.js +8 -0
  16. package/example/metro.config.js +40 -0
  17. package/example/package.json +42 -0
  18. package/example/src/App.tsx +64 -0
  19. package/example/src/CandlestickChart.tsx +155 -0
  20. package/example/src/LineChart.tsx +267 -0
  21. package/example/src/data/candlestick-data.json +142 -0
  22. package/example/src/data/candlestick-data2.json +142 -0
  23. package/example/src/data/line-data-non-linear-domain.json +34 -0
  24. package/example/src/data/line-data.json +82 -0
  25. package/example/src/data/line-data2.json +82 -0
  26. package/example/src/line-data-gh.json +18 -0
  27. package/example/tsconfig.json +6 -0
  28. package/example/webpack.config.js +25 -0
  29. package/example/yarn.lock +9306 -0
  30. package/lib/commonjs/charts/candle/Candle.js +6 -19
  31. package/lib/commonjs/charts/candle/Candle.js.map +1 -1
  32. package/lib/commonjs/charts/candle/Candles.js +6 -13
  33. package/lib/commonjs/charts/candle/Candles.js.map +1 -1
  34. package/lib/commonjs/charts/candle/Chart.js +3 -12
  35. package/lib/commonjs/charts/candle/Chart.js.map +1 -1
  36. package/lib/commonjs/charts/candle/Context.js +4 -12
  37. package/lib/commonjs/charts/candle/Context.js.map +1 -1
  38. package/lib/commonjs/charts/candle/Crosshair.js +3 -18
  39. package/lib/commonjs/charts/candle/Crosshair.js.map +1 -1
  40. package/lib/commonjs/charts/candle/CrosshairTooltip.js +6 -21
  41. package/lib/commonjs/charts/candle/CrosshairTooltip.js.map +1 -1
  42. package/lib/commonjs/charts/candle/DatetimeText.js +2 -8
  43. package/lib/commonjs/charts/candle/DatetimeText.js.map +1 -1
  44. package/lib/commonjs/charts/candle/HoverTrap/index.web.js +11 -25
  45. package/lib/commonjs/charts/candle/HoverTrap/index.web.js.map +1 -1
  46. package/lib/commonjs/charts/candle/Line.js +3 -12
  47. package/lib/commonjs/charts/candle/Line.js.map +1 -1
  48. package/lib/commonjs/charts/candle/PriceText.js +2 -8
  49. package/lib/commonjs/charts/candle/PriceText.js.map +1 -1
  50. package/lib/commonjs/charts/candle/index.js +1 -32
  51. package/lib/commonjs/charts/candle/index.js.map +1 -1
  52. package/lib/commonjs/charts/candle/types.js.map +1 -1
  53. package/lib/commonjs/charts/candle/useCandleData.js +0 -4
  54. package/lib/commonjs/charts/candle/useCandleData.js.map +1 -1
  55. package/lib/commonjs/charts/candle/useCandlestickChart.js +2 -7
  56. package/lib/commonjs/charts/candle/useCandlestickChart.js.map +1 -1
  57. package/lib/commonjs/charts/candle/useDatetime.js +0 -4
  58. package/lib/commonjs/charts/candle/useDatetime.js.map +1 -1
  59. package/lib/commonjs/charts/candle/usePrice.js +0 -8
  60. package/lib/commonjs/charts/candle/usePrice.js.map +1 -1
  61. package/lib/commonjs/charts/candle/utils/getDomain.js +0 -1
  62. package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -1
  63. package/lib/commonjs/charts/candle/utils/getHeight.js +0 -2
  64. package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -1
  65. package/lib/commonjs/charts/candle/utils/getPrice.js +0 -2
  66. package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -1
  67. package/lib/commonjs/charts/candle/utils/getY.js +0 -2
  68. package/lib/commonjs/charts/candle/utils/getY.js.map +1 -1
  69. package/lib/commonjs/charts/candle/utils/index.js +0 -8
  70. package/lib/commonjs/charts/candle/utils/index.js.map +1 -1
  71. package/lib/commonjs/charts/candle/utils.js +1 -6
  72. package/lib/commonjs/charts/candle/utils.js.map +1 -1
  73. package/lib/commonjs/charts/line/Chart.js +9 -28
  74. package/lib/commonjs/charts/line/Chart.js.map +1 -1
  75. package/lib/commonjs/charts/line/ChartPath.js +23 -46
  76. package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
  77. package/lib/commonjs/charts/line/Context.js +8 -19
  78. package/lib/commonjs/charts/line/Context.js.map +1 -1
  79. package/lib/commonjs/charts/line/Cursor.js +41 -66
  80. package/lib/commonjs/charts/line/Cursor.js.map +1 -1
  81. package/lib/commonjs/charts/line/CursorCrosshair.js +5 -14
  82. package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
  83. package/lib/commonjs/charts/line/CursorLine.js +5 -19
  84. package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
  85. package/lib/commonjs/charts/line/Data.js +5 -17
  86. package/lib/commonjs/charts/line/Data.js.map +1 -1
  87. package/lib/commonjs/charts/line/DatetimeText.js +2 -9
  88. package/lib/commonjs/charts/line/DatetimeText.js.map +1 -1
  89. package/lib/commonjs/charts/line/Dot.js +27 -33
  90. package/lib/commonjs/charts/line/Dot.js.map +1 -1
  91. package/lib/commonjs/charts/line/Gradient.js +12 -19
  92. package/lib/commonjs/charts/line/Gradient.js.map +1 -1
  93. package/lib/commonjs/charts/line/Group.js +2 -14
  94. package/lib/commonjs/charts/line/Group.js.map +1 -1
  95. package/lib/commonjs/charts/line/Highlight.js +9 -21
  96. package/lib/commonjs/charts/line/Highlight.js.map +1 -1
  97. package/lib/commonjs/charts/line/HorizontalLine.js +8 -23
  98. package/lib/commonjs/charts/line/HorizontalLine.js.map +1 -1
  99. package/lib/commonjs/charts/line/HoverTrap/index.js +0 -4
  100. package/lib/commonjs/charts/line/HoverTrap/index.js.map +1 -1
  101. package/lib/commonjs/charts/line/HoverTrap/index.web.js +11 -24
  102. package/lib/commonjs/charts/line/HoverTrap/index.web.js.map +1 -1
  103. package/lib/commonjs/charts/line/LineChartPathContext.js +1 -6
  104. package/lib/commonjs/charts/line/LineChartPathContext.js.map +1 -1
  105. package/lib/commonjs/charts/line/Path.js +9 -18
  106. package/lib/commonjs/charts/line/Path.js.map +1 -1
  107. package/lib/commonjs/charts/line/PriceText.js +2 -9
  108. package/lib/commonjs/charts/line/PriceText.js.map +1 -1
  109. package/lib/commonjs/charts/line/Tooltip.js +25 -47
  110. package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
  111. package/lib/commonjs/charts/line/index.js +1 -39
  112. package/lib/commonjs/charts/line/index.js.map +1 -1
  113. package/lib/commonjs/charts/line/types.js.map +1 -1
  114. package/lib/commonjs/charts/line/useAnimatedPath.js +6 -12
  115. package/lib/commonjs/charts/line/useAnimatedPath.js.map +1 -1
  116. package/lib/commonjs/charts/line/useCurrentY.js +0 -7
  117. package/lib/commonjs/charts/line/useCurrentY.js.map +1 -1
  118. package/lib/commonjs/charts/line/useDatetime.js +0 -4
  119. package/lib/commonjs/charts/line/useDatetime.js.map +1 -1
  120. package/lib/commonjs/charts/line/useLineChart.js +4 -10
  121. package/lib/commonjs/charts/line/useLineChart.js.map +1 -1
  122. package/lib/commonjs/charts/line/usePrice.js +1 -5
  123. package/lib/commonjs/charts/line/usePrice.js.map +1 -1
  124. package/lib/commonjs/charts/line/utils/getArea.js +11 -11
  125. package/lib/commonjs/charts/line/utils/getArea.js.map +1 -1
  126. package/lib/commonjs/charts/line/utils/getDomain.js +0 -1
  127. package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -1
  128. package/lib/commonjs/charts/line/utils/getPath.js +5 -8
  129. package/lib/commonjs/charts/line/utils/getPath.js.map +1 -1
  130. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js +15 -0
  131. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js.map +1 -0
  132. package/lib/commonjs/charts/line/utils/index.js +0 -10
  133. package/lib/commonjs/charts/line/utils/index.js.map +1 -1
  134. package/lib/commonjs/charts/line/utils/interpolatePath.js +119 -124
  135. package/lib/commonjs/charts/line/utils/interpolatePath.js.map +1 -1
  136. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +0 -3
  137. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js.map +1 -1
  138. package/lib/commonjs/components/AnimatedText.js +6 -17
  139. package/lib/commonjs/components/AnimatedText.js.map +1 -1
  140. package/lib/commonjs/index.js +0 -8
  141. package/lib/commonjs/index.js.map +1 -1
  142. package/lib/commonjs/utils/formatDatetime.js +0 -1
  143. package/lib/commonjs/utils/formatDatetime.js.map +1 -1
  144. package/lib/commonjs/utils/formatPrice.js +2 -12
  145. package/lib/commonjs/utils/formatPrice.js.map +1 -1
  146. package/lib/commonjs/utils/index.js +0 -6
  147. package/lib/commonjs/utils/index.js.map +1 -1
  148. package/lib/commonjs/utils/usePrevious.js +4 -9
  149. package/lib/commonjs/utils/usePrevious.js.map +1 -1
  150. package/lib/module/charts/candle/Candle.js +4 -2
  151. package/lib/module/charts/candle/Candle.js.map +1 -1
  152. package/lib/module/charts/candle/Candles.js +4 -3
  153. package/lib/module/charts/candle/Candles.js.map +1 -1
  154. package/lib/module/charts/candle/Chart.js.map +1 -1
  155. package/lib/module/charts/candle/Context.js.map +1 -1
  156. package/lib/module/charts/candle/Crosshair.js +1 -4
  157. package/lib/module/charts/candle/Crosshair.js.map +1 -1
  158. package/lib/module/charts/candle/CrosshairTooltip.js +3 -6
  159. package/lib/module/charts/candle/CrosshairTooltip.js.map +1 -1
  160. package/lib/module/charts/candle/DatetimeText.js.map +1 -1
  161. package/lib/module/charts/candle/HoverTrap/index.web.js +11 -15
  162. package/lib/module/charts/candle/HoverTrap/index.web.js.map +1 -1
  163. package/lib/module/charts/candle/Line.js +1 -2
  164. package/lib/module/charts/candle/Line.js.map +1 -1
  165. package/lib/module/charts/candle/PriceText.js.map +1 -1
  166. package/lib/module/charts/candle/index.js.map +1 -1
  167. package/lib/module/charts/candle/types.js.map +1 -1
  168. package/lib/module/charts/candle/useCandleData.js +0 -1
  169. package/lib/module/charts/candle/useCandleData.js.map +1 -1
  170. package/lib/module/charts/candle/useCandlestickChart.js.map +1 -1
  171. package/lib/module/charts/candle/useDatetime.js.map +1 -1
  172. package/lib/module/charts/candle/usePrice.js +0 -2
  173. package/lib/module/charts/candle/usePrice.js.map +1 -1
  174. package/lib/module/charts/candle/utils/getDomain.js.map +1 -1
  175. package/lib/module/charts/candle/utils/getHeight.js.map +1 -1
  176. package/lib/module/charts/candle/utils/getPrice.js.map +1 -1
  177. package/lib/module/charts/candle/utils/getY.js.map +1 -1
  178. package/lib/module/charts/candle/utils/index.js.map +1 -1
  179. package/lib/module/charts/candle/utils.js.map +1 -1
  180. package/lib/module/charts/line/Chart.js +8 -12
  181. package/lib/module/charts/line/Chart.js.map +1 -1
  182. package/lib/module/charts/line/ChartPath.js +21 -28
  183. package/lib/module/charts/line/ChartPath.js.map +1 -1
  184. package/lib/module/charts/line/Context.js +4 -6
  185. package/lib/module/charts/line/Context.js.map +1 -1
  186. package/lib/module/charts/line/Cursor.js +37 -50
  187. package/lib/module/charts/line/Cursor.js.map +1 -1
  188. package/lib/module/charts/line/CursorCrosshair.js +3 -3
  189. package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
  190. package/lib/module/charts/line/CursorLine.js +3 -3
  191. package/lib/module/charts/line/CursorLine.js.map +1 -1
  192. package/lib/module/charts/line/Data.js +0 -2
  193. package/lib/module/charts/line/Data.js.map +1 -1
  194. package/lib/module/charts/line/DatetimeText.js.map +1 -1
  195. package/lib/module/charts/line/Dot.js +25 -18
  196. package/lib/module/charts/line/Dot.js.map +1 -1
  197. package/lib/module/charts/line/Gradient.js +10 -5
  198. package/lib/module/charts/line/Gradient.js.map +1 -1
  199. package/lib/module/charts/line/Group.js +0 -2
  200. package/lib/module/charts/line/Group.js.map +1 -1
  201. package/lib/module/charts/line/Highlight.js +7 -5
  202. package/lib/module/charts/line/Highlight.js.map +1 -1
  203. package/lib/module/charts/line/HorizontalLine.js +6 -8
  204. package/lib/module/charts/line/HorizontalLine.js.map +1 -1
  205. package/lib/module/charts/line/HoverTrap/index.js.map +1 -1
  206. package/lib/module/charts/line/HoverTrap/index.web.js +11 -15
  207. package/lib/module/charts/line/HoverTrap/index.web.js.map +1 -1
  208. package/lib/module/charts/line/LineChartPathContext.js.map +1 -1
  209. package/lib/module/charts/line/Path.js +7 -4
  210. package/lib/module/charts/line/Path.js.map +1 -1
  211. package/lib/module/charts/line/PriceText.js.map +1 -1
  212. package/lib/module/charts/line/Tooltip.js +21 -33
  213. package/lib/module/charts/line/Tooltip.js.map +1 -1
  214. package/lib/module/charts/line/index.js.map +1 -1
  215. package/lib/module/charts/line/types.js.map +1 -1
  216. package/lib/module/charts/line/useAnimatedPath.js +3 -5
  217. package/lib/module/charts/line/useAnimatedPath.js.map +1 -1
  218. package/lib/module/charts/line/useCurrentY.js +0 -1
  219. package/lib/module/charts/line/useCurrentY.js.map +1 -1
  220. package/lib/module/charts/line/useDatetime.js.map +1 -1
  221. package/lib/module/charts/line/useLineChart.js +2 -1
  222. package/lib/module/charts/line/useLineChart.js.map +1 -1
  223. package/lib/module/charts/line/usePrice.js +1 -1
  224. package/lib/module/charts/line/usePrice.js.map +1 -1
  225. package/lib/module/charts/line/utils/getArea.js +9 -6
  226. package/lib/module/charts/line/utils/getArea.js.map +1 -1
  227. package/lib/module/charts/line/utils/getDomain.js.map +1 -1
  228. package/lib/module/charts/line/utils/getPath.js +3 -3
  229. package/lib/module/charts/line/utils/getPath.js.map +1 -1
  230. package/lib/module/charts/line/utils/getXPositionForCurve.js +9 -0
  231. package/lib/module/charts/line/utils/getXPositionForCurve.js.map +1 -0
  232. package/lib/module/charts/line/utils/index.js.map +1 -1
  233. package/lib/module/charts/line/utils/interpolatePath.js +116 -117
  234. package/lib/module/charts/line/utils/interpolatePath.js.map +1 -1
  235. package/lib/module/charts/line/utils/lineChartDataPropToArray.js +0 -2
  236. package/lib/module/charts/line/utils/lineChartDataPropToArray.js.map +1 -1
  237. package/lib/module/components/AnimatedText.js +4 -3
  238. package/lib/module/components/AnimatedText.js.map +1 -1
  239. package/lib/module/index.js.map +1 -1
  240. package/lib/module/utils/formatDatetime.js.map +1 -1
  241. package/lib/module/utils/formatPrice.js +2 -11
  242. package/lib/module/utils/formatPrice.js.map +1 -1
  243. package/lib/module/utils/index.js.map +1 -1
  244. package/lib/module/utils/usePrevious.js +2 -3
  245. package/lib/module/utils/usePrevious.js.map +1 -1
  246. package/lib/typescript/example/src/App.d.ts +4 -0
  247. package/lib/typescript/example/src/App.d.ts.map +1 -0
  248. package/lib/typescript/example/src/CandlestickChart.d.ts +3 -0
  249. package/lib/typescript/example/src/CandlestickChart.d.ts.map +1 -0
  250. package/lib/typescript/example/src/LineChart.d.ts +3 -0
  251. package/lib/typescript/example/src/LineChart.d.ts.map +1 -0
  252. package/lib/typescript/src/charts/candle/Candle.d.ts +7 -5
  253. package/lib/typescript/src/charts/candle/Candle.d.ts.map +1 -0
  254. package/lib/typescript/src/charts/candle/Candles.d.ts +4 -3
  255. package/lib/typescript/src/charts/candle/Candles.d.ts.map +1 -0
  256. package/lib/typescript/src/charts/candle/Chart.d.ts +3 -2
  257. package/lib/typescript/src/charts/candle/Chart.d.ts.map +1 -0
  258. package/lib/typescript/src/charts/candle/Context.d.ts +3 -2
  259. package/lib/typescript/src/charts/candle/Context.d.ts.map +1 -0
  260. package/lib/typescript/src/charts/candle/Crosshair.d.ts +3 -2
  261. package/lib/typescript/src/charts/candle/Crosshair.d.ts.map +1 -0
  262. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts +4 -3
  263. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts.map +1 -0
  264. package/lib/typescript/src/charts/candle/DatetimeText.d.ts +4 -3
  265. package/lib/typescript/src/charts/candle/DatetimeText.d.ts.map +1 -0
  266. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts +3 -2
  267. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts.map +1 -0
  268. package/lib/typescript/src/charts/candle/Line.d.ts +4 -3
  269. package/lib/typescript/src/charts/candle/Line.d.ts.map +1 -0
  270. package/lib/typescript/src/charts/candle/PriceText.d.ts +4 -3
  271. package/lib/typescript/src/charts/candle/PriceText.d.ts.map +1 -0
  272. package/lib/typescript/src/charts/candle/index.d.ts +3 -2
  273. package/lib/typescript/src/charts/candle/index.d.ts.map +1 -0
  274. package/lib/typescript/src/charts/candle/types.d.ts +7 -6
  275. package/lib/typescript/src/charts/candle/types.d.ts.map +1 -0
  276. package/lib/typescript/src/charts/candle/useCandleData.d.ts +1 -0
  277. package/lib/typescript/src/charts/candle/useCandleData.d.ts.map +1 -0
  278. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts +1 -0
  279. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts.map +1 -0
  280. package/lib/typescript/src/charts/candle/useDatetime.d.ts +1 -0
  281. package/lib/typescript/src/charts/candle/useDatetime.d.ts.map +1 -0
  282. package/lib/typescript/src/charts/candle/usePrice.d.ts +1 -0
  283. package/lib/typescript/src/charts/candle/usePrice.d.ts.map +1 -0
  284. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +1 -0
  285. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts.map +1 -0
  286. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +1 -0
  287. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts.map +1 -0
  288. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +1 -0
  289. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts.map +1 -0
  290. package/lib/typescript/src/charts/candle/utils/getY.d.ts +1 -0
  291. package/lib/typescript/src/charts/candle/utils/getY.d.ts.map +1 -0
  292. package/lib/typescript/src/charts/candle/utils/index.d.ts +1 -0
  293. package/lib/typescript/src/charts/candle/utils/index.d.ts.map +1 -0
  294. package/lib/typescript/src/charts/candle/utils.d.ts +1 -0
  295. package/lib/typescript/src/charts/candle/utils.d.ts.map +1 -0
  296. package/lib/typescript/src/charts/line/Chart.d.ts +3 -2
  297. package/lib/typescript/src/charts/line/Chart.d.ts.map +1 -0
  298. package/lib/typescript/src/charts/line/ChartPath.d.ts +3 -2
  299. package/lib/typescript/src/charts/line/ChartPath.d.ts.map +1 -0
  300. package/lib/typescript/src/charts/line/Context.d.ts +3 -2
  301. package/lib/typescript/src/charts/line/Context.d.ts.map +1 -0
  302. package/lib/typescript/src/charts/line/Cursor.d.ts +3 -2
  303. package/lib/typescript/src/charts/line/Cursor.d.ts.map +1 -0
  304. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +3 -2
  305. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts.map +1 -0
  306. package/lib/typescript/src/charts/line/CursorLine.d.ts +3 -2
  307. package/lib/typescript/src/charts/line/CursorLine.d.ts.map +1 -0
  308. package/lib/typescript/src/charts/line/Data.d.ts +6 -4
  309. package/lib/typescript/src/charts/line/Data.d.ts.map +1 -0
  310. package/lib/typescript/src/charts/line/DatetimeText.d.ts +4 -3
  311. package/lib/typescript/src/charts/line/DatetimeText.d.ts.map +1 -0
  312. package/lib/typescript/src/charts/line/Dot.d.ts +4 -3
  313. package/lib/typescript/src/charts/line/Dot.d.ts.map +1 -0
  314. package/lib/typescript/src/charts/line/Gradient.d.ts +3 -2
  315. package/lib/typescript/src/charts/line/Gradient.d.ts.map +1 -0
  316. package/lib/typescript/src/charts/line/Group.d.ts +4 -2
  317. package/lib/typescript/src/charts/line/Group.d.ts.map +1 -0
  318. package/lib/typescript/src/charts/line/Highlight.d.ts +4 -3
  319. package/lib/typescript/src/charts/line/Highlight.d.ts.map +1 -0
  320. package/lib/typescript/src/charts/line/HorizontalLine.d.ts +4 -3
  321. package/lib/typescript/src/charts/line/HorizontalLine.d.ts.map +1 -0
  322. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +3 -2
  323. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts.map +1 -0
  324. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +3 -2
  325. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts.map +1 -0
  326. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts +1 -0
  327. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts.map +1 -0
  328. package/lib/typescript/src/charts/line/Path.d.ts +4 -3
  329. package/lib/typescript/src/charts/line/Path.d.ts.map +1 -0
  330. package/lib/typescript/src/charts/line/PriceText.d.ts +4 -3
  331. package/lib/typescript/src/charts/line/PriceText.d.ts.map +1 -0
  332. package/lib/typescript/src/charts/line/Tooltip.d.ts +4 -3
  333. package/lib/typescript/src/charts/line/Tooltip.d.ts.map +1 -0
  334. package/lib/typescript/src/charts/line/index.d.ts +2 -1
  335. package/lib/typescript/src/charts/line/index.d.ts.map +1 -0
  336. package/lib/typescript/src/charts/line/types.d.ts +8 -7
  337. package/lib/typescript/src/charts/line/types.d.ts.map +1 -0
  338. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +1 -0
  339. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts.map +1 -0
  340. package/lib/typescript/src/charts/line/useCurrentY.d.ts +1 -0
  341. package/lib/typescript/src/charts/line/useCurrentY.d.ts.map +1 -0
  342. package/lib/typescript/src/charts/line/useDatetime.d.ts +1 -0
  343. package/lib/typescript/src/charts/line/useDatetime.d.ts.map +1 -0
  344. package/lib/typescript/src/charts/line/useLineChart.d.ts +1 -0
  345. package/lib/typescript/src/charts/line/useLineChart.d.ts.map +1 -0
  346. package/lib/typescript/src/charts/line/usePrice.d.ts +1 -0
  347. package/lib/typescript/src/charts/line/usePrice.d.ts.map +1 -0
  348. package/lib/typescript/src/charts/line/utils/getArea.d.ts +3 -1
  349. package/lib/typescript/src/charts/line/utils/getArea.d.ts.map +1 -0
  350. package/lib/typescript/src/charts/line/utils/getDomain.d.ts +1 -0
  351. package/lib/typescript/src/charts/line/utils/getDomain.d.ts.map +1 -0
  352. package/lib/typescript/src/charts/line/utils/getPath.d.ts +1 -0
  353. package/lib/typescript/src/charts/line/utils/getPath.d.ts.map +1 -0
  354. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts +3 -0
  355. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts.map +1 -0
  356. package/lib/typescript/src/charts/line/utils/index.d.ts +1 -0
  357. package/lib/typescript/src/charts/line/utils/index.d.ts.map +1 -0
  358. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts +1 -0
  359. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts.map +1 -0
  360. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +1 -0
  361. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts.map +1 -0
  362. package/lib/typescript/src/components/AnimatedText.d.ts +3 -2
  363. package/lib/typescript/src/components/AnimatedText.d.ts.map +1 -0
  364. package/lib/typescript/src/index.d.ts +1 -0
  365. package/lib/typescript/src/index.d.ts.map +1 -0
  366. package/lib/typescript/src/utils/formatDatetime.d.ts +1 -0
  367. package/lib/typescript/src/utils/formatDatetime.d.ts.map +1 -0
  368. package/lib/typescript/src/utils/formatPrice.d.ts +1 -0
  369. package/lib/typescript/src/utils/formatPrice.d.ts.map +1 -0
  370. package/lib/typescript/src/utils/index.d.ts +1 -0
  371. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  372. package/lib/typescript/src/utils/usePrevious.d.ts +1 -0
  373. package/lib/typescript/src/utils/usePrevious.d.ts.map +1 -0
  374. package/package.json +12 -9
  375. package/scripts/bootstrap.js +24 -0
  376. package/src/charts/candle/Candle.tsx +3 -3
  377. package/src/charts/candle/CrosshairTooltip.tsx +2 -2
  378. package/src/charts/candle/HoverTrap/index.web.tsx +0 -1
  379. package/src/charts/line/Chart.tsx +6 -4
  380. package/src/charts/line/Cursor.tsx +52 -67
  381. package/src/charts/line/Dot.tsx +8 -8
  382. package/src/charts/line/Gradient.tsx +1 -0
  383. package/src/charts/line/HorizontalLine.tsx +8 -15
  384. package/src/charts/line/HoverTrap/index.web.tsx +0 -1
  385. package/src/charts/line/Tooltip.tsx +21 -13
  386. package/src/charts/line/useAnimatedPath.ts +3 -3
  387. package/src/charts/line/utils/getArea.ts +8 -5
  388. package/src/charts/line/utils/getXPositionForCurve.ts +9 -0
  389. package/tsconfig.build.json +5 -0
  390. package/tsconfig.json +28 -0
  391. package/yarn.lock +8529 -0
@@ -1,13 +1,14 @@
1
- import React from 'react';
2
1
  import Animated, {
3
2
  useAnimatedProps,
4
3
  useDerivedValue,
5
4
  withTiming,
6
5
  } from 'react-native-reanimated';
7
- import { Line as SVGLine, LineProps } from 'react-native-svg';
8
- import { getYForX } from 'react-native-redash';
6
+ import { LineProps, Line as SVGLine } from 'react-native-svg';
9
7
 
10
8
  import { LineChartDimensionsContext } from './Chart';
9
+ import React from 'react';
10
+ import { getXPositionForCurve } from './utils/getXPositionForCurve';
11
+ import { getYForX } from 'react-native-redash';
11
12
  import { useLineChart } from './useLineChart';
12
13
 
13
14
  const AnimatedLine = Animated.createAnimatedComponent(SVGLine);
@@ -53,7 +54,7 @@ export function LineChartHorizontalLine({
53
54
  at = { index: 0 },
54
55
  offsetY = 0,
55
56
  }: HorizontalLineProps) {
56
- const { width, parsedPath, pointWidth, height, gutter } = React.useContext(
57
+ const { width, parsedPath, height, gutter } = React.useContext(
57
58
  LineChartDimensionsContext
58
59
  );
59
60
  const { yDomain } = useLineChart();
@@ -61,7 +62,8 @@ export function LineChartHorizontalLine({
61
62
  const y = useDerivedValue(() => {
62
63
  if (typeof at === 'number' || at.index != null) {
63
64
  const index = typeof at === 'number' ? at : at.index;
64
- const yForX = getYForX(parsedPath!, pointWidth * index) || 0;
65
+ const yForX =
66
+ getYForX(parsedPath!, getXPositionForCurve(parsedPath, index)) || 0;
65
67
  return withTiming(yForX + offsetY);
66
68
  }
67
69
  /**
@@ -82,16 +84,7 @@ export function LineChartHorizontalLine({
82
84
  const offsetTopPixels = gutter + percentageOffsetTop * heightBetweenGutters;
83
85
 
84
86
  return withTiming(offsetTopPixels + offsetY);
85
- }, [
86
- at,
87
- gutter,
88
- height,
89
- offsetY,
90
- parsedPath,
91
- pointWidth,
92
- yDomain.max,
93
- yDomain.min,
94
- ]);
87
+ }, [at, gutter, height, offsetY, parsedPath, yDomain.max, yDomain.min]);
95
88
 
96
89
  const lineAnimatedProps = useAnimatedProps(
97
90
  () => ({
@@ -4,7 +4,6 @@ import { View, StyleSheet } from 'react-native';
4
4
  import { LineChartDimensionsContext } from '../Chart';
5
5
  import { useLineChart } from '../useLineChart';
6
6
 
7
- // @ts-expect-error missing types
8
7
  import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';
9
8
 
10
9
  let isEnabled = false;
@@ -1,17 +1,19 @@
1
1
  import * as React from 'react';
2
- import type { ViewProps } from 'react-native';
2
+
3
3
  import Animated, {
4
4
  useAnimatedStyle,
5
5
  useDerivedValue,
6
6
  useSharedValue,
7
7
  withTiming,
8
8
  } from 'react-native-reanimated';
9
+ import { LineChartPriceText, LineChartPriceTextProps } from './PriceText';
9
10
 
10
- import { LineChartDimensionsContext } from './Chart';
11
11
  import { CursorContext } from './Cursor';
12
- import { LineChartPriceText, LineChartPriceTextProps } from './PriceText';
13
- import { useLineChart } from './useLineChart';
12
+ import { LineChartDimensionsContext } from './Chart';
13
+ import type { LayoutChangeEvent, ViewProps } from 'react-native';
14
+ import { getXPositionForCurve } from './utils/getXPositionForCurve';
14
15
  import { getYForX } from 'react-native-redash';
16
+ import { useLineChart } from './useLineChart';
15
17
  import { useMemo } from 'react';
16
18
 
17
19
  export type LineChartTooltipProps = Animated.AnimateProps<ViewProps> & {
@@ -45,7 +47,7 @@ export function LineChartTooltip({
45
47
  at,
46
48
  ...props
47
49
  }: LineChartTooltipProps) {
48
- const { width, height, parsedPath, pointWidth } = React.useContext(
50
+ const { width, height, parsedPath } = React.useContext(
49
51
  LineChartDimensionsContext
50
52
  );
51
53
  const { type } = React.useContext(CursorContext);
@@ -56,7 +58,7 @@ export function LineChartTooltip({
56
58
  const elementHeight = useSharedValue(0);
57
59
 
58
60
  const handleLayout = React.useCallback(
59
- (event) => {
61
+ (event: LayoutChangeEvent) => {
60
62
  x.value = event.nativeEvent.layout.x;
61
63
  elementWidth.value = event.nativeEvent.layout.width;
62
64
  elementHeight.value = event.nativeEvent.layout.height;
@@ -66,9 +68,13 @@ export function LineChartTooltip({
66
68
 
67
69
  // When the user set a `at` index, get the index's y & x positions
68
70
  const atXPosition = useMemo(
69
- () => (at == null ? undefined : pointWidth * at),
70
- [at, pointWidth]
71
+ () =>
72
+ at !== null && at !== undefined
73
+ ? getXPositionForCurve(parsedPath, at)
74
+ : undefined,
75
+ [at, parsedPath]
71
76
  );
77
+
72
78
  const atYPosition = useDerivedValue(() => {
73
79
  return atXPosition == null
74
80
  ? undefined
@@ -134,13 +140,15 @@ export function LineChartTooltip({
134
140
  opacity: opacity,
135
141
  };
136
142
  }, [
137
- currentX,
138
- currentY,
143
+ atXPosition,
144
+ atYPosition.value,
145
+ currentX.value,
146
+ currentY.value,
139
147
  cursorGutter,
140
- elementHeight,
141
- elementWidth,
148
+ elementHeight.value,
149
+ elementWidth.value,
142
150
  height,
143
- isActive,
151
+ isActive.value,
144
152
  position,
145
153
  type,
146
154
  width,
@@ -5,8 +5,8 @@ import {
5
5
  withTiming,
6
6
  } from 'react-native-reanimated';
7
7
 
8
- import { usePrevious } from '../../utils';
9
8
  import { interpolatePath } from './utils';
9
+ import { usePrevious } from '../../utils';
10
10
 
11
11
  export default function useAnimatedPath({
12
12
  enabled = true,
@@ -23,8 +23,8 @@ export default function useAnimatedPath({
23
23
  () => {
24
24
  return path;
25
25
  },
26
- (_, previous) => {
27
- if (previous) {
26
+ (result, previous) => {
27
+ if (result !== previous) {
28
28
  transition.value = 0;
29
29
  transition.value = withTiming(1);
30
30
  }
@@ -1,10 +1,11 @@
1
1
  // @ts-ignore
2
2
  import * as shape from 'd3-shape';
3
- // @ts-ignore
4
- import { scaleLinear } from 'd3-scale';
5
3
 
6
4
  import type { TLineChartData, YDomain } from '../types';
7
5
 
6
+ // @ts-ignore
7
+ import { scaleLinear } from 'd3-scale';
8
+
8
9
  export function getArea({
9
10
  data,
10
11
  width,
@@ -12,6 +13,7 @@ export function getArea({
12
13
  gutter,
13
14
  shape: _shape,
14
15
  yDomain,
16
+ xDomain,
15
17
  }: {
16
18
  data: TLineChartData;
17
19
  width: number;
@@ -19,18 +21,19 @@ export function getArea({
19
21
  gutter: number;
20
22
  shape?: unknown;
21
23
  yDomain: YDomain;
24
+ xDomain?: [number, number];
22
25
  }): string {
23
- const timestamps = data.map((_, i) => i);
26
+ const timestamps = data.map(({ timestamp }, i) => (xDomain ? timestamp : i));
24
27
 
25
28
  const scaleX = scaleLinear()
26
- .domain([Math.min(...timestamps), Math.max(...timestamps)])
29
+ .domain(xDomain ?? [Math.min(...timestamps), Math.max(...timestamps)])
27
30
  .range([0, width]);
28
31
  const scaleY = scaleLinear()
29
32
  .domain([yDomain.min, yDomain.max])
30
33
  .range([height - gutter, gutter]);
31
34
  const area = shape
32
35
  .area()
33
- .x((_: unknown, i: number) => scaleX(i))
36
+ .x((_: unknown, i: number) => scaleX(xDomain ? timestamps[i] : i))
34
37
  .y0((d: { value: unknown }) => scaleY(d.value as number))
35
38
  .y1(() => height)
36
39
  .curve(_shape)(data);
@@ -0,0 +1,9 @@
1
+ import type { Path } from 'react-native-redash';
2
+
3
+ export function getXPositionForCurve(path: Path, index: number) {
4
+ 'worklet';
5
+ if (index === 0) {
6
+ return path.move.x;
7
+ }
8
+ return path.curves[index - 1].to.x;
9
+ }
@@ -0,0 +1,5 @@
1
+
2
+ {
3
+ "extends": "./tsconfig",
4
+ "exclude": ["example/"]
5
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": "./",
4
+ "paths": {
5
+ "react-native-wagmi-charts": ["./src/index"],
6
+ "react": ["./node_modules/@types/react"]
7
+ },
8
+ "allowUnreachableCode": false,
9
+ "allowUnusedLabels": false,
10
+ "esModuleInterop": true,
11
+ "verbatimModuleSyntax": false,
12
+ "forceConsistentCasingInFileNames": true,
13
+ "jsx": "react",
14
+ "lib": ["esnext", "dom"],
15
+ "module": "esnext",
16
+ "moduleResolution": "node",
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noImplicitReturns": true,
19
+ "noImplicitUseStrict": false,
20
+ "noStrictGenericChecks": false,
21
+ "noUnusedLocals": true,
22
+ "noUnusedParameters": true,
23
+ "resolveJsonModule": true,
24
+ "skipLibCheck": true,
25
+ "strict": true,
26
+ "target": "esnext",
27
+ }
28
+ }