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
@@ -1,53 +1,230 @@
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); }
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
+ }
2
15
  import React from 'react';
3
16
  import { StyleSheet } from 'react-native';
4
- import Animated, { useAnimatedStyle } from 'react-native-reanimated';
17
+ import Animated, {
18
+ useAnimatedStyle,
19
+ useDerivedValue,
20
+ useAnimatedProps,
21
+ } from 'react-native-reanimated';
5
22
  import Svg, { Line as SVGLine } from 'react-native-svg';
23
+ import { AnimatedText } from '../../components/AnimatedText';
6
24
  import { LineChartDimensionsContext } from './Chart';
7
25
  import { LineChartCursor } from './Cursor';
26
+ import { useLineChartDatetime } from './useDatetime';
8
27
  import { useLineChart } from './useLineChart';
28
+ import { useLineChartPrice } from './usePrice';
9
29
  LineChartCursorLine.displayName = 'LineChartCursorLine';
30
+ const TEXT_CONSTANTS = {
31
+ DEFAULT_COLOR: '#1A1E27',
32
+ DEFAULT_FONT_SIZE: 12,
33
+ CHAR_WIDTH_RATIO: 0.6,
34
+ MIN_WIDTH: 25,
35
+ MAX_WIDTH: 150,
36
+ INPUT_PADDING: 4,
37
+ };
38
+ const SPACING = {
39
+ VERTICAL_TEXT_OFFSET: 40,
40
+ HORIZONTAL_TEXT_MARGIN: 8,
41
+ HORIZONTAL_RIGHT_MARGIN: 16,
42
+ BASE_LINE_GAP: 8,
43
+ X_AXIS_LABEL_RESERVED_HEIGHT: 40, // Reserved space at bottom for x-axis labels
44
+ };
45
+ const AnimatedLine = Animated.createAnimatedComponent(SVGLine);
10
46
  export function LineChartCursorLine({
11
47
  children,
12
48
  color = 'gray',
13
49
  lineProps,
50
+ format,
51
+ textStyle,
14
52
  ...cursorProps
15
53
  }) {
16
- const {
17
- height
18
- } = React.useContext(LineChartDimensionsContext);
19
- const {
20
- currentX,
21
- isActive
22
- } = useLineChart();
23
- const vertical = useAnimatedStyle(() => ({
54
+ const isHorizontal = cursorProps?.orientation === 'horizontal';
55
+ const { height, width } = React.useContext(LineChartDimensionsContext);
56
+ const { currentX, currentY, isActive } = useLineChart();
57
+ const price = useLineChartPrice({
58
+ format: isHorizontal ? format : undefined,
59
+ precision: 2,
60
+ });
61
+ const datetime = useLineChartDatetime({
62
+ format: !isHorizontal ? format : undefined,
63
+ });
64
+ const displayText = isHorizontal ? price.formatted : datetime.formatted;
65
+ const calculateTextWidth = (text, fontSize) => {
66
+ 'worklet';
67
+
68
+ const charWidth = fontSize * TEXT_CONSTANTS.CHAR_WIDTH_RATIO;
69
+ const calculatedWidth = text.length * charWidth;
70
+ return Math.max(
71
+ TEXT_CONSTANTS.MIN_WIDTH,
72
+ Math.min(TEXT_CONSTANTS.MAX_WIDTH, calculatedWidth)
73
+ );
74
+ };
75
+ const textWidth = useDerivedValue(() => {
76
+ const text = displayText.value;
77
+ if (!text) return TEXT_CONSTANTS.MIN_WIDTH;
78
+ const fontSize = textStyle?.fontSize || TEXT_CONSTANTS.DEFAULT_FONT_SIZE;
79
+ return calculateTextWidth(text, fontSize);
80
+ }, [displayText, textStyle?.fontSize]);
81
+ const lineEndX = useDerivedValue(() => {
82
+ if (!isHorizontal) return 0;
83
+ const fontSize = textStyle?.fontSize || TEXT_CONSTANTS.DEFAULT_FONT_SIZE;
84
+ const gap = Math.max(SPACING.BASE_LINE_GAP, fontSize * 0.5);
85
+ return (
86
+ width -
87
+ textWidth.value -
88
+ gap -
89
+ TEXT_CONSTANTS.INPUT_PADDING -
90
+ SPACING.HORIZONTAL_RIGHT_MARGIN
91
+ );
92
+ });
93
+ const lineEndY = useDerivedValue(() => {
94
+ if (isHorizontal) return 0;
95
+
96
+ // For vertical cursor, extend line to the chart area (excluding reserved label space)
97
+ return height - SPACING.X_AXIS_LABEL_RESERVED_HEIGHT;
98
+ });
99
+ const containerStyle = useAnimatedStyle(() => ({
24
100
  opacity: isActive.value ? 1 : 0,
25
101
  height: '100%',
26
- transform: [{
27
- translateX: currentX.value
28
- }]
29
- }), [currentX, isActive]);
30
- return /*#__PURE__*/React.createElement(LineChartCursor, _extends({}, cursorProps, {
31
- type: "line"
32
- }), /*#__PURE__*/React.createElement(Animated.View, {
33
- style: vertical
34
- }, /*#__PURE__*/React.createElement(Svg, {
35
- style: styles.svg
36
- }, /*#__PURE__*/React.createElement(SVGLine, _extends({
37
- x1: 0,
38
- y1: 0,
39
- x2: 0,
40
- y2: height,
41
- strokeWidth: 2,
42
- stroke: color,
43
- strokeDasharray: "3 3"
44
- }, lineProps)))), children);
102
+ transform: isHorizontal
103
+ ? [
104
+ {
105
+ translateY: currentY.value,
106
+ },
107
+ ]
108
+ : [
109
+ {
110
+ translateX: currentX.value,
111
+ },
112
+ ],
113
+ }));
114
+ const calculateFontSizeAdjustment = (fontSize) => {
115
+ 'worklet';
116
+
117
+ return Math.max(0.6, Math.min(0.8, 0.7 + (fontSize - 12) * 0.01));
118
+ };
119
+ const textPositionStyle = useAnimatedStyle(() => {
120
+ const fontSize = textStyle?.fontSize || TEXT_CONSTANTS.DEFAULT_FONT_SIZE;
121
+ const lineHeight = textStyle?.lineHeight || fontSize * 1.2;
122
+ const baseStyle = {
123
+ position: 'absolute',
124
+ width: textWidth.value,
125
+ fontSize,
126
+ lineHeight,
127
+ color: textStyle?.color || TEXT_CONSTANTS.DEFAULT_COLOR,
128
+ ...textStyle,
129
+ };
130
+ if (isHorizontal) {
131
+ const fontSizeAdjustment = calculateFontSizeAdjustment(fontSize);
132
+ const textCenterOffset = -(lineHeight * fontSizeAdjustment);
133
+ return {
134
+ ...baseStyle,
135
+ left:
136
+ width -
137
+ textWidth.value -
138
+ SPACING.HORIZONTAL_RIGHT_MARGIN +
139
+ TEXT_CONSTANTS.INPUT_PADDING,
140
+ top: textCenterOffset,
141
+ textAlign: 'right',
142
+ paddingLeft: 0,
143
+ paddingRight: 0,
144
+ };
145
+ }
146
+
147
+ // For vertical cursor (x-axis label)
148
+ const halfTextWidth = textWidth.value / 2;
149
+
150
+ // Since the container is already translated by currentX, we need to calculate
151
+ // the label position relative to the container's position
152
+ const containerX = currentX.value;
153
+
154
+ // Calculate where the label would be if centered
155
+ let labelLeft = -halfTextWidth;
156
+
157
+ // Check if label would overflow on the left
158
+ if (containerX + labelLeft < 0) {
159
+ labelLeft = -containerX;
160
+ }
161
+
162
+ // Check if label would overflow on the right
163
+ if (containerX + labelLeft + textWidth.value > width) {
164
+ labelLeft = width - containerX - textWidth.value;
165
+ }
166
+
167
+ // Position label in the reserved space at the bottom
168
+ const labelTop =
169
+ height -
170
+ SPACING.X_AXIS_LABEL_RESERVED_HEIGHT +
171
+ SPACING.HORIZONTAL_TEXT_MARGIN;
172
+ return {
173
+ ...baseStyle,
174
+ left: labelLeft,
175
+ top: labelTop,
176
+ textAlign: 'center',
177
+ };
178
+ });
179
+ const lineAnimatedProps = useAnimatedProps(
180
+ () => ({
181
+ x1: 0,
182
+ y1: 0,
183
+ x2: lineEndX.value,
184
+ y2: lineEndY.value,
185
+ }),
186
+ [lineEndX, lineEndY]
187
+ );
188
+ return /*#__PURE__*/ React.createElement(
189
+ LineChartCursor,
190
+ _extends({}, cursorProps, {
191
+ type: 'line',
192
+ }),
193
+ /*#__PURE__*/ React.createElement(
194
+ Animated.View,
195
+ {
196
+ style: containerStyle,
197
+ },
198
+ /*#__PURE__*/ React.createElement(
199
+ Svg,
200
+ {
201
+ style: styles.svg,
202
+ },
203
+ /*#__PURE__*/ React.createElement(
204
+ AnimatedLine,
205
+ _extends(
206
+ {
207
+ animatedProps: lineAnimatedProps,
208
+ strokeWidth: 2,
209
+ stroke: color,
210
+ strokeDasharray: '3 3',
211
+ },
212
+ lineProps
213
+ )
214
+ )
215
+ ),
216
+ /*#__PURE__*/ React.createElement(AnimatedText, {
217
+ text: displayText,
218
+ style: textPositionStyle,
219
+ })
220
+ ),
221
+ children
222
+ );
45
223
  }
46
224
  const styles = StyleSheet.create({
47
225
  svg: {
48
226
  ...StyleSheet.absoluteFillObject,
49
- // height: 100% is required for <svg /> on web
50
- height: '100%'
51
- }
227
+ height: '100%',
228
+ },
52
229
  });
53
- //# sourceMappingURL=CursorLine.js.map
230
+ //# sourceMappingURL=CursorLine.js.map
@@ -1 +1 @@
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","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","Animated","useAnimatedStyle","useDerivedValue","useAnimatedProps","Svg","Line","SVGLine","AnimatedText","LineChartDimensionsContext","LineChartCursor","useLineChartDatetime","useLineChart","useLineChartPrice","LineChartCursorLine","displayName","TEXT_CONSTANTS","DEFAULT_COLOR","DEFAULT_FONT_SIZE","CHAR_WIDTH_RATIO","MIN_WIDTH","MAX_WIDTH","INPUT_PADDING","SPACING","VERTICAL_TEXT_OFFSET","HORIZONTAL_TEXT_MARGIN","HORIZONTAL_RIGHT_MARGIN","BASE_LINE_GAP","X_AXIS_LABEL_RESERVED_HEIGHT","AnimatedLine","createAnimatedComponent","children","color","lineProps","format","textStyle","cursorProps","isHorizontal","orientation","height","width","useContext","currentX","currentY","isActive","price","undefined","precision","datetime","displayText","formatted","calculateTextWidth","text","fontSize","charWidth","calculatedWidth","length","Math","max","min","textWidth","value","lineEndX","gap","lineEndY","containerStyle","opacity","transform","translateY","translateX","calculateFontSizeAdjustment","textPositionStyle","lineHeight","baseStyle","position","fontSizeAdjustment","textCenterOffset","left","top","textAlign","paddingLeft","paddingRight","halfTextWidth","containerX","labelLeft","labelTop","lineAnimatedProps","x1","y1","x2","y2","createElement","_extends","type","View","style","styles","svg","animatedProps","strokeWidth","stroke","strokeDasharray","create","absoluteFillObject"],"sourceRoot":"../../../../src","sources":["charts/line/CursorLine.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAwB,cAAc;AACzD,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,eAAe,EACfC,gBAAgB,QACX,yBAAyB;AAChC,OAAOC,GAAG,IAAoBC,IAAI,IAAIC,OAAO,QAAQ,kBAAkB;AAGvE,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAASC,0BAA0B,QAAQ,SAAS;AACpD,SAASC,eAAe,QAAmC,UAAU;AACrE,SAASC,oBAAoB,QAAQ,eAAe;AACpD,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,iBAAiB,QAAQ,YAAY;AAU9CC,mBAAmB,CAACC,WAAW,GAAG,qBAAqB;AAEvD,MAAMC,cAAc,GAAG;EACrBC,aAAa,EAAE,SAAS;EACxBC,iBAAiB,EAAE,EAAE;EACrBC,gBAAgB,EAAE,GAAG;EACrBC,SAAS,EAAE,EAAE;EACbC,SAAS,EAAE,GAAG;EACdC,aAAa,EAAE;AACjB,CAAU;AAEV,MAAMC,OAAO,GAAG;EACdC,oBAAoB,EAAE,EAAE;EACxBC,sBAAsB,EAAE,CAAC;EACzBC,uBAAuB,EAAE,EAAE;EAC3BC,aAAa,EAAE,CAAC;EAChBC,4BAA4B,EAAE,EAAE,CAAE;AACpC,CAAU;AAEV,MAAMC,YAAY,GAAG5B,QAAQ,CAAC6B,uBAAuB,CAACvB,OAAO,CAAC;AAE9D,OAAO,SAASO,mBAAmBA,CAAC;EAClCiB,QAAQ;EACRC,KAAK,GAAG,MAAM;EACdC,SAAS;EACTC,MAAM;EACNC,SAAS;EACT,GAAGC;AACqB,CAAC,EAAE;EAC3B,MAAMC,YAAY,GAAGD,WAAW,EAAEE,WAAW,KAAK,YAAY;EAC9D,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGzC,KAAK,CAAC0C,UAAU,CAAChC,0BAA0B,CAAC;EACtE,MAAM;IAAEiC,QAAQ;IAAEC,QAAQ;IAAEC;EAAS,CAAC,GAAGhC,YAAY,CAAC,CAAC;EAEvD,MAAMiC,KAAK,GAAGhC,iBAAiB,CAAC;IAC9BqB,MAAM,EAAEG,YAAY,GAAIH,MAAM,GAA4BY,SAAS;IACnEC,SAAS,EAAE;EACb,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAGrC,oBAAoB,CAAC;IACpCuB,MAAM,EAAE,CAACG,YAAY,GAAIH,MAAM,GAA4BY;EAC7D,CAAC,CAAC;EAEF,MAAMG,WAAW,GAAGZ,YAAY,GAAGQ,KAAK,CAACK,SAAS,GAAGF,QAAQ,CAACE,SAAS;EAEvE,MAAMC,kBAAkB,GAAGA,CAACC,IAAY,EAAEC,QAAgB,KAAK;IAC7D,SAAS;;IACT,MAAMC,SAAS,GAAGD,QAAQ,GAAGrC,cAAc,CAACG,gBAAgB;IAC5D,MAAMoC,eAAe,GAAGH,IAAI,CAACI,MAAM,GAAGF,SAAS;IAC/C,OAAOG,IAAI,CAACC,GAAG,CACb1C,cAAc,CAACI,SAAS,EACxBqC,IAAI,CAACE,GAAG,CAAC3C,cAAc,CAACK,SAAS,EAAEkC,eAAe,CACpD,CAAC;EACH,CAAC;EAED,MAAMK,SAAS,GAAGzD,eAAe,CAAC,MAAM;IACtC,MAAMiD,IAAI,GAAGH,WAAW,CAACY,KAAK;IAC9B,IAAI,CAACT,IAAI,EAAE,OAAOpC,cAAc,CAACI,SAAS;IAE1C,MAAMiC,QAAQ,GAAGlB,SAAS,EAAEkB,QAAQ,IAAIrC,cAAc,CAACE,iBAAiB;IACxE,OAAOiC,kBAAkB,CAACC,IAAI,EAAEC,QAAQ,CAAC;EAC3C,CAAC,EAAE,CAACJ,WAAW,EAAEd,SAAS,EAAEkB,QAAQ,CAAC,CAAC;EAEtC,MAAMS,QAAQ,GAAG3D,eAAe,CAAC,MAAM;IACrC,IAAI,CAACkC,YAAY,EAAE,OAAO,CAAC;IAE3B,MAAMgB,QAAQ,GAAGlB,SAAS,EAAEkB,QAAQ,IAAIrC,cAAc,CAACE,iBAAiB;IACxE,MAAM6C,GAAG,GAAGN,IAAI,CAACC,GAAG,CAACnC,OAAO,CAACI,aAAa,EAAE0B,QAAQ,GAAG,GAAG,CAAC;IAE3D,OACEb,KAAK,GACLoB,SAAS,CAACC,KAAK,GACfE,GAAG,GACH/C,cAAc,CAACM,aAAa,GAC5BC,OAAO,CAACG,uBAAuB;EAEnC,CAAC,CAAC;EAEF,MAAMsC,QAAQ,GAAG7D,eAAe,CAAC,MAAM;IACrC,IAAIkC,YAAY,EAAE,OAAO,CAAC;;IAE1B;IACA,OAAOE,MAAM,GAAGhB,OAAO,CAACK,4BAA4B;EACtD,CAAC,CAAC;EAEF,MAAMqC,cAAc,GAAG/D,gBAAgB,CAAC,OAAO;IAC7CgE,OAAO,EAAEtB,QAAQ,CAACiB,KAAK,GAAG,CAAC,GAAG,CAAC;IAC/BtB,MAAM,EAAE,MAAM;IACd4B,SAAS,EAAE9B,YAAY,GACnB,CAAC;MAAE+B,UAAU,EAAEzB,QAAQ,CAACkB;IAAM,CAAC,CAAC,GAChC,CAAC;MAAEQ,UAAU,EAAE3B,QAAQ,CAACmB;IAAM,CAAC;EACrC,CAAC,CAAC,CAAC;EAEH,MAAMS,2BAA2B,GAAIjB,QAAgB,IAAK;IACxD,SAAS;;IACT,OAAOI,IAAI,CAACC,GAAG,CAAC,GAAG,EAAED,IAAI,CAACE,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAACN,QAAQ,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC;EACnE,CAAC;EAED,MAAMkB,iBAAiB,GAAGrE,gBAAgB,CAAC,MAAM;IAC/C,MAAMmD,QAAQ,GAAGlB,SAAS,EAAEkB,QAAQ,IAAIrC,cAAc,CAACE,iBAAiB;IACxE,MAAMsD,UAAU,GAAGrC,SAAS,EAAEqC,UAAU,IAAInB,QAAQ,GAAG,GAAG;IAE1D,MAAMoB,SAAS,GAAG;MAChBC,QAAQ,EAAE,UAAmB;MAC7BlC,KAAK,EAAEoB,SAAS,CAACC,KAAK;MACtBR,QAAQ;MACRmB,UAAU;MACVxC,KAAK,EAAEG,SAAS,EAAEH,KAAK,IAAIhB,cAAc,CAACC,aAAa;MACvD,GAAGkB;IACL,CAAC;IAED,IAAIE,YAAY,EAAE;MAChB,MAAMsC,kBAAkB,GAAGL,2BAA2B,CAACjB,QAAQ,CAAC;MAChE,MAAMuB,gBAAgB,GAAG,EAAEJ,UAAU,GAAGG,kBAAkB,CAAC;MAE3D,OAAO;QACL,GAAGF,SAAS;QACZI,IAAI,EACFrC,KAAK,GACLoB,SAAS,CAACC,KAAK,GACftC,OAAO,CAACG,uBAAuB,GAC/BV,cAAc,CAACM,aAAa;QAC9BwD,GAAG,EAAEF,gBAAgB;QACrBG,SAAS,EAAE,OAAgB;QAC3BC,WAAW,EAAE,CAAC;QACdC,YAAY,EAAE;MAChB,CAAC;IACH;;IAEA;IACA,MAAMC,aAAa,GAAGtB,SAAS,CAACC,KAAK,GAAG,CAAC;;IAEzC;IACA;IACA,MAAMsB,UAAU,GAAGzC,QAAQ,CAACmB,KAAK;;IAEjC;IACA,IAAIuB,SAAS,GAAG,CAACF,aAAa;;IAE9B;IACA,IAAIC,UAAU,GAAGC,SAAS,GAAG,CAAC,EAAE;MAC9BA,SAAS,GAAG,CAACD,UAAU;IACzB;;IAEA;IACA,IAAIA,UAAU,GAAGC,SAAS,GAAGxB,SAAS,CAACC,KAAK,GAAGrB,KAAK,EAAE;MACpD4C,SAAS,GAAG5C,KAAK,GAAG2C,UAAU,GAAGvB,SAAS,CAACC,KAAK;IAClD;;IAEA;IACA,MAAMwB,QAAQ,GACZ9C,MAAM,GACNhB,OAAO,CAACK,4BAA4B,GACpCL,OAAO,CAACE,sBAAsB;IAEhC,OAAO;MACL,GAAGgD,SAAS;MACZI,IAAI,EAAEO,SAAS;MACfN,GAAG,EAAEO,QAAQ;MACbN,SAAS,EAAE;IACb,CAAC;EACH,CAAC,CAAC;EAEF,MAAMO,iBAAiB,GAAGlF,gBAAgB,CACxC,OAAO;IACLmF,EAAE,EAAE,CAAC;IACLC,EAAE,EAAE,CAAC;IACLC,EAAE,EAAE3B,QAAQ,CAACD,KAAK;IAClB6B,EAAE,EAAE1B,QAAQ,CAACH;EACf,CAAC,CAAC,EACF,CAACC,QAAQ,EAAEE,QAAQ,CACrB,CAAC;EAED,oBACEjE,KAAA,CAAA4F,aAAA,CAACjF,eAAe,EAAAkF,QAAA,KAAKxD,WAAW;IAAEyD,IAAI,EAAC;EAAM,iBAC3C9F,KAAA,CAAA4F,aAAA,CAAC1F,QAAQ,CAAC6F,IAAI;IAACC,KAAK,EAAE9B;EAAe,gBACnClE,KAAA,CAAA4F,aAAA,CAACtF,GAAG;IAAC0F,KAAK,EAAEC,MAAM,CAACC;EAAI,gBACrBlG,KAAA,CAAA4F,aAAA,CAAC9D,YAAY,EAAA+D,QAAA;IACXM,aAAa,EAAEZ,iBAAkB;IACjCa,WAAW,EAAE,CAAE;IACfC,MAAM,EAAEpE,KAAM;IACdqE,eAAe,EAAC;EAAK,GACjBpE,SAAS,CACd,CACE,CAAC,eACNlC,KAAA,CAAA4F,aAAA,CAACnF,YAAY;IAAC4C,IAAI,EAAEH,WAAY;IAAC8C,KAAK,EAAExB;EAAkB,CAAE,CAC/C,CAAC,EACfxC,QACc,CAAC;AAEtB;AAEA,MAAMiE,MAAM,GAAGhG,UAAU,CAACsG,MAAM,CAAC;EAC/BL,GAAG,EAAE;IACH,GAAGjG,UAAU,CAACuG,kBAAkB;IAChChE,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,50 +1,59 @@
1
1
  import React, { createContext, useContext, useMemo } from 'react';
2
2
  export const DefaultLineChartId = '__LineChartData';
3
- const LineChartDataContext = /*#__PURE__*/createContext({
4
- [DefaultLineChartId]: []
3
+ const LineChartDataContext = /*#__PURE__*/ createContext({
4
+ [DefaultLineChartId]: [],
5
5
  });
6
- export function LineChartDataProvider({
7
- children,
8
- data
9
- }) {
6
+ export function LineChartDataProvider({ children, data }) {
10
7
  const contextValue = useMemo(() => {
11
8
  if (Array.isArray(data)) {
12
9
  return {
13
- [DefaultLineChartId]: data
10
+ [DefaultLineChartId]: data,
14
11
  };
15
12
  }
16
13
  return data;
17
14
  }, [data]);
18
- return /*#__PURE__*/React.createElement(LineChartDataContext.Provider, {
19
- value: contextValue
20
- }, children);
15
+ return /*#__PURE__*/ React.createElement(
16
+ LineChartDataContext.Provider,
17
+ {
18
+ value: contextValue,
19
+ },
20
+ children
21
+ );
21
22
  }
22
- const LineChartIdContext = /*#__PURE__*/createContext(undefined);
23
- export function LineChartIdProvider({
24
- id,
25
- children
26
- }) {
27
- return /*#__PURE__*/React.createElement(LineChartIdContext.Provider, {
28
- value: id
29
- }, children);
23
+ const LineChartIdContext = /*#__PURE__*/ createContext(undefined);
24
+ export function LineChartIdProvider({ id, children }) {
25
+ return /*#__PURE__*/ React.createElement(
26
+ LineChartIdContext.Provider,
27
+ {
28
+ value: id,
29
+ },
30
+ children
31
+ );
30
32
  }
31
33
  export const useLineChartId = () => useContext(LineChartIdContext);
32
- export function useLineChartData({
33
- id
34
- }) {
34
+ export function useLineChartData({ id }) {
35
35
  const dataContext = useContext(LineChartDataContext);
36
36
  validateLineChartId(dataContext, id);
37
37
  const data = dataContext[id || DefaultLineChartId];
38
- return useMemo(() => ({
39
- data
40
- }), [data]);
38
+ return useMemo(
39
+ () => ({
40
+ data,
41
+ }),
42
+ [data]
43
+ );
41
44
  }
42
45
  function validateLineChartId(dataContext, id) {
43
46
  if (id != null && !dataContext[id]) {
44
- const otherIds = Object.keys(dataContext).filter(otherId => otherId !== DefaultLineChartId);
47
+ const otherIds = Object.keys(dataContext).filter(
48
+ (otherId) => otherId !== DefaultLineChartId
49
+ );
45
50
  const singular = otherIds.length <= 1;
46
51
  const joinedIds = otherIds.join(', ');
47
- const suggestion = otherIds.length ? `Did you mean to use ${singular ? 'this ID' : 'one of these IDs'}: ${joinedIds}` : `You didn't pass any IDs to your <LineChart.Provider />'s data prop. Did you mean to pass an array instead?`;
52
+ const suggestion = otherIds.length
53
+ ? `Did you mean to use ${
54
+ singular ? 'this ID' : 'one of these IDs'
55
+ }: ${joinedIds}`
56
+ : `You didn't pass any IDs to your <LineChart.Provider />'s data prop. Did you mean to pass an array instead?`;
48
57
  console.warn(`[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.
49
58
 
50
59
  ${suggestion}`);
@@ -52,11 +61,15 @@ ${suggestion}`);
52
61
  const otherIds = Object.keys(dataContext);
53
62
  const singular = otherIds.length <= 1;
54
63
  const joinedIds = otherIds.join(', ');
55
- const suggestion = otherIds.length ? `Did you mean to use ${singular ? 'this ID' : 'one of these IDs'}: ${joinedIds}` : `You didn't pass any IDs to your <LineChart.Provider />'s data prop. Did you mean to pass an array instead?`;
64
+ const suggestion = otherIds.length
65
+ ? `Did you mean to use ${
66
+ singular ? 'this ID' : 'one of these IDs'
67
+ }: ${joinedIds}`
68
+ : `You didn't pass any IDs to your <LineChart.Provider />'s data prop. Did you mean to pass an array instead?`;
56
69
  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.
57
70
 
58
71
  ${suggestion}
59
72
  `);
60
73
  }
61
74
  }
62
- //# sourceMappingURL=Data.js.map
75
+ //# sourceMappingURL=Data.js.map
@@ -1 +1 @@
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":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAKjE,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,uBAAsBD,QAAQ,GAAG,SAAS,GAAG,kBAC/C,KAAIE,SAAU,EAAC,GACb,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,uBAAsBD,QAAQ,GAAG,SAAS,GAAG,kBAC/C,KAAIE,SAAU,EAAC,GACb,4GAA2G;IAEhHG,OAAO,CAACE,KAAK,CAAE;AACnB;AACA,EAAEH,UAAW;AACb,KAAK,CAAC;EACJ;AACF","ignoreList":[]}
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":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAKjE,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,GAC9B,uBACED,QAAQ,GAAG,SAAS,GAAG,kBAAkB,KACtCE,SAAS,EAAE,GAChB,4GAA4G;IAEhHG,OAAO,CAACC,IAAI,CACV,uFAAuFhB,EAAE;AAC/F;AACA,EAAEc,UAAU,EACR,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,GAC9B,uBACED,QAAQ,GAAG,SAAS,GAAG,kBAAkB,KACtCE,SAAS,EAAE,GAChB,4GAA4G;IAEhHG,OAAO,CAACE,KAAK,CAAC;AAClB;AACA,EAAEH,UAAU;AACZ,KAAK,CAAC;EACJ;AACF","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { useDerivedValue } from 'react-native-reanimated';
2
3
  import { useLineChartDatetime } from './useDatetime';
3
4
  import { AnimatedText } from '../../components/AnimatedText';
4
5
  LineChartDatetimeText.displayName = 'LineChartDatetimeText';
@@ -7,16 +8,23 @@ export function LineChartDatetimeText({
7
8
  options,
8
9
  format,
9
10
  variant = 'formatted',
10
- style
11
+ style,
11
12
  }) {
12
13
  const datetime = useLineChartDatetime({
13
14
  format,
14
15
  locale,
15
- options
16
+ options,
16
17
  });
17
- return /*#__PURE__*/React.createElement(AnimatedText, {
18
- text: datetime[variant],
19
- style: style
18
+ const text = useDerivedValue(() => {
19
+ const value = datetime[variant].value;
20
+ if (typeof value === 'number') {
21
+ return value === 0 || isNaN(value) ? '' : value.toString();
22
+ }
23
+ return value || '';
24
+ }, [datetime, variant]);
25
+ return /*#__PURE__*/ React.createElement(AnimatedText, {
26
+ text: text,
27
+ style: style,
20
28
  });
21
29
  }
22
- //# sourceMappingURL=DatetimeText.js.map
30
+ //# sourceMappingURL=DatetimeText.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useLineChartDatetime","AnimatedText","LineChartDatetimeText","displayName","locale","options","format","variant","style","datetime","createElement","text"],"sourceRoot":"../../../../src","sources":["charts/line/DatetimeText.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAIzB,SAASC,oBAAoB,QAAQ,eAAe;AAEpD,SAASC,YAAY,QAAQ,+BAA+B;AAU5DC,qBAAqB,CAACC,WAAW,GAAG,uBAAuB;AAE3D,OAAO,SAASD,qBAAqBA,CAAC;EACpCE,MAAM;EACNC,OAAO;EACPC,MAAM;EACNC,OAAO,GAAG,WAAW;EACrBC;AACsB,CAAC,EAAE;EACzB,MAAMC,QAAQ,GAAGT,oBAAoB,CAAC;IAAEM,MAAM;IAAEF,MAAM;IAAEC;EAAQ,CAAC,CAAC;EAClE,oBAAON,KAAA,CAAAW,aAAA,CAACT,YAAY;IAACU,IAAI,EAAEF,QAAQ,CAACF,OAAO,CAAE;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC;AAChE","ignoreList":[]}
1
+ {"version":3,"names":["React","useDerivedValue","useLineChartDatetime","AnimatedText","LineChartDatetimeText","displayName","locale","options","format","variant","style","datetime","text","value","isNaN","toString","createElement"],"sourceRoot":"../../../../src","sources":["charts/line/DatetimeText.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAGzB,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,oBAAoB,QAAQ,eAAe;AAEpD,SAASC,YAAY,QAAQ,+BAA+B;AAU5DC,qBAAqB,CAACC,WAAW,GAAG,uBAAuB;AAE3D,OAAO,SAASD,qBAAqBA,CAAC;EACpCE,MAAM;EACNC,OAAO;EACPC,MAAM;EACNC,OAAO,GAAG,WAAW;EACrBC;AACsB,CAAC,EAAE;EACzB,MAAMC,QAAQ,GAAGT,oBAAoB,CAAC;IAAEM,MAAM;IAAEF,MAAM;IAAEC;EAAQ,CAAC,CAAC;EAElE,MAAMK,IAAI,GAAGX,eAAe,CAAC,MAAM;IACjC,MAAMY,KAAK,GAAGF,QAAQ,CAACF,OAAO,CAAC,CAACI,KAAK;IACrC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,OAAOA,KAAK,KAAK,CAAC,IAAIC,KAAK,CAACD,KAAK,CAAC,GAAG,EAAE,GAAGA,KAAK,CAACE,QAAQ,CAAC,CAAC;IAC5D;IACA,OAAOF,KAAK,IAAI,EAAE;EACpB,CAAC,EAAE,CAACF,QAAQ,EAAEF,OAAO,CAAC,CAAC;EAEvB,oBAAOT,KAAA,CAAAgB,aAAA,CAACb,YAAY;IAACS,IAAI,EAAEA,IAAK;IAACF,KAAK,EAAEA;EAAM,CAAE,CAAC;AACnD","ignoreList":[]}
@@ -1,6 +1,26 @@
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
- import Animated, { Easing, useAnimatedProps, useDerivedValue, withRepeat, withSequence, withTiming } from 'react-native-reanimated';
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';
16
+ import Animated, {
17
+ Easing,
18
+ useAnimatedProps,
19
+ useDerivedValue,
20
+ withRepeat,
21
+ withSequence,
22
+ withTiming,
23
+ } from 'react-native-reanimated';
4
24
  import { Circle } from 'react-native-svg';
5
25
  import { LineChartDimensionsContext } from './Chart';
6
26
  import { LineChartPathContext } from './LineChartPathContext';
@@ -21,20 +41,14 @@ export function LineChartDot({
21
41
  pulseDurationMs = 800,
22
42
  showInactiveColor = true,
23
43
  size = 4,
24
- outerSize = size * 4
44
+ outerSize = size * 4,
25
45
  }) {
26
- const {
27
- isActive
28
- } = useLineChart();
29
- const {
30
- parsedPath
31
- } = React.useContext(LineChartDimensionsContext);
46
+ const { isActive } = useLineChart();
47
+ const { parsedPath } = React.useContext(LineChartDimensionsContext);
32
48
 
33
49
  ////////////////////////////////////////////////////////////
34
50
 
35
- const {
36
- isInactive: _isInactive
37
- } = React.useContext(LineChartPathContext);
51
+ const { isInactive: _isInactive } = React.useContext(LineChartPathContext);
38
52
  const isInactive = showInactiveColor && _isInactive;
39
53
  const color = isInactive ? inactiveColor || defaultColor : defaultColor;
40
54
  const opacity = isInactive && !inactiveColor ? 0.5 : 1;
@@ -45,20 +59,26 @@ export function LineChartDot({
45
59
  const x = useDerivedValue(() => {
46
60
  return withTiming(getXPositionForCurve(parsedPath, at));
47
61
  }, [at, parsedPath]);
48
- const y = useDerivedValue(() => withTiming(getYForX(parsedPath, x.value) || 0), [parsedPath, x]);
62
+ const y = useDerivedValue(
63
+ () => withTiming(getYForX(parsedPath, x.value) || 0),
64
+ [parsedPath, x]
65
+ );
49
66
 
50
67
  ////////////////////////////////////////////////////////////
51
68
 
52
- const animatedDotProps = useAnimatedProps(() => ({
53
- cx: x.value,
54
- cy: y.value
55
- }), [x, y]);
69
+ const animatedDotProps = useAnimatedProps(
70
+ () => ({
71
+ cx: x.value,
72
+ cy: y.value,
73
+ }),
74
+ [x, y]
75
+ );
56
76
  const animatedOuterDotProps = useAnimatedProps(() => {
57
- let defaultProps = {
77
+ const defaultProps = {
58
78
  cx: x.value,
59
79
  cy: y.value,
60
80
  opacity: 0.1,
61
- r: outerSize
81
+ r: outerSize,
62
82
  };
63
83
  if (!hasPulse) {
64
84
  return defaultProps;
@@ -66,42 +86,76 @@ export function LineChartDot({
66
86
  if (isActive.value && pulseBehaviour === 'while-inactive') {
67
87
  return {
68
88
  ...defaultProps,
69
- r: 0
89
+ r: 0,
70
90
  };
71
91
  }
72
92
  const easing = Easing.out(Easing.sin);
73
- const animatedOpacity = withRepeat(withSequence(withTiming(0), withTiming(0.8), withTiming(0, {
74
- duration: pulseDurationMs,
75
- easing
76
- })), -1, false);
77
- const scale = withRepeat(withSequence(withTiming(0), withTiming(0), withTiming(outerSize, {
78
- duration: pulseDurationMs,
79
- easing
80
- })), -1, false);
93
+ const animatedOpacity = withRepeat(
94
+ withSequence(
95
+ withTiming(0),
96
+ withTiming(0.8),
97
+ withTiming(0, {
98
+ duration: pulseDurationMs,
99
+ easing,
100
+ })
101
+ ),
102
+ -1,
103
+ false
104
+ );
105
+ const scale = withRepeat(
106
+ withSequence(
107
+ withTiming(0),
108
+ withTiming(0),
109
+ withTiming(outerSize, {
110
+ duration: pulseDurationMs,
111
+ easing,
112
+ })
113
+ ),
114
+ -1,
115
+ false
116
+ );
81
117
  if (pulseBehaviour === 'while-inactive') {
82
118
  return {
83
119
  ...defaultProps,
84
120
  opacity: isActive.value ? withTiming(0) : animatedOpacity,
85
- r: isActive.value ? withTiming(0) : scale
121
+ r: isActive.value ? withTiming(0) : scale,
86
122
  };
87
123
  }
88
124
  return {
89
125
  ...defaultProps,
90
126
  opacity: animatedOpacity,
91
- r: scale
127
+ r: scale,
92
128
  };
93
129
  }, [hasPulse, isActive, outerSize, pulseBehaviour, pulseDurationMs, x, y]);
94
130
 
95
131
  ////////////////////////////////////////////////////////////
96
132
 
97
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AnimatedCircle, _extends({
98
- animatedProps: animatedDotProps,
99
- r: size,
100
- fill: color,
101
- opacity: opacity
102
- }, dotProps)), hasOuterDot && /*#__PURE__*/React.createElement(AnimatedCircle, _extends({
103
- animatedProps: animatedOuterDotProps,
104
- fill: color
105
- }, outerDotProps)));
133
+ return /*#__PURE__*/ React.createElement(
134
+ React.Fragment,
135
+ null,
136
+ /*#__PURE__*/ React.createElement(
137
+ AnimatedCircle,
138
+ _extends(
139
+ {
140
+ animatedProps: animatedDotProps,
141
+ r: size,
142
+ fill: color,
143
+ opacity: opacity,
144
+ },
145
+ dotProps
146
+ )
147
+ ),
148
+ hasOuterDot &&
149
+ /*#__PURE__*/ React.createElement(
150
+ AnimatedCircle,
151
+ _extends(
152
+ {
153
+ animatedProps: animatedOuterDotProps,
154
+ fill: color,
155
+ },
156
+ outerDotProps
157
+ )
158
+ )
159
+ );
106
160
  }
107
- //# sourceMappingURL=Dot.js.map
161
+ //# sourceMappingURL=Dot.js.map