react-native-wagmi-charts 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/.DS_Store +0 -0
  2. package/.editorconfig +15 -0
  3. package/.gitattributes +3 -0
  4. package/.gitignore +60 -0
  5. package/.husky/pre-commit +4 -0
  6. package/.prettierrc.js +5 -0
  7. package/.yarnrc +3 -0
  8. package/README.md +25 -24
  9. package/babel.config.js +3 -0
  10. package/example/.expo/README.md +8 -0
  11. package/example/.expo/devices.json +3 -0
  12. package/example/README.md +32 -0
  13. package/example/app.json +22 -0
  14. package/example/babel.config.js +23 -0
  15. package/example/index.js +8 -0
  16. package/example/metro.config.js +40 -0
  17. package/example/package.json +42 -0
  18. package/example/src/App.tsx +64 -0
  19. package/example/src/CandlestickChart.tsx +155 -0
  20. package/example/src/LineChart.tsx +267 -0
  21. package/example/src/data/candlestick-data.json +142 -0
  22. package/example/src/data/candlestick-data2.json +142 -0
  23. package/example/src/data/line-data-non-linear-domain.json +34 -0
  24. package/example/src/data/line-data.json +82 -0
  25. package/example/src/data/line-data2.json +82 -0
  26. package/example/src/line-data-gh.json +18 -0
  27. package/example/tsconfig.json +6 -0
  28. package/example/webpack.config.js +25 -0
  29. package/example/yarn.lock +9306 -0
  30. package/lib/commonjs/charts/candle/Candle.js +6 -19
  31. package/lib/commonjs/charts/candle/Candle.js.map +1 -1
  32. package/lib/commonjs/charts/candle/Candles.js +6 -13
  33. package/lib/commonjs/charts/candle/Candles.js.map +1 -1
  34. package/lib/commonjs/charts/candle/Chart.js +3 -12
  35. package/lib/commonjs/charts/candle/Chart.js.map +1 -1
  36. package/lib/commonjs/charts/candle/Context.js +4 -12
  37. package/lib/commonjs/charts/candle/Context.js.map +1 -1
  38. package/lib/commonjs/charts/candle/Crosshair.js +3 -18
  39. package/lib/commonjs/charts/candle/Crosshair.js.map +1 -1
  40. package/lib/commonjs/charts/candle/CrosshairTooltip.js +6 -21
  41. package/lib/commonjs/charts/candle/CrosshairTooltip.js.map +1 -1
  42. package/lib/commonjs/charts/candle/DatetimeText.js +2 -8
  43. package/lib/commonjs/charts/candle/DatetimeText.js.map +1 -1
  44. package/lib/commonjs/charts/candle/HoverTrap/index.web.js +11 -25
  45. package/lib/commonjs/charts/candle/HoverTrap/index.web.js.map +1 -1
  46. package/lib/commonjs/charts/candle/Line.js +3 -12
  47. package/lib/commonjs/charts/candle/Line.js.map +1 -1
  48. package/lib/commonjs/charts/candle/PriceText.js +2 -8
  49. package/lib/commonjs/charts/candle/PriceText.js.map +1 -1
  50. package/lib/commonjs/charts/candle/index.js +1 -32
  51. package/lib/commonjs/charts/candle/index.js.map +1 -1
  52. package/lib/commonjs/charts/candle/types.js.map +1 -1
  53. package/lib/commonjs/charts/candle/useCandleData.js +0 -4
  54. package/lib/commonjs/charts/candle/useCandleData.js.map +1 -1
  55. package/lib/commonjs/charts/candle/useCandlestickChart.js +2 -7
  56. package/lib/commonjs/charts/candle/useCandlestickChart.js.map +1 -1
  57. package/lib/commonjs/charts/candle/useDatetime.js +0 -4
  58. package/lib/commonjs/charts/candle/useDatetime.js.map +1 -1
  59. package/lib/commonjs/charts/candle/usePrice.js +0 -8
  60. package/lib/commonjs/charts/candle/usePrice.js.map +1 -1
  61. package/lib/commonjs/charts/candle/utils/getDomain.js +0 -1
  62. package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -1
  63. package/lib/commonjs/charts/candle/utils/getHeight.js +0 -2
  64. package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -1
  65. package/lib/commonjs/charts/candle/utils/getPrice.js +0 -2
  66. package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -1
  67. package/lib/commonjs/charts/candle/utils/getY.js +0 -2
  68. package/lib/commonjs/charts/candle/utils/getY.js.map +1 -1
  69. package/lib/commonjs/charts/candle/utils/index.js +0 -8
  70. package/lib/commonjs/charts/candle/utils/index.js.map +1 -1
  71. package/lib/commonjs/charts/candle/utils.js +1 -6
  72. package/lib/commonjs/charts/candle/utils.js.map +1 -1
  73. package/lib/commonjs/charts/line/Chart.js +9 -28
  74. package/lib/commonjs/charts/line/Chart.js.map +1 -1
  75. package/lib/commonjs/charts/line/ChartPath.js +23 -46
  76. package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
  77. package/lib/commonjs/charts/line/Context.js +8 -19
  78. package/lib/commonjs/charts/line/Context.js.map +1 -1
  79. package/lib/commonjs/charts/line/Cursor.js +41 -66
  80. package/lib/commonjs/charts/line/Cursor.js.map +1 -1
  81. package/lib/commonjs/charts/line/CursorCrosshair.js +5 -14
  82. package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
  83. package/lib/commonjs/charts/line/CursorLine.js +5 -19
  84. package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
  85. package/lib/commonjs/charts/line/Data.js +5 -17
  86. package/lib/commonjs/charts/line/Data.js.map +1 -1
  87. package/lib/commonjs/charts/line/DatetimeText.js +2 -9
  88. package/lib/commonjs/charts/line/DatetimeText.js.map +1 -1
  89. package/lib/commonjs/charts/line/Dot.js +27 -33
  90. package/lib/commonjs/charts/line/Dot.js.map +1 -1
  91. package/lib/commonjs/charts/line/Gradient.js +12 -19
  92. package/lib/commonjs/charts/line/Gradient.js.map +1 -1
  93. package/lib/commonjs/charts/line/Group.js +2 -14
  94. package/lib/commonjs/charts/line/Group.js.map +1 -1
  95. package/lib/commonjs/charts/line/Highlight.js +9 -21
  96. package/lib/commonjs/charts/line/Highlight.js.map +1 -1
  97. package/lib/commonjs/charts/line/HorizontalLine.js +8 -23
  98. package/lib/commonjs/charts/line/HorizontalLine.js.map +1 -1
  99. package/lib/commonjs/charts/line/HoverTrap/index.js +0 -4
  100. package/lib/commonjs/charts/line/HoverTrap/index.js.map +1 -1
  101. package/lib/commonjs/charts/line/HoverTrap/index.web.js +11 -24
  102. package/lib/commonjs/charts/line/HoverTrap/index.web.js.map +1 -1
  103. package/lib/commonjs/charts/line/LineChartPathContext.js +1 -6
  104. package/lib/commonjs/charts/line/LineChartPathContext.js.map +1 -1
  105. package/lib/commonjs/charts/line/Path.js +9 -18
  106. package/lib/commonjs/charts/line/Path.js.map +1 -1
  107. package/lib/commonjs/charts/line/PriceText.js +2 -9
  108. package/lib/commonjs/charts/line/PriceText.js.map +1 -1
  109. package/lib/commonjs/charts/line/Tooltip.js +25 -47
  110. package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
  111. package/lib/commonjs/charts/line/index.js +1 -39
  112. package/lib/commonjs/charts/line/index.js.map +1 -1
  113. package/lib/commonjs/charts/line/types.js.map +1 -1
  114. package/lib/commonjs/charts/line/useAnimatedPath.js +6 -12
  115. package/lib/commonjs/charts/line/useAnimatedPath.js.map +1 -1
  116. package/lib/commonjs/charts/line/useCurrentY.js +0 -7
  117. package/lib/commonjs/charts/line/useCurrentY.js.map +1 -1
  118. package/lib/commonjs/charts/line/useDatetime.js +0 -4
  119. package/lib/commonjs/charts/line/useDatetime.js.map +1 -1
  120. package/lib/commonjs/charts/line/useLineChart.js +4 -10
  121. package/lib/commonjs/charts/line/useLineChart.js.map +1 -1
  122. package/lib/commonjs/charts/line/usePrice.js +1 -5
  123. package/lib/commonjs/charts/line/usePrice.js.map +1 -1
  124. package/lib/commonjs/charts/line/utils/getArea.js +11 -11
  125. package/lib/commonjs/charts/line/utils/getArea.js.map +1 -1
  126. package/lib/commonjs/charts/line/utils/getDomain.js +0 -1
  127. package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -1
  128. package/lib/commonjs/charts/line/utils/getPath.js +5 -8
  129. package/lib/commonjs/charts/line/utils/getPath.js.map +1 -1
  130. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js +15 -0
  131. package/lib/commonjs/charts/line/utils/getXPositionForCurve.js.map +1 -0
  132. package/lib/commonjs/charts/line/utils/index.js +0 -10
  133. package/lib/commonjs/charts/line/utils/index.js.map +1 -1
  134. package/lib/commonjs/charts/line/utils/interpolatePath.js +119 -124
  135. package/lib/commonjs/charts/line/utils/interpolatePath.js.map +1 -1
  136. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +0 -3
  137. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js.map +1 -1
  138. package/lib/commonjs/components/AnimatedText.js +6 -17
  139. package/lib/commonjs/components/AnimatedText.js.map +1 -1
  140. package/lib/commonjs/index.js +0 -8
  141. package/lib/commonjs/index.js.map +1 -1
  142. package/lib/commonjs/utils/formatDatetime.js +0 -1
  143. package/lib/commonjs/utils/formatDatetime.js.map +1 -1
  144. package/lib/commonjs/utils/formatPrice.js +2 -12
  145. package/lib/commonjs/utils/formatPrice.js.map +1 -1
  146. package/lib/commonjs/utils/index.js +0 -6
  147. package/lib/commonjs/utils/index.js.map +1 -1
  148. package/lib/commonjs/utils/usePrevious.js +4 -9
  149. package/lib/commonjs/utils/usePrevious.js.map +1 -1
  150. package/lib/module/charts/candle/Candle.js +4 -2
  151. package/lib/module/charts/candle/Candle.js.map +1 -1
  152. package/lib/module/charts/candle/Candles.js +4 -3
  153. package/lib/module/charts/candle/Candles.js.map +1 -1
  154. package/lib/module/charts/candle/Chart.js.map +1 -1
  155. package/lib/module/charts/candle/Context.js.map +1 -1
  156. package/lib/module/charts/candle/Crosshair.js +1 -4
  157. package/lib/module/charts/candle/Crosshair.js.map +1 -1
  158. package/lib/module/charts/candle/CrosshairTooltip.js +3 -6
  159. package/lib/module/charts/candle/CrosshairTooltip.js.map +1 -1
  160. package/lib/module/charts/candle/DatetimeText.js.map +1 -1
  161. package/lib/module/charts/candle/HoverTrap/index.web.js +11 -15
  162. package/lib/module/charts/candle/HoverTrap/index.web.js.map +1 -1
  163. package/lib/module/charts/candle/Line.js +1 -2
  164. package/lib/module/charts/candle/Line.js.map +1 -1
  165. package/lib/module/charts/candle/PriceText.js.map +1 -1
  166. package/lib/module/charts/candle/index.js.map +1 -1
  167. package/lib/module/charts/candle/types.js.map +1 -1
  168. package/lib/module/charts/candle/useCandleData.js +0 -1
  169. package/lib/module/charts/candle/useCandleData.js.map +1 -1
  170. package/lib/module/charts/candle/useCandlestickChart.js.map +1 -1
  171. package/lib/module/charts/candle/useDatetime.js.map +1 -1
  172. package/lib/module/charts/candle/usePrice.js +0 -2
  173. package/lib/module/charts/candle/usePrice.js.map +1 -1
  174. package/lib/module/charts/candle/utils/getDomain.js.map +1 -1
  175. package/lib/module/charts/candle/utils/getHeight.js.map +1 -1
  176. package/lib/module/charts/candle/utils/getPrice.js.map +1 -1
  177. package/lib/module/charts/candle/utils/getY.js.map +1 -1
  178. package/lib/module/charts/candle/utils/index.js.map +1 -1
  179. package/lib/module/charts/candle/utils.js.map +1 -1
  180. package/lib/module/charts/line/Chart.js +8 -12
  181. package/lib/module/charts/line/Chart.js.map +1 -1
  182. package/lib/module/charts/line/ChartPath.js +21 -28
  183. package/lib/module/charts/line/ChartPath.js.map +1 -1
  184. package/lib/module/charts/line/Context.js +4 -6
  185. package/lib/module/charts/line/Context.js.map +1 -1
  186. package/lib/module/charts/line/Cursor.js +37 -50
  187. package/lib/module/charts/line/Cursor.js.map +1 -1
  188. package/lib/module/charts/line/CursorCrosshair.js +3 -3
  189. package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
  190. package/lib/module/charts/line/CursorLine.js +3 -3
  191. package/lib/module/charts/line/CursorLine.js.map +1 -1
  192. package/lib/module/charts/line/Data.js +0 -2
  193. package/lib/module/charts/line/Data.js.map +1 -1
  194. package/lib/module/charts/line/DatetimeText.js.map +1 -1
  195. package/lib/module/charts/line/Dot.js +25 -18
  196. package/lib/module/charts/line/Dot.js.map +1 -1
  197. package/lib/module/charts/line/Gradient.js +10 -5
  198. package/lib/module/charts/line/Gradient.js.map +1 -1
  199. package/lib/module/charts/line/Group.js +0 -2
  200. package/lib/module/charts/line/Group.js.map +1 -1
  201. package/lib/module/charts/line/Highlight.js +7 -5
  202. package/lib/module/charts/line/Highlight.js.map +1 -1
  203. package/lib/module/charts/line/HorizontalLine.js +6 -8
  204. package/lib/module/charts/line/HorizontalLine.js.map +1 -1
  205. package/lib/module/charts/line/HoverTrap/index.js.map +1 -1
  206. package/lib/module/charts/line/HoverTrap/index.web.js +11 -15
  207. package/lib/module/charts/line/HoverTrap/index.web.js.map +1 -1
  208. package/lib/module/charts/line/LineChartPathContext.js.map +1 -1
  209. package/lib/module/charts/line/Path.js +7 -4
  210. package/lib/module/charts/line/Path.js.map +1 -1
  211. package/lib/module/charts/line/PriceText.js.map +1 -1
  212. package/lib/module/charts/line/Tooltip.js +21 -33
  213. package/lib/module/charts/line/Tooltip.js.map +1 -1
  214. package/lib/module/charts/line/index.js.map +1 -1
  215. package/lib/module/charts/line/types.js.map +1 -1
  216. package/lib/module/charts/line/useAnimatedPath.js +3 -5
  217. package/lib/module/charts/line/useAnimatedPath.js.map +1 -1
  218. package/lib/module/charts/line/useCurrentY.js +0 -1
  219. package/lib/module/charts/line/useCurrentY.js.map +1 -1
  220. package/lib/module/charts/line/useDatetime.js.map +1 -1
  221. package/lib/module/charts/line/useLineChart.js +2 -1
  222. package/lib/module/charts/line/useLineChart.js.map +1 -1
  223. package/lib/module/charts/line/usePrice.js +1 -1
  224. package/lib/module/charts/line/usePrice.js.map +1 -1
  225. package/lib/module/charts/line/utils/getArea.js +9 -6
  226. package/lib/module/charts/line/utils/getArea.js.map +1 -1
  227. package/lib/module/charts/line/utils/getDomain.js.map +1 -1
  228. package/lib/module/charts/line/utils/getPath.js +3 -3
  229. package/lib/module/charts/line/utils/getPath.js.map +1 -1
  230. package/lib/module/charts/line/utils/getXPositionForCurve.js +9 -0
  231. package/lib/module/charts/line/utils/getXPositionForCurve.js.map +1 -0
  232. package/lib/module/charts/line/utils/index.js.map +1 -1
  233. package/lib/module/charts/line/utils/interpolatePath.js +116 -117
  234. package/lib/module/charts/line/utils/interpolatePath.js.map +1 -1
  235. package/lib/module/charts/line/utils/lineChartDataPropToArray.js +0 -2
  236. package/lib/module/charts/line/utils/lineChartDataPropToArray.js.map +1 -1
  237. package/lib/module/components/AnimatedText.js +4 -3
  238. package/lib/module/components/AnimatedText.js.map +1 -1
  239. package/lib/module/index.js.map +1 -1
  240. package/lib/module/utils/formatDatetime.js.map +1 -1
  241. package/lib/module/utils/formatPrice.js +2 -11
  242. package/lib/module/utils/formatPrice.js.map +1 -1
  243. package/lib/module/utils/index.js.map +1 -1
  244. package/lib/module/utils/usePrevious.js +2 -3
  245. package/lib/module/utils/usePrevious.js.map +1 -1
  246. package/lib/typescript/example/src/App.d.ts +4 -0
  247. package/lib/typescript/example/src/App.d.ts.map +1 -0
  248. package/lib/typescript/example/src/CandlestickChart.d.ts +3 -0
  249. package/lib/typescript/example/src/CandlestickChart.d.ts.map +1 -0
  250. package/lib/typescript/example/src/LineChart.d.ts +3 -0
  251. package/lib/typescript/example/src/LineChart.d.ts.map +1 -0
  252. package/lib/typescript/src/charts/candle/Candle.d.ts +7 -5
  253. package/lib/typescript/src/charts/candle/Candle.d.ts.map +1 -0
  254. package/lib/typescript/src/charts/candle/Candles.d.ts +4 -3
  255. package/lib/typescript/src/charts/candle/Candles.d.ts.map +1 -0
  256. package/lib/typescript/src/charts/candle/Chart.d.ts +3 -2
  257. package/lib/typescript/src/charts/candle/Chart.d.ts.map +1 -0
  258. package/lib/typescript/src/charts/candle/Context.d.ts +3 -2
  259. package/lib/typescript/src/charts/candle/Context.d.ts.map +1 -0
  260. package/lib/typescript/src/charts/candle/Crosshair.d.ts +3 -2
  261. package/lib/typescript/src/charts/candle/Crosshair.d.ts.map +1 -0
  262. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts +4 -3
  263. package/lib/typescript/src/charts/candle/CrosshairTooltip.d.ts.map +1 -0
  264. package/lib/typescript/src/charts/candle/DatetimeText.d.ts +4 -3
  265. package/lib/typescript/src/charts/candle/DatetimeText.d.ts.map +1 -0
  266. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts +3 -2
  267. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts.map +1 -0
  268. package/lib/typescript/src/charts/candle/Line.d.ts +4 -3
  269. package/lib/typescript/src/charts/candle/Line.d.ts.map +1 -0
  270. package/lib/typescript/src/charts/candle/PriceText.d.ts +4 -3
  271. package/lib/typescript/src/charts/candle/PriceText.d.ts.map +1 -0
  272. package/lib/typescript/src/charts/candle/index.d.ts +3 -2
  273. package/lib/typescript/src/charts/candle/index.d.ts.map +1 -0
  274. package/lib/typescript/src/charts/candle/types.d.ts +7 -6
  275. package/lib/typescript/src/charts/candle/types.d.ts.map +1 -0
  276. package/lib/typescript/src/charts/candle/useCandleData.d.ts +1 -0
  277. package/lib/typescript/src/charts/candle/useCandleData.d.ts.map +1 -0
  278. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts +1 -0
  279. package/lib/typescript/src/charts/candle/useCandlestickChart.d.ts.map +1 -0
  280. package/lib/typescript/src/charts/candle/useDatetime.d.ts +1 -0
  281. package/lib/typescript/src/charts/candle/useDatetime.d.ts.map +1 -0
  282. package/lib/typescript/src/charts/candle/usePrice.d.ts +1 -0
  283. package/lib/typescript/src/charts/candle/usePrice.d.ts.map +1 -0
  284. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +1 -0
  285. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts.map +1 -0
  286. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +1 -0
  287. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts.map +1 -0
  288. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +1 -0
  289. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts.map +1 -0
  290. package/lib/typescript/src/charts/candle/utils/getY.d.ts +1 -0
  291. package/lib/typescript/src/charts/candle/utils/getY.d.ts.map +1 -0
  292. package/lib/typescript/src/charts/candle/utils/index.d.ts +1 -0
  293. package/lib/typescript/src/charts/candle/utils/index.d.ts.map +1 -0
  294. package/lib/typescript/src/charts/candle/utils.d.ts +1 -0
  295. package/lib/typescript/src/charts/candle/utils.d.ts.map +1 -0
  296. package/lib/typescript/src/charts/line/Chart.d.ts +3 -2
  297. package/lib/typescript/src/charts/line/Chart.d.ts.map +1 -0
  298. package/lib/typescript/src/charts/line/ChartPath.d.ts +3 -2
  299. package/lib/typescript/src/charts/line/ChartPath.d.ts.map +1 -0
  300. package/lib/typescript/src/charts/line/Context.d.ts +3 -2
  301. package/lib/typescript/src/charts/line/Context.d.ts.map +1 -0
  302. package/lib/typescript/src/charts/line/Cursor.d.ts +3 -2
  303. package/lib/typescript/src/charts/line/Cursor.d.ts.map +1 -0
  304. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +3 -2
  305. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts.map +1 -0
  306. package/lib/typescript/src/charts/line/CursorLine.d.ts +3 -2
  307. package/lib/typescript/src/charts/line/CursorLine.d.ts.map +1 -0
  308. package/lib/typescript/src/charts/line/Data.d.ts +6 -4
  309. package/lib/typescript/src/charts/line/Data.d.ts.map +1 -0
  310. package/lib/typescript/src/charts/line/DatetimeText.d.ts +4 -3
  311. package/lib/typescript/src/charts/line/DatetimeText.d.ts.map +1 -0
  312. package/lib/typescript/src/charts/line/Dot.d.ts +4 -3
  313. package/lib/typescript/src/charts/line/Dot.d.ts.map +1 -0
  314. package/lib/typescript/src/charts/line/Gradient.d.ts +3 -2
  315. package/lib/typescript/src/charts/line/Gradient.d.ts.map +1 -0
  316. package/lib/typescript/src/charts/line/Group.d.ts +4 -2
  317. package/lib/typescript/src/charts/line/Group.d.ts.map +1 -0
  318. package/lib/typescript/src/charts/line/Highlight.d.ts +4 -3
  319. package/lib/typescript/src/charts/line/Highlight.d.ts.map +1 -0
  320. package/lib/typescript/src/charts/line/HorizontalLine.d.ts +4 -3
  321. package/lib/typescript/src/charts/line/HorizontalLine.d.ts.map +1 -0
  322. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +3 -2
  323. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts.map +1 -0
  324. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +3 -2
  325. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts.map +1 -0
  326. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts +1 -0
  327. package/lib/typescript/src/charts/line/LineChartPathContext.d.ts.map +1 -0
  328. package/lib/typescript/src/charts/line/Path.d.ts +4 -3
  329. package/lib/typescript/src/charts/line/Path.d.ts.map +1 -0
  330. package/lib/typescript/src/charts/line/PriceText.d.ts +4 -3
  331. package/lib/typescript/src/charts/line/PriceText.d.ts.map +1 -0
  332. package/lib/typescript/src/charts/line/Tooltip.d.ts +4 -3
  333. package/lib/typescript/src/charts/line/Tooltip.d.ts.map +1 -0
  334. package/lib/typescript/src/charts/line/index.d.ts +2 -1
  335. package/lib/typescript/src/charts/line/index.d.ts.map +1 -0
  336. package/lib/typescript/src/charts/line/types.d.ts +8 -7
  337. package/lib/typescript/src/charts/line/types.d.ts.map +1 -0
  338. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +1 -0
  339. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts.map +1 -0
  340. package/lib/typescript/src/charts/line/useCurrentY.d.ts +1 -0
  341. package/lib/typescript/src/charts/line/useCurrentY.d.ts.map +1 -0
  342. package/lib/typescript/src/charts/line/useDatetime.d.ts +1 -0
  343. package/lib/typescript/src/charts/line/useDatetime.d.ts.map +1 -0
  344. package/lib/typescript/src/charts/line/useLineChart.d.ts +1 -0
  345. package/lib/typescript/src/charts/line/useLineChart.d.ts.map +1 -0
  346. package/lib/typescript/src/charts/line/usePrice.d.ts +1 -0
  347. package/lib/typescript/src/charts/line/usePrice.d.ts.map +1 -0
  348. package/lib/typescript/src/charts/line/utils/getArea.d.ts +3 -1
  349. package/lib/typescript/src/charts/line/utils/getArea.d.ts.map +1 -0
  350. package/lib/typescript/src/charts/line/utils/getDomain.d.ts +1 -0
  351. package/lib/typescript/src/charts/line/utils/getDomain.d.ts.map +1 -0
  352. package/lib/typescript/src/charts/line/utils/getPath.d.ts +1 -0
  353. package/lib/typescript/src/charts/line/utils/getPath.d.ts.map +1 -0
  354. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts +3 -0
  355. package/lib/typescript/src/charts/line/utils/getXPositionForCurve.d.ts.map +1 -0
  356. package/lib/typescript/src/charts/line/utils/index.d.ts +1 -0
  357. package/lib/typescript/src/charts/line/utils/index.d.ts.map +1 -0
  358. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts +1 -0
  359. package/lib/typescript/src/charts/line/utils/interpolatePath.d.ts.map +1 -0
  360. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +1 -0
  361. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts.map +1 -0
  362. package/lib/typescript/src/components/AnimatedText.d.ts +3 -2
  363. package/lib/typescript/src/components/AnimatedText.d.ts.map +1 -0
  364. package/lib/typescript/src/index.d.ts +1 -0
  365. package/lib/typescript/src/index.d.ts.map +1 -0
  366. package/lib/typescript/src/utils/formatDatetime.d.ts +1 -0
  367. package/lib/typescript/src/utils/formatDatetime.d.ts.map +1 -0
  368. package/lib/typescript/src/utils/formatPrice.d.ts +1 -0
  369. package/lib/typescript/src/utils/formatPrice.d.ts.map +1 -0
  370. package/lib/typescript/src/utils/index.d.ts +1 -0
  371. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  372. package/lib/typescript/src/utils/usePrevious.d.ts +1 -0
  373. package/lib/typescript/src/utils/usePrevious.d.ts.map +1 -0
  374. package/package.json +12 -9
  375. package/scripts/bootstrap.js +24 -0
  376. package/src/charts/candle/Candle.tsx +3 -3
  377. package/src/charts/candle/CrosshairTooltip.tsx +2 -2
  378. package/src/charts/candle/HoverTrap/index.web.tsx +0 -1
  379. package/src/charts/line/Chart.tsx +6 -4
  380. package/src/charts/line/Cursor.tsx +52 -67
  381. package/src/charts/line/Dot.tsx +8 -8
  382. package/src/charts/line/Gradient.tsx +1 -0
  383. package/src/charts/line/HorizontalLine.tsx +8 -15
  384. package/src/charts/line/HoverTrap/index.web.tsx +0 -1
  385. package/src/charts/line/Tooltip.tsx +21 -13
  386. package/src/charts/line/useAnimatedPath.ts +3 -3
  387. package/src/charts/line/utils/getArea.ts +8 -5
  388. package/src/charts/line/utils/getXPositionForCurve.ts +9 -0
  389. package/tsconfig.build.json +5 -0
  390. package/tsconfig.json +28 -0
  391. package/yarn.lock +8529 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["Context.tsx"],"names":["React","useSharedValue","getDomain","CandlestickChartContext","createContext","currentX","value","currentY","data","height","width","domain","step","setWidth","undefined","setHeight","CandlestickChartProvider","children","useState","setStep","useMemo","useEffect","length","newStep","contextValue"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,cAAT,QAA+B,yBAA/B;AAGA,SAASC,SAAT,QAA0B,SAA1B;AAEA,OAAO,MAAMC,uBAAuB,gBAAGH,KAAK,CAACI,aAAN,CAA8B;AACnEC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,KAAK,EAAE,CAAC;AAAV,GADyD;AAEnEC,EAAAA,QAAQ,EAAE;AAAED,IAAAA,KAAK,EAAE,CAAC;AAAV,GAFyD;AAGnEE,EAAAA,IAAI,EAAE,EAH6D;AAInEC,EAAAA,MAAM,EAAE,CAJ2D;AAKnEC,EAAAA,KAAK,EAAE,CAL4D;AAMnEC,EAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CAN2D;AAOnEC,EAAAA,IAAI,EAAE,CAP6D;AAQnEC,EAAAA,QAAQ,EAAE,MAAMC,SARmD;AASnEC,EAAAA,SAAS,EAAE,MAAMD;AATkD,CAA9B,CAAhC;AAmBP,OAAO,SAASE,wBAAT,CAAkC;AACvCC,EAAAA,QADuC;AAEvCT,EAAAA,IAAI,GAAG;AAFgC,CAAlC,EAG2B;AAChC,QAAM,CAACE,KAAD,EAAQG,QAAR,IAAoBb,KAAK,CAACkB,QAAN,CAAe,CAAf,CAA1B;AACA,QAAM,CAACT,MAAD,EAASM,SAAT,IAAsBf,KAAK,CAACkB,QAAN,CAAe,CAAf,CAA5B;AACA,QAAM,CAACN,IAAD,EAAOO,OAAP,IAAkBnB,KAAK,CAACkB,QAAN,CAAe,CAAf,CAAxB;AACA,QAAMb,QAAQ,GAAGJ,cAAc,CAAC,CAAC,CAAF,CAA/B;AACA,QAAMM,QAAQ,GAAGN,cAAc,CAAC,CAAC,CAAF,CAA/B;AAEA,QAAMU,MAAM,GAAGX,KAAK,CAACoB,OAAN,CAAc,MAAMlB,SAAS,CAACM,IAAD,CAA7B,EAAqC,CAACA,IAAD,CAArC,CAAf;AAEAR,EAAAA,KAAK,CAACqB,SAAN,CAAgB,MAAM;AACpB,QAAIb,IAAI,CAACc,MAAT,EAAiB;AACf,YAAMC,OAAO,GAAGb,KAAK,GAAGF,IAAI,CAACc,MAA7B;AACAH,MAAAA,OAAO,CAACI,OAAD,CAAP;AACD;AACF,GALD,EAKG,CAACf,IAAI,CAACc,MAAN,EAAcZ,KAAd,CALH;AAOA,QAAMc,YAAY,GAAGxB,KAAK,CAACoB,OAAN,CACnB,OAAO;AACLf,IAAAA,QADK;AAELE,IAAAA,QAFK;AAGLC,IAAAA,IAHK;AAILE,IAAAA,KAJK;AAKLD,IAAAA,MALK;AAMLE,IAAAA,MANK;AAOLC,IAAAA,IAPK;AAQLC,IAAAA,QARK;AASLE,IAAAA,SATK;AAULI,IAAAA;AAVK,GAAP,CADmB,EAanB,CAACd,QAAD,EAAWE,QAAX,EAAqBC,IAArB,EAA2BG,MAA3B,EAAmCF,MAAnC,EAA2CG,IAA3C,EAAiDF,KAAjD,CAbmB,CAArB;AAgBA,sBACE,oBAAC,uBAAD,CAAyB,QAAzB;AAAkC,IAAA,KAAK,EAAEc;AAAzC,KACGP,QADH,CADF;AAKD","sourcesContent":["import * as React from 'react';\nimport { useSharedValue } from 'react-native-reanimated';\n\nimport type { TContext, TData } from './types';\nimport { getDomain } from './utils';\n\nexport const CandlestickChartContext = React.createContext<TContext>({\n currentX: { value: -1 },\n currentY: { value: -1 },\n data: [],\n height: 0,\n width: 0,\n domain: [0, 0],\n step: 0,\n setWidth: () => undefined,\n setHeight: () => undefined,\n});\n\ntype CandlestickChartProviderProps = {\n children: React.ReactNode;\n data: TData;\n width?: number;\n height?: number;\n};\n\nexport function CandlestickChartProvider({\n children,\n data = [],\n}: CandlestickChartProviderProps) {\n const [width, setWidth] = React.useState(0);\n const [height, setHeight] = React.useState(0);\n const [step, setStep] = React.useState(0);\n const currentX = useSharedValue(-1);\n const currentY = useSharedValue(-1);\n\n const domain = React.useMemo(() => getDomain(data), [data]);\n\n React.useEffect(() => {\n if (data.length) {\n const newStep = width / data.length;\n setStep(newStep);\n }\n }, [data.length, width]);\n\n const contextValue = React.useMemo(\n () => ({\n currentX,\n currentY,\n data,\n width,\n height,\n domain,\n step,\n setWidth,\n setHeight,\n setStep,\n }),\n [currentX, currentY, data, domain, height, step, width]\n );\n\n return (\n <CandlestickChartContext.Provider value={contextValue}>\n {children}\n </CandlestickChartContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"names":["React","useSharedValue","getDomain","CandlestickChartContext","createContext","currentX","value","currentY","data","height","width","domain","step","setWidth","undefined","setHeight","CandlestickChartProvider","children","useState","setStep","useMemo","useEffect","length","newStep","contextValue","createElement","Provider"],"sourceRoot":"../../../../src","sources":["charts/candle/Context.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,yBAAyB;AAGxD,SAASC,SAAS,QAAQ,SAAS;AAEnC,OAAO,MAAMC,uBAAuB,gBAAGH,KAAK,CAACI,aAAa,CAAW;EACnEC,QAAQ,EAAE;IAAEC,KAAK,EAAE,CAAC;EAAE,CAAC;EACvBC,QAAQ,EAAE;IAAED,KAAK,EAAE,CAAC;EAAE,CAAC;EACvBE,IAAI,EAAE,EAAE;EACRC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdC,IAAI,EAAE,CAAC;EACPC,QAAQ,EAAEA,CAAA,KAAMC,SAAS;EACzBC,SAAS,EAAEA,CAAA,KAAMD;AACnB,CAAC,CAAC;AASF,OAAO,SAASE,wBAAwBA,CAAC;EACvCC,QAAQ;EACRT,IAAI,GAAG;AACsB,CAAC,EAAE;EAChC,MAAM,CAACE,KAAK,EAAEG,QAAQ,CAAC,GAAGb,KAAK,CAACkB,QAAQ,CAAC,CAAC,CAAC;EAC3C,MAAM,CAACT,MAAM,EAAEM,SAAS,CAAC,GAAGf,KAAK,CAACkB,QAAQ,CAAC,CAAC,CAAC;EAC7C,MAAM,CAACN,IAAI,EAAEO,OAAO,CAAC,GAAGnB,KAAK,CAACkB,QAAQ,CAAC,CAAC,CAAC;EACzC,MAAMb,QAAQ,GAAGJ,cAAc,CAAC,CAAC,CAAC,CAAC;EACnC,MAAMM,QAAQ,GAAGN,cAAc,CAAC,CAAC,CAAC,CAAC;EAEnC,MAAMU,MAAM,GAAGX,KAAK,CAACoB,OAAO,CAAC,MAAMlB,SAAS,CAACM,IAAI,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAE3DR,KAAK,CAACqB,SAAS,CAAC,MAAM;IACpB,IAAIb,IAAI,CAACc,MAAM,EAAE;MACf,MAAMC,OAAO,GAAGb,KAAK,GAAGF,IAAI,CAACc,MAAM;MACnCH,OAAO,CAACI,OAAO,CAAC;IAClB;EACF,CAAC,EAAE,CAACf,IAAI,CAACc,MAAM,EAAEZ,KAAK,CAAC,CAAC;EAExB,MAAMc,YAAY,GAAGxB,KAAK,CAACoB,OAAO,CAChC,OAAO;IACLf,QAAQ;IACRE,QAAQ;IACRC,IAAI;IACJE,KAAK;IACLD,MAAM;IACNE,MAAM;IACNC,IAAI;IACJC,QAAQ;IACRE,SAAS;IACTI;EACF,CAAC,CAAC,EACF,CAACd,QAAQ,EAAEE,QAAQ,EAAEC,IAAI,EAAEG,MAAM,EAAEF,MAAM,EAAEG,IAAI,EAAEF,KAAK,CACxD,CAAC;EAED,oBACEV,KAAA,CAAAyB,aAAA,CAACtB,uBAAuB,CAACuB,QAAQ;IAACpB,KAAK,EAAEkB;EAAa,GACnDP,QAC+B,CAAC;AAEvC"}
@@ -1,5 +1,4 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  import * as React from 'react';
4
3
  import { StyleSheet } from 'react-native';
5
4
  import { LongPressGestureHandler } from 'react-native-gesture-handler';
@@ -35,13 +34,11 @@ export function CandlestickChartCrosshair({
35
34
  y
36
35
  }) => {
37
36
  const boundedX = x <= width - 1 ? x : width - 1;
38
-
39
37
  if (boundedX < 100) {
40
38
  tooltipPosition.value = 'right';
41
39
  } else {
42
40
  tooltipPosition.value = 'left';
43
41
  }
44
-
45
42
  opacity.value = 1;
46
43
  currentY.value = clamp(y, 0, height);
47
44
  currentX.value = boundedX - boundedX % step + step / 2;
@@ -1 +1 @@
1
- {"version":3,"sources":["Crosshair.tsx"],"names":["React","StyleSheet","LongPressGestureHandler","Animated","useAnimatedGestureHandler","useSharedValue","useAnimatedStyle","useAnimatedReaction","runOnJS","clamp","CandlestickChartDimensionsContext","CandlestickChartLine","useCandlestickChart","CandlestickChartCrosshairTooltipContext","CandlestickChartCrosshair","color","onCurrentXChange","children","horizontalCrosshairProps","verticalCrosshairProps","lineProps","props","width","height","useContext","currentX","currentY","step","tooltipPosition","opacity","onGestureEvent","onActive","x","y","boundedX","value","onEnd","horizontal","transform","translateY","vertical","translateX","data","prevData","absoluteFill","position"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { StyleSheet, ViewProps } from 'react-native';\nimport {\n GestureEvent,\n LongPressGestureHandler,\n LongPressGestureHandlerEventPayload,\n LongPressGestureHandlerProps,\n} from 'react-native-gesture-handler';\nimport Animated, {\n useAnimatedGestureHandler,\n useSharedValue,\n useAnimatedStyle,\n useAnimatedReaction,\n runOnJS,\n} from 'react-native-reanimated';\nimport { clamp } from 'react-native-redash';\n\nimport { CandlestickChartDimensionsContext } from './Chart';\nimport { CandlestickChartLine, CandlestickChartLineProps } from './Line';\nimport { useCandlestickChart } from './useCandlestickChart';\nimport { CandlestickChartCrosshairTooltipContext } from './CrosshairTooltip';\n\ntype CandlestickChartCrosshairProps = LongPressGestureHandlerProps & {\n color?: string;\n children?: React.ReactNode;\n onCurrentXChange?: (value: number) => unknown;\n horizontalCrosshairProps?: Animated.AnimateProps<ViewProps>;\n verticalCrosshairProps?: Animated.AnimateProps<ViewProps>;\n lineProps?: Partial<CandlestickChartLineProps>;\n};\n\nexport function CandlestickChartCrosshair({\n color,\n onCurrentXChange,\n children,\n horizontalCrosshairProps = {},\n verticalCrosshairProps = {},\n lineProps = {},\n ...props\n}: CandlestickChartCrosshairProps) {\n const { width, height } = React.useContext(CandlestickChartDimensionsContext);\n const { currentX, currentY, step } = useCandlestickChart();\n\n const tooltipPosition = useSharedValue<'left' | 'right'>('left');\n\n const opacity = useSharedValue(0);\n const onGestureEvent = useAnimatedGestureHandler<\n GestureEvent<LongPressGestureHandlerEventPayload>\n >({\n onActive: ({ x, y }) => {\n const boundedX = x <= width - 1 ? x : width - 1;\n if (boundedX < 100) {\n tooltipPosition.value = 'right';\n } else {\n tooltipPosition.value = 'left';\n }\n opacity.value = 1;\n currentY.value = clamp(y, 0, height);\n currentX.value = boundedX - (boundedX % step) + step / 2;\n },\n onEnd: () => {\n opacity.value = 0;\n currentY.value = -1;\n currentX.value = -1;\n },\n });\n const horizontal = useAnimatedStyle(\n () => ({\n opacity: opacity.value,\n transform: [{ translateY: currentY.value }],\n }),\n [opacity, currentY]\n );\n const vertical = useAnimatedStyle(\n () => ({\n opacity: opacity.value,\n transform: [{ translateX: currentX.value }],\n }),\n [opacity, currentX]\n );\n\n useAnimatedReaction(\n () => currentX.value,\n (data, prevData) => {\n if (data !== -1 && data !== prevData && onCurrentXChange) {\n runOnJS(onCurrentXChange)(data);\n }\n },\n [currentX]\n );\n\n return (\n <LongPressGestureHandler\n minDurationMs={0}\n maxDist={999999}\n onGestureEvent={onGestureEvent}\n {...props}\n >\n <Animated.View style={StyleSheet.absoluteFill}>\n <Animated.View\n style={[StyleSheet.absoluteFill, horizontal]}\n {...horizontalCrosshairProps}\n >\n <CandlestickChartLine color={color} x={width} y={0} {...lineProps} />\n <CandlestickChartCrosshairTooltipContext.Provider\n value={{ position: tooltipPosition }}\n >\n {children}\n </CandlestickChartCrosshairTooltipContext.Provider>\n </Animated.View>\n <Animated.View\n style={[StyleSheet.absoluteFill, vertical]}\n {...verticalCrosshairProps}\n >\n <CandlestickChartLine color={color} x={0} y={height} {...lineProps} />\n </Animated.View>\n </Animated.View>\n </LongPressGestureHandler>\n );\n}\n"]}
1
+ {"version":3,"names":["React","StyleSheet","LongPressGestureHandler","Animated","useAnimatedGestureHandler","useSharedValue","useAnimatedStyle","useAnimatedReaction","runOnJS","clamp","CandlestickChartDimensionsContext","CandlestickChartLine","useCandlestickChart","CandlestickChartCrosshairTooltipContext","CandlestickChartCrosshair","color","onCurrentXChange","children","horizontalCrosshairProps","verticalCrosshairProps","lineProps","props","width","height","useContext","currentX","currentY","step","tooltipPosition","opacity","onGestureEvent","onActive","x","y","boundedX","value","onEnd","horizontal","transform","translateY","vertical","translateX","data","prevData","createElement","_extends","minDurationMs","maxDist","View","style","absoluteFill","Provider","position"],"sourceRoot":"../../../../src","sources":["charts/candle/Crosshair.tsx"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  import * as React from 'react';
4
3
  import { StyleSheet } from 'react-native';
5
4
  import Animated, { useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
@@ -37,13 +36,11 @@ export function CandlestickChartCrosshairTooltip({
37
36
  }, [elementHeight, elementWidth]);
38
37
  const topOffset = useDerivedValue(() => {
39
38
  let offset = 0;
40
-
41
39
  if (currentY.value < elementHeight.value / 2 + yGutter) {
42
40
  offset = currentY.value - (elementHeight.value / 2 + yGutter);
43
41
  } else if (currentY.value + elementHeight.value / 2 > height - yGutter) {
44
42
  offset = currentY.value + elementHeight.value / 2 - height + yGutter;
45
43
  }
46
-
47
44
  return offset;
48
45
  }, [currentY, elementHeight, height, yGutter]);
49
46
  const tooltip = useAnimatedStyle(() => ({
@@ -67,11 +64,11 @@ export function CandlestickChartCrosshairTooltip({
67
64
  }, props, {
68
65
  style: [tooltip, leftTooltip, props.style]
69
66
  }), children || /*#__PURE__*/React.createElement(CandlestickChartPriceText, _extends({}, tooltipTextProps, {
70
- style: [styles.text, tooltipTextProps === null || tooltipTextProps === void 0 ? void 0 : tooltipTextProps.style, textStyle]
67
+ style: [styles.text, tooltipTextProps?.style, textStyle]
71
68
  }))), /*#__PURE__*/React.createElement(Animated.View, _extends({}, props, {
72
69
  style: [tooltip, rightTooltip, props.style]
73
70
  }), children || /*#__PURE__*/React.createElement(CandlestickChartPriceText, _extends({}, tooltipTextProps, {
74
- style: [styles.text, tooltipTextProps === null || tooltipTextProps === void 0 ? void 0 : tooltipTextProps.style, textStyle]
71
+ style: [styles.text, tooltipTextProps?.style, textStyle]
75
72
  }))));
76
73
  }
77
74
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"sources":["CrosshairTooltip.tsx"],"names":["React","StyleSheet","Animated","useAnimatedStyle","useDerivedValue","useSharedValue","CandlestickChartDimensionsContext","useCandlestickChart","CandlestickChartPriceText","CandlestickChartCrosshairTooltipContext","createContext","position","value","CandlestickChartCrosshairTooltip","children","xGutter","yGutter","tooltipTextProps","textStyle","props","width","height","useContext","currentY","elementHeight","elementWidth","handleLayout","useCallback","event","nativeEvent","layout","topOffset","offset","tooltip","backgroundColor","display","padding","leftTooltip","left","top","opacity","rightTooltip","style","styles","text","create","fontSize"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport type { StyleProp, TextStyle, ViewProps } from 'react-native';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n} from 'react-native-reanimated';\n\nimport { CandlestickChartDimensionsContext } from './Chart';\nimport { useCandlestickChart } from './useCandlestickChart';\nimport {\n CandlestickChartPriceText,\n CandlestickChartPriceTextProps,\n} from './PriceText';\n\nexport type CandlestickChartCrosshairTooltipProps = ViewProps & {\n children?: React.ReactNode;\n xGutter?: number;\n yGutter?: number;\n tooltipTextProps?: CandlestickChartPriceTextProps;\n textStyle?: Animated.AnimateStyle<StyleProp<TextStyle>>;\n};\n\nexport type CandlestickChartCrosshairTooltipContext = {\n position: Animated.SharedValue<'left' | 'right'>;\n};\n\nexport const CandlestickChartCrosshairTooltipContext =\n React.createContext<CandlestickChartCrosshairTooltipContext>({\n position: { value: 'left' },\n });\n\nexport function CandlestickChartCrosshairTooltip({\n children,\n xGutter = 8,\n yGutter = 8,\n tooltipTextProps,\n textStyle,\n ...props\n}: CandlestickChartCrosshairTooltipProps) {\n const { width, height } = React.useContext(CandlestickChartDimensionsContext);\n const { currentY } = useCandlestickChart();\n const { position } = React.useContext(\n CandlestickChartCrosshairTooltipContext\n );\n\n const elementHeight = useSharedValue(0);\n const elementWidth = useSharedValue(0);\n\n const handleLayout = React.useCallback(\n (event) => {\n elementHeight.value = event.nativeEvent.layout.height;\n elementWidth.value = event.nativeEvent.layout.width;\n },\n [elementHeight, elementWidth]\n );\n\n const topOffset = useDerivedValue(() => {\n let offset = 0;\n if (currentY.value < elementHeight.value / 2 + yGutter) {\n offset = currentY.value - (elementHeight.value / 2 + yGutter);\n } else if (currentY.value + elementHeight.value / 2 > height - yGutter) {\n offset = currentY.value + elementHeight.value / 2 - height + yGutter;\n }\n\n return offset;\n }, [currentY, elementHeight, height, yGutter]);\n\n const tooltip = useAnimatedStyle(\n () => ({\n backgroundColor: 'white',\n position: 'absolute',\n display: 'flex',\n padding: 4,\n }),\n []\n );\n const leftTooltip = useAnimatedStyle(\n () => ({\n left: xGutter,\n top: -(elementHeight.value / 2) - topOffset.value,\n opacity: position.value === 'left' ? 1 : 0,\n }),\n [elementHeight, position, topOffset, xGutter]\n );\n const rightTooltip = useAnimatedStyle(\n () => ({\n left: width - elementWidth.value - xGutter,\n top: -(elementHeight.value / 2) - topOffset.value,\n opacity: position.value === 'right' ? 1 : 0,\n }),\n [elementHeight, elementWidth, position, topOffset, width, xGutter]\n );\n\n return (\n <>\n <Animated.View\n onLayout={handleLayout}\n {...props}\n style={[tooltip, leftTooltip, props.style]}\n >\n {children || (\n <CandlestickChartPriceText\n {...tooltipTextProps}\n style={[styles.text, tooltipTextProps?.style, textStyle]}\n />\n )}\n </Animated.View>\n <Animated.View {...props} style={[tooltip, rightTooltip, props.style]}>\n {children || (\n <CandlestickChartPriceText\n {...tooltipTextProps}\n style={[styles.text, tooltipTextProps?.style, textStyle]}\n />\n )}\n </Animated.View>\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n text: {\n fontSize: 14,\n },\n});\n"]}
1
+ {"version":3,"names":["React","StyleSheet","Animated","useAnimatedStyle","useDerivedValue","useSharedValue","CandlestickChartDimensionsContext","useCandlestickChart","CandlestickChartPriceText","CandlestickChartCrosshairTooltipContext","createContext","position","value","CandlestickChartCrosshairTooltip","children","xGutter","yGutter","tooltipTextProps","textStyle","props","width","height","useContext","currentY","elementHeight","elementWidth","handleLayout","useCallback","event","nativeEvent","layout","topOffset","offset","tooltip","backgroundColor","display","padding","leftTooltip","left","top","opacity","rightTooltip","createElement","Fragment","View","_extends","onLayout","style","styles","text","create","fontSize"],"sourceRoot":"../../../../src","sources":["charts/candle/CrosshairTooltip.tsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["DatetimeText.tsx"],"names":["React","useCandlestickChartDatetime","AnimatedText","CandlestickChartDatetimeText","locale","options","format","variant","style","datetime"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAIA,SAASC,2BAAT,QAA4C,eAA5C;AAEA,SAASC,YAAT,QAA6B,+BAA7B;AAUA,OAAO,SAASC,4BAAT,CAAsC;AAC3CC,EAAAA,MAD2C;AAE3CC,EAAAA,OAF2C;AAG3CC,EAAAA,MAH2C;AAI3CC,EAAAA,OAAO,GAAG,WAJiC;AAK3CC,EAAAA;AAL2C,CAAtC,EAM4B;AACjC,QAAMC,QAAQ,GAAGR,2BAA2B,CAAC;AAAEK,IAAAA,MAAF;AAAUF,IAAAA,MAAV;AAAkBC,IAAAA;AAAlB,GAAD,CAA5C;AACA,sBAAO,oBAAC,YAAD;AAAc,IAAA,IAAI,EAAEI,QAAQ,CAACF,OAAD,CAA5B;AAAuC,IAAA,KAAK,EAAEC;AAA9C,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 { useCandlestickChartDatetime } from './useDatetime';\nimport type { TFormatterFn } from 'react-native-wagmi-charts';\nimport { AnimatedText } from '../../components/AnimatedText';\n\ntype CandlestickChartPriceTextProps = {\n locale?: string;\n options?: { [key: string]: string };\n format?: TFormatterFn<number>;\n variant?: 'formatted' | 'value';\n style?: Animated.AnimateProps<RNTextProps>['style'];\n};\n\nexport function CandlestickChartDatetimeText({\n locale,\n options,\n format,\n variant = 'formatted',\n style,\n}: CandlestickChartPriceTextProps) {\n const datetime = useCandlestickChartDatetime({ format, locale, options });\n return <AnimatedText text={datetime[variant]} style={style} />;\n}\n"]}
1
+ {"version":3,"names":["React","useCandlestickChartDatetime","AnimatedText","CandlestickChartDatetimeText","locale","options","format","variant","style","datetime","createElement","text"],"sourceRoot":"../../../../src","sources":["charts/candle/DatetimeText.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B,SAASC,2BAA2B,QAAQ,eAAe;AAE3D,SAASC,YAAY,QAAQ,+BAA+B;AAU5D,OAAO,SAASC,4BAA4BA,CAAC;EAC3CC,MAAM;EACNC,OAAO;EACPC,MAAM;EACNC,OAAO,GAAG,WAAW;EACrBC;AAC8B,CAAC,EAAE;EACjC,MAAMC,QAAQ,GAAGR,2BAA2B,CAAC;IAAEK,MAAM;IAAEF,MAAM;IAAEC;EAAQ,CAAC,CAAC;EACzE,oBAAOL,KAAA,CAAAU,aAAA,CAACR,YAAY;IAACS,IAAI,EAAEF,QAAQ,CAACF,OAAO,CAAE;IAACC,KAAK,EAAEA;EAAM,CAAE,CAAC;AAChE"}
@@ -2,14 +2,14 @@ import * as React from 'react';
2
2
  import { View, StyleSheet } from 'react-native';
3
3
  import { parse } from 'react-native-redash';
4
4
  import { LineChartDimensionsContext } from '../../line/Chart';
5
- import { useLineChart } from '../../line/useLineChart'; // @ts-expect-error missing types
6
-
5
+ import { useLineChart } from '../../line/useLineChart';
7
6
  import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';
8
- let isEnabled = false; // the following logic comes from the creator of react-native-web
7
+ let isEnabled = false;
8
+
9
+ // the following logic comes from the creator of react-native-web
9
10
  // https://gist.github.com/necolas/1c494e44e23eb7f8c5864a2fac66299a
10
11
  // it's also used by MotiPressable's hover interactions
11
12
  // https://github.com/nandorojo/moti/blob/master/packages/interactions/src/pressable/hoverable.tsx
12
-
13
13
  if (canUseDOM) {
14
14
  /**
15
15
  * Web browsers emulate mouse events (and hover states) after touch events.
@@ -21,32 +21,25 @@ if (canUseDOM) {
21
21
  */
22
22
  const HOVER_THRESHOLD_MS = 1000;
23
23
  let lastTouchTimestamp = 0;
24
-
25
24
  function enableHover() {
26
25
  if (isEnabled || Date.now() - lastTouchTimestamp < HOVER_THRESHOLD_MS) {
27
26
  return;
28
27
  }
29
-
30
28
  isEnabled = true;
31
29
  }
32
-
33
30
  function disableHover() {
34
31
  lastTouchTimestamp = Date.now();
35
-
36
32
  if (isEnabled) {
37
33
  isEnabled = false;
38
34
  }
39
35
  }
40
-
41
36
  document.addEventListener('touchstart', disableHover, true);
42
37
  document.addEventListener('touchmove', disableHover, true);
43
38
  document.addEventListener('mousemove', enableHover, true);
44
39
  }
45
-
46
40
  function isHoverEnabled() {
47
41
  return isEnabled;
48
42
  }
49
-
50
43
  export const LineChartHoverTrap = () => {
51
44
  const {
52
45
  width,
@@ -66,10 +59,11 @@ export const LineChartHoverTrap = () => {
66
59
  if (parsedPath) {
67
60
  const boundedX = Math.min(x, width);
68
61
  isActive.value = true;
69
- currentX.value = boundedX; // on Web, we could drag the cursor to be negative, breaking it
62
+ currentX.value = boundedX;
63
+
64
+ // on Web, we could drag the cursor to be negative, breaking it
70
65
  // so we clamp the index at 0 to fix it
71
66
  // https://github.com/coinjar/react-native-wagmi-charts/issues/24
72
-
73
67
  const minIndex = 0;
74
68
  const boundedIndex = Math.max(minIndex, Math.round(boundedX / width / (1 / (data.length - 1))));
75
69
  currentIndex.value = boundedIndex;
@@ -84,9 +78,11 @@ export const LineChartHoverTrap = () => {
84
78
  currentIndex.value = -1;
85
79
  }, [currentIndex, isActive]);
86
80
  return /*#__PURE__*/React.createElement(View, {
87
- style: StyleSheet.absoluteFill // @ts-expect-error mouse move event
81
+ style: StyleSheet.absoluteFill
82
+ // @ts-expect-error mouse move event
88
83
  ,
89
- onMouseMove: React.useCallback( // eslint-disable-next-line no-undef
84
+ onMouseMove: React.useCallback(
85
+ // eslint-disable-next-line no-undef
90
86
  e => {
91
87
  let rect = e.currentTarget.getBoundingClientRect();
92
88
  let x = e.clientX - rect.left; // x position within the element.
@@ -1 +1 @@
1
- {"version":3,"sources":["index.web.tsx"],"names":["React","View","StyleSheet","parse","LineChartDimensionsContext","useLineChart","canUseDOM","isEnabled","HOVER_THRESHOLD_MS","lastTouchTimestamp","enableHover","Date","now","disableHover","document","addEventListener","isHoverEnabled","LineChartHoverTrap","width","path","useContext","currentX","currentIndex","isActive","data","parsedPath","useMemo","undefined","onMouseMove","useCallback","x","boundedX","Math","min","value","minIndex","boundedIndex","max","round","length","onMouseLeave","absoluteFill","e","rect","currentTarget","getBoundingClientRect","clientX","left"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { parse } from 'react-native-redash';\n\nimport { LineChartDimensionsContext } from '../../line/Chart';\nimport { useLineChart } from '../../line/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, path } = React.useContext(LineChartDimensionsContext);\n const { currentX, currentIndex, isActive, data } = useLineChart();\n\n const parsedPath = React.useMemo(\n () => (path ? parse(path) : undefined),\n [path]\n );\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","View","StyleSheet","parse","LineChartDimensionsContext","useLineChart","canUseDOM","isEnabled","HOVER_THRESHOLD_MS","lastTouchTimestamp","enableHover","Date","now","disableHover","document","addEventListener","isHoverEnabled","LineChartHoverTrap","width","path","useContext","currentX","currentIndex","isActive","data","parsedPath","useMemo","undefined","onMouseMove","useCallback","x","boundedX","Math","min","value","minIndex","boundedIndex","max","round","length","onMouseLeave","createElement","style","absoluteFill","e","rect","currentTarget","getBoundingClientRect","clientX","left"],"sourceRoot":"../../../../../src","sources":["charts/candle/HoverTrap/index.web.tsx"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
2
  import React from 'react';
4
3
  import { StyleSheet } from 'react-native';
5
4
  import Svg, { Line as SVGLine } from 'react-native-svg';
@@ -1 +1 @@
1
- {"version":3,"sources":["Line.tsx"],"names":["React","StyleSheet","Svg","Line","SVGLine","CandlestickChartLine","color","x","y","props","absoluteFill"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,GAAP,IAAcC,IAAI,IAAIC,OAAtB,QAAgD,kBAAhD;AAQA,OAAO,MAAMC,oBAAoB,GAAG,CAAC;AACnCC,EAAAA,KAAK,GAAG,MAD2B;AAEnCC,EAAAA,CAFmC;AAGnCC,EAAAA,CAHmC;AAInC,KAAGC;AAJgC,CAAD,KAKH;AAC/B,sBACE,oBAAC,GAAD;AAAK,IAAA,KAAK,EAAER,UAAU,CAACS;AAAvB,kBACE,oBAAC,OAAD;AACE,IAAA,EAAE,EAAE,CADN;AAEE,IAAA,EAAE,EAAE,CAFN;AAGE,IAAA,EAAE,EAAEH,CAHN;AAIE,IAAA,EAAE,EAAEC,CAJN;AAKE,IAAA,WAAW,EAAE,CALf;AAME,IAAA,MAAM,EAAEF,KANV;AAOE,IAAA,eAAe,EAAC;AAPlB,KAQMG,KARN,EADF,CADF;AAcD,CApBM","sourcesContent":["import React from 'react';\nimport { StyleSheet } from 'react-native';\nimport Svg, { Line as SVGLine, LineProps } from 'react-native-svg';\n\nexport type CandlestickChartLineProps = Omit<LineProps, 'x' | 'y'> & {\n color?: string;\n x: number;\n y: number;\n};\n\nexport const CandlestickChartLine = ({\n color = 'gray',\n x,\n y,\n ...props\n}: CandlestickChartLineProps) => {\n return (\n <Svg style={StyleSheet.absoluteFill}>\n <SVGLine\n x1={0}\n y1={0}\n x2={x}\n y2={y}\n strokeWidth={2}\n stroke={color}\n strokeDasharray=\"6 6\"\n {...props}\n />\n </Svg>\n );\n};\n"]}
1
+ {"version":3,"names":["React","StyleSheet","Svg","Line","SVGLine","CandlestickChartLine","color","x","y","props","createElement","style","absoluteFill","_extends","x1","y1","x2","y2","strokeWidth","stroke","strokeDasharray"],"sourceRoot":"../../../../src","sources":["charts/candle/Line.tsx"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,GAAG,IAAIC,IAAI,IAAIC,OAAO,QAAmB,kBAAkB;AAQlE,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACnCC,KAAK,GAAG,MAAM;EACdC,CAAC;EACDC,CAAC;EACD,GAAGC;AACsB,CAAC,KAAK;EAC/B,oBACET,KAAA,CAAAU,aAAA,CAACR,GAAG;IAACS,KAAK,EAAEV,UAAU,CAACW;EAAa,gBAClCZ,KAAA,CAAAU,aAAA,CAACN,OAAO,EAAAS,QAAA;IACNC,EAAE,EAAE,CAAE;IACNC,EAAE,EAAE,CAAE;IACNC,EAAE,EAAET,CAAE;IACNU,EAAE,EAAET,CAAE;IACNU,WAAW,EAAE,CAAE;IACfC,MAAM,EAAEb,KAAM;IACdc,eAAe,EAAC;EAAK,GACjBX,KAAK,CACV,CACE,CAAC;AAEV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["PriceText.tsx"],"names":["React","useCandlestickChartPrice","AnimatedText","CandlestickChartPriceText","format","precision","variant","type","style","price"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAKA,SAASC,wBAAT,QAAyC,YAAzC;AACA,SAASC,YAAT,QAA6B,+BAA7B;AAUA,OAAO,SAASC,yBAAT,CAAmC;AACxCC,EAAAA,MADwC;AAExCC,EAAAA,SAAS,GAAG,CAF4B;AAGxCC,EAAAA,OAAO,GAAG,WAH8B;AAIxCC,EAAAA,IAAI,GAAG,WAJiC;AAKxCC,EAAAA;AALwC,CAAnC,EAM4B;AACjC,QAAMC,KAAK,GAAGR,wBAAwB,CAAC;AAAEG,IAAAA,MAAF;AAAUC,IAAAA,SAAV;AAAqBE,IAAAA;AAArB,GAAD,CAAtC;AACA,sBAAO,oBAAC,YAAD;AAAc,IAAA,IAAI,EAAEE,KAAK,CAACH,OAAD,CAAzB;AAAoC,IAAA,KAAK,EAAEE;AAA3C,IAAP;AACD","sourcesContent":["import * as React from 'react';\nimport type { TextProps as RNTextProps } from 'react-native';\nimport type Animated from 'react-native-reanimated';\nimport type { TFormatterFn, TPriceType } from './types';\n\nimport { useCandlestickChartPrice } from './usePrice';\nimport { AnimatedText } from '../../components/AnimatedText';\n\nexport type CandlestickChartPriceTextProps = {\n format?: TFormatterFn<string>;\n precision?: number;\n variant?: 'formatted' | 'value';\n type?: TPriceType;\n style?: Animated.AnimateProps<RNTextProps>['style'];\n};\n\nexport function CandlestickChartPriceText({\n format,\n precision = 2,\n variant = 'formatted',\n type = 'crosshair',\n style,\n}: CandlestickChartPriceTextProps) {\n const price = useCandlestickChartPrice({ format, precision, type });\n return <AnimatedText text={price[variant]} style={style} />;\n}\n"]}
1
+ {"version":3,"names":["React","useCandlestickChartPrice","AnimatedText","CandlestickChartPriceText","format","precision","variant","type","style","price","createElement","text"],"sourceRoot":"../../../../src","sources":["charts/candle/PriceText.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAK9B,SAASC,wBAAwB,QAAQ,YAAY;AACrD,SAASC,YAAY,QAAQ,+BAA+B;AAU5D,OAAO,SAASC,yBAAyBA,CAAC;EACxCC,MAAM;EACNC,SAAS,GAAG,CAAC;EACbC,OAAO,GAAG,WAAW;EACrBC,IAAI,GAAG,WAAW;EAClBC;AAC8B,CAAC,EAAE;EACjC,MAAMC,KAAK,GAAGR,wBAAwB,CAAC;IAAEG,MAAM;IAAEC,SAAS;IAAEE;EAAK,CAAC,CAAC;EACnE,oBAAOP,KAAA,CAAAU,aAAA,CAACR,YAAY;IAACS,IAAI,EAAEF,KAAK,CAACH,OAAO,CAAE;IAACE,KAAK,EAAEA;EAAM,CAAE,CAAC;AAC7D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["CandlestickChart","_CandlestickChart","CandlestickChartCandle","CandlestickChartCandles","CandlestickChartCrosshair","CandlestickChartProvider","CandlestickChartPriceText","CandlestickChartDatetimeText","CandlestickChartLine","CandlestickChartCrosshairTooltip","useCandlestickChartDatetime","useCandlestickChartPrice","useCandlestickChart","useCandleData","Object","assign","Candle","Candles","Crosshair","Provider","PriceText","DatetimeText","Line","Tooltip","useDatetime","usePrice","useChart"],"mappings":"AAAA,SAASA,gBAAgB,IAAIC,iBAA7B,QAAsD,SAAtD;AACA,SAASC,sBAAT,QAAuC,UAAvC;AACA,SAASC,uBAAT,QAAwC,WAAxC;AACA,SAASC,yBAAT,QAA0C,aAA1C;AACA,SAASC,wBAAT,QAAyC,WAAzC;AACA,SAASC,yBAAT,QAA0C,aAA1C;AACA,SAASC,4BAAT,QAA6C,gBAA7C;AACA,SAASC,oBAAT,QAAqC,QAArC;AACA,SAASC,gCAAT,QAAiD,oBAAjD;AACA,SAASC,2BAAT,QAA4C,eAA5C;AACA,SAASC,wBAAT,QAAyC,YAAzC;AACA,SAASC,mBAAT,QAAoC,uBAApC;AACA,SAASC,aAAT,QAA8B,iBAA9B;AAEA,cAAc,SAAd;AACA,cAAc,UAAd;AACA,cAAc,WAAd;AACA,cAAc,WAAd;AACA,cAAc,aAAd;AACA,cAAc,aAAd;AACA,cAAc,gBAAd;AACA,cAAc,QAAd;AACA,cAAc,oBAAd;AACA,cAAc,SAAd;AACA,cAAc,uBAAd;AACA,cAAc,eAAd;AACA,cAAc,YAAd;AACA,cAAc,iBAAd;AACA,cAAc,SAAd;AAEA,OAAO,MAAMb,gBAAgB,GAAGc,MAAM,CAACC,MAAP,CAAcd,iBAAd,EAAiC;AAC/De,EAAAA,MAAM,EAAEd,sBADuD;AAE/De,EAAAA,OAAO,EAAEd,uBAFsD;AAG/De,EAAAA,SAAS,EAAEd,yBAHoD;AAI/De,EAAAA,QAAQ,EAAEd,wBAJqD;AAK/De,EAAAA,SAAS,EAAEd,yBALoD;AAM/De,EAAAA,YAAY,EAAEd,4BANiD;AAO/De,EAAAA,IAAI,EAAEd,oBAPyD;AAQ/De,EAAAA,OAAO,EAAEd,gCARsD;AAS/De,EAAAA,WAAW,EAAEd,2BATkD;AAU/De,EAAAA,QAAQ,EAAEd,wBAVqD;AAW/De,EAAAA,QAAQ,EAAEd,mBAXqD;AAY/DC,EAAAA,aAAa,EAAEA;AAZgD,CAAjC,CAAzB","sourcesContent":["import { CandlestickChart as _CandlestickChart } from './Chart';\nimport { CandlestickChartCandle } from './Candle';\nimport { CandlestickChartCandles } from './Candles';\nimport { CandlestickChartCrosshair } from './Crosshair';\nimport { CandlestickChartProvider } from './Context';\nimport { CandlestickChartPriceText } from './PriceText';\nimport { CandlestickChartDatetimeText } from './DatetimeText';\nimport { CandlestickChartLine } from './Line';\nimport { CandlestickChartCrosshairTooltip } from './CrosshairTooltip';\nimport { useCandlestickChartDatetime } from './useDatetime';\nimport { useCandlestickChartPrice } from './usePrice';\nimport { useCandlestickChart } from './useCandlestickChart';\nimport { useCandleData } from './useCandleData';\n\nexport * from './Chart';\nexport * from './Candle';\nexport * from './Candles';\nexport * from './Context';\nexport * from './Crosshair';\nexport * from './PriceText';\nexport * from './DatetimeText';\nexport * from './Line';\nexport * from './CrosshairTooltip';\nexport * from './types';\nexport * from './useCandlestickChart';\nexport * from './useDatetime';\nexport * from './usePrice';\nexport * from './useCandleData';\nexport * from './utils';\n\nexport const CandlestickChart = Object.assign(_CandlestickChart, {\n Candle: CandlestickChartCandle,\n Candles: CandlestickChartCandles,\n Crosshair: CandlestickChartCrosshair,\n Provider: CandlestickChartProvider,\n PriceText: CandlestickChartPriceText,\n DatetimeText: CandlestickChartDatetimeText,\n Line: CandlestickChartLine,\n Tooltip: CandlestickChartCrosshairTooltip,\n useDatetime: useCandlestickChartDatetime,\n usePrice: useCandlestickChartPrice,\n useChart: useCandlestickChart,\n useCandleData: useCandleData,\n});\n"]}
1
+ {"version":3,"names":["CandlestickChart","_CandlestickChart","CandlestickChartCandle","CandlestickChartCandles","CandlestickChartCrosshair","CandlestickChartProvider","CandlestickChartPriceText","CandlestickChartDatetimeText","CandlestickChartLine","CandlestickChartCrosshairTooltip","useCandlestickChartDatetime","useCandlestickChartPrice","useCandlestickChart","useCandleData","Object","assign","Candle","Candles","Crosshair","Provider","PriceText","DatetimeText","Line","Tooltip","useDatetime","usePrice","useChart"],"sourceRoot":"../../../../src","sources":["charts/candle/index.ts"],"mappings":"AAAA,SAASA,gBAAgB,IAAIC,iBAAiB,QAAQ,SAAS;AAC/D,SAASC,sBAAsB,QAAQ,UAAU;AACjD,SAASC,uBAAuB,QAAQ,WAAW;AACnD,SAASC,yBAAyB,QAAQ,aAAa;AACvD,SAASC,wBAAwB,QAAQ,WAAW;AACpD,SAASC,yBAAyB,QAAQ,aAAa;AACvD,SAASC,4BAA4B,QAAQ,gBAAgB;AAC7D,SAASC,oBAAoB,QAAQ,QAAQ;AAC7C,SAASC,gCAAgC,QAAQ,oBAAoB;AACrE,SAASC,2BAA2B,QAAQ,eAAe;AAC3D,SAASC,wBAAwB,QAAQ,YAAY;AACrD,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,gBAAgB;AAC9B,cAAc,QAAQ;AACtB,cAAc,oBAAoB;AAClC,cAAc,SAAS;AACvB,cAAc,uBAAuB;AACrC,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,iBAAiB;AAC/B,cAAc,SAAS;AAEvB,OAAO,MAAMb,gBAAgB,GAAGc,MAAM,CAACC,MAAM,CAACd,iBAAiB,EAAE;EAC/De,MAAM,EAAEd,sBAAsB;EAC9Be,OAAO,EAAEd,uBAAuB;EAChCe,SAAS,EAAEd,yBAAyB;EACpCe,QAAQ,EAAEd,wBAAwB;EAClCe,SAAS,EAAEd,yBAAyB;EACpCe,YAAY,EAAEd,4BAA4B;EAC1Ce,IAAI,EAAEd,oBAAoB;EAC1Be,OAAO,EAAEd,gCAAgC;EACzCe,WAAW,EAAEd,2BAA2B;EACxCe,QAAQ,EAAEd,wBAAwB;EAClCe,QAAQ,EAAEd,mBAAmB;EAC7BC,aAAa,EAAEA;AACjB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["charts/candle/types.ts"],"mappings":""}
@@ -16,7 +16,6 @@ export function useCandleData() {
16
16
  close: -1
17
17
  };
18
18
  }
19
-
20
19
  return data[Math.floor(currentX.value / step)];
21
20
  }, [currentX, data, step]);
22
21
  return candle;
@@ -1 +1 @@
1
- {"version":3,"sources":["useCandleData.ts"],"names":["useDerivedValue","useCandlestickChart","useCandleData","currentX","data","step","candle","value","timestamp","low","open","high","close","Math","floor"],"mappings":"AAAA,SAAmBA,eAAnB,QAA0C,yBAA1C;AAGA,SAASC,mBAAT,QAAoC,uBAApC;AAEA,OAAO,SAASC,aAAT,GAAkE;AACvE,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,IAAZ;AAAkBC,IAAAA;AAAlB,MAA2BJ,mBAAmB,EAApD;AAEA,QAAMK,MAAM,GAAGN,eAAe,CAAC,MAAM;AACnC,QAAIG,QAAQ,CAACI,KAAT,KAAmB,CAAC,CAAxB,EAA2B;AACzB,aAAO;AAAEC,QAAAA,SAAS,EAAE,CAAC,CAAd;AAAiBC,QAAAA,GAAG,EAAE,CAAC,CAAvB;AAA0BC,QAAAA,IAAI,EAAE,CAAC,CAAjC;AAAoCC,QAAAA,IAAI,EAAE,CAAC,CAA3C;AAA8CC,QAAAA,KAAK,EAAE,CAAC;AAAtD,OAAP;AACD;;AACD,WAAOR,IAAI,CAACS,IAAI,CAACC,KAAL,CAAWX,QAAQ,CAACI,KAAT,GAAiBF,IAA5B,CAAD,CAAX;AACD,GAL6B,EAK3B,CAACF,QAAD,EAAWC,IAAX,EAAiBC,IAAjB,CAL2B,CAA9B;AAOA,SAAOC,MAAP;AACD","sourcesContent":["import Animated, { useDerivedValue } from 'react-native-reanimated';\nimport type { TCandle } from './types';\n\nimport { useCandlestickChart } from './useCandlestickChart';\n\nexport function useCandleData(): Readonly<Animated.SharedValue<TCandle>> {\n const { currentX, data, step } = useCandlestickChart();\n\n const candle = useDerivedValue(() => {\n if (currentX.value === -1) {\n return { timestamp: -1, low: -1, open: -1, high: -1, close: -1 };\n }\n return data[Math.floor(currentX.value / step)];\n }, [currentX, data, step]);\n\n return candle;\n}\n"]}
1
+ {"version":3,"names":["useDerivedValue","useCandlestickChart","useCandleData","currentX","data","step","candle","value","timestamp","low","open","high","close","Math","floor"],"sourceRoot":"../../../../src","sources":["charts/candle/useCandleData.ts"],"mappings":"AAAA,SAAmBA,eAAe,QAAQ,yBAAyB;AAGnE,SAASC,mBAAmB,QAAQ,uBAAuB;AAE3D,OAAO,SAASC,aAAaA,CAAA,EAA4C;EACvE,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC;EAAK,CAAC,GAAGJ,mBAAmB,CAAC,CAAC;EAEtD,MAAMK,MAAM,GAAGN,eAAe,CAAC,MAAM;IACnC,IAAIG,QAAQ,CAACI,KAAK,KAAK,CAAC,CAAC,EAAE;MACzB,OAAO;QAAEC,SAAS,EAAE,CAAC,CAAC;QAAEC,GAAG,EAAE,CAAC,CAAC;QAAEC,IAAI,EAAE,CAAC,CAAC;QAAEC,IAAI,EAAE,CAAC,CAAC;QAAEC,KAAK,EAAE,CAAC;MAAE,CAAC;IAClE;IACA,OAAOR,IAAI,CAACS,IAAI,CAACC,KAAK,CAACX,QAAQ,CAACI,KAAK,GAAGF,IAAI,CAAC,CAAC;EAChD,CAAC,EAAE,CAACF,QAAQ,EAAEC,IAAI,EAAEC,IAAI,CAAC,CAAC;EAE1B,OAAOC,MAAM;AACf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["useCandlestickChart.ts"],"names":["React","CandlestickChartContext","useCandlestickChart","useContext"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,uBAAT,QAAwC,WAAxC;AAGA,OAAO,SAASC,mBAAT,GAAyC;AAC9C,SAAOF,KAAK,CAACG,UAAN,CAAiBF,uBAAjB,CAAP;AACD","sourcesContent":["import * as React from 'react';\n\nimport { CandlestickChartContext } from './Context';\nimport type { TContext } from './types';\n\nexport function useCandlestickChart(): TContext {\n return React.useContext(CandlestickChartContext);\n}\n"]}
1
+ {"version":3,"names":["React","CandlestickChartContext","useCandlestickChart","useContext"],"sourceRoot":"../../../../src","sources":["charts/candle/useCandlestickChart.ts"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,uBAAuB,QAAQ,WAAW;AAGnD,OAAO,SAASC,mBAAmBA,CAAA,EAAa;EAC9C,OAAOF,KAAK,CAACG,UAAU,CAACF,uBAAuB,CAAC;AAClD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["useDatetime.ts"],"names":["useDerivedValue","formatDatetime","useCandleData","useCandlestickChartDatetime","format","locale","options","candle","timestamp","value","timestampString","toString","formatted","formattedDatetime"],"mappings":"AAAA,SAAmBA,eAAnB,QAA0C,yBAA1C;AAEA,SAASC,cAAT,QAA+B,aAA/B;AAEA,SAASC,aAAT,QAA8B,iBAA9B;AAEA,OAAO,SAASC,2BAAT,CAAqC;AAC1CC,EAAAA,MAD0C;AAE1CC,EAAAA,MAF0C;AAG1CC,EAAAA;AAH0C,IAQxC,EARG,EAWL;AACA,QAAMC,MAAM,GAAGL,aAAa,EAA5B;AAEA,QAAMM,SAAS,GAAGR,eAAe,CAAC,MAAM;AACtC,WAAOO,MAAM,CAACE,KAAP,CAAaD,SAApB;AACD,GAFgC,CAAjC;AAIA,QAAME,eAAe,GAAGV,eAAe,CAAC,MAAM;AAC5C,QAAIQ,SAAS,CAACC,KAAV,KAAoB,CAAC,CAAzB,EAA4B,OAAO,EAAP;AAC5B,WAAOD,SAAS,CAACC,KAAV,CAAgBE,QAAhB,EAAP;AACD,GAHsC,EAGpC,CAACH,SAAD,CAHoC,CAAvC;AAKA,QAAMI,SAAS,GAAGZ,eAAe,CAAC,MAAM;AACtC,QAAIQ,SAAS,CAACC,KAAV,KAAoB,CAAC,CAAzB,EAA4B,OAAO,EAAP;AAC5B,UAAMI,iBAAiB,GAAGZ,cAAc,CAAC;AACvCQ,MAAAA,KAAK,EAAED,SAAS,CAACC,KADsB;AAEvCJ,MAAAA,MAFuC;AAGvCC,MAAAA;AAHuC,KAAD,CAAxC;AAKA,WAAOF,MAAM,GACTA,MAAM,CAAC;AAAEK,MAAAA,KAAK,EAAED,SAAS,CAACC,KAAnB;AAA0BG,MAAAA,SAAS,EAAEC;AAArC,KAAD,CADG,GAETA,iBAFJ;AAGD,GAVgC,EAU9B,CAACL,SAAD,EAAYH,MAAZ,EAAoBC,OAApB,EAA6BF,MAA7B,CAV8B,CAAjC;AAYA,SAAO;AAAEK,IAAAA,KAAK,EAAEC,eAAT;AAA0BE,IAAAA;AAA1B,GAAP;AACD","sourcesContent":["import Animated, { useDerivedValue } from 'react-native-reanimated';\n\nimport { formatDatetime } from '../../utils';\nimport type { TFormatterFn } from './types';\nimport { useCandleData } from './useCandleData';\n\nexport function useCandlestickChartDatetime({\n format,\n locale,\n options,\n}: {\n format?: TFormatterFn<number>;\n locale?: string;\n options?: { [key: string]: string };\n} = {}): {\n value: Readonly<Animated.SharedValue<string>>;\n formatted: Readonly<Animated.SharedValue<string>>;\n} {\n const candle = useCandleData();\n\n const timestamp = useDerivedValue(() => {\n return candle.value.timestamp;\n });\n\n const timestampString = useDerivedValue(() => {\n if (timestamp.value === -1) return '';\n return timestamp.value.toString();\n }, [timestamp]);\n\n const formatted = useDerivedValue(() => {\n if (timestamp.value === -1) return '';\n const formattedDatetime = formatDatetime({\n value: timestamp.value,\n locale,\n options,\n });\n return format\n ? format({ value: timestamp.value, formatted: formattedDatetime })\n : formattedDatetime;\n }, [timestamp, locale, options, format]);\n\n return { value: timestampString, formatted };\n}\n"]}
1
+ {"version":3,"names":["useDerivedValue","formatDatetime","useCandleData","useCandlestickChartDatetime","format","locale","options","candle","timestamp","value","timestampString","toString","formatted","formattedDatetime"],"sourceRoot":"../../../../src","sources":["charts/candle/useDatetime.ts"],"mappings":"AAAA,SAAmBA,eAAe,QAAQ,yBAAyB;AAEnE,SAASC,cAAc,QAAQ,aAAa;AAE5C,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,OAAO,SAASC,2BAA2BA,CAAC;EAC1CC,MAAM;EACNC,MAAM;EACNC;AAKF,CAAC,GAAG,CAAC,CAAC,EAGJ;EACA,MAAMC,MAAM,GAAGL,aAAa,CAAC,CAAC;EAE9B,MAAMM,SAAS,GAAGR,eAAe,CAAC,MAAM;IACtC,OAAOO,MAAM,CAACE,KAAK,CAACD,SAAS;EAC/B,CAAC,CAAC;EAEF,MAAME,eAAe,GAAGV,eAAe,CAAC,MAAM;IAC5C,IAAIQ,SAAS,CAACC,KAAK,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE;IACrC,OAAOD,SAAS,CAACC,KAAK,CAACE,QAAQ,CAAC,CAAC;EACnC,CAAC,EAAE,CAACH,SAAS,CAAC,CAAC;EAEf,MAAMI,SAAS,GAAGZ,eAAe,CAAC,MAAM;IACtC,IAAIQ,SAAS,CAACC,KAAK,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE;IACrC,MAAMI,iBAAiB,GAAGZ,cAAc,CAAC;MACvCQ,KAAK,EAAED,SAAS,CAACC,KAAK;MACtBJ,MAAM;MACNC;IACF,CAAC,CAAC;IACF,OAAOF,MAAM,GACTA,MAAM,CAAC;MAAEK,KAAK,EAAED,SAAS,CAACC,KAAK;MAAEG,SAAS,EAAEC;IAAkB,CAAC,CAAC,GAChEA,iBAAiB;EACvB,CAAC,EAAE,CAACL,SAAS,EAAEH,MAAM,EAAEC,OAAO,EAAEF,MAAM,CAAC,CAAC;EAExC,OAAO;IAAEK,KAAK,EAAEC,eAAe;IAAEE;EAAU,CAAC;AAC9C"}
@@ -16,7 +16,6 @@ export function useCandlestickChartPrice({
16
16
  const candle = useCandleData();
17
17
  const float = useDerivedValue(() => {
18
18
  let price = 0;
19
-
20
19
  if (type === 'crosshair') {
21
20
  price = getPrice({
22
21
  y: currentY.value,
@@ -26,7 +25,6 @@ export function useCandlestickChartPrice({
26
25
  } else {
27
26
  price = candle.value[type];
28
27
  }
29
-
30
28
  if (price === -1) return '';
31
29
  return price.toFixed(precision).toString();
32
30
  }, [currentY, domain, height, candle, type, precision]);
@@ -1 +1 @@
1
- {"version":3,"sources":["usePrice.ts"],"names":["useDerivedValue","formatPrice","useCandlestickChart","getPrice","useCandleData","useCandlestickChartPrice","format","precision","type","currentY","domain","height","candle","float","price","y","value","Math","min","max","maxHeight","toFixed","toString","formatted","formattedPrice"],"mappings":"AAAA,SAAmBA,eAAnB,QAA0C,yBAA1C;AAEA,SAASC,WAAT,QAA4B,aAA5B;AACA,SAASC,mBAAT,QAAoC,uBAApC;AACA,SAASC,QAAT,QAAyB,SAAzB;AAEA,SAASC,aAAT,QAA8B,iBAA9B;AAEA,OAAO,SAASC,wBAAT,CAAkC;AACvCC,EAAAA,MADuC;AAEvCC,EAAAA,SAAS,GAAG,CAF2B;AAGvCC,EAAAA,IAAI,GAAG;AAHgC,IAQrC,EARG,EAWL;AACA,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,MAAZ;AAAoBC,IAAAA;AAApB,MAA+BT,mBAAmB,EAAxD;AACA,QAAMU,MAAM,GAAGR,aAAa,EAA5B;AAEA,QAAMS,KAAK,GAAGb,eAAe,CAAC,MAAM;AAClC,QAAIc,KAAK,GAAG,CAAZ;;AACA,QAAIN,IAAI,KAAK,WAAb,EAA0B;AACxBM,MAAAA,KAAK,GAAGX,QAAQ,CAAC;AACfY,QAAAA,CAAC,EAAEN,QAAQ,CAACO,KADG;AAEfN,QAAAA,MAAM,EAAE,CAACO,IAAI,CAACC,GAAL,CAAS,GAAGR,MAAZ,CAAD,EAAsBO,IAAI,CAACE,GAAL,CAAS,GAAGT,MAAZ,CAAtB,CAFO;AAGfU,QAAAA,SAAS,EAAET;AAHI,OAAD,CAAhB;AAKD,KAND,MAMO;AACLG,MAAAA,KAAK,GAAGF,MAAM,CAACI,KAAP,CAAaR,IAAb,CAAR;AACD;;AACD,QAAIM,KAAK,KAAK,CAAC,CAAf,EAAkB,OAAO,EAAP;AAClB,WAAOA,KAAK,CAACO,OAAN,CAAcd,SAAd,EAAyBe,QAAzB,EAAP;AACD,GAb4B,EAa1B,CAACb,QAAD,EAAWC,MAAX,EAAmBC,MAAnB,EAA2BC,MAA3B,EAAmCJ,IAAnC,EAAyCD,SAAzC,CAb0B,CAA7B;AAcA,QAAMgB,SAAS,GAAGvB,eAAe,CAAC,MAAM;AACtC,QAAI,CAACa,KAAK,CAACG,KAAX,EAAkB,OAAO,EAAP;AAClB,UAAMQ,cAAc,GAAGvB,WAAW,CAAC;AAAEe,MAAAA,KAAK,EAAEH,KAAK,CAACG;AAAf,KAAD,CAAlC;AACA,WAAOV,MAAM,GACTA,MAAM,CAAC;AAAEU,MAAAA,KAAK,EAAEH,KAAK,CAACG,KAAf;AAAsBO,MAAAA,SAAS,EAAEC;AAAjC,KAAD,CADG,GAETA,cAFJ;AAGD,GANgC,EAM9B,CAACX,KAAD,EAAQP,MAAR,CAN8B,CAAjC;AAQA,SAAO;AAAEU,IAAAA,KAAK,EAAEH,KAAT;AAAgBU,IAAAA;AAAhB,GAAP;AACD","sourcesContent":["import Animated, { useDerivedValue } from 'react-native-reanimated';\n\nimport { formatPrice } from '../../utils';\nimport { useCandlestickChart } from './useCandlestickChart';\nimport { getPrice } from './utils';\nimport type { TFormatterFn, TPriceType } from './types';\nimport { useCandleData } from './useCandleData';\n\nexport function useCandlestickChartPrice({\n format,\n precision = 2,\n type = 'crosshair',\n}: {\n format?: TFormatterFn<string>;\n precision?: number;\n type?: TPriceType;\n} = {}): {\n value: Readonly<Animated.SharedValue<string>>;\n formatted: Readonly<Animated.SharedValue<string>>;\n} {\n const { currentY, domain, height } = useCandlestickChart();\n const candle = useCandleData();\n\n const float = useDerivedValue(() => {\n let price = 0;\n if (type === 'crosshair') {\n price = getPrice({\n y: currentY.value,\n domain: [Math.min(...domain), Math.max(...domain)],\n maxHeight: height,\n });\n } else {\n price = candle.value[type];\n }\n if (price === -1) return '';\n return price.toFixed(precision).toString();\n }, [currentY, domain, height, candle, type, precision]);\n const formatted = useDerivedValue(() => {\n if (!float.value) return '';\n const formattedPrice = formatPrice({ value: float.value });\n return format\n ? format({ value: float.value, formatted: formattedPrice })\n : formattedPrice;\n }, [float, format]);\n\n return { value: float, formatted };\n}\n"]}
1
+ {"version":3,"names":["useDerivedValue","formatPrice","useCandlestickChart","getPrice","useCandleData","useCandlestickChartPrice","format","precision","type","currentY","domain","height","candle","float","price","y","value","Math","min","max","maxHeight","toFixed","toString","formatted","formattedPrice"],"sourceRoot":"../../../../src","sources":["charts/candle/usePrice.ts"],"mappings":"AAAA,SAAmBA,eAAe,QAAQ,yBAAyB;AAEnE,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,QAAQ,QAAQ,SAAS;AAElC,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,OAAO,SAASC,wBAAwBA,CAAC;EACvCC,MAAM;EACNC,SAAS,GAAG,CAAC;EACbC,IAAI,GAAG;AAKT,CAAC,GAAG,CAAC,CAAC,EAGJ;EACA,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGT,mBAAmB,CAAC,CAAC;EAC1D,MAAMU,MAAM,GAAGR,aAAa,CAAC,CAAC;EAE9B,MAAMS,KAAK,GAAGb,eAAe,CAAC,MAAM;IAClC,IAAIc,KAAK,GAAG,CAAC;IACb,IAAIN,IAAI,KAAK,WAAW,EAAE;MACxBM,KAAK,GAAGX,QAAQ,CAAC;QACfY,CAAC,EAAEN,QAAQ,CAACO,KAAK;QACjBN,MAAM,EAAE,CAACO,IAAI,CAACC,GAAG,CAAC,GAAGR,MAAM,CAAC,EAAEO,IAAI,CAACE,GAAG,CAAC,GAAGT,MAAM,CAAC,CAAC;QAClDU,SAAS,EAAET;MACb,CAAC,CAAC;IACJ,CAAC,MAAM;MACLG,KAAK,GAAGF,MAAM,CAACI,KAAK,CAACR,IAAI,CAAC;IAC5B;IACA,IAAIM,KAAK,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE;IAC3B,OAAOA,KAAK,CAACO,OAAO,CAACd,SAAS,CAAC,CAACe,QAAQ,CAAC,CAAC;EAC5C,CAAC,EAAE,CAACb,QAAQ,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEJ,IAAI,EAAED,SAAS,CAAC,CAAC;EACvD,MAAMgB,SAAS,GAAGvB,eAAe,CAAC,MAAM;IACtC,IAAI,CAACa,KAAK,CAACG,KAAK,EAAE,OAAO,EAAE;IAC3B,MAAMQ,cAAc,GAAGvB,WAAW,CAAC;MAAEe,KAAK,EAAEH,KAAK,CAACG;IAAM,CAAC,CAAC;IAC1D,OAAOV,MAAM,GACTA,MAAM,CAAC;MAAEU,KAAK,EAAEH,KAAK,CAACG,KAAK;MAAEO,SAAS,EAAEC;IAAe,CAAC,CAAC,GACzDA,cAAc;EACpB,CAAC,EAAE,CAACX,KAAK,EAAEP,MAAM,CAAC,CAAC;EAEnB,OAAO;IAAEU,KAAK,EAAEH,KAAK;IAAEU;EAAU,CAAC;AACpC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["getDomain.ts"],"names":["getDomain","rows","values","map","high","low","flat","min","Math","max"],"mappings":"AAEA,OAAO,SAASA,SAAT,CAAmBC,IAAnB,EAAgE;AACrE;;AACA,QAAMC,MAAM,GAAGD,IAAI,CAACE,GAAL,CAAS,CAAC;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAD,KAAmB,CAACD,IAAD,EAAOC,GAAP,CAA5B,EAAyCC,IAAzC,EAAf;AACA,QAAMC,GAAG,GAAGC,IAAI,CAACD,GAAL,CAAS,GAAGL,MAAZ,CAAZ;AACA,QAAMO,GAAG,GAAGD,IAAI,CAACC,GAAL,CAAS,GAAGP,MAAZ,CAAZ;AACA,SAAO,CAACK,GAAG,GAAG,CAACE,GAAG,GAAGF,GAAP,IAAc,KAArB,EAA4BE,GAAG,GAAG,CAACA,GAAG,GAAGF,GAAP,IAAc,KAAhD,CAAP;AACD","sourcesContent":["import type { TCandle } from '../types';\n\nexport function getDomain(rows: TCandle[]): [min: number, max: number] {\n 'worklet';\n const values = rows.map(({ high, low }) => [high, low]).flat();\n const min = Math.min(...values);\n const max = Math.max(...values);\n return [min - (max - min) * 0.025, max + (max - min) * 0.025];\n}\n"]}
1
+ {"version":3,"names":["getDomain","rows","values","map","high","low","flat","min","Math","max"],"sourceRoot":"../../../../../src","sources":["charts/candle/utils/getDomain.ts"],"mappings":"AAEA,OAAO,SAASA,SAASA,CAACC,IAAe,EAA8B;EACrE,SAAS;;EACT,MAAMC,MAAM,GAAGD,IAAI,CAACE,GAAG,CAAC,CAAC;IAAEC,IAAI;IAAEC;EAAI,CAAC,KAAK,CAACD,IAAI,EAAEC,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;EAC9D,MAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,GAAGL,MAAM,CAAC;EAC/B,MAAMO,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,GAAGP,MAAM,CAAC;EAC/B,OAAO,CAACK,GAAG,GAAG,CAACE,GAAG,GAAGF,GAAG,IAAI,KAAK,EAAEE,GAAG,GAAG,CAACA,GAAG,GAAGF,GAAG,IAAI,KAAK,CAAC;AAC/D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["getHeight.ts"],"names":["interpolate","Extrapolate","getHeight","value","domain","maxHeight","Math","max","min","CLAMP"],"mappings":"AAAA,SAASA,WAAT,EAAsBC,WAAtB,QAAyC,yBAAzC;AAIA,OAAO,SAASC,SAAT,CAAmB;AACxBC,EAAAA,KADwB;AAExBC,EAAAA,MAFwB;AAGxBC,EAAAA;AAHwB,CAAnB,EAQJ;AACD;;AACA,SAAOL,WAAW,CAChBG,KADgB,EAEhB,CAAC,CAAD,EAAIG,IAAI,CAACC,GAAL,CAAS,GAAGH,MAAZ,IAAsBE,IAAI,CAACE,GAAL,CAAS,GAAGJ,MAAZ,CAA1B,CAFgB,EAGhB,CAAC,CAAD,EAAIC,SAAJ,CAHgB,EAIhBJ,WAAW,CAACQ,KAJI,CAAlB;AAMD","sourcesContent":["import { interpolate, Extrapolate } from 'react-native-reanimated';\n\nimport type { TDomain } from '../types';\n\nexport function getHeight({\n value,\n domain,\n maxHeight,\n}: {\n value: number;\n domain: TDomain;\n maxHeight: number;\n}) {\n 'worklet';\n return interpolate(\n value,\n [0, Math.max(...domain) - Math.min(...domain)],\n [0, maxHeight],\n Extrapolate.CLAMP\n );\n}\n"]}
1
+ {"version":3,"names":["interpolate","Extrapolate","getHeight","value","domain","maxHeight","Math","max","min","CLAMP"],"sourceRoot":"../../../../../src","sources":["charts/candle/utils/getHeight.ts"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,yBAAyB;AAIlE,OAAO,SAASC,SAASA,CAAC;EACxBC,KAAK;EACLC,MAAM;EACNC;AAKF,CAAC,EAAE;EACD,SAAS;;EACT,OAAOL,WAAW,CAChBG,KAAK,EACL,CAAC,CAAC,EAAEG,IAAI,CAACC,GAAG,CAAC,GAAGH,MAAM,CAAC,GAAGE,IAAI,CAACE,GAAG,CAAC,GAAGJ,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,EAAEC,SAAS,CAAC,EACdJ,WAAW,CAACQ,KACd,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"sources":["getPrice.ts"],"names":["interpolate","Extrapolate","getPrice","y","domain","maxHeight","reverse","CLAMP"],"mappings":"AAAA,SAASA,WAAT,EAAsBC,WAAtB,QAAyC,yBAAzC;AAIA,OAAO,SAASC,QAAT,CAAkB;AACvBC,EAAAA,CADuB;AAEvBC,EAAAA,MAFuB;AAGvBC,EAAAA;AAHuB,CAAlB,EAQJ;AACD;;AACA,MAAIF,CAAC,KAAK,CAAC,CAAX,EAAc,OAAO,CAAC,CAAR;AACd,SAAOH,WAAW,CAACG,CAAD,EAAI,CAAC,CAAD,EAAIE,SAAJ,CAAJ,EAAoBD,MAAM,CAACE,OAAP,EAApB,EAAsCL,WAAW,CAACM,KAAlD,CAAlB;AACD","sourcesContent":["import { interpolate, Extrapolate } from 'react-native-reanimated';\n\nimport type { TDomain } from '../types';\n\nexport function getPrice({\n y,\n domain,\n maxHeight,\n}: {\n y: number;\n domain: TDomain;\n maxHeight: number;\n}) {\n 'worklet';\n if (y === -1) return -1;\n return interpolate(y, [0, maxHeight], domain.reverse(), Extrapolate.CLAMP);\n}\n"]}
1
+ {"version":3,"names":["interpolate","Extrapolate","getPrice","y","domain","maxHeight","reverse","CLAMP"],"sourceRoot":"../../../../../src","sources":["charts/candle/utils/getPrice.ts"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,yBAAyB;AAIlE,OAAO,SAASC,QAAQA,CAAC;EACvBC,CAAC;EACDC,MAAM;EACNC;AAKF,CAAC,EAAE;EACD,SAAS;;EACT,IAAIF,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;EACvB,OAAOH,WAAW,CAACG,CAAC,EAAE,CAAC,CAAC,EAAEE,SAAS,CAAC,EAAED,MAAM,CAACE,OAAO,CAAC,CAAC,EAAEL,WAAW,CAACM,KAAK,CAAC;AAC5E"}
@@ -1 +1 @@
1
- {"version":3,"sources":["getY.ts"],"names":["interpolate","Extrapolate","getY","value","domain","maxHeight","CLAMP"],"mappings":"AAAA,SAASA,WAAT,EAAsBC,WAAtB,QAAyC,yBAAzC;AAIA,OAAO,SAASC,IAAT,CAAc;AACnBC,EAAAA,KADmB;AAEnBC,EAAAA,MAFmB;AAGnBC,EAAAA;AAHmB,CAAd,EAQJ;AACD;;AACA,SAAOL,WAAW,CAACG,KAAD,EAAQC,MAAR,EAAgB,CAACC,SAAD,EAAY,CAAZ,CAAhB,EAAgCJ,WAAW,CAACK,KAA5C,CAAlB;AACD","sourcesContent":["import { interpolate, Extrapolate } from 'react-native-reanimated';\n\nimport type { TDomain } from '../types';\n\nexport function getY({\n value,\n domain,\n maxHeight,\n}: {\n value: number;\n domain: TDomain;\n maxHeight: number;\n}) {\n 'worklet';\n return interpolate(value, domain, [maxHeight, 0], Extrapolate.CLAMP);\n}\n"]}
1
+ {"version":3,"names":["interpolate","Extrapolate","getY","value","domain","maxHeight","CLAMP"],"sourceRoot":"../../../../../src","sources":["charts/candle/utils/getY.ts"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,yBAAyB;AAIlE,OAAO,SAASC,IAAIA,CAAC;EACnBC,KAAK;EACLC,MAAM;EACNC;AAKF,CAAC,EAAE;EACD,SAAS;;EACT,OAAOL,WAAW,CAACG,KAAK,EAAEC,MAAM,EAAE,CAACC,SAAS,EAAE,CAAC,CAAC,EAAEJ,WAAW,CAACK,KAAK,CAAC;AACtE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAd;AACA,cAAc,aAAd;AACA,cAAc,YAAd;AACA,cAAc,QAAd","sourcesContent":["export * from './getDomain';\nexport * from './getHeight';\nexport * from './getPrice';\nexport * from './getY';\n"]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["charts/candle/utils/index.ts"],"mappings":"AAAA,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["interpolate","Extrapolate","getDomain","rows","values","map","high","low","flat","min","Math","max","getY","value","domain","maxHeight","CLAMP","getHeight","getPrice","y","reverse"],"mappings":"AAAA,SAASA,WAAT,EAAsBC,WAAtB,QAAyC,yBAAzC;AAIA,OAAO,SAASC,SAAT,CAAmBC,IAAnB,EAAgE;AACrE;;AACA,QAAMC,MAAM,GAAGD,IAAI,CAACE,GAAL,CAAS,CAAC;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAD,KAAmB,CAACD,IAAD,EAAOC,GAAP,CAA5B,EAAyCC,IAAzC,EAAf;AACA,QAAMC,GAAG,GAAGC,IAAI,CAACD,GAAL,CAAS,GAAGL,MAAZ,CAAZ;AACA,QAAMO,GAAG,GAAGD,IAAI,CAACC,GAAL,CAAS,GAAGP,MAAZ,CAAZ;AACA,SAAO,CAACK,GAAG,GAAG,CAACE,GAAG,GAAGF,GAAP,IAAc,KAArB,EAA4BE,GAAG,GAAG,CAACA,GAAG,GAAGF,GAAP,IAAc,KAAhD,CAAP;AACD;AAED,OAAO,SAASG,IAAT,CAAc;AACnBC,EAAAA,KADmB;AAEnBC,EAAAA,MAFmB;AAGnBC,EAAAA;AAHmB,CAAd,EAQJ;AACD;;AACA,SAAOf,WAAW,CAACa,KAAD,EAAQC,MAAR,EAAgB,CAACC,SAAD,EAAY,CAAZ,CAAhB,EAAgCd,WAAW,CAACe,KAA5C,CAAlB;AACD;AAED,OAAO,SAASC,SAAT,CAAmB;AACxBJ,EAAAA,KADwB;AAExBC,EAAAA,MAFwB;AAGxBC,EAAAA;AAHwB,CAAnB,EAQJ;AACD;;AACA,SAAOf,WAAW,CAChBa,KADgB,EAEhB,CAAC,CAAD,EAAIH,IAAI,CAACC,GAAL,CAAS,GAAGG,MAAZ,IAAsBJ,IAAI,CAACD,GAAL,CAAS,GAAGK,MAAZ,CAA1B,CAFgB,EAGhB,CAAC,CAAD,EAAIC,SAAJ,CAHgB,EAIhBd,WAAW,CAACe,KAJI,CAAlB;AAMD;AAED,OAAO,SAASE,QAAT,CAAkB;AACvBC,EAAAA,CADuB;AAEvBL,EAAAA,MAFuB;AAGvBC,EAAAA;AAHuB,CAAlB,EAQJ;AACD;;AACA,MAAII,CAAC,KAAK,CAAC,CAAX,EAAc,OAAO,CAAC,CAAR;AACd,SAAOnB,WAAW,CAACmB,CAAD,EAAI,CAAC,CAAD,EAAIJ,SAAJ,CAAJ,EAAoBD,MAAM,CAACM,OAAP,EAApB,EAAsCnB,WAAW,CAACe,KAAlD,CAAlB;AACD","sourcesContent":["import { interpolate, Extrapolate } from 'react-native-reanimated';\n\nimport type { TCandle, TDomain } from './types';\n\nexport function getDomain(rows: TCandle[]): [min: number, max: number] {\n 'worklet';\n const values = rows.map(({ high, low }) => [high, low]).flat();\n const min = Math.min(...values);\n const max = Math.max(...values);\n return [min - (max - min) * 0.025, max + (max - min) * 0.025];\n}\n\nexport function getY({\n value,\n domain,\n maxHeight,\n}: {\n value: number;\n domain: TDomain;\n maxHeight: number;\n}) {\n 'worklet';\n return interpolate(value, domain, [maxHeight, 0], Extrapolate.CLAMP);\n}\n\nexport function getHeight({\n value,\n domain,\n maxHeight,\n}: {\n value: number;\n domain: TDomain;\n maxHeight: number;\n}) {\n 'worklet';\n return interpolate(\n value,\n [0, Math.max(...domain) - Math.min(...domain)],\n [0, maxHeight],\n Extrapolate.CLAMP\n );\n}\n\nexport function getPrice({\n y,\n domain,\n maxHeight,\n}: {\n y: number;\n domain: TDomain;\n maxHeight: number;\n}) {\n 'worklet';\n if (y === -1) return -1;\n return interpolate(y, [0, maxHeight], domain.reverse(), Extrapolate.CLAMP);\n}\n"]}
1
+ {"version":3,"names":["interpolate","Extrapolate","getDomain","rows","values","map","high","low","flat","min","Math","max","getY","value","domain","maxHeight","CLAMP","getHeight","getPrice","y","reverse"],"sourceRoot":"../../../../src","sources":["charts/candle/utils.ts"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,yBAAyB;AAIlE,OAAO,SAASC,SAASA,CAACC,IAAe,EAA8B;EACrE,SAAS;;EACT,MAAMC,MAAM,GAAGD,IAAI,CAACE,GAAG,CAAC,CAAC;IAAEC,IAAI;IAAEC;EAAI,CAAC,KAAK,CAACD,IAAI,EAAEC,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC;EAC9D,MAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,GAAGL,MAAM,CAAC;EAC/B,MAAMO,GAAG,GAAGD,IAAI,CAACC,GAAG,CAAC,GAAGP,MAAM,CAAC;EAC/B,OAAO,CAACK,GAAG,GAAG,CAACE,GAAG,GAAGF,GAAG,IAAI,KAAK,EAAEE,GAAG,GAAG,CAACA,GAAG,GAAGF,GAAG,IAAI,KAAK,CAAC;AAC/D;AAEA,OAAO,SAASG,IAAIA,CAAC;EACnBC,KAAK;EACLC,MAAM;EACNC;AAKF,CAAC,EAAE;EACD,SAAS;;EACT,OAAOf,WAAW,CAACa,KAAK,EAAEC,MAAM,EAAE,CAACC,SAAS,EAAE,CAAC,CAAC,EAAEd,WAAW,CAACe,KAAK,CAAC;AACtE;AAEA,OAAO,SAASC,SAASA,CAAC;EACxBJ,KAAK;EACLC,MAAM;EACNC;AAKF,CAAC,EAAE;EACD,SAAS;;EACT,OAAOf,WAAW,CAChBa,KAAK,EACL,CAAC,CAAC,EAAEH,IAAI,CAACC,GAAG,CAAC,GAAGG,MAAM,CAAC,GAAGJ,IAAI,CAACD,GAAG,CAAC,GAAGK,MAAM,CAAC,CAAC,EAC9C,CAAC,CAAC,EAAEC,SAAS,CAAC,EACdd,WAAW,CAACe,KACd,CAAC;AACH;AAEA,OAAO,SAASE,QAAQA,CAAC;EACvBC,CAAC;EACDL,MAAM;EACNC;AAKF,CAAC,EAAE;EACD,SAAS;;EACT,IAAII,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;EACvB,OAAOnB,WAAW,CAACmB,CAAC,EAAE,CAAC,CAAC,EAAEJ,SAAS,CAAC,EAAED,MAAM,CAACM,OAAO,CAAC,CAAC,EAAEnB,WAAW,CAACe,KAAK,CAAC;AAC5E"}
@@ -1,13 +1,12 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
- import * as React from 'react'; // @ts-ignore
4
-
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+ import * as React from 'react';
3
+ // @ts-ignore
5
4
  import * as d3Shape from 'd3-shape';
6
5
  import { Dimensions, StyleSheet, View } from 'react-native';
7
- import { LineChartContext } from './Context';
8
6
  import { LineChartIdProvider, useLineChartData } from './Data';
9
- import { getArea, getPath } from './utils';
10
7
  import { parse } from 'react-native-redash';
8
+ import { getArea, getPath } from './utils';
9
+ import { LineChartContext } from './Context';
11
10
  export const LineChartDimensionsContext = /*#__PURE__*/React.createContext({
12
11
  width: 0,
13
12
  height: 0,
@@ -45,11 +44,9 @@ export function LineChart({
45
44
  });
46
45
  const pathWidth = React.useMemo(() => {
47
46
  let allowedWidth = width;
48
-
49
47
  if (xLength > data.length) {
50
48
  allowedWidth = width * data.length / xLength;
51
49
  }
52
-
53
50
  return allowedWidth;
54
51
  }, [data.length, width, xLength]);
55
52
  const path = React.useMemo(() => {
@@ -64,7 +61,6 @@ export function LineChart({
64
61
  xDomain
65
62
  });
66
63
  }
67
-
68
64
  return '';
69
65
  }, [data, pathWidth, height, yGutter, shape, yDomain, xDomain]);
70
66
  const area = React.useMemo(() => {
@@ -75,12 +71,12 @@ export function LineChart({
75
71
  height,
76
72
  gutter: yGutter,
77
73
  shape,
78
- yDomain
74
+ yDomain,
75
+ xDomain
79
76
  });
80
77
  }
81
-
82
78
  return '';
83
- }, [data, pathWidth, height, yGutter, shape, yDomain]);
79
+ }, [data, pathWidth, height, yGutter, shape, yDomain, xDomain]);
84
80
  const dataLength = data.length;
85
81
  const parsedPath = React.useMemo(() => parse(path), [path]);
86
82
  const pointWidth = React.useMemo(() => width / (dataLength - 1), [dataLength, width]);