react-native-wagmi-charts 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/.DS_Store +0 -0
  2. package/.editorconfig +15 -0
  3. package/.gitattributes +3 -0
  4. package/.gitignore +60 -0
  5. package/.husky/pre-commit +4 -0
  6. package/.prettierrc.js +5 -0
  7. package/.yarnrc +3 -0
  8. package/README.md +25 -24
  9. package/babel.config.js +3 -0
  10. package/example/.expo/README.md +8 -0
  11. package/example/.expo/devices.json +3 -0
  12. package/example/README.md +32 -0
  13. package/example/app.json +22 -0
  14. package/example/babel.config.js +23 -0
  15. package/example/index.js +8 -0
  16. package/example/metro.config.js +40 -0
  17. package/example/package.json +42 -0
  18. package/example/src/App.tsx +64 -0
  19. package/example/src/CandlestickChart.tsx +155 -0
  20. package/example/src/LineChart.tsx +267 -0
  21. package/example/src/data/candlestick-data.json +142 -0
  22. package/example/src/data/candlestick-data2.json +142 -0
  23. package/example/src/data/line-data-non-linear-domain.json +34 -0
  24. package/example/src/data/line-data.json +82 -0
  25. package/example/src/data/line-data2.json +82 -0
  26. package/example/src/line-data-gh.json +18 -0
  27. package/example/tsconfig.json +6 -0
  28. package/example/webpack.config.js +25 -0
  29. package/example/yarn.lock +9306 -0
  30. package/lib/commonjs/charts/candle/Candle.js +6 -19
  31. package/lib/commonjs/charts/candle/Candle.js.map +1 -1
  32. package/lib/commonjs/charts/candle/Candles.js +6 -13
  33. package/lib/commonjs/charts/candle/Candles.js.map +1 -1
  34. package/lib/commonjs/charts/candle/Chart.js +3 -12
  35. package/lib/commonjs/charts/candle/Chart.js.map +1 -1
  36. package/lib/commonjs/charts/candle/Context.js +4 -12
  37. package/lib/commonjs/charts/candle/Context.js.map +1 -1
  38. package/lib/commonjs/charts/candle/Crosshair.js +3 -18
  39. package/lib/commonjs/charts/candle/Crosshair.js.map +1 -1
  40. package/lib/commonjs/charts/candle/CrosshairTooltip.js +6 -21
  41. package/lib/commonjs/charts/candle/CrosshairTooltip.js.map +1 -1
  42. package/lib/commonjs/charts/candle/DatetimeText.js +2 -8
  43. package/lib/commonjs/charts/candle/DatetimeText.js.map +1 -1
  44. package/lib/commonjs/charts/candle/HoverTrap/index.web.js +11 -25
  45. package/lib/commonjs/charts/candle/HoverTrap/index.web.js.map +1 -1
  46. package/lib/commonjs/charts/candle/Line.js +3 -12
  47. package/lib/commonjs/charts/candle/Line.js.map +1 -1
  48. package/lib/commonjs/charts/candle/PriceText.js +2 -8
  49. package/lib/commonjs/charts/candle/PriceText.js.map +1 -1
  50. package/lib/commonjs/charts/candle/index.js +1 -32
  51. package/lib/commonjs/charts/candle/index.js.map +1 -1
  52. package/lib/commonjs/charts/candle/types.js.map +1 -1
  53. package/lib/commonjs/charts/candle/useCandleData.js +0 -4
  54. package/lib/commonjs/charts/candle/useCandleData.js.map +1 -1
  55. package/lib/commonjs/charts/candle/useCandlestickChart.js +2 -7
  56. package/lib/commonjs/charts/candle/useCandlestickChart.js.map +1 -1
  57. package/lib/commonjs/charts/candle/useDatetime.js +0 -4
  58. package/lib/commonjs/charts/candle/useDatetime.js.map +1 -1
  59. package/lib/commonjs/charts/candle/usePrice.js +0 -8
  60. package/lib/commonjs/charts/candle/usePrice.js.map +1 -1
  61. package/lib/commonjs/charts/candle/utils/getDomain.js +0 -1
  62. package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -1
  63. package/lib/commonjs/charts/candle/utils/getHeight.js +0 -2
  64. package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -1
  65. package/lib/commonjs/charts/candle/utils/getPrice.js +0 -2
  66. package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -1
  67. package/lib/commonjs/charts/candle/utils/getY.js +0 -2
  68. package/lib/commonjs/charts/candle/utils/getY.js.map +1 -1
  69. package/lib/commonjs/charts/candle/utils/index.js +0 -8
  70. package/lib/commonjs/charts/candle/utils/index.js.map +1 -1
  71. package/lib/commonjs/charts/candle/utils.js +1 -6
  72. package/lib/commonjs/charts/candle/utils.js.map +1 -1
  73. package/lib/commonjs/charts/line/Chart.js +9 -28
  74. package/lib/commonjs/charts/line/Chart.js.map +1 -1
  75. package/lib/commonjs/charts/line/ChartPath.js +23 -46
  76. package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
  77. package/lib/commonjs/charts/line/Context.js +8 -19
  78. package/lib/commonjs/charts/line/Context.js.map +1 -1
  79. package/lib/commonjs/charts/line/Cursor.js +41 -66
  80. package/lib/commonjs/charts/line/Cursor.js.map +1 -1
  81. package/lib/commonjs/charts/line/CursorCrosshair.js +5 -14
  82. package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
  83. package/lib/commonjs/charts/line/CursorLine.js +5 -19
  84. package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
  85. package/lib/commonjs/charts/line/Data.js +5 -17
  86. package/lib/commonjs/charts/line/Data.js.map +1 -1
  87. package/lib/commonjs/charts/line/DatetimeText.js +2 -9
  88. package/lib/commonjs/charts/line/DatetimeText.js.map +1 -1
  89. package/lib/commonjs/charts/line/Dot.js +27 -33
  90. package/lib/commonjs/charts/line/Dot.js.map +1 -1
  91. package/lib/commonjs/charts/line/Gradient.js +12 -19
  92. package/lib/commonjs/charts/line/Gradient.js.map +1 -1
  93. package/lib/commonjs/charts/line/Group.js +2 -14
  94. package/lib/commonjs/charts/line/Group.js.map +1 -1
  95. package/lib/commonjs/charts/line/Highlight.js +9 -21
  96. package/lib/commonjs/charts/line/Highlight.js.map +1 -1
  97. package/lib/commonjs/charts/line/HorizontalLine.js +8 -23
  98. package/lib/commonjs/charts/line/HorizontalLine.js.map +1 -1
  99. package/lib/commonjs/charts/line/HoverTrap/index.js +0 -4
  100. package/lib/commonjs/charts/line/HoverTrap/index.js.map +1 -1
  101. package/lib/commonjs/charts/line/HoverTrap/index.web.js +11 -24
  102. package/lib/commonjs/charts/line/HoverTrap/index.web.js.map +1 -1
  103. package/lib/commonjs/charts/line/LineChartPathContext.js +1 -6
  104. package/lib/commonjs/charts/line/LineChartPathContext.js.map +1 -1
  105. package/lib/commonjs/charts/line/Path.js +9 -18
  106. package/lib/commonjs/charts/line/Path.js.map +1 -1
  107. package/lib/commonjs/charts/line/PriceText.js +2 -9
  108. package/lib/commonjs/charts/line/PriceText.js.map +1 -1
  109. package/lib/commonjs/charts/line/Tooltip.js +25 -47
  110. package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
  111. package/lib/commonjs/charts/line/index.js +1 -39
  112. package/lib/commonjs/charts/line/index.js.map +1 -1
  113. package/lib/commonjs/charts/line/types.js.map +1 -1
  114. package/lib/commonjs/charts/line/useAnimatedPath.js +6 -12
  115. package/lib/commonjs/charts/line/useAnimatedPath.js.map +1 -1
  116. package/lib/commonjs/charts/line/useCurrentY.js +0 -7
  117. package/lib/commonjs/charts/line/useCurrentY.js.map +1 -1
  118. package/lib/commonjs/charts/line/useDatetime.js +0 -4
  119. package/lib/commonjs/charts/line/useDatetime.js.map +1 -1
  120. package/lib/commonjs/charts/line/useLineChart.js +4 -10
  121. package/lib/commonjs/charts/line/useLineChart.js.map +1 -1
  122. package/lib/commonjs/charts/line/usePrice.js +1 -5
  123. package/lib/commonjs/charts/line/usePrice.js.map +1 -1
  124. package/lib/commonjs/charts/line/utils/getArea.js +11 -11
  125. package/lib/commonjs/charts/line/utils/getArea.js.map +1 -1
  126. package/lib/commonjs/charts/line/utils/getDomain.js +0 -1
  127. package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -1
  128. package/lib/commonjs/charts/line/utils/getPath.js +5 -8
  129. package/lib/commonjs/charts/line/utils/getPath.js.map +1 -1
  130. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js +15 -0
  131. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js.map +1 -0
  132. package/lib/commonjs/charts/line/utils/index.js +0 -10
  133. package/lib/commonjs/charts/line/utils/index.js.map +1 -1
  134. package/lib/commonjs/charts/line/utils/interpolatePath.js +119 -124
  135. package/lib/commonjs/charts/line/utils/interpolatePath.js.map +1 -1
  136. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +0 -3
  137. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js.map +1 -1
  138. package/lib/commonjs/components/AnimatedText.js +6 -17
  139. package/lib/commonjs/components/AnimatedText.js.map +1 -1
  140. package/lib/commonjs/index.js +0 -8
  141. package/lib/commonjs/index.js.map +1 -1
  142. package/lib/commonjs/utils/formatDatetime.js +0 -1
  143. package/lib/commonjs/utils/formatDatetime.js.map +1 -1
  144. package/lib/commonjs/utils/formatPrice.js +2 -12
  145. package/lib/commonjs/utils/formatPrice.js.map +1 -1
  146. package/lib/commonjs/utils/index.js +0 -6
  147. package/lib/commonjs/utils/index.js.map +1 -1
  148. package/lib/commonjs/utils/usePrevious.js +4 -9
  149. package/lib/commonjs/utils/usePrevious.js.map +1 -1
  150. package/lib/module/charts/candle/Candle.js +4 -2
  151. package/lib/module/charts/candle/Candle.js.map +1 -1
  152. package/lib/module/charts/candle/Candles.js +4 -3
  153. package/lib/module/charts/candle/Candles.js.map +1 -1
  154. package/lib/module/charts/candle/Chart.js.map +1 -1
  155. package/lib/module/charts/candle/Context.js.map +1 -1
  156. package/lib/module/charts/candle/Crosshair.js +1 -4
  157. package/lib/module/charts/candle/Crosshair.js.map +1 -1
  158. package/lib/module/charts/candle/CrosshairTooltip.js +3 -6
  159. package/lib/module/charts/candle/CrosshairTooltip.js.map +1 -1
  160. package/lib/module/charts/candle/DatetimeText.js.map +1 -1
  161. package/lib/module/charts/candle/HoverTrap/index.web.js +11 -15
  162. package/lib/module/charts/candle/HoverTrap/index.web.js.map +1 -1
  163. package/lib/module/charts/candle/Line.js +1 -2
  164. package/lib/module/charts/candle/Line.js.map +1 -1
  165. package/lib/module/charts/candle/PriceText.js.map +1 -1
  166. package/lib/module/charts/candle/index.js.map +1 -1
  167. package/lib/module/charts/candle/types.js.map +1 -1
  168. package/lib/module/charts/candle/useCandleData.js +0 -1
  169. package/lib/module/charts/candle/useCandleData.js.map +1 -1
  170. package/lib/module/charts/candle/useCandlestickChart.js.map +1 -1
  171. package/lib/module/charts/candle/useDatetime.js.map +1 -1
  172. package/lib/module/charts/candle/usePrice.js +0 -2
  173. package/lib/module/charts/candle/usePrice.js.map +1 -1
  174. package/lib/module/charts/candle/utils/getDomain.js.map +1 -1
  175. package/lib/module/charts/candle/utils/getHeight.js.map +1 -1
  176. package/lib/module/charts/candle/utils/getPrice.js.map +1 -1
  177. package/lib/module/charts/candle/utils/getY.js.map +1 -1
  178. package/lib/module/charts/candle/utils/index.js.map +1 -1
  179. package/lib/module/charts/candle/utils.js.map +1 -1
  180. package/lib/module/charts/line/Chart.js +8 -12
  181. package/lib/module/charts/line/Chart.js.map +1 -1
  182. package/lib/module/charts/line/ChartPath.js +21 -28
  183. package/lib/module/charts/line/ChartPath.js.map +1 -1
  184. package/lib/module/charts/line/Context.js +4 -6
  185. package/lib/module/charts/line/Context.js.map +1 -1
  186. package/lib/module/charts/line/Cursor.js +37 -50
  187. package/lib/module/charts/line/Cursor.js.map +1 -1
  188. package/lib/module/charts/line/CursorCrosshair.js +3 -3
  189. package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
  190. package/lib/module/charts/line/CursorLine.js +3 -3
  191. package/lib/module/charts/line/CursorLine.js.map +1 -1
  192. package/lib/module/charts/line/Data.js +0 -2
  193. package/lib/module/charts/line/Data.js.map +1 -1
  194. package/lib/module/charts/line/DatetimeText.js.map +1 -1
  195. package/lib/module/charts/line/Dot.js +25 -18
  196. package/lib/module/charts/line/Dot.js.map +1 -1
  197. package/lib/module/charts/line/Gradient.js +10 -5
  198. package/lib/module/charts/line/Gradient.js.map +1 -1
  199. package/lib/module/charts/line/Group.js +0 -2
  200. package/lib/module/charts/line/Group.js.map +1 -1
  201. package/lib/module/charts/line/Highlight.js +7 -5
  202. package/lib/module/charts/line/Highlight.js.map +1 -1
  203. package/lib/module/charts/line/HorizontalLine.js +6 -8
  204. package/lib/module/charts/line/HorizontalLine.js.map +1 -1
  205. package/lib/module/charts/line/HoverTrap/index.js.map +1 -1
  206. package/lib/module/charts/line/HoverTrap/index.web.js +11 -15
  207. package/lib/module/charts/line/HoverTrap/index.web.js.map +1 -1
  208. package/lib/module/charts/line/LineChartPathContext.js.map +1 -1
  209. package/lib/module/charts/line/Path.js +7 -4
  210. package/lib/module/charts/line/Path.js.map +1 -1
  211. package/lib/module/charts/line/PriceText.js.map +1 -1
  212. package/lib/module/charts/line/Tooltip.js +21 -33
  213. package/lib/module/charts/line/Tooltip.js.map +1 -1
  214. package/lib/module/charts/line/index.js.map +1 -1
  215. package/lib/module/charts/line/types.js.map +1 -1
  216. package/lib/module/charts/line/useAnimatedPath.js +3 -5
  217. package/lib/module/charts/line/useAnimatedPath.js.map +1 -1
  218. package/lib/module/charts/line/useCurrentY.js +0 -1
  219. package/lib/module/charts/line/useCurrentY.js.map +1 -1
  220. package/lib/module/charts/line/useDatetime.js.map +1 -1
  221. package/lib/module/charts/line/useLineChart.js +2 -1
  222. package/lib/module/charts/line/useLineChart.js.map +1 -1
  223. package/lib/module/charts/line/usePrice.js +1 -1
  224. package/lib/module/charts/line/usePrice.js.map +1 -1
  225. package/lib/module/charts/line/utils/getArea.js +9 -6
  226. package/lib/module/charts/line/utils/getArea.js.map +1 -1
  227. package/lib/module/charts/line/utils/getDomain.js.map +1 -1
  228. package/lib/module/charts/line/utils/getPath.js +3 -3
  229. package/lib/module/charts/line/utils/getPath.js.map +1 -1
  230. package/lib/module/charts/line/utils/getXPositionForCurve.js +9 -0
  231. package/lib/module/charts/line/utils/getXPositionForCurve.js.map +1 -0
  232. package/lib/module/charts/line/utils/index.js.map +1 -1
  233. package/lib/module/charts/line/utils/interpolatePath.js +116 -117
  234. package/lib/module/charts/line/utils/interpolatePath.js.map +1 -1
  235. package/lib/module/charts/line/utils/lineChartDataPropToArray.js +0 -2
  236. package/lib/module/charts/line/utils/lineChartDataPropToArray.js.map +1 -1
  237. package/lib/module/components/AnimatedText.js +4 -3
  238. package/lib/module/components/AnimatedText.js.map +1 -1
  239. package/lib/module/index.js.map +1 -1
  240. package/lib/module/utils/formatDatetime.js.map +1 -1
  241. package/lib/module/utils/formatPrice.js +2 -11
  242. package/lib/module/utils/formatPrice.js.map +1 -1
  243. package/lib/module/utils/index.js.map +1 -1
  244. package/lib/module/utils/usePrevious.js +2 -3
  245. package/lib/module/utils/usePrevious.js.map +1 -1
  246. package/lib/typescript/example/src/App.d.ts +4 -0
  247. package/lib/typescript/example/src/App.d.ts.map +1 -0
  248. package/lib/typescript/example/src/CandlestickChart.d.ts +3 -0
  249. package/lib/typescript/example/src/CandlestickChart.d.ts.map +1 -0
  250. package/lib/typescript/example/src/LineChart.d.ts +3 -0
  251. package/lib/typescript/example/src/LineChart.d.ts.map +1 -0
  252. package/lib/typescript/src/charts/candle/Candle.d.ts +7 -5
  253. package/lib/typescript/src/charts/candle/Candle.d.ts.map +1 -0
  254. package/lib/typescript/src/charts/candle/Candles.d.ts +4 -3
  255. package/lib/typescript/src/charts/candle/Candles.d.ts.map +1 -0
  256. package/lib/typescript/src/charts/candle/Chart.d.ts +3 -2
  257. package/lib/typescript/src/charts/candle/Chart.d.ts.map +1 -0
  258. package/lib/typescript/src/charts/candle/Context.d.ts +3 -2
  259. package/lib/typescript/src/charts/candle/Context.d.ts.map +1 -0
  260. package/lib/typescript/src/charts/candle/Crosshair.d.ts +3 -2
  261. package/lib/typescript/src/charts/candle/Crosshair.d.ts.map +1 -0
  262. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts +4 -3
  263. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts.map +1 -0
  264. package/lib/typescript/src/charts/candle/DatetimeText.d.ts +4 -3
  265. package/lib/typescript/src/charts/candle/DatetimeText.d.ts.map +1 -0
  266. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts +3 -2
  267. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts.map +1 -0
  268. package/lib/typescript/src/charts/candle/Line.d.ts +4 -3
  269. package/lib/typescript/src/charts/candle/Line.d.ts.map +1 -0
  270. package/lib/typescript/src/charts/candle/PriceText.d.ts +4 -3
  271. package/lib/typescript/src/charts/candle/PriceText.d.ts.map +1 -0
  272. package/lib/typescript/src/charts/candle/index.d.ts +3 -2
  273. package/lib/typescript/src/charts/candle/index.d.ts.map +1 -0
  274. package/lib/typescript/src/charts/candle/types.d.ts +7 -6
  275. package/lib/typescript/src/charts/candle/types.d.ts.map +1 -0
  276. package/lib/typescript/src/charts/candle/useCandleData.d.ts +1 -0
  277. package/lib/typescript/src/charts/candle/useCandleData.d.ts.map +1 -0
  278. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts +1 -0
  279. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts.map +1 -0
  280. package/lib/typescript/src/charts/candle/useDatetime.d.ts +1 -0
  281. package/lib/typescript/src/charts/candle/useDatetime.d.ts.map +1 -0
  282. package/lib/typescript/src/charts/candle/usePrice.d.ts +1 -0
  283. package/lib/typescript/src/charts/candle/usePrice.d.ts.map +1 -0
  284. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +1 -0
  285. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts.map +1 -0
  286. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +1 -0
  287. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts.map +1 -0
  288. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +1 -0
  289. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts.map +1 -0
  290. package/lib/typescript/src/charts/candle/utils/getY.d.ts +1 -0
  291. package/lib/typescript/src/charts/candle/utils/getY.d.ts.map +1 -0
  292. package/lib/typescript/src/charts/candle/utils/index.d.ts +1 -0
  293. package/lib/typescript/src/charts/candle/utils/index.d.ts.map +1 -0
  294. package/lib/typescript/src/charts/candle/utils.d.ts +1 -0
  295. package/lib/typescript/src/charts/candle/utils.d.ts.map +1 -0
  296. package/lib/typescript/src/charts/line/Chart.d.ts +3 -2
  297. package/lib/typescript/src/charts/line/Chart.d.ts.map +1 -0
  298. package/lib/typescript/src/charts/line/ChartPath.d.ts +3 -2
  299. package/lib/typescript/src/charts/line/ChartPath.d.ts.map +1 -0
  300. package/lib/typescript/src/charts/line/Context.d.ts +3 -2
  301. package/lib/typescript/src/charts/line/Context.d.ts.map +1 -0
  302. package/lib/typescript/src/charts/line/Cursor.d.ts +3 -2
  303. package/lib/typescript/src/charts/line/Cursor.d.ts.map +1 -0
  304. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +3 -2
  305. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts.map +1 -0
  306. package/lib/typescript/src/charts/line/CursorLine.d.ts +3 -2
  307. package/lib/typescript/src/charts/line/CursorLine.d.ts.map +1 -0
  308. package/lib/typescript/src/charts/line/Data.d.ts +6 -4
  309. package/lib/typescript/src/charts/line/Data.d.ts.map +1 -0
  310. package/lib/typescript/src/charts/line/DatetimeText.d.ts +4 -3
  311. package/lib/typescript/src/charts/line/DatetimeText.d.ts.map +1 -0
  312. package/lib/typescript/src/charts/line/Dot.d.ts +4 -3
  313. package/lib/typescript/src/charts/line/Dot.d.ts.map +1 -0
  314. package/lib/typescript/src/charts/line/Gradient.d.ts +3 -2
  315. package/lib/typescript/src/charts/line/Gradient.d.ts.map +1 -0
  316. package/lib/typescript/src/charts/line/Group.d.ts +4 -2
  317. package/lib/typescript/src/charts/line/Group.d.ts.map +1 -0
  318. package/lib/typescript/src/charts/line/Highlight.d.ts +4 -3
  319. package/lib/typescript/src/charts/line/Highlight.d.ts.map +1 -0
  320. package/lib/typescript/src/charts/line/HorizontalLine.d.ts +4 -3
  321. package/lib/typescript/src/charts/line/HorizontalLine.d.ts.map +1 -0
  322. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +3 -2
  323. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts.map +1 -0
  324. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +3 -2
  325. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts.map +1 -0
  326. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts +1 -0
  327. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts.map +1 -0
  328. package/lib/typescript/src/charts/line/Path.d.ts +4 -3
  329. package/lib/typescript/src/charts/line/Path.d.ts.map +1 -0
  330. package/lib/typescript/src/charts/line/PriceText.d.ts +4 -3
  331. package/lib/typescript/src/charts/line/PriceText.d.ts.map +1 -0
  332. package/lib/typescript/src/charts/line/Tooltip.d.ts +4 -3
  333. package/lib/typescript/src/charts/line/Tooltip.d.ts.map +1 -0
  334. package/lib/typescript/src/charts/line/index.d.ts +2 -1
  335. package/lib/typescript/src/charts/line/index.d.ts.map +1 -0
  336. package/lib/typescript/src/charts/line/types.d.ts +8 -7
  337. package/lib/typescript/src/charts/line/types.d.ts.map +1 -0
  338. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +1 -0
  339. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts.map +1 -0
  340. package/lib/typescript/src/charts/line/useCurrentY.d.ts +1 -0
  341. package/lib/typescript/src/charts/line/useCurrentY.d.ts.map +1 -0
  342. package/lib/typescript/src/charts/line/useDatetime.d.ts +1 -0
  343. package/lib/typescript/src/charts/line/useDatetime.d.ts.map +1 -0
  344. package/lib/typescript/src/charts/line/useLineChart.d.ts +1 -0
  345. package/lib/typescript/src/charts/line/useLineChart.d.ts.map +1 -0
  346. package/lib/typescript/src/charts/line/usePrice.d.ts +1 -0
  347. package/lib/typescript/src/charts/line/usePrice.d.ts.map +1 -0
  348. package/lib/typescript/src/charts/line/utils/getArea.d.ts +3 -1
  349. package/lib/typescript/src/charts/line/utils/getArea.d.ts.map +1 -0
  350. package/lib/typescript/src/charts/line/utils/getDomain.d.ts +1 -0
  351. package/lib/typescript/src/charts/line/utils/getDomain.d.ts.map +1 -0
  352. package/lib/typescript/src/charts/line/utils/getPath.d.ts +1 -0
  353. package/lib/typescript/src/charts/line/utils/getPath.d.ts.map +1 -0
  354. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts +3 -0
  355. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts.map +1 -0
  356. package/lib/typescript/src/charts/line/utils/index.d.ts +1 -0
  357. package/lib/typescript/src/charts/line/utils/index.d.ts.map +1 -0
  358. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts +1 -0
  359. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts.map +1 -0
  360. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +1 -0
  361. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts.map +1 -0
  362. package/lib/typescript/src/components/AnimatedText.d.ts +3 -2
  363. package/lib/typescript/src/components/AnimatedText.d.ts.map +1 -0
  364. package/lib/typescript/src/index.d.ts +1 -0
  365. package/lib/typescript/src/index.d.ts.map +1 -0
  366. package/lib/typescript/src/utils/formatDatetime.d.ts +1 -0
  367. package/lib/typescript/src/utils/formatDatetime.d.ts.map +1 -0
  368. package/lib/typescript/src/utils/formatPrice.d.ts +1 -0
  369. package/lib/typescript/src/utils/formatPrice.d.ts.map +1 -0
  370. package/lib/typescript/src/utils/index.d.ts +1 -0
  371. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  372. package/lib/typescript/src/utils/usePrevious.d.ts +1 -0
  373. package/lib/typescript/src/utils/usePrevious.d.ts.map +1 -0
  374. package/package.json +12 -9
  375. package/scripts/bootstrap.js +24 -0
  376. package/src/charts/candle/Candle.tsx +3 -3
  377. package/src/charts/candle/CrosshairTooltip.tsx +2 -2
  378. package/src/charts/candle/HoverTrap/index.web.tsx +0 -1
  379. package/src/charts/line/Chart.tsx +6 -4
  380. package/src/charts/line/Cursor.tsx +52 -67
  381. package/src/charts/line/Dot.tsx +8 -8
  382. package/src/charts/line/Gradient.tsx +1 -0
  383. package/src/charts/line/HorizontalLine.tsx +8 -15
  384. package/src/charts/line/HoverTrap/index.web.tsx +0 -1
  385. package/src/charts/line/Tooltip.tsx +21 -13
  386. package/src/charts/line/useAnimatedPath.ts +3 -3
  387. package/src/charts/line/utils/getArea.ts +8 -5
  388. package/src/charts/line/utils/getXPositionForCurve.ts +9 -0
  389. package/tsconfig.build.json +5 -0
  390. package/tsconfig.json +28 -0
  391. package/yarn.lock +8529 -0
@@ -4,27 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LineChartHoverTrap = void 0;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNative = require("react-native");
11
-
12
9
  var _Chart = require("../Chart");
13
-
14
10
  var _useLineChart = require("../useLineChart");
15
-
16
11
  var _ExecutionEnvironment = require("fbjs/lib/ExecutionEnvironment");
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ let isEnabled = false;
17
15
 
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
- // @ts-expect-error missing types
23
- let isEnabled = false; // the following logic comes from the creator of react-native-web
16
+ // the following logic comes from the creator of react-native-web
24
17
  // https://gist.github.com/necolas/1c494e44e23eb7f8c5864a2fac66299a
25
18
  // it's also used by MotiPressable's hover interactions
26
19
  // https://github.com/nandorojo/moti/blob/master/packages/interactions/src/pressable/hoverable.tsx
27
-
28
20
  if (_ExecutionEnvironment.canUseDOM) {
29
21
  /**
30
22
  * Web browsers emulate mouse events (and hover states) after touch events.
@@ -36,32 +28,25 @@ if (_ExecutionEnvironment.canUseDOM) {
36
28
  */
37
29
  const HOVER_THRESHOLD_MS = 1000;
38
30
  let lastTouchTimestamp = 0;
39
-
40
31
  function enableHover() {
41
32
  if (isEnabled || Date.now() - lastTouchTimestamp < HOVER_THRESHOLD_MS) {
42
33
  return;
43
34
  }
44
-
45
35
  isEnabled = true;
46
36
  }
47
-
48
37
  function disableHover() {
49
38
  lastTouchTimestamp = Date.now();
50
-
51
39
  if (isEnabled) {
52
40
  isEnabled = false;
53
41
  }
54
42
  }
55
-
56
43
  document.addEventListener('touchstart', disableHover, true);
57
44
  document.addEventListener('touchmove', disableHover, true);
58
45
  document.addEventListener('mousemove', enableHover, true);
59
46
  }
60
-
61
47
  function isHoverEnabled() {
62
48
  return isEnabled;
63
49
  }
64
-
65
50
  const LineChartHoverTrap = () => {
66
51
  const {
67
52
  width,
@@ -80,10 +65,11 @@ const LineChartHoverTrap = () => {
80
65
  if (parsedPath) {
81
66
  const boundedX = Math.min(x, width);
82
67
  isActive.value = true;
83
- currentX.value = boundedX; // on Web, we could drag the cursor to be negative, breaking it
68
+ currentX.value = boundedX;
69
+
70
+ // on Web, we could drag the cursor to be negative, breaking it
84
71
  // so we clamp the index at 0 to fix it
85
72
  // https://github.com/coinjar/react-native-wagmi-charts/issues/24
86
-
87
73
  const minIndex = 0;
88
74
  const boundedIndex = Math.max(minIndex, Math.round(boundedX / width / (1 / (data.length - 1))));
89
75
  currentIndex.value = boundedIndex;
@@ -98,9 +84,11 @@ const LineChartHoverTrap = () => {
98
84
  currentIndex.value = -1;
99
85
  }, [currentIndex, isActive]);
100
86
  return /*#__PURE__*/React.createElement(_reactNative.View, {
101
- style: _reactNative.StyleSheet.absoluteFill // @ts-expect-error mouse move event
87
+ style: _reactNative.StyleSheet.absoluteFill
88
+ // @ts-expect-error mouse move event
102
89
  ,
103
- onMouseMove: React.useCallback( // eslint-disable-next-line no-undef
90
+ onMouseMove: React.useCallback(
91
+ // eslint-disable-next-line no-undef
104
92
  e => {
105
93
  let rect = e.currentTarget.getBoundingClientRect();
106
94
  let x = e.clientX - rect.left; // x position within the element.
@@ -112,6 +100,5 @@ const LineChartHoverTrap = () => {
112
100
  onMouseLeave: onMouseLeave
113
101
  });
114
102
  };
115
-
116
103
  exports.LineChartHoverTrap = LineChartHoverTrap;
117
104
  //# sourceMappingURL=index.web.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.web.tsx"],"names":["isEnabled","canUseDOM","HOVER_THRESHOLD_MS","lastTouchTimestamp","enableHover","Date","now","disableHover","document","addEventListener","isHoverEnabled","LineChartHoverTrap","width","parsedPath","React","useContext","LineChartDimensionsContext","currentX","currentIndex","isActive","data","onMouseMove","useCallback","x","boundedX","Math","min","value","minIndex","boundedIndex","max","round","length","onMouseLeave","StyleSheet","absoluteFill","e","rect","currentTarget","getBoundingClientRect","clientX","left"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { View, StyleSheet } from 'react-native';\n\nimport { LineChartDimensionsContext } from '../Chart';\nimport { useLineChart } from '../useLineChart';\n\n// @ts-expect-error missing types\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\n\nlet isEnabled = false;\n\n// the following logic comes from the creator of react-native-web\n// https://gist.github.com/necolas/1c494e44e23eb7f8c5864a2fac66299a\n// it's also used by MotiPressable's hover interactions\n// https://github.com/nandorojo/moti/blob/master/packages/interactions/src/pressable/hoverable.tsx\nif (canUseDOM) {\n /**\n * Web browsers emulate mouse events (and hover states) after touch events.\n * This code infers when the currently-in-use modality supports hover\n * (including for multi-modality devices) and considers \"hover\" to be enabled\n * if a mouse movement occurs more than 1 second after the last touch event.\n * This threshold is long enough to account for longer delays between the\n * browser firing touch and mouse events on low-powered devices.\n */\n const HOVER_THRESHOLD_MS = 1000;\n let lastTouchTimestamp = 0;\n\n function enableHover() {\n if (isEnabled || Date.now() - lastTouchTimestamp < HOVER_THRESHOLD_MS) {\n return;\n }\n isEnabled = true;\n }\n\n function disableHover() {\n lastTouchTimestamp = Date.now();\n if (isEnabled) {\n isEnabled = false;\n }\n }\n\n document.addEventListener('touchstart', disableHover, true);\n document.addEventListener('touchmove', disableHover, true);\n document.addEventListener('mousemove', enableHover, true);\n}\n\nfunction isHoverEnabled(): boolean {\n return isEnabled;\n}\n\nexport const LineChartHoverTrap = () => {\n const { width, parsedPath } = React.useContext(LineChartDimensionsContext);\n const { currentX, currentIndex, isActive, data } = useLineChart();\n\n const onMouseMove = React.useCallback(\n ({ x }: { x: number }) => {\n if (isHoverEnabled()) {\n if (parsedPath) {\n const boundedX = Math.min(x, width);\n isActive.value = true;\n currentX.value = boundedX;\n\n // on Web, we could drag the cursor to be negative, breaking it\n // so we clamp the index at 0 to fix it\n // https://github.com/coinjar/react-native-wagmi-charts/issues/24\n const minIndex = 0;\n const boundedIndex = Math.max(\n minIndex,\n Math.round(boundedX / width / (1 / (data.length - 1)))\n );\n\n currentIndex.value = boundedIndex;\n }\n } else {\n isActive.value = false;\n currentIndex.value = -1;\n }\n },\n [currentIndex, currentX, data.length, isActive, parsedPath, width]\n );\n\n const onMouseLeave = React.useCallback(() => {\n isActive.value = false;\n currentIndex.value = -1;\n }, [currentIndex, isActive]);\n\n return (\n <View\n style={StyleSheet.absoluteFill}\n // @ts-expect-error mouse move event\n onMouseMove={React.useCallback(\n // eslint-disable-next-line no-undef\n (e: React.MouseEvent<HTMLElement>) => {\n let rect = e.currentTarget.getBoundingClientRect();\n let x = e.clientX - rect.left; // x position within the element.\n\n onMouseMove({ x });\n },\n [onMouseMove]\n )}\n onMouseLeave={onMouseLeave}\n />\n );\n};\n"]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_Chart","_useLineChart","_ExecutionEnvironment","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","isEnabled","canUseDOM","HOVER_THRESHOLD_MS","lastTouchTimestamp","enableHover","Date","now","disableHover","document","addEventListener","isHoverEnabled","LineChartHoverTrap","width","parsedPath","useContext","LineChartDimensionsContext","currentX","currentIndex","isActive","data","useLineChart","onMouseMove","useCallback","x","boundedX","Math","min","value","minIndex","boundedIndex","max","round","length","onMouseLeave","createElement","View","style","StyleSheet","absoluteFill","rect","currentTarget","getBoundingClientRect","clientX","left","exports"],"sourceRoot":"../../../../../src","sources":["charts/line/HoverTrap/index.web.tsx"],"mappings":"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"}
@@ -4,16 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LineChartPathContext = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- const LineChartPathContext = /*#__PURE__*/_react.default.createContext({
9
+ const LineChartPathContext = exports.LineChartPathContext = /*#__PURE__*/_react.default.createContext({
13
10
  color: '',
14
11
  isInactive: false,
15
12
  isTransitionEnabled: true
16
13
  });
17
-
18
- exports.LineChartPathContext = LineChartPathContext;
19
14
  //# sourceMappingURL=LineChartPathContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["LineChartPathContext.ts"],"names":["LineChartPathContext","React","createContext","color","isInactive","isTransitionEnabled"],"mappings":";;;;;;;AAAA;;;;AAEO,MAAMA,oBAAoB,gBAAGC,eAAMC,aAAN,CAAoB;AACtDC,EAAAA,KAAK,EAAE,EAD+C;AAEtDC,EAAAA,UAAU,EAAE,KAF0C;AAGtDC,EAAAA,mBAAmB,EAAE;AAHiC,CAApB,CAA7B","sourcesContent":["import React from 'react';\n\nexport const LineChartPathContext = React.createContext({\n color: '',\n isInactive: false,\n isTransitionEnabled: true,\n});\n"]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","obj","__esModule","default","LineChartPathContext","exports","React","createContext","color","isInactive","isTransitionEnabled"],"sourceRoot":"../../../../src","sources":["charts/line/LineChartPathContext.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnB,MAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,gBAAGE,cAAK,CAACC,aAAa,CAAC;EACtDC,KAAK,EAAE,EAAE;EACTC,UAAU,EAAE,KAAK;EACjBC,mBAAmB,EAAE;AACvB,CAAC,CAAC"}
@@ -4,31 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LineChartPath = LineChartPath;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
11
-
12
9
  var _reactNativeSvg = require("react-native-svg");
13
-
14
10
  var _Chart = require("./Chart");
15
-
16
11
  var _LineChartPathContext = require("./LineChartPathContext");
17
-
18
12
  var _useAnimatedPath = _interopRequireDefault(require("./useAnimatedPath"));
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
-
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ 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); }
28
17
  const AnimatedPath = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeSvg.Path);
29
-
30
18
  LineChartPath.displayName = 'LineChartPath';
31
-
32
19
  function LineChartPath({
33
20
  color = 'black',
34
21
  inactiveColor,
@@ -41,14 +28,18 @@ function LineChartPath({
41
28
  const {
42
29
  isTransitionEnabled,
43
30
  isInactive
44
- } = React.useContext(_LineChartPathContext.LineChartPathContext); ////////////////////////////////////////////////
31
+ } = React.useContext(_LineChartPathContext.LineChartPathContext);
32
+
33
+ ////////////////////////////////////////////////
45
34
 
46
35
  const {
47
36
  animatedProps
48
37
  } = (0, _useAnimatedPath.default)({
49
38
  enabled: isTransitionEnabled,
50
39
  path
51
- }); ////////////////////////////////////////////////
40
+ });
41
+
42
+ ////////////////////////////////////////////////
52
43
 
53
44
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AnimatedPath, _extends({
54
45
  animatedProps: animatedProps,
@@ -1 +1 @@
1
- {"version":3,"sources":["Path.tsx"],"names":["AnimatedPath","Animated","createAnimatedComponent","Path","LineChartPath","displayName","color","inactiveColor","width","strokeWidth","props","path","React","useContext","LineChartDimensionsContext","isTransitionEnabled","isInactive","LineChartPathContext","animatedProps","enabled"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,YAAY,GAAGC,+BAASC,uBAAT,CAAiCC,oBAAjC,CAArB;;AAyBAC,aAAa,CAACC,WAAd,GAA4B,eAA5B;;AAEO,SAASD,aAAT,CAAuB;AAC5BE,EAAAA,KAAK,GAAG,OADoB;AAE5BC,EAAAA,aAF4B;AAG5BC,EAAAA,KAAK,EAAEC,WAAW,GAAG,CAHO;AAI5B,KAAGC;AAJyB,CAAvB,EAKgB;AACrB,QAAM;AAAEC,IAAAA;AAAF,MAAWC,KAAK,CAACC,UAAN,CAAiBC,iCAAjB,CAAjB;AACA,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MACJJ,KAAK,CAACC,UAAN,CAAiBI,0CAAjB,CADF,CAFqB,CAKrB;;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAoB,8BAAgB;AACxCC,IAAAA,OAAO,EAAEJ,mBAD+B;AAExCJ,IAAAA;AAFwC,GAAhB,CAA1B,CAPqB,CAYrB;;AAEA,sBACE,uDACE,oBAAC,YAAD;AACE,IAAA,aAAa,EAAEO,aADjB;AAEE,IAAA,IAAI,EAAC,aAFP;AAGE,IAAA,MAAM,EAAEF,UAAU,GAAGT,aAAa,IAAID,KAApB,GAA4BA,KAHhD;AAIE,IAAA,aAAa,EAAEU,UAAU,IAAI,CAACT,aAAf,GAA+B,GAA/B,GAAqC,CAJtD;AAKE,IAAA,WAAW,EAAEE;AALf,KAMMC,KANN,EADF,CADF;AAYD","sourcesContent":["import * as React from 'react';\nimport Animated from 'react-native-reanimated';\nimport { Path, PathProps } from 'react-native-svg';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { LineChartPathContext } from './LineChartPathContext';\nimport useAnimatedPath from './useAnimatedPath';\n\nconst AnimatedPath = Animated.createAnimatedComponent(Path);\n\nexport type LineChartPathProps = Animated.AnimateProps<PathProps> & {\n color?: string;\n inactiveColor?: string;\n width?: number;\n isInactive?: boolean;\n /**\n * Default: `true`.\n *\n * If `false`, changes in the chart's path will not animate.\n *\n * While this use case is rare, it may be useful on web, where animations might not work as well.\n *\n * **Example**\n *\n * ```tsx\n * <LineChart.Path\n * pathProps={{ isTransitionEnabled: Platform.OS !== 'web' }}\n * />\n * ```\n */\n isTransitionEnabled?: boolean;\n};\n\nLineChartPath.displayName = 'LineChartPath';\n\nexport function LineChartPath({\n color = 'black',\n inactiveColor,\n width: strokeWidth = 3,\n ...props\n}: LineChartPathProps) {\n const { path } = React.useContext(LineChartDimensionsContext);\n const { isTransitionEnabled, isInactive } =\n React.useContext(LineChartPathContext);\n\n ////////////////////////////////////////////////\n\n const { animatedProps } = useAnimatedPath({\n enabled: isTransitionEnabled,\n path,\n });\n\n ////////////////////////////////////////////////\n\n return (\n <>\n <AnimatedPath\n animatedProps={animatedProps}\n fill=\"transparent\"\n stroke={isInactive ? inactiveColor || color : color}\n strokeOpacity={isInactive && !inactiveColor ? 0.2 : 1}\n strokeWidth={strokeWidth}\n {...props}\n />\n </>\n );\n}\n"]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNativeReanimated","_interopRequireDefault","_reactNativeSvg","_Chart","_LineChartPathContext","_useAnimatedPath","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","AnimatedPath","Animated","createAnimatedComponent","Path","LineChartPath","displayName","color","inactiveColor","width","strokeWidth","props","path","useContext","LineChartDimensionsContext","isTransitionEnabled","isInactive","LineChartPathContext","animatedProps","useAnimatedPath","enabled","createElement","Fragment","fill","stroke","strokeOpacity"],"sourceRoot":"../../../../src","sources":["charts/line/Path.tsx"],"mappings":"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"}
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LineChartPriceText = LineChartPriceText;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _usePrice = require("./usePrice");
11
-
12
9
  var _AnimatedText = require("../../components/AnimatedText");
13
-
14
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
-
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
-
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
12
  LineChartPriceText.displayName = 'LineChartPriceText';
19
-
20
13
  function LineChartPriceText({
21
14
  format,
22
15
  precision = 2,
@@ -1 +1 @@
1
- {"version":3,"sources":["PriceText.tsx"],"names":["LineChartPriceText","displayName","format","precision","variant","style","index","price"],"mappings":";;;;;;;AAAA;;AAIA;;AAEA;;;;;;AAcAA,kBAAkB,CAACC,WAAnB,GAAiC,oBAAjC;;AAEO,SAASD,kBAAT,CAA4B;AACjCE,EAAAA,MADiC;AAEjCC,EAAAA,SAAS,GAAG,CAFqB;AAGjCC,EAAAA,OAAO,GAAG,WAHuB;AAIjCC,EAAAA,KAJiC;AAKjCC,EAAAA;AALiC,CAA5B,EAMqB;AAC1B,QAAMC,KAAK,GAAG,iCAAkB;AAAEL,IAAAA,MAAF;AAAUC,IAAAA,SAAV;AAAqBG,IAAAA;AAArB,GAAlB,CAAd;AACA,sBAAO,oBAAC,0BAAD;AAAc,IAAA,IAAI,EAAEC,KAAK,CAACH,OAAD,CAAzB;AAAoC,IAAA,KAAK,EAAEC;AAA3C,IAAP;AACD","sourcesContent":["import * as React from 'react';\nimport type { TextProps as RNTextProps } from 'react-native';\nimport type Animated from 'react-native-reanimated';\n\nimport { useLineChartPrice } from './usePrice';\nimport type { TFormatterFn } from '../candle/types';\nimport { AnimatedText } from '../../components/AnimatedText';\n\nexport type LineChartPriceTextProps = {\n format?: TFormatterFn<string>;\n precision?: number;\n variant?: 'formatted' | 'value';\n style?: Animated.AnimateProps<RNTextProps>['style'];\n /**\n * By default, it will use the current active index from the chart.\n * If this is set it will use the index provided.\n */\n index?: number;\n};\n\nLineChartPriceText.displayName = 'LineChartPriceText';\n\nexport function LineChartPriceText({\n format,\n precision = 2,\n variant = 'formatted',\n style,\n index,\n}: LineChartPriceTextProps) {\n const price = useLineChartPrice({ format, precision, index });\n return <AnimatedText text={price[variant]} style={style} />;\n}\n"]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_usePrice","_AnimatedText","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","LineChartPriceText","displayName","format","precision","variant","style","index","price","useLineChartPrice","createElement","AnimatedText","text"],"sourceRoot":"../../../../src","sources":["charts/line/PriceText.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AAA6D,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAc7DY,kBAAkB,CAACC,WAAW,GAAG,oBAAoB;AAE9C,SAASD,kBAAkBA,CAAC;EACjCE,MAAM;EACNC,SAAS,GAAG,CAAC;EACbC,OAAO,GAAG,WAAW;EACrBC,KAAK;EACLC;AACuB,CAAC,EAAE;EAC1B,MAAMC,KAAK,GAAG,IAAAC,2BAAiB,EAAC;IAAEN,MAAM;IAAEC,SAAS;IAAEG;EAAM,CAAC,CAAC;EAC7D,oBAAOhC,KAAA,CAAAmC,aAAA,CAAC/B,aAAA,CAAAgC,YAAY;IAACC,IAAI,EAAEJ,KAAK,CAACH,OAAO,CAAE;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC;AAC7D"}
@@ -4,29 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LineChartTooltip = LineChartTooltip;
7
-
8
- var React = _interopRequireWildcard(require("react"));
9
-
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var React = _react;
10
9
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
11
-
12
- var _Chart = require("./Chart");
13
-
14
- var _Cursor = require("./Cursor");
15
-
16
10
  var _PriceText = require("./PriceText");
17
-
18
- var _useLineChart = require("./useLineChart");
19
-
11
+ var _Cursor = require("./Cursor");
12
+ var _Chart = require("./Chart");
13
+ var _getXPositionForCurve = require("./utils/getXPositionForCurve");
20
14
  var _reactNativeRedash = require("react-native-redash");
21
-
22
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
-
15
+ var _useLineChart = require("./useLineChart");
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ 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); }
28
19
  LineChartTooltip.displayName = 'LineChartTooltip';
29
-
30
20
  function LineChartTooltip({
31
21
  children,
32
22
  xGutter = 8,
@@ -41,8 +31,7 @@ function LineChartTooltip({
41
31
  const {
42
32
  width,
43
33
  height,
44
- parsedPath,
45
- pointWidth
34
+ parsedPath
46
35
  } = React.useContext(_Chart.LineChartDimensionsContext);
47
36
  const {
48
37
  type
@@ -59,54 +48,46 @@ function LineChartTooltip({
59
48
  x.value = event.nativeEvent.layout.x;
60
49
  elementWidth.value = event.nativeEvent.layout.width;
61
50
  elementHeight.value = event.nativeEvent.layout.height;
62
- }, [elementHeight, elementWidth, x]); // When the user set a `at` index, get the index's y & x positions
51
+ }, [elementHeight, elementWidth, x]);
63
52
 
64
- const atXPosition = (0, React.useMemo)(() => at == null ? undefined : pointWidth * at, [at, pointWidth]);
53
+ // When the user set a `at` index, get the index's y & x positions
54
+ const atXPosition = (0, _react.useMemo)(() => at !== null && at !== undefined ? (0, _getXPositionForCurve.getXPositionForCurve)(parsedPath, at) : undefined, [at, parsedPath]);
65
55
  const atYPosition = (0, _reactNativeReanimated.useDerivedValue)(() => {
66
- var _getYForX;
67
-
68
- return atXPosition == null ? undefined : (_getYForX = (0, _reactNativeRedash.getYForX)(parsedPath, atXPosition)) !== null && _getYForX !== void 0 ? _getYForX : 0;
56
+ return atXPosition == null ? undefined : (0, _reactNativeRedash.getYForX)(parsedPath, atXPosition) ?? 0;
69
57
  }, [atXPosition]);
70
58
  const animatedCursorStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
71
- var _atYPosition$value;
72
-
73
- let translateXOffset = elementWidth.value / 2; // the tooltip is considered static when the user specified an `at` prop
74
-
75
- const isStatic = atYPosition.value != null; // Calculate X position:
76
-
77
- const x = atXPosition !== null && atXPosition !== void 0 ? atXPosition : currentX.value;
59
+ let translateXOffset = elementWidth.value / 2;
60
+ // the tooltip is considered static when the user specified an `at` prop
61
+ const isStatic = atYPosition.value != null;
78
62
 
63
+ // Calculate X position:
64
+ const x = atXPosition ?? currentX.value;
79
65
  if (x < elementWidth.value / 2 + xGutter) {
80
66
  const xOffset = elementWidth.value / 2 + xGutter - x;
81
67
  translateXOffset = translateXOffset - xOffset;
82
68
  }
83
-
84
69
  if (x > width - elementWidth.value / 2 - xGutter) {
85
70
  const xOffset = x - (width - elementWidth.value / 2 - xGutter);
86
71
  translateXOffset = translateXOffset + xOffset;
87
- } // Calculate Y position:
88
-
72
+ }
89
73
 
74
+ // Calculate Y position:
90
75
  let translateYOffset = 0;
91
- const y = (_atYPosition$value = atYPosition.value) !== null && _atYPosition$value !== void 0 ? _atYPosition$value : currentY.value;
92
-
76
+ const y = atYPosition.value ?? currentY.value;
93
77
  if (position === 'top') {
94
78
  translateYOffset = elementHeight.value / 2 + cursorGutter;
95
-
96
79
  if (y - translateYOffset < yGutter) {
97
80
  translateYOffset = y - yGutter;
98
81
  }
99
82
  } else if (position === 'bottom') {
100
83
  translateYOffset = -(elementHeight.value / 2) - cursorGutter / 2;
101
-
102
84
  if (y - translateYOffset + elementHeight.value > height - yGutter) {
103
85
  translateYOffset = y - (height - yGutter) + elementHeight.value;
104
86
  }
105
- } // determine final translateY value
106
-
87
+ }
107
88
 
89
+ // determine final translateY value
108
90
  let translateY;
109
-
110
91
  if (type === 'crosshair' || isStatic) {
111
92
  translateY = y - translateYOffset;
112
93
  } else {
@@ -116,14 +97,11 @@ function LineChartTooltip({
116
97
  translateY = height - elementHeight.value - yGutter;
117
98
  }
118
99
  }
119
-
120
100
  let opacity = isActive.value ? 1 : 0;
121
-
122
101
  if (isStatic) {
123
102
  // Only show static when there is no active cursor
124
103
  opacity = (0, _reactNativeReanimated.withTiming)(isActive.value ? 0 : 1);
125
104
  }
126
-
127
105
  return {
128
106
  transform: [{
129
107
  translateX: x - translateXOffset
@@ -132,7 +110,7 @@ function LineChartTooltip({
132
110
  }],
133
111
  opacity: opacity
134
112
  };
135
- }, [currentX, currentY, cursorGutter, elementHeight, elementWidth, height, isActive, position, type, width, xGutter, yGutter]);
113
+ }, [atXPosition, atYPosition.value, currentX.value, currentY.value, cursorGutter, elementHeight.value, elementWidth.value, height, isActive.value, position, type, width, xGutter, yGutter]);
136
114
  return /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, _extends({
137
115
  onLayout: handleLayout
138
116
  }, props, {
@@ -1 +1 @@
1
- {"version":3,"sources":["Tooltip.tsx"],"names":["LineChartTooltip","displayName","children","xGutter","yGutter","cursorGutter","position","textProps","textStyle","at","props","width","height","parsedPath","pointWidth","React","useContext","LineChartDimensionsContext","type","CursorContext","currentX","currentY","isActive","x","elementWidth","elementHeight","handleLayout","useCallback","event","value","nativeEvent","layout","atXPosition","undefined","atYPosition","animatedCursorStyle","translateXOffset","isStatic","xOffset","translateYOffset","y","translateY","opacity","transform","translateX","padding","alignSelf","style"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport type { ViewProps } from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { CursorContext } from './Cursor';\nimport { LineChartPriceText, LineChartPriceTextProps } from './PriceText';\nimport { useLineChart } from './useLineChart';\nimport { getYForX } from 'react-native-redash';\nimport { useMemo } from 'react';\n\nexport type LineChartTooltipProps = Animated.AnimateProps<ViewProps> & {\n children?: React.ReactNode;\n xGutter?: number;\n yGutter?: number;\n cursorGutter?: number;\n position?: 'top' | 'bottom';\n textProps?: LineChartPriceTextProps;\n textStyle?: LineChartPriceTextProps['style'];\n /**\n * When specified the tooltip is considered static, and will\n * always be rendered at the given index, unless there is interaction\n * with the chart (like interacting with a cursor).\n *\n * @default undefined\n */\n at?: number;\n};\n\nLineChartTooltip.displayName = 'LineChartTooltip';\n\nexport function LineChartTooltip({\n children,\n xGutter = 8,\n yGutter = 8,\n cursorGutter = 48,\n position = 'top',\n textProps,\n textStyle,\n at,\n ...props\n}: LineChartTooltipProps) {\n const { width, height, parsedPath, pointWidth } = React.useContext(\n LineChartDimensionsContext\n );\n const { type } = React.useContext(CursorContext);\n const { currentX, currentY, isActive } = useLineChart();\n\n const x = useSharedValue(0);\n const elementWidth = useSharedValue(0);\n const elementHeight = useSharedValue(0);\n\n const handleLayout = React.useCallback(\n (event) => {\n x.value = event.nativeEvent.layout.x;\n elementWidth.value = event.nativeEvent.layout.width;\n elementHeight.value = event.nativeEvent.layout.height;\n },\n [elementHeight, elementWidth, x]\n );\n\n // When the user set a `at` index, get the index's y & x positions\n const atXPosition = useMemo(\n () => (at == null ? undefined : pointWidth * at),\n [at, pointWidth]\n );\n const atYPosition = useDerivedValue(() => {\n return atXPosition == null\n ? undefined\n : getYForX(parsedPath, atXPosition) ?? 0;\n }, [atXPosition]);\n\n const animatedCursorStyle = useAnimatedStyle(() => {\n let translateXOffset = elementWidth.value / 2;\n // the tooltip is considered static when the user specified an `at` prop\n const isStatic = atYPosition.value != null;\n\n // Calculate X position:\n const x = atXPosition ?? currentX.value;\n if (x < elementWidth.value / 2 + xGutter) {\n const xOffset = elementWidth.value / 2 + xGutter - x;\n translateXOffset = translateXOffset - xOffset;\n }\n if (x > width - elementWidth.value / 2 - xGutter) {\n const xOffset = x - (width - elementWidth.value / 2 - xGutter);\n translateXOffset = translateXOffset + xOffset;\n }\n\n // Calculate Y position:\n let translateYOffset = 0;\n const y = atYPosition.value ?? currentY.value;\n if (position === 'top') {\n translateYOffset = elementHeight.value / 2 + cursorGutter;\n if (y - translateYOffset < yGutter) {\n translateYOffset = y - yGutter;\n }\n } else if (position === 'bottom') {\n translateYOffset = -(elementHeight.value / 2) - cursorGutter / 2;\n if (y - translateYOffset + elementHeight.value > height - yGutter) {\n translateYOffset = y - (height - yGutter) + elementHeight.value;\n }\n }\n\n // determine final translateY value\n let translateY: number | undefined;\n if (type === 'crosshair' || isStatic) {\n translateY = y - translateYOffset;\n } else {\n if (position === 'top') {\n translateY = yGutter;\n } else {\n translateY = height - elementHeight.value - yGutter;\n }\n }\n\n let opacity = isActive.value ? 1 : 0;\n if (isStatic) {\n // Only show static when there is no active cursor\n opacity = withTiming(isActive.value ? 0 : 1);\n }\n\n return {\n transform: [\n { translateX: x - translateXOffset },\n {\n translateY: translateY,\n },\n ],\n opacity: opacity,\n };\n }, [\n currentX,\n currentY,\n cursorGutter,\n elementHeight,\n elementWidth,\n height,\n isActive,\n position,\n type,\n width,\n xGutter,\n yGutter,\n ]);\n\n return (\n <Animated.View\n onLayout={handleLayout}\n {...props}\n style={[\n {\n position: 'absolute',\n padding: 4,\n alignSelf: 'flex-start',\n },\n animatedCursorStyle,\n props.style,\n ]}\n >\n {children || (\n <LineChartPriceText index={at} style={[textStyle]} {...textProps} />\n )}\n </Animated.View>\n );\n}\n"]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNativeReanimated","_PriceText","_Cursor","_Chart","_getXPositionForCurve","_reactNativeRedash","_useLineChart","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","LineChartTooltip","displayName","children","xGutter","yGutter","cursorGutter","position","textProps","textStyle","at","props","width","height","parsedPath","useContext","LineChartDimensionsContext","type","CursorContext","currentX","currentY","isActive","useLineChart","x","useSharedValue","elementWidth","elementHeight","handleLayout","useCallback","event","value","nativeEvent","layout","atXPosition","useMemo","undefined","getXPositionForCurve","atYPosition","useDerivedValue","getYForX","animatedCursorStyle","useAnimatedStyle","translateXOffset","isStatic","xOffset","translateYOffset","y","translateY","opacity","withTiming","transform","translateX","createElement","View","onLayout","style","padding","alignSelf","LineChartPriceText","index"],"sourceRoot":"../../../../src","sources":["charts/line/Tooltip.tsx"],"mappings":"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"}