react-native-wagmi-charts 2.7.3 → 2.8.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 (357) hide show
  1. package/README.md +42 -15
  2. package/lib/commonjs/charts/candle/Candle.js +177 -93
  3. package/lib/commonjs/charts/candle/Candle.js.map +1 -1
  4. package/lib/commonjs/charts/candle/Candles.js +66 -43
  5. package/lib/commonjs/charts/candle/Candles.js.map +1 -1
  6. package/lib/commonjs/charts/candle/Chart.js +38 -28
  7. package/lib/commonjs/charts/candle/Chart.js.map +1 -1
  8. package/lib/commonjs/charts/candle/Context.js +74 -43
  9. package/lib/commonjs/charts/candle/Context.js.map +1 -1
  10. package/lib/commonjs/charts/candle/Crosshair.js +190 -81
  11. package/lib/commonjs/charts/candle/Crosshair.js.map +1 -1
  12. package/lib/commonjs/charts/candle/CrosshairTooltip.js +140 -61
  13. package/lib/commonjs/charts/candle/CrosshairTooltip.js.map +1 -1
  14. package/lib/commonjs/charts/candle/DatetimeText.js +19 -14
  15. package/lib/commonjs/charts/candle/DatetimeText.js.map +1 -1
  16. package/lib/commonjs/charts/candle/Line.js +73 -28
  17. package/lib/commonjs/charts/candle/Line.js.map +1 -1
  18. package/lib/commonjs/charts/candle/PriceText.js +19 -14
  19. package/lib/commonjs/charts/candle/PriceText.js.map +1 -1
  20. package/lib/commonjs/charts/candle/index.js +67 -64
  21. package/lib/commonjs/charts/candle/types.js +4 -4
  22. package/lib/commonjs/charts/candle/useCandleData.js +9 -12
  23. package/lib/commonjs/charts/candle/useCandlestickChart.js +10 -9
  24. package/lib/commonjs/charts/candle/useCandlestickChart.js.map +1 -1
  25. package/lib/commonjs/charts/candle/useDatetime.js +16 -18
  26. package/lib/commonjs/charts/candle/useDatetime.js.map +1 -1
  27. package/lib/commonjs/charts/candle/usePrice.js +21 -22
  28. package/lib/commonjs/charts/candle/usePrice.js.map +1 -1
  29. package/lib/commonjs/charts/candle/utils/getDomain.js +5 -8
  30. package/lib/commonjs/charts/candle/utils/getHeight.js +12 -11
  31. package/lib/commonjs/charts/candle/utils/getPrice.js +12 -11
  32. package/lib/commonjs/charts/candle/utils/getY.js +12 -11
  33. package/lib/commonjs/charts/candle/utils/index.js +16 -16
  34. package/lib/commonjs/charts/line/Axis.js +402 -0
  35. package/lib/commonjs/charts/line/Axis.js.map +1 -0
  36. package/lib/commonjs/charts/line/Chart.js +140 -69
  37. package/lib/commonjs/charts/line/Chart.js.map +1 -1
  38. package/lib/commonjs/charts/line/ChartPath.js +290 -90
  39. package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
  40. package/lib/commonjs/charts/line/Context.js +98 -40
  41. package/lib/commonjs/charts/line/Context.js.map +1 -1
  42. package/lib/commonjs/charts/line/Cursor.js +129 -75
  43. package/lib/commonjs/charts/line/Cursor.js.map +1 -1
  44. package/lib/commonjs/charts/line/CursorCrosshair.js +151 -58
  45. package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
  46. package/lib/commonjs/charts/line/CursorLine.js +251 -45
  47. package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
  48. package/lib/commonjs/charts/line/Data.js +73 -35
  49. package/lib/commonjs/charts/line/Data.js.map +1 -1
  50. package/lib/commonjs/charts/line/DatetimeText.js +27 -14
  51. package/lib/commonjs/charts/line/DatetimeText.js.map +1 -1
  52. package/lib/commonjs/charts/line/Dot.js +150 -57
  53. package/lib/commonjs/charts/line/Dot.js.map +1 -1
  54. package/lib/commonjs/charts/line/Gradient.js +124 -54
  55. package/lib/commonjs/charts/line/Gradient.js.map +1 -1
  56. package/lib/commonjs/charts/line/Group.js +54 -24
  57. package/lib/commonjs/charts/line/Group.js.map +1 -1
  58. package/lib/commonjs/charts/line/Highlight.js +115 -47
  59. package/lib/commonjs/charts/line/Highlight.js.map +1 -1
  60. package/lib/commonjs/charts/line/HorizontalLine.js +92 -40
  61. package/lib/commonjs/charts/line/HorizontalLine.js.map +1 -1
  62. package/lib/commonjs/charts/line/HoverTrap/index.js +10 -7
  63. package/lib/commonjs/charts/line/HoverTrap/index.js.map +1 -1
  64. package/lib/commonjs/charts/line/HoverTrap/index.web.js +115 -86
  65. package/lib/commonjs/charts/line/HoverTrap/index.web.js.map +1 -1
  66. package/lib/commonjs/charts/line/LineChartPathContext.js +14 -11
  67. package/lib/commonjs/charts/line/LineChartPathContext.js.map +1 -1
  68. package/lib/commonjs/charts/line/Path.js +78 -39
  69. package/lib/commonjs/charts/line/Path.js.map +1 -1
  70. package/lib/commonjs/charts/line/PriceText.js +113 -14
  71. package/lib/commonjs/charts/line/PriceText.js.map +1 -1
  72. package/lib/commonjs/charts/line/Tooltip.js +236 -106
  73. package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
  74. package/lib/commonjs/charts/line/index.js +75 -62
  75. package/lib/commonjs/charts/line/index.js.map +1 -1
  76. package/lib/commonjs/charts/line/types.js +4 -4
  77. package/lib/commonjs/charts/line/useAnimatedPath.js +28 -23
  78. package/lib/commonjs/charts/line/useAnimatedPath.js.map +1 -1
  79. package/lib/commonjs/charts/line/useCurrentY.js +17 -17
  80. package/lib/commonjs/charts/line/useDatetime.js +34 -33
  81. package/lib/commonjs/charts/line/useDatetime.js.map +1 -1
  82. package/lib/commonjs/charts/line/useLineChart.js +21 -17
  83. package/lib/commonjs/charts/line/useLineChart.js.map +1 -1
  84. package/lib/commonjs/charts/line/usePrice.js +30 -28
  85. package/lib/commonjs/charts/line/usePrice.js.map +1 -1
  86. package/lib/commonjs/charts/line/utils/getArea.js +48 -20
  87. package/lib/commonjs/charts/line/utils/getArea.js.map +1 -1
  88. package/lib/commonjs/charts/line/utils/getDomain.js +5 -7
  89. package/lib/commonjs/charts/line/utils/getPath.js +54 -20
  90. package/lib/commonjs/charts/line/utils/getPath.js.map +1 -1
  91. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js +8 -5
  92. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js.map +1 -1
  93. package/lib/commonjs/charts/line/utils/index.js +19 -19
  94. package/lib/commonjs/charts/line/utils/interpolatePath.js +102 -62
  95. package/lib/commonjs/charts/line/utils/interpolatePath.js.map +1 -1
  96. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +5 -5
  97. package/lib/commonjs/components/AnimatedText.js +66 -39
  98. package/lib/commonjs/components/AnimatedText.js.map +1 -1
  99. package/lib/commonjs/index.js +27 -16
  100. package/lib/commonjs/index.js.map +1 -1
  101. package/lib/commonjs/types.js +2 -0
  102. package/lib/commonjs/types.js.map +1 -0
  103. package/lib/commonjs/utils/formatDatetime.js +5 -9
  104. package/lib/commonjs/utils/formatPrice.js +13 -9
  105. package/lib/commonjs/utils/formatPrice.js.map +1 -1
  106. package/lib/commonjs/utils/index.js +13 -13
  107. package/lib/commonjs/utils/usePrevious.js +10 -9
  108. package/lib/commonjs/utils/usePrevious.js.map +1 -1
  109. package/lib/module/charts/candle/Candle.js +126 -76
  110. package/lib/module/charts/candle/Candle.js.map +1 -1
  111. package/lib/module/charts/candle/Candles.js +53 -34
  112. package/lib/module/charts/candle/Candles.js.map +1 -1
  113. package/lib/module/charts/candle/Chart.js +23 -20
  114. package/lib/module/charts/candle/Chart.js.map +1 -1
  115. package/lib/module/charts/candle/Context.js +53 -23
  116. package/lib/module/charts/candle/Context.js.map +1 -1
  117. package/lib/module/charts/candle/Crosshair.js +151 -69
  118. package/lib/module/charts/candle/Crosshair.js.map +1 -1
  119. package/lib/module/charts/candle/CrosshairTooltip.js +102 -52
  120. package/lib/module/charts/candle/CrosshairTooltip.js.map +1 -1
  121. package/lib/module/charts/candle/DatetimeText.js +5 -5
  122. package/lib/module/charts/candle/Line.js +37 -19
  123. package/lib/module/charts/candle/PriceText.js +5 -5
  124. package/lib/module/charts/candle/PriceText.js.map +1 -1
  125. package/lib/module/charts/candle/index.js +2 -2
  126. package/lib/module/charts/candle/types.js +1 -1
  127. package/lib/module/charts/candle/useCandleData.js +3 -7
  128. package/lib/module/charts/candle/useCandlestickChart.js +2 -2
  129. package/lib/module/charts/candle/useCandlestickChart.js.map +1 -1
  130. package/lib/module/charts/candle/useDatetime.js +10 -12
  131. package/lib/module/charts/candle/useDatetime.js.map +1 -1
  132. package/lib/module/charts/candle/usePrice.js +12 -14
  133. package/lib/module/charts/candle/usePrice.js.map +1 -1
  134. package/lib/module/charts/candle/utils/getDomain.js +2 -5
  135. package/lib/module/charts/candle/utils/getHeight.js +8 -7
  136. package/lib/module/charts/candle/utils/getPrice.js +2 -6
  137. package/lib/module/charts/candle/utils/getY.js +2 -6
  138. package/lib/module/charts/candle/utils/index.js +1 -1
  139. package/lib/module/charts/line/Axis.js +349 -0
  140. package/lib/module/charts/line/Axis.js.map +1 -0
  141. package/lib/module/charts/line/Chart.js +82 -46
  142. package/lib/module/charts/line/Chart.js.map +1 -1
  143. package/lib/module/charts/line/ChartPath.js +246 -77
  144. package/lib/module/charts/line/ChartPath.js.map +1 -1
  145. package/lib/module/charts/line/Context.js +65 -32
  146. package/lib/module/charts/line/Context.js.map +1 -1
  147. package/lib/module/charts/line/Cursor.js +86 -60
  148. package/lib/module/charts/line/Cursor.js.map +1 -1
  149. package/lib/module/charts/line/CursorCrosshair.js +118 -50
  150. package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
  151. package/lib/module/charts/line/CursorLine.js +210 -33
  152. package/lib/module/charts/line/CursorLine.js.map +1 -1
  153. package/lib/module/charts/line/Data.js +41 -28
  154. package/lib/module/charts/line/Data.js.map +1 -1
  155. package/lib/module/charts/line/DatetimeText.js +14 -6
  156. package/lib/module/charts/line/DatetimeText.js.map +1 -1
  157. package/lib/module/charts/line/Dot.js +95 -41
  158. package/lib/module/charts/line/Dot.js.map +1 -1
  159. package/lib/module/charts/line/Gradient.js +80 -42
  160. package/lib/module/charts/line/Gradient.js.map +1 -1
  161. package/lib/module/charts/line/Group.js +15 -14
  162. package/lib/module/charts/line/Highlight.js +62 -32
  163. package/lib/module/charts/line/Highlight.js.map +1 -1
  164. package/lib/module/charts/line/HorizontalLine.js +49 -27
  165. package/lib/module/charts/line/HorizontalLine.js.map +1 -1
  166. package/lib/module/charts/line/HoverTrap/index.js +3 -2
  167. package/lib/module/charts/line/HoverTrap/index.web.js +102 -76
  168. package/lib/module/charts/line/HoverTrap/index.web.js.map +1 -1
  169. package/lib/module/charts/line/LineChartPathContext.js +3 -3
  170. package/lib/module/charts/line/Path.js +34 -27
  171. package/lib/module/charts/line/Path.js.map +1 -1
  172. package/lib/module/charts/line/PriceText.js +80 -6
  173. package/lib/module/charts/line/PriceText.js.map +1 -1
  174. package/lib/module/charts/line/Tooltip.js +202 -94
  175. package/lib/module/charts/line/Tooltip.js.map +1 -1
  176. package/lib/module/charts/line/index.js +6 -3
  177. package/lib/module/charts/line/index.js.map +1 -1
  178. package/lib/module/charts/line/types.js +1 -1
  179. package/lib/module/charts/line/useAnimatedPath.js +22 -16
  180. package/lib/module/charts/line/useAnimatedPath.js.map +1 -1
  181. package/lib/module/charts/line/useCurrentY.js +4 -9
  182. package/lib/module/charts/line/useDatetime.js +28 -27
  183. package/lib/module/charts/line/useDatetime.js.map +1 -1
  184. package/lib/module/charts/line/useLineChart.js +11 -8
  185. package/lib/module/charts/line/useLineChart.js.map +1 -1
  186. package/lib/module/charts/line/usePrice.js +24 -22
  187. package/lib/module/charts/line/usePrice.js.map +1 -1
  188. package/lib/module/charts/line/utils/getArea.js +16 -11
  189. package/lib/module/charts/line/utils/getArea.js.map +1 -1
  190. package/lib/module/charts/line/utils/getDomain.js +2 -4
  191. package/lib/module/charts/line/utils/getPath.js +22 -11
  192. package/lib/module/charts/line/utils/getPath.js.map +1 -1
  193. package/lib/module/charts/line/utils/getXPositionForCurve.js +5 -2
  194. package/lib/module/charts/line/utils/getXPositionForCurve.js.map +1 -1
  195. package/lib/module/charts/line/utils/index.js +1 -1
  196. package/lib/module/charts/line/utils/interpolatePath.js +99 -59
  197. package/lib/module/charts/line/utils/interpolatePath.js.map +1 -1
  198. package/lib/module/charts/line/utils/lineChartDataPropToArray.js +2 -2
  199. package/lib/module/components/AnimatedText.js +24 -30
  200. package/lib/module/components/AnimatedText.js.map +1 -1
  201. package/lib/module/index.js +2 -1
  202. package/lib/module/index.js.map +1 -1
  203. package/lib/module/types.js +1 -0
  204. package/lib/module/types.js.map +1 -0
  205. package/lib/module/utils/formatDatetime.js +2 -6
  206. package/lib/module/utils/formatPrice.js +10 -6
  207. package/lib/module/utils/formatPrice.js.map +1 -1
  208. package/lib/module/utils/index.js +1 -1
  209. package/lib/module/utils/usePrevious.js +2 -2
  210. package/lib/module/utils/usePrevious.js.map +1 -1
  211. package/lib/typescript/src/charts/candle/Candle.d.ts +45 -31
  212. package/lib/typescript/src/charts/candle/Candle.d.ts.map +1 -1
  213. package/lib/typescript/src/charts/candle/Candles.d.ts +25 -14
  214. package/lib/typescript/src/charts/candle/Candles.d.ts.map +1 -1
  215. package/lib/typescript/src/charts/candle/Chart.d.ts +13 -8
  216. package/lib/typescript/src/charts/candle/Chart.d.ts.map +1 -1
  217. package/lib/typescript/src/charts/candle/Context.d.ts +15 -8
  218. package/lib/typescript/src/charts/candle/Context.d.ts.map +1 -1
  219. package/lib/typescript/src/charts/candle/Crosshair.d.ts +18 -10
  220. package/lib/typescript/src/charts/candle/Crosshair.d.ts.map +1 -1
  221. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts +16 -9
  222. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts.map +1 -1
  223. package/lib/typescript/src/charts/candle/DatetimeText.d.ts +16 -10
  224. package/lib/typescript/src/charts/candle/DatetimeText.d.ts.map +1 -1
  225. package/lib/typescript/src/charts/candle/Line.d.ts +10 -5
  226. package/lib/typescript/src/charts/candle/Line.d.ts.map +1 -1
  227. package/lib/typescript/src/charts/candle/PriceText.d.ts +15 -8
  228. package/lib/typescript/src/charts/candle/PriceText.d.ts.map +1 -1
  229. package/lib/typescript/src/charts/candle/index.d.ts +32 -14
  230. package/lib/typescript/src/charts/candle/index.d.ts.map +1 -1
  231. package/lib/typescript/src/charts/candle/types.d.ts +16 -19
  232. package/lib/typescript/src/charts/candle/types.d.ts.map +1 -1
  233. package/lib/typescript/src/charts/candle/useCandleData.d.ts +1 -1
  234. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts +1 -1
  235. package/lib/typescript/src/charts/candle/useDatetime.d.ts +14 -10
  236. package/lib/typescript/src/charts/candle/useDatetime.d.ts.map +1 -1
  237. package/lib/typescript/src/charts/candle/usePrice.d.ts +13 -8
  238. package/lib/typescript/src/charts/candle/usePrice.d.ts.map +1 -1
  239. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +1 -1
  240. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +9 -5
  241. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +9 -5
  242. package/lib/typescript/src/charts/candle/utils/getY.d.ts +9 -5
  243. package/lib/typescript/src/charts/candle/utils/index.d.ts +1 -1
  244. package/lib/typescript/src/charts/line/Axis.d.ts +33 -0
  245. package/lib/typescript/src/charts/line/Axis.d.ts.map +1 -0
  246. package/lib/typescript/src/charts/line/Chart.d.ts +33 -23
  247. package/lib/typescript/src/charts/line/Chart.d.ts.map +1 -1
  248. package/lib/typescript/src/charts/line/ChartPath.d.ts +29 -16
  249. package/lib/typescript/src/charts/line/ChartPath.d.ts.map +1 -1
  250. package/lib/typescript/src/charts/line/Context.d.ts +17 -10
  251. package/lib/typescript/src/charts/line/Context.d.ts.map +1 -1
  252. package/lib/typescript/src/charts/line/Cursor.d.ts +23 -13
  253. package/lib/typescript/src/charts/line/Cursor.d.ts.map +1 -1
  254. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +24 -12
  255. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts.map +1 -1
  256. package/lib/typescript/src/charts/line/CursorLine.d.ts +19 -8
  257. package/lib/typescript/src/charts/line/CursorLine.d.ts.map +1 -1
  258. package/lib/typescript/src/charts/line/Data.d.ts +17 -13
  259. package/lib/typescript/src/charts/line/DatetimeText.d.ts +15 -9
  260. package/lib/typescript/src/charts/line/DatetimeText.d.ts.map +1 -1
  261. package/lib/typescript/src/charts/line/Dot.d.ts +39 -26
  262. package/lib/typescript/src/charts/line/Dot.d.ts.map +1 -1
  263. package/lib/typescript/src/charts/line/Gradient.d.ts +9 -5
  264. package/lib/typescript/src/charts/line/Gradient.d.ts.map +1 -1
  265. package/lib/typescript/src/charts/line/Group.d.ts +6 -3
  266. package/lib/typescript/src/charts/line/Highlight.d.ts +17 -9
  267. package/lib/typescript/src/charts/line/Highlight.d.ts.map +1 -1
  268. package/lib/typescript/src/charts/line/HorizontalLine.d.ts +30 -26
  269. package/lib/typescript/src/charts/line/HorizontalLine.d.ts.map +1 -1
  270. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +1 -1
  271. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +2 -2
  272. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts.map +1 -1
  273. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts +4 -4
  274. package/lib/typescript/src/charts/line/Path.d.ts +28 -23
  275. package/lib/typescript/src/charts/line/Path.d.ts.map +1 -1
  276. package/lib/typescript/src/charts/line/PriceText.d.ts +29 -13
  277. package/lib/typescript/src/charts/line/PriceText.d.ts.map +1 -1
  278. package/lib/typescript/src/charts/line/Tooltip.d.ts +34 -22
  279. package/lib/typescript/src/charts/line/Tooltip.d.ts.map +1 -1
  280. package/lib/typescript/src/charts/line/index.d.ts +34 -20
  281. package/lib/typescript/src/charts/line/index.d.ts.map +1 -1
  282. package/lib/typescript/src/charts/line/types.d.ts +19 -18
  283. package/lib/typescript/src/charts/line/types.d.ts.map +1 -1
  284. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +10 -7
  285. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts.map +1 -1
  286. package/lib/typescript/src/charts/line/useCurrentY.d.ts +2 -2
  287. package/lib/typescript/src/charts/line/useCurrentY.d.ts.map +1 -1
  288. package/lib/typescript/src/charts/line/useDatetime.d.ts +12 -8
  289. package/lib/typescript/src/charts/line/useDatetime.d.ts.map +1 -1
  290. package/lib/typescript/src/charts/line/useLineChart.d.ts +10 -10
  291. package/lib/typescript/src/charts/line/usePrice.d.ts +12 -8
  292. package/lib/typescript/src/charts/line/usePrice.d.ts.map +1 -1
  293. package/lib/typescript/src/charts/line/utils/getArea.d.ts +17 -9
  294. package/lib/typescript/src/charts/line/utils/getArea.d.ts.map +1 -1
  295. package/lib/typescript/src/charts/line/utils/getDomain.d.ts +1 -1
  296. package/lib/typescript/src/charts/line/utils/getPath.d.ts +21 -11
  297. package/lib/typescript/src/charts/line/utils/getPath.d.ts.map +1 -1
  298. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts +1 -1
  299. package/lib/typescript/src/charts/line/utils/index.d.ts +1 -1
  300. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts +17 -5
  301. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +4 -2
  302. package/lib/typescript/src/components/AnimatedText.d.ts +7 -4
  303. package/lib/typescript/src/components/AnimatedText.d.ts.map +1 -1
  304. package/lib/typescript/src/index.d.ts +2 -1
  305. package/lib/typescript/src/index.d.ts.map +1 -1
  306. package/lib/typescript/src/types.d.ts +8 -0
  307. package/lib/typescript/src/types.d.ts.map +1 -0
  308. package/lib/typescript/src/utils/formatDatetime.d.ts +9 -5
  309. package/lib/typescript/src/utils/formatPrice.d.ts +9 -5
  310. package/lib/typescript/src/utils/formatPrice.d.ts.map +1 -1
  311. package/lib/typescript/src/utils/index.d.ts +1 -1
  312. package/lib/typescript/src/utils/usePrevious.d.ts +1 -1
  313. package/package.json +19 -43
  314. package/src/charts/candle/Candle.tsx +2 -17
  315. package/src/charts/candle/Candles.tsx +1 -3
  316. package/src/charts/candle/Chart.tsx +1 -1
  317. package/src/charts/candle/Context.tsx +30 -7
  318. package/src/charts/candle/Crosshair.tsx +20 -8
  319. package/src/charts/candle/CrosshairTooltip.tsx +3 -1
  320. package/src/charts/candle/DatetimeText.tsx +1 -1
  321. package/src/charts/candle/PriceText.tsx +2 -1
  322. package/src/charts/candle/types.ts +1 -7
  323. package/src/charts/candle/useCandlestickChart.ts +1 -1
  324. package/src/charts/candle/useDatetime.ts +3 -1
  325. package/src/charts/candle/usePrice.ts +5 -1
  326. package/src/charts/line/Axis.tsx +363 -0
  327. package/src/charts/line/Chart.tsx +10 -7
  328. package/src/charts/line/ChartPath.tsx +77 -18
  329. package/src/charts/line/Context.tsx +29 -18
  330. package/src/charts/line/Cursor.tsx +15 -11
  331. package/src/charts/line/CursorCrosshair.tsx +27 -8
  332. package/src/charts/line/CursorLine.tsx +177 -18
  333. package/src/charts/line/Data.tsx +6 -4
  334. package/src/charts/line/DatetimeText.tsx +12 -3
  335. package/src/charts/line/Dot.tsx +2 -2
  336. package/src/charts/line/Gradient.tsx +2 -5
  337. package/src/charts/line/Highlight.tsx +8 -4
  338. package/src/charts/line/HorizontalLine.tsx +2 -8
  339. package/src/charts/line/HoverTrap/index.web.tsx +93 -60
  340. package/src/charts/line/Path.tsx +10 -17
  341. package/src/charts/line/PriceText.tsx +74 -4
  342. package/src/charts/line/Tooltip.tsx +129 -63
  343. package/src/charts/line/index.ts +4 -1
  344. package/src/charts/line/types.ts +1 -2
  345. package/src/charts/line/useAnimatedPath.ts +1 -2
  346. package/src/charts/line/useDatetime.ts +13 -10
  347. package/src/charts/line/useLineChart.ts +1 -1
  348. package/src/charts/line/usePrice.ts +6 -4
  349. package/src/charts/line/utils/getArea.ts +12 -10
  350. package/src/charts/line/utils/getPath.ts +13 -10
  351. package/src/charts/line/utils/getXPositionForCurve.ts +1 -1
  352. package/src/charts/line/utils/interpolatePath.ts +2 -2
  353. package/src/components/AnimatedText.tsx +13 -20
  354. package/src/index.ts +1 -0
  355. package/src/types.ts +7 -0
  356. package/src/utils/formatPrice.ts +7 -7
  357. package/src/utils/usePrevious.ts +1 -1
@@ -0,0 +1,349 @@
1
+ import React from 'react';
2
+ import { StyleSheet, Text } from 'react-native';
3
+ import { Line, Svg } from 'react-native-svg';
4
+ import Animated, { useAnimatedStyle } from 'react-native-reanimated';
5
+ import { LineChartDimensionsContext } from './Chart';
6
+ import { useLineChart } from './useLineChart';
7
+ export const LineChartAxis = ({
8
+ position,
9
+ orientation,
10
+ color = '#666',
11
+ strokeWidth,
12
+ tickCount = 5,
13
+ domain = [0, 100],
14
+ hideOnInteraction = false,
15
+ format = (value) => value,
16
+ textStyle,
17
+ labelPadding = 3,
18
+ containerStyle,
19
+ ...props
20
+ }) => {
21
+ const { width, height } = React.useContext(LineChartDimensionsContext);
22
+ const { isActive } = useLineChart();
23
+
24
+ // Reserve space at the bottom for x-axis cursor labels
25
+ const X_AXIS_LABEL_RESERVED_HEIGHT = 40;
26
+ // For vertical axes, don't extend into the reserved cursor label space
27
+ const effectiveHeight =
28
+ orientation === 'vertical' ? height - X_AXIS_LABEL_RESERVED_HEIGHT : height;
29
+ const padding = {
30
+ left: 5,
31
+ right: 5,
32
+ top: 20,
33
+ bottom: 20,
34
+ };
35
+ const animatedStyle = useAnimatedStyle(() => {
36
+ return {
37
+ opacity: hideOnInteraction && isActive.value ? 0 : 1,
38
+ };
39
+ }, [hideOnInteraction, isActive]);
40
+ const renderTicks = () => {
41
+ const [min, max] = domain;
42
+ const ticks = [];
43
+ const labels = [];
44
+ const tickLength = 5;
45
+ const labelOffset = 8;
46
+
47
+ // Calculate maximum label width needed dynamically
48
+ let maxLabelWidth = 0;
49
+ const fontSize = textStyle?.fontSize || 10;
50
+ const charWidth = fontSize * 0.6; // Dynamic character width based on font size
51
+
52
+ for (let i = 0; i <= tickCount; i++) {
53
+ const value = min + (max - min) * (i / tickCount);
54
+ const formattedValue = String(format(value));
55
+ // Dynamic width calculation based on actual font size
56
+ const estimatedWidth = formattedValue.length * charWidth;
57
+ maxLabelWidth = Math.max(maxLabelWidth, estimatedWidth);
58
+ }
59
+
60
+ // Dynamic width allocation - ensure we don't exceed available space
61
+ const maxAllowableWidth =
62
+ position === 'left' || position === 'right'
63
+ ? Math.max(width * 0.3, 60) // Allow up to 30% of chart width for y-axis labels, minimum 60px
64
+ : width * 0.9; // For horizontal labels, use most of the width
65
+
66
+ const dynamicLabelWidth = Math.min(
67
+ Math.max(maxLabelWidth + 16, 40),
68
+ // Minimum 40px, add 16px padding
69
+ maxAllowableWidth // Don't exceed the calculated max
70
+ );
71
+ for (let i = 0; i <= tickCount; i++) {
72
+ const value = min + (max - min) * (i / tickCount);
73
+ const tickPosition = i / tickCount;
74
+ if (orientation === 'vertical') {
75
+ // Add padding to prevent labels from going off-screen
76
+ const topPadding = labelPadding;
77
+ const bottomPadding = labelPadding;
78
+
79
+ // Calculate y position with padding to keep labels on screen
80
+ const availableHeight = effectiveHeight - topPadding - bottomPadding;
81
+ const y = topPadding + availableHeight * (1 - tickPosition);
82
+ const x = position === 'left' ? padding.left : width - padding.right;
83
+ if (strokeWidth) {
84
+ ticks.push(
85
+ /*#__PURE__*/ React.createElement(Line, {
86
+ key: `tick-${i}`,
87
+ x1: x,
88
+ y1: y,
89
+ x2: position === 'left' ? x - tickLength : x + tickLength,
90
+ y2: y,
91
+ stroke: color,
92
+ strokeWidth: strokeWidth,
93
+ })
94
+ );
95
+ }
96
+ labels.push(
97
+ /*#__PURE__*/ React.createElement(
98
+ Animated.View,
99
+ {
100
+ key: `label-${i}`,
101
+ style: [
102
+ styles.verticalLabel,
103
+ {
104
+ width: dynamicLabelWidth,
105
+ // Use calculated width
106
+ left:
107
+ position === 'left'
108
+ ? Math.max(0, x - labelOffset - dynamicLabelWidth) // Keep labels within left boundary
109
+ : Math.min(
110
+ width - dynamicLabelWidth - 5,
111
+ x + labelOffset
112
+ ),
113
+ // Keep labels within right boundary with 5px margin
114
+ top: y - 10, // Center the label vertically on the tick mark
115
+ },
116
+ position === 'left' ? styles.alignEnd : styles.alignStart,
117
+ ],
118
+ },
119
+ /*#__PURE__*/ React.createElement(
120
+ Text,
121
+ {
122
+ numberOfLines: 1,
123
+ ellipsizeMode: 'tail',
124
+ style: [
125
+ styles.labelText,
126
+ {
127
+ color: color,
128
+ },
129
+ position === 'left' ? styles.textRight : styles.textLeft,
130
+ textStyle,
131
+ ],
132
+ adjustsFontSizeToFit: true,
133
+ minimumFontScale: 0.7,
134
+ },
135
+ String(format(value))
136
+ )
137
+ )
138
+ );
139
+ } else {
140
+ const x = width * tickPosition;
141
+ const y = position === 'top' ? 15 : height - padding.bottom;
142
+ if (strokeWidth) {
143
+ ticks.push(
144
+ /*#__PURE__*/ React.createElement(Line, {
145
+ key: `tick-${i}`,
146
+ x1: x,
147
+ y1: y,
148
+ x2: x,
149
+ y2: position === 'top' ? y - tickLength : height - 15,
150
+ stroke: color,
151
+ strokeWidth: strokeWidth,
152
+ })
153
+ );
154
+ }
155
+ const alignmentStyle =
156
+ i === 0
157
+ ? styles.alignStart
158
+ : i === tickCount
159
+ ? styles.alignEnd
160
+ : styles.alignCenter;
161
+ const textAlignStyle =
162
+ i === 0
163
+ ? styles.textLeft
164
+ : i === tickCount
165
+ ? styles.textRight
166
+ : styles.textCenter;
167
+ labels.push(
168
+ /*#__PURE__*/ React.createElement(
169
+ Animated.View,
170
+ {
171
+ key: `label-${i}`,
172
+ style: [
173
+ styles.horizontalLabel,
174
+ {
175
+ width: dynamicLabelWidth,
176
+ // Use dynamic width for horizontal labels too
177
+ left: Math.max(
178
+ 0,
179
+ Math.min(
180
+ width - dynamicLabelWidth,
181
+ i === 0
182
+ ? x + labelOffset
183
+ : i === tickCount
184
+ ? x - dynamicLabelWidth - labelOffset
185
+ : x - dynamicLabelWidth / 2
186
+ )
187
+ ),
188
+ top:
189
+ position === 'top'
190
+ ? Math.max(0, y - labelOffset - 15)
191
+ : Math.max(0, height - 35),
192
+ },
193
+ alignmentStyle,
194
+ ],
195
+ },
196
+ /*#__PURE__*/ React.createElement(
197
+ Text,
198
+ {
199
+ numberOfLines: 1,
200
+ ellipsizeMode: 'tail',
201
+ style: [
202
+ styles.labelText,
203
+ {
204
+ color: color,
205
+ },
206
+ textAlignStyle,
207
+ textStyle,
208
+ ],
209
+ adjustsFontSizeToFit: true,
210
+ minimumFontScale: 0.7,
211
+ },
212
+ String(format(value))
213
+ )
214
+ )
215
+ );
216
+ }
217
+ }
218
+ return {
219
+ ticks,
220
+ labels,
221
+ };
222
+ };
223
+ const renderAxis = () => {
224
+ const { ticks, labels } = renderTicks();
225
+ let axisLine = null;
226
+ if (strokeWidth) {
227
+ switch (position) {
228
+ case 'left':
229
+ axisLine = /*#__PURE__*/ React.createElement(Line, {
230
+ x1: padding.left,
231
+ y1: 0,
232
+ x2: padding.left,
233
+ y2: effectiveHeight,
234
+ stroke: color,
235
+ strokeWidth: strokeWidth,
236
+ });
237
+ break;
238
+ case 'right':
239
+ axisLine = /*#__PURE__*/ React.createElement(Line, {
240
+ x1: width - padding.right,
241
+ y1: 0,
242
+ x2: width - padding.right,
243
+ y2: effectiveHeight,
244
+ stroke: color,
245
+ strokeWidth: strokeWidth,
246
+ });
247
+ break;
248
+ case 'top':
249
+ axisLine = /*#__PURE__*/ React.createElement(Line, {
250
+ x1: 0,
251
+ y1: 20,
252
+ x2: width,
253
+ y2: 20,
254
+ stroke: color,
255
+ strokeWidth: strokeWidth,
256
+ });
257
+ break;
258
+ case 'bottom':
259
+ axisLine = /*#__PURE__*/ React.createElement(Line, {
260
+ x1: 0,
261
+ y1: height - 20,
262
+ x2: width,
263
+ y2: height - 20,
264
+ stroke: color,
265
+ strokeWidth: strokeWidth,
266
+ });
267
+ break;
268
+ }
269
+ }
270
+ return {
271
+ axisLine,
272
+ ticks,
273
+ labels,
274
+ };
275
+ };
276
+ const { axisLine, ticks, labels } = renderAxis();
277
+ return /*#__PURE__*/ React.createElement(
278
+ Animated.View,
279
+ {
280
+ style: [styles.container, containerStyle, props.style, animatedStyle],
281
+ },
282
+ /*#__PURE__*/ React.createElement(
283
+ Svg,
284
+ {
285
+ width: width,
286
+ height: height,
287
+ style: StyleSheet.absoluteFill,
288
+ },
289
+ axisLine,
290
+ ticks
291
+ ),
292
+ /*#__PURE__*/ React.createElement(
293
+ Animated.View,
294
+ {
295
+ style: [StyleSheet.absoluteFill, styles.labelsContainer],
296
+ },
297
+ labels
298
+ )
299
+ );
300
+ };
301
+ const styles = StyleSheet.create({
302
+ container: {
303
+ position: 'absolute',
304
+ top: 0,
305
+ left: 0,
306
+ right: 0,
307
+ bottom: 0,
308
+ pointerEvents: 'none',
309
+ },
310
+ verticalLabel: {
311
+ position: 'absolute',
312
+ minHeight: 20,
313
+ zIndex: 1000,
314
+ overflow: 'visible',
315
+ justifyContent: 'center',
316
+ },
317
+ horizontalLabel: {
318
+ position: 'absolute',
319
+ minHeight: 20,
320
+ zIndex: 1000,
321
+ overflow: 'hidden',
322
+ justifyContent: 'center',
323
+ },
324
+ labelText: {
325
+ fontSize: 10,
326
+ },
327
+ labelsContainer: {
328
+ zIndex: 1000,
329
+ },
330
+ alignStart: {
331
+ alignItems: 'flex-start',
332
+ },
333
+ alignEnd: {
334
+ alignItems: 'flex-end',
335
+ },
336
+ alignCenter: {
337
+ alignItems: 'center',
338
+ },
339
+ textLeft: {
340
+ textAlign: 'left',
341
+ },
342
+ textRight: {
343
+ textAlign: 'right',
344
+ },
345
+ textCenter: {
346
+ textAlign: 'center',
347
+ },
348
+ });
349
+ //# sourceMappingURL=Axis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","Text","Line","Svg","Animated","useAnimatedStyle","LineChartDimensionsContext","useLineChart","LineChartAxis","position","orientation","color","strokeWidth","tickCount","domain","hideOnInteraction","format","value","textStyle","labelPadding","containerStyle","props","width","height","useContext","isActive","X_AXIS_LABEL_RESERVED_HEIGHT","effectiveHeight","padding","left","right","top","bottom","animatedStyle","opacity","renderTicks","min","max","ticks","labels","tickLength","labelOffset","maxLabelWidth","fontSize","charWidth","i","formattedValue","String","estimatedWidth","length","Math","maxAllowableWidth","dynamicLabelWidth","tickPosition","topPadding","bottomPadding","availableHeight","y","x","push","createElement","key","x1","y1","x2","y2","stroke","View","style","styles","verticalLabel","alignEnd","alignStart","numberOfLines","ellipsizeMode","labelText","textRight","textLeft","adjustsFontSizeToFit","minimumFontScale","alignmentStyle","alignCenter","textAlignStyle","textCenter","horizontalLabel","renderAxis","axisLine","container","absoluteFill","labelsContainer","create","pointerEvents","minHeight","zIndex","overflow","justifyContent","alignItems","textAlign"],"sourceRoot":"../../../../src","sources":["charts/line/Axis.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,25 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
- import * as React from 'react';
3
- // @ts-ignore
1
+ function _extends() {
2
+ return (
3
+ (_extends = Object.assign
4
+ ? Object.assign.bind()
5
+ : function (n) {
6
+ for (var e = 1; e < arguments.length; e++) {
7
+ var t = arguments[e];
8
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
9
+ }
10
+ return n;
11
+ }),
12
+ _extends.apply(null, arguments)
13
+ );
14
+ }
15
+ import React from 'react';
4
16
  import * as d3Shape from 'd3-shape';
5
17
  import { Dimensions, StyleSheet, View } from 'react-native';
6
18
  import { LineChartIdProvider, useLineChartData } from './Data';
7
19
  import { parse } from 'react-native-redash';
8
20
  import { getArea, getPath } from './utils';
9
21
  import { LineChartContext } from './Context';
10
- export const LineChartDimensionsContext = /*#__PURE__*/React.createContext({
22
+ export const LineChartDimensionsContext = /*#__PURE__*/ React.createContext({
11
23
  width: 0,
12
24
  height: 0,
13
25
  pointWidth: 0,
@@ -16,11 +28,9 @@ export const LineChartDimensionsContext = /*#__PURE__*/React.createContext({
16
28
  area: '',
17
29
  shape: d3Shape.curveBumpX,
18
30
  gutter: 0,
19
- pathWidth: 0
31
+ pathWidth: 0,
20
32
  });
21
- const {
22
- width: screenWidth
23
- } = Dimensions.get('window');
33
+ const { width: screenWidth } = Dimensions.get('window');
24
34
  LineChart.displayName = 'LineChart';
25
35
  export function LineChart({
26
36
  children,
@@ -32,20 +42,18 @@ export function LineChart({
32
42
  absolute,
33
43
  ...props
34
44
  }) {
35
- const {
36
- yDomain,
37
- xLength,
38
- xDomain
39
- } = React.useContext(LineChartContext);
40
- const {
41
- data
42
- } = useLineChartData({
43
- id
45
+ const { yDomain, xLength, xDomain } = React.useContext(LineChartContext);
46
+ const { data } = useLineChartData({
47
+ id,
44
48
  });
49
+
50
+ // Reserve space at the bottom for x-axis cursor labels
51
+ const X_AXIS_LABEL_RESERVED_HEIGHT = 40;
52
+ const chartDrawingHeight = height - X_AXIS_LABEL_RESERVED_HEIGHT;
45
53
  const pathWidth = React.useMemo(() => {
46
54
  let allowedWidth = width;
47
55
  if (data && xLength > data.length) {
48
- allowedWidth = width * data.length / xLength;
56
+ allowedWidth = (width * data.length) / xLength;
49
57
  }
50
58
  return allowedWidth;
51
59
  }, [data, width, xLength]);
@@ -54,53 +62,81 @@ export function LineChart({
54
62
  return getPath({
55
63
  data,
56
64
  width: pathWidth,
57
- height,
65
+ height: chartDrawingHeight,
58
66
  gutter: yGutter,
59
67
  shape,
60
68
  yDomain,
61
- xDomain
69
+ xDomain,
62
70
  });
63
71
  }
64
72
  return '';
65
- }, [data, pathWidth, height, yGutter, shape, yDomain, xDomain]);
73
+ }, [data, pathWidth, chartDrawingHeight, yGutter, shape, yDomain, xDomain]);
66
74
  const area = React.useMemo(() => {
67
75
  if (data && data.length > 0) {
68
76
  return getArea({
69
77
  data,
70
78
  width: pathWidth,
71
- height,
79
+ height: chartDrawingHeight,
72
80
  gutter: yGutter,
73
81
  shape,
74
82
  yDomain,
75
- xDomain
83
+ xDomain,
76
84
  });
77
85
  }
78
86
  return '';
79
- }, [data, pathWidth, height, yGutter, shape, yDomain, xDomain]);
87
+ }, [data, pathWidth, chartDrawingHeight, yGutter, shape, yDomain, xDomain]);
80
88
  const parsedPath = React.useMemo(() => parse(path), [path]);
81
- const pointWidth = React.useMemo(() => width / (data ? data.length - 1 : 1), [data, width]);
82
- const contextValue = React.useMemo(() => ({
83
- gutter: yGutter,
84
- parsedPath,
85
- pointWidth,
86
- area,
87
- path,
88
- width,
89
- height,
90
- pathWidth,
91
- shape
92
- }), [yGutter, parsedPath, pointWidth, area, path, width, height, pathWidth, shape]);
93
- return /*#__PURE__*/React.createElement(LineChartIdProvider, {
94
- id: id
95
- }, /*#__PURE__*/React.createElement(LineChartDimensionsContext.Provider, {
96
- value: contextValue
97
- }, /*#__PURE__*/React.createElement(View, _extends({}, props, {
98
- style: [absolute && styles.absolute, props.style]
99
- }), children)));
89
+ const pointWidth = React.useMemo(
90
+ () => width / (data ? data.length - 1 : 1),
91
+ [data, width]
92
+ );
93
+ const contextValue = React.useMemo(
94
+ () => ({
95
+ gutter: yGutter,
96
+ parsedPath,
97
+ pointWidth,
98
+ area,
99
+ path,
100
+ width,
101
+ height,
102
+ pathWidth,
103
+ shape: shape,
104
+ }),
105
+ [
106
+ yGutter,
107
+ parsedPath,
108
+ pointWidth,
109
+ area,
110
+ path,
111
+ width,
112
+ height,
113
+ pathWidth,
114
+ shape,
115
+ ]
116
+ );
117
+ return /*#__PURE__*/ React.createElement(
118
+ LineChartIdProvider,
119
+ {
120
+ id: id,
121
+ },
122
+ /*#__PURE__*/ React.createElement(
123
+ LineChartDimensionsContext.Provider,
124
+ {
125
+ value: contextValue,
126
+ },
127
+ /*#__PURE__*/ React.createElement(
128
+ View,
129
+ _extends({}, props, {
130
+ style: [absolute && styles.absolute, props.style],
131
+ }),
132
+ children
133
+ )
134
+ )
135
+ );
100
136
  }
101
137
  const styles = StyleSheet.create({
102
138
  absolute: {
103
- position: 'absolute'
104
- }
139
+ position: 'absolute',
140
+ },
105
141
  });
106
- //# sourceMappingURL=Chart.js.map
142
+ //# sourceMappingURL=Chart.js.map
@@ -1 +1 @@
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","contextValue","createElement","Provider","value","_extends","style","styles","create","position"],"sourceRoot":"../../../../src","sources":["charts/line/Chart.tsx"],"mappings":"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","ignoreList":[]}
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","X_AXIS_LABEL_RESERVED_HEIGHT","chartDrawingHeight","useMemo","allowedWidth","length","contextValue","createElement","Provider","value","_extends","style","styles","create","position"],"sourceRoot":"../../../../src","sources":["charts/line/Chart.tsx"],"mappings":"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","ignoreList":[]}