react-native-chart-kit 7.0.0-next.1 → 7.0.0-next.2

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 (428) hide show
  1. package/README.md +8 -7
  2. package/dist/v2/core/data/index.d.ts +3 -0
  3. package/dist/v2/core/data/index.d.ts.map +1 -0
  4. package/dist/v2/core/data/index.js +1 -0
  5. package/dist/v2/core/data/normalize.d.ts +8 -0
  6. package/dist/v2/core/data/normalize.d.ts.map +1 -0
  7. package/dist/v2/core/data/normalize.js +229 -0
  8. package/dist/v2/core/data/normalizeValues.d.ts +16 -0
  9. package/dist/v2/core/data/normalizeValues.d.ts.map +1 -0
  10. package/dist/v2/core/data/normalizeValues.js +96 -0
  11. package/dist/v2/core/data/types.d.ts +161 -0
  12. package/dist/v2/core/data/types.d.ts.map +1 -0
  13. package/dist/v2/core/data/types.js +1 -0
  14. package/dist/v2/core/geometry/areaPath.d.ts +3 -0
  15. package/dist/v2/core/geometry/areaPath.d.ts.map +1 -0
  16. package/dist/v2/core/geometry/areaPath.js +36 -0
  17. package/dist/v2/core/geometry/barRects.d.ts +44 -0
  18. package/dist/v2/core/geometry/barRects.d.ts.map +1 -0
  19. package/dist/v2/core/geometry/barRects.js +201 -0
  20. package/dist/v2/core/geometry/contributionHeatmap.d.ts +49 -0
  21. package/dist/v2/core/geometry/contributionHeatmap.d.ts.map +1 -0
  22. package/dist/v2/core/geometry/contributionHeatmap.js +107 -0
  23. package/dist/v2/core/geometry/horizontalBarRects.d.ts +27 -0
  24. package/dist/v2/core/geometry/horizontalBarRects.d.ts.map +1 -0
  25. package/dist/v2/core/geometry/horizontalBarRects.js +202 -0
  26. package/dist/v2/core/geometry/index.d.ts +12 -0
  27. package/dist/v2/core/geometry/index.d.ts.map +1 -0
  28. package/dist/v2/core/geometry/index.js +11 -0
  29. package/dist/v2/core/geometry/lineDecimation.d.ts +8 -0
  30. package/dist/v2/core/geometry/lineDecimation.d.ts.map +1 -0
  31. package/dist/v2/core/geometry/lineDecimation.js +110 -0
  32. package/dist/v2/core/geometry/linePath.d.ts +5 -0
  33. package/dist/v2/core/geometry/linePath.d.ts.map +1 -0
  34. package/dist/v2/core/geometry/linePath.js +98 -0
  35. package/dist/v2/core/geometry/lineSeries.d.ts +29 -0
  36. package/dist/v2/core/geometry/lineSeries.d.ts.map +1 -0
  37. package/dist/v2/core/geometry/lineSeries.js +51 -0
  38. package/dist/v2/core/geometry/path.d.ts +6 -0
  39. package/dist/v2/core/geometry/path.d.ts.map +1 -0
  40. package/dist/v2/core/geometry/path.js +24 -0
  41. package/dist/v2/core/geometry/pieArcs.d.ts +29 -0
  42. package/dist/v2/core/geometry/pieArcs.d.ts.map +1 -0
  43. package/dist/v2/core/geometry/pieArcs.js +142 -0
  44. package/dist/v2/core/geometry/progressRings.d.ts +30 -0
  45. package/dist/v2/core/geometry/progressRings.d.ts.map +1 -0
  46. package/dist/v2/core/geometry/progressRings.js +104 -0
  47. package/dist/v2/core/geometry/types.d.ts +32 -0
  48. package/dist/v2/core/geometry/types.d.ts.map +1 -0
  49. package/dist/v2/core/geometry/types.js +1 -0
  50. package/dist/v2/core/index.d.ts +6 -0
  51. package/dist/v2/core/index.d.ts.map +1 -0
  52. package/dist/v2/core/index.js +6 -0
  53. package/dist/v2/core/interaction/index.d.ts +5 -0
  54. package/dist/v2/core/interaction/index.d.ts.map +1 -0
  55. package/dist/v2/core/interaction/index.js +2 -0
  56. package/dist/v2/core/interaction/viewport.d.ts +71 -0
  57. package/dist/v2/core/interaction/viewport.d.ts.map +1 -0
  58. package/dist/v2/core/interaction/viewport.js +216 -0
  59. package/dist/v2/core/interaction/viewportTransform.d.ts +17 -0
  60. package/dist/v2/core/interaction/viewportTransform.d.ts.map +1 -0
  61. package/dist/v2/core/interaction/viewportTransform.js +70 -0
  62. package/dist/v2/core/layout/autoPadding.d.ts +3 -0
  63. package/dist/v2/core/layout/autoPadding.d.ts.map +1 -0
  64. package/dist/v2/core/layout/autoPadding.js +33 -0
  65. package/dist/v2/core/layout/chartBox.d.ts +5 -0
  66. package/dist/v2/core/layout/chartBox.d.ts.map +1 -0
  67. package/dist/v2/core/layout/chartBox.js +22 -0
  68. package/dist/v2/core/layout/debugLayout.d.ts +3 -0
  69. package/dist/v2/core/layout/debugLayout.d.ts.map +1 -0
  70. package/dist/v2/core/layout/debugLayout.js +20 -0
  71. package/dist/v2/core/layout/index.d.ts +8 -0
  72. package/dist/v2/core/layout/index.d.ts.map +1 -0
  73. package/dist/v2/core/layout/index.js +6 -0
  74. package/dist/v2/core/layout/labelCollision.d.ts +3 -0
  75. package/dist/v2/core/layout/labelCollision.d.ts.map +1 -0
  76. package/dist/v2/core/layout/labelCollision.js +90 -0
  77. package/dist/v2/core/layout/legendLayout.d.ts +3 -0
  78. package/dist/v2/core/layout/legendLayout.d.ts.map +1 -0
  79. package/dist/v2/core/layout/legendLayout.js +39 -0
  80. package/dist/v2/core/layout/tooltipPlacement.d.ts +3 -0
  81. package/dist/v2/core/layout/tooltipPlacement.d.ts.map +1 -0
  82. package/dist/v2/core/layout/tooltipPlacement.js +76 -0
  83. package/dist/v2/core/layout/types.d.ts +114 -0
  84. package/dist/v2/core/layout/types.d.ts.map +1 -0
  85. package/dist/v2/core/layout/types.js +1 -0
  86. package/dist/v2/core/scales/band.d.ts +15 -0
  87. package/dist/v2/core/scales/band.d.ts.map +1 -0
  88. package/dist/v2/core/scales/band.js +34 -0
  89. package/dist/v2/core/scales/domain.d.ts +6 -0
  90. package/dist/v2/core/scales/domain.d.ts.map +1 -0
  91. package/dist/v2/core/scales/domain.js +109 -0
  92. package/dist/v2/core/scales/index.d.ts +7 -0
  93. package/dist/v2/core/scales/index.d.ts.map +1 -0
  94. package/dist/v2/core/scales/index.js +5 -0
  95. package/dist/v2/core/scales/linear.d.ts +8 -0
  96. package/dist/v2/core/scales/linear.d.ts.map +1 -0
  97. package/dist/v2/core/scales/linear.js +22 -0
  98. package/dist/v2/core/scales/ticks.d.ts +4 -0
  99. package/dist/v2/core/scales/ticks.d.ts.map +1 -0
  100. package/dist/v2/core/scales/ticks.js +111 -0
  101. package/dist/v2/core/scales/time.d.ts +8 -0
  102. package/dist/v2/core/scales/time.d.ts.map +1 -0
  103. package/dist/v2/core/scales/time.js +23 -0
  104. package/dist/v2/core/scales/types.d.ts +46 -0
  105. package/dist/v2/core/scales/types.d.ts.map +1 -0
  106. package/dist/v2/core/scales/types.js +1 -0
  107. package/dist/v2/index.d.ts +1 -0
  108. package/dist/v2/index.js +1 -0
  109. package/dist/v2/react-native/charts/bar/BarChart.d.ts +6 -0
  110. package/dist/v2/react-native/charts/bar/BarChart.d.ts.map +1 -0
  111. package/dist/v2/react-native/charts/bar/BarChart.js +198 -0
  112. package/dist/v2/react-native/charts/bar/BarChartSurface.d.ts +36 -0
  113. package/dist/v2/react-native/charts/bar/BarChartSurface.d.ts.map +1 -0
  114. package/dist/v2/react-native/charts/bar/BarChartSurface.js +126 -0
  115. package/dist/v2/react-native/charts/bar/StackedBarChart.d.ts +4 -0
  116. package/dist/v2/react-native/charts/bar/StackedBarChart.d.ts.map +1 -0
  117. package/dist/v2/react-native/charts/bar/StackedBarChart.js +9 -0
  118. package/dist/v2/react-native/charts/bar/accessibility.d.ts +31 -0
  119. package/dist/v2/react-native/charts/bar/accessibility.d.ts.map +1 -0
  120. package/dist/v2/react-native/charts/bar/accessibility.js +87 -0
  121. package/dist/v2/react-native/charts/bar/interaction.d.ts +18 -0
  122. package/dist/v2/react-native/charts/bar/interaction.d.ts.map +1 -0
  123. package/dist/v2/react-native/charts/bar/interaction.js +62 -0
  124. package/dist/v2/react-native/charts/bar/model.d.ts +3 -0
  125. package/dist/v2/react-native/charts/bar/model.d.ts.map +1 -0
  126. package/dist/v2/react-native/charts/bar/model.js +326 -0
  127. package/dist/v2/react-native/charts/bar/modelUtils.d.ts +27 -0
  128. package/dist/v2/react-native/charts/bar/modelUtils.d.ts.map +1 -0
  129. package/dist/v2/react-native/charts/bar/modelUtils.js +58 -0
  130. package/dist/v2/react-native/charts/bar/options.d.ts +7 -0
  131. package/dist/v2/react-native/charts/bar/options.d.ts.map +1 -0
  132. package/dist/v2/react-native/charts/bar/options.js +49 -0
  133. package/dist/v2/react-native/charts/bar/rendererSafety.d.ts +12 -0
  134. package/dist/v2/react-native/charts/bar/rendererSafety.d.ts.map +1 -0
  135. package/dist/v2/react-native/charts/bar/rendererSafety.js +31 -0
  136. package/dist/v2/react-native/charts/bar/selectionAnimation.d.ts +42 -0
  137. package/dist/v2/react-native/charts/bar/selectionAnimation.d.ts.map +1 -0
  138. package/dist/v2/react-native/charts/bar/selectionAnimation.js +158 -0
  139. package/dist/v2/react-native/charts/bar/stackedCompat.d.ts +55 -0
  140. package/dist/v2/react-native/charts/bar/stackedCompat.d.ts.map +1 -0
  141. package/dist/v2/react-native/charts/bar/stackedCompat.js +105 -0
  142. package/dist/v2/react-native/charts/bar/tooltip.d.ts +11 -0
  143. package/dist/v2/react-native/charts/bar/tooltip.d.ts.map +1 -0
  144. package/dist/v2/react-native/charts/bar/tooltip.js +15 -0
  145. package/dist/v2/react-native/charts/bar/tooltipModel.d.ts +33 -0
  146. package/dist/v2/react-native/charts/bar/tooltipModel.d.ts.map +1 -0
  147. package/dist/v2/react-native/charts/bar/tooltipModel.js +40 -0
  148. package/dist/v2/react-native/charts/bar/tooltipPlacement.d.ts +9 -0
  149. package/dist/v2/react-native/charts/bar/tooltipPlacement.d.ts.map +1 -0
  150. package/dist/v2/react-native/charts/bar/tooltipPlacement.js +9 -0
  151. package/dist/v2/react-native/charts/bar/types.d.ts +211 -0
  152. package/dist/v2/react-native/charts/bar/types.d.ts.map +1 -0
  153. package/dist/v2/react-native/charts/bar/types.js +1 -0
  154. package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.d.ts +10 -0
  155. package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.d.ts.map +1 -0
  156. package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.js +87 -0
  157. package/dist/v2/react-native/charts/bar/viewport.d.ts +20 -0
  158. package/dist/v2/react-native/charts/bar/viewport.d.ts.map +1 -0
  159. package/dist/v2/react-native/charts/bar/viewport.js +47 -0
  160. package/dist/v2/react-native/charts/contribution/ContributionGraph.d.ts +13 -0
  161. package/dist/v2/react-native/charts/contribution/ContributionGraph.d.ts.map +1 -0
  162. package/dist/v2/react-native/charts/contribution/ContributionGraph.js +65 -0
  163. package/dist/v2/react-native/charts/contribution/accessibility.d.ts +25 -0
  164. package/dist/v2/react-native/charts/contribution/accessibility.d.ts.map +1 -0
  165. package/dist/v2/react-native/charts/contribution/accessibility.js +50 -0
  166. package/dist/v2/react-native/charts/contribution/model.d.ts +17 -0
  167. package/dist/v2/react-native/charts/contribution/model.d.ts.map +1 -0
  168. package/dist/v2/react-native/charts/contribution/model.js +102 -0
  169. package/dist/v2/react-native/charts/contribution/types.d.ts +50 -0
  170. package/dist/v2/react-native/charts/contribution/types.d.ts.map +1 -0
  171. package/dist/v2/react-native/charts/contribution/types.js +1 -0
  172. package/dist/v2/react-native/charts/line/AreaChart.d.ts +3 -0
  173. package/dist/v2/react-native/charts/line/AreaChart.d.ts.map +1 -0
  174. package/dist/v2/react-native/charts/line/AreaChart.js +3 -0
  175. package/dist/v2/react-native/charts/line/ChartSurface.d.ts +16 -0
  176. package/dist/v2/react-native/charts/line/ChartSurface.d.ts.map +1 -0
  177. package/dist/v2/react-native/charts/line/ChartSurface.js +151 -0
  178. package/dist/v2/react-native/charts/line/LineChart.d.ts +6 -0
  179. package/dist/v2/react-native/charts/line/LineChart.d.ts.map +1 -0
  180. package/dist/v2/react-native/charts/line/LineChart.js +294 -0
  181. package/dist/v2/react-native/charts/line/StickyYAxis.d.ts +15 -0
  182. package/dist/v2/react-native/charts/line/StickyYAxis.d.ts.map +1 -0
  183. package/dist/v2/react-native/charts/line/StickyYAxis.js +26 -0
  184. package/dist/v2/react-native/charts/line/accessibility.d.ts +34 -0
  185. package/dist/v2/react-native/charts/line/accessibility.d.ts.map +1 -0
  186. package/dist/v2/react-native/charts/line/accessibility.js +103 -0
  187. package/dist/v2/react-native/charts/line/axisLabels.d.ts +37 -0
  188. package/dist/v2/react-native/charts/line/axisLabels.d.ts.map +1 -0
  189. package/dist/v2/react-native/charts/line/axisLabels.js +55 -0
  190. package/dist/v2/react-native/charts/line/debugLayout.d.ts +26 -0
  191. package/dist/v2/react-native/charts/line/debugLayout.d.ts.map +1 -0
  192. package/dist/v2/react-native/charts/line/debugLayout.js +77 -0
  193. package/dist/v2/react-native/charts/line/debugOverlay.d.ts +9 -0
  194. package/dist/v2/react-native/charts/line/debugOverlay.d.ts.map +1 -0
  195. package/dist/v2/react-native/charts/line/debugOverlay.js +30 -0
  196. package/dist/v2/react-native/charts/line/defaultTooltip.d.ts +3 -0
  197. package/dist/v2/react-native/charts/line/defaultTooltip.d.ts.map +1 -0
  198. package/dist/v2/react-native/charts/line/defaultTooltip.js +17 -0
  199. package/dist/v2/react-native/charts/line/interaction.d.ts +82 -0
  200. package/dist/v2/react-native/charts/line/interaction.d.ts.map +1 -0
  201. package/dist/v2/react-native/charts/line/interaction.js +94 -0
  202. package/dist/v2/react-native/charts/line/legend.d.ts +35 -0
  203. package/dist/v2/react-native/charts/line/legend.d.ts.map +1 -0
  204. package/dist/v2/react-native/charts/line/legend.js +95 -0
  205. package/dist/v2/react-native/charts/line/markers.d.ts +11 -0
  206. package/dist/v2/react-native/charts/line/markers.d.ts.map +1 -0
  207. package/dist/v2/react-native/charts/line/markers.js +52 -0
  208. package/dist/v2/react-native/charts/line/options.d.ts +172 -0
  209. package/dist/v2/react-native/charts/line/options.d.ts.map +1 -0
  210. package/dist/v2/react-native/charts/line/options.js +168 -0
  211. package/dist/v2/react-native/charts/line/outsidePressSurfaces.d.ts +15 -0
  212. package/dist/v2/react-native/charts/line/outsidePressSurfaces.d.ts.map +1 -0
  213. package/dist/v2/react-native/charts/line/outsidePressSurfaces.js +37 -0
  214. package/dist/v2/react-native/charts/line/overviewProps.d.ts +45 -0
  215. package/dist/v2/react-native/charts/line/overviewProps.d.ts.map +1 -0
  216. package/dist/v2/react-native/charts/line/overviewProps.js +4 -0
  217. package/dist/v2/react-native/charts/line/rangeSelector.d.ts +19 -0
  218. package/dist/v2/react-native/charts/line/rangeSelector.d.ts.map +1 -0
  219. package/dist/v2/react-native/charts/line/rangeSelector.js +176 -0
  220. package/dist/v2/react-native/charts/line/rangeSelectorConfig.d.ts +38 -0
  221. package/dist/v2/react-native/charts/line/rangeSelectorConfig.d.ts.map +1 -0
  222. package/dist/v2/react-native/charts/line/rangeSelectorConfig.js +41 -0
  223. package/dist/v2/react-native/charts/line/referenceLabelPlacement.d.ts +21 -0
  224. package/dist/v2/react-native/charts/line/referenceLabelPlacement.d.ts.map +1 -0
  225. package/dist/v2/react-native/charts/line/referenceLabelPlacement.js +113 -0
  226. package/dist/v2/react-native/charts/line/references.d.ts +62 -0
  227. package/dist/v2/react-native/charts/line/references.d.ts.map +1 -0
  228. package/dist/v2/react-native/charts/line/references.js +156 -0
  229. package/dist/v2/react-native/charts/line/renderer.d.ts +4 -0
  230. package/dist/v2/react-native/charts/line/renderer.d.ts.map +1 -0
  231. package/dist/v2/react-native/charts/line/renderer.js +23 -0
  232. package/dist/v2/react-native/charts/line/responders.d.ts +13 -0
  233. package/dist/v2/react-native/charts/line/responders.d.ts.map +1 -0
  234. package/dist/v2/react-native/charts/line/responders.js +59 -0
  235. package/dist/v2/react-native/charts/line/selection.d.ts +31 -0
  236. package/dist/v2/react-native/charts/line/selection.d.ts.map +1 -0
  237. package/dist/v2/react-native/charts/line/selection.js +26 -0
  238. package/dist/v2/react-native/charts/line/seriesInput.d.ts +4 -0
  239. package/dist/v2/react-native/charts/line/seriesInput.d.ts.map +1 -0
  240. package/dist/v2/react-native/charts/line/seriesInput.js +13 -0
  241. package/dist/v2/react-native/charts/line/seriesStyles.d.ts +20 -0
  242. package/dist/v2/react-native/charts/line/seriesStyles.d.ts.map +1 -0
  243. package/dist/v2/react-native/charts/line/seriesStyles.js +33 -0
  244. package/dist/v2/react-native/charts/line/stickyYAxisLayout.d.ts +6 -0
  245. package/dist/v2/react-native/charts/line/stickyYAxisLayout.d.ts.map +1 -0
  246. package/dist/v2/react-native/charts/line/stickyYAxisLayout.js +2 -0
  247. package/dist/v2/react-native/charts/line/text.d.ts +7 -0
  248. package/dist/v2/react-native/charts/line/text.d.ts.map +1 -0
  249. package/dist/v2/react-native/charts/line/text.js +7 -0
  250. package/dist/v2/react-native/charts/line/thresholdRendering.d.ts +28 -0
  251. package/dist/v2/react-native/charts/line/thresholdRendering.d.ts.map +1 -0
  252. package/dist/v2/react-native/charts/line/thresholdRendering.js +145 -0
  253. package/dist/v2/react-native/charts/line/tooltip.d.ts +70 -0
  254. package/dist/v2/react-native/charts/line/tooltip.d.ts.map +1 -0
  255. package/dist/v2/react-native/charts/line/tooltip.js +87 -0
  256. package/dist/v2/react-native/charts/line/types.d.ts +371 -0
  257. package/dist/v2/react-native/charts/line/types.d.ts.map +1 -0
  258. package/dist/v2/react-native/charts/line/types.js +1 -0
  259. package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.d.ts +13 -0
  260. package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.d.ts.map +1 -0
  261. package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.js +84 -0
  262. package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.d.ts +5 -0
  263. package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.d.ts.map +1 -0
  264. package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.js +141 -0
  265. package/dist/v2/react-native/charts/line/useChartModel.d.ts +103 -0
  266. package/dist/v2/react-native/charts/line/useChartModel.d.ts.map +1 -0
  267. package/dist/v2/react-native/charts/line/useChartModel.js +367 -0
  268. package/dist/v2/react-native/charts/line/useDebugLayout.d.ts +16 -0
  269. package/dist/v2/react-native/charts/line/useDebugLayout.d.ts.map +1 -0
  270. package/dist/v2/react-native/charts/line/useDebugLayout.js +35 -0
  271. package/dist/v2/react-native/charts/line/utils.d.ts +10 -0
  272. package/dist/v2/react-native/charts/line/utils.d.ts.map +1 -0
  273. package/dist/v2/react-native/charts/line/utils.js +40 -0
  274. package/dist/v2/react-native/charts/line/viewportInteraction.d.ts +3 -0
  275. package/dist/v2/react-native/charts/line/viewportInteraction.d.ts.map +1 -0
  276. package/dist/v2/react-native/charts/line/viewportInteraction.js +1 -0
  277. package/dist/v2/react-native/charts/line/viewportInteractionConfig.d.ts +3 -0
  278. package/dist/v2/react-native/charts/line/viewportInteractionConfig.d.ts.map +1 -0
  279. package/dist/v2/react-native/charts/line/viewportInteractionConfig.js +1 -0
  280. package/dist/v2/react-native/charts/line/viewportPinchZoom.d.ts +2 -0
  281. package/dist/v2/react-native/charts/line/viewportPinchZoom.d.ts.map +1 -0
  282. package/dist/v2/react-native/charts/line/viewportPinchZoom.js +1 -0
  283. package/dist/v2/react-native/charts/line/xLabelCandidates.d.ts +13 -0
  284. package/dist/v2/react-native/charts/line/xLabelCandidates.d.ts.map +1 -0
  285. package/dist/v2/react-native/charts/line/xLabelCandidates.js +23 -0
  286. package/dist/v2/react-native/charts/line/xLabels.d.ts +39 -0
  287. package/dist/v2/react-native/charts/line/xLabels.d.ts.map +1 -0
  288. package/dist/v2/react-native/charts/line/xLabels.js +289 -0
  289. package/dist/v2/react-native/charts/line/xScale.d.ts +6 -0
  290. package/dist/v2/react-native/charts/line/xScale.d.ts.map +1 -0
  291. package/dist/v2/react-native/charts/line/xScale.js +25 -0
  292. package/dist/v2/react-native/charts/line/yAxisModel.d.ts +29 -0
  293. package/dist/v2/react-native/charts/line/yAxisModel.d.ts.map +1 -0
  294. package/dist/v2/react-native/charts/line/yAxisModel.js +39 -0
  295. package/dist/v2/react-native/charts/pie/PieChart.d.ts +7 -0
  296. package/dist/v2/react-native/charts/pie/PieChart.d.ts.map +1 -0
  297. package/dist/v2/react-native/charts/pie/PieChart.js +244 -0
  298. package/dist/v2/react-native/charts/pie/accessibility.d.ts +28 -0
  299. package/dist/v2/react-native/charts/pie/accessibility.d.ts.map +1 -0
  300. package/dist/v2/react-native/charts/pie/accessibility.js +49 -0
  301. package/dist/v2/react-native/charts/pie/activeSlice.d.ts +15 -0
  302. package/dist/v2/react-native/charts/pie/activeSlice.d.ts.map +1 -0
  303. package/dist/v2/react-native/charts/pie/activeSlice.js +26 -0
  304. package/dist/v2/react-native/charts/pie/arcLabels.d.ts +32 -0
  305. package/dist/v2/react-native/charts/pie/arcLabels.d.ts.map +1 -0
  306. package/dist/v2/react-native/charts/pie/arcLabels.js +191 -0
  307. package/dist/v2/react-native/charts/pie/interaction.d.ts +26 -0
  308. package/dist/v2/react-native/charts/pie/interaction.d.ts.map +1 -0
  309. package/dist/v2/react-native/charts/pie/interaction.js +66 -0
  310. package/dist/v2/react-native/charts/pie/model.d.ts +15 -0
  311. package/dist/v2/react-native/charts/pie/model.d.ts.map +1 -0
  312. package/dist/v2/react-native/charts/pie/model.js +157 -0
  313. package/dist/v2/react-native/charts/pie/selectionAnimation.d.ts +33 -0
  314. package/dist/v2/react-native/charts/pie/selectionAnimation.d.ts.map +1 -0
  315. package/dist/v2/react-native/charts/pie/selectionAnimation.js +121 -0
  316. package/dist/v2/react-native/charts/pie/sliceSeparator.d.ts +7 -0
  317. package/dist/v2/react-native/charts/pie/sliceSeparator.d.ts.map +1 -0
  318. package/dist/v2/react-native/charts/pie/sliceSeparator.js +26 -0
  319. package/dist/v2/react-native/charts/pie/slices.d.ts +20 -0
  320. package/dist/v2/react-native/charts/pie/slices.d.ts.map +1 -0
  321. package/dist/v2/react-native/charts/pie/slices.js +54 -0
  322. package/dist/v2/react-native/charts/pie/types.d.ts +165 -0
  323. package/dist/v2/react-native/charts/pie/types.d.ts.map +1 -0
  324. package/dist/v2/react-native/charts/pie/types.js +1 -0
  325. package/dist/v2/react-native/charts/progress/ProgressChart.d.ts +7 -0
  326. package/dist/v2/react-native/charts/progress/ProgressChart.d.ts.map +1 -0
  327. package/dist/v2/react-native/charts/progress/ProgressChart.js +111 -0
  328. package/dist/v2/react-native/charts/progress/accessibility.d.ts +26 -0
  329. package/dist/v2/react-native/charts/progress/accessibility.d.ts.map +1 -0
  330. package/dist/v2/react-native/charts/progress/accessibility.js +71 -0
  331. package/dist/v2/react-native/charts/progress/animation.d.ts +36 -0
  332. package/dist/v2/react-native/charts/progress/animation.d.ts.map +1 -0
  333. package/dist/v2/react-native/charts/progress/animation.js +103 -0
  334. package/dist/v2/react-native/charts/progress/model.d.ts +14 -0
  335. package/dist/v2/react-native/charts/progress/model.d.ts.map +1 -0
  336. package/dist/v2/react-native/charts/progress/model.js +133 -0
  337. package/dist/v2/react-native/charts/progress/types.d.ts +72 -0
  338. package/dist/v2/react-native/charts/progress/types.d.ts.map +1 -0
  339. package/dist/v2/react-native/charts/progress/types.js +1 -0
  340. package/dist/v2/react-native/index.d.ts +24 -0
  341. package/dist/v2/react-native/index.d.ts.map +1 -0
  342. package/dist/v2/react-native/index.js +14 -0
  343. package/dist/v2/react-native/selection/ChartSelectionProvider.d.ts +27 -0
  344. package/dist/v2/react-native/selection/ChartSelectionProvider.d.ts.map +1 -0
  345. package/dist/v2/react-native/selection/ChartSelectionProvider.js +92 -0
  346. package/dist/v2/react-native/selection/index.d.ts +2 -0
  347. package/dist/v2/react-native/selection/index.d.ts.map +1 -0
  348. package/dist/v2/react-native/selection/index.js +1 -0
  349. package/dist/v2/react-native/selection/scope.d.ts +16 -0
  350. package/dist/v2/react-native/selection/scope.d.ts.map +1 -0
  351. package/dist/v2/react-native/selection/scope.js +18 -0
  352. package/dist/v2/react-native/theme/index.d.ts +4 -0
  353. package/dist/v2/react-native/theme/index.d.ts.map +1 -0
  354. package/dist/v2/react-native/theme/index.js +2 -0
  355. package/dist/v2/react-native/theme/presets.d.ts +84 -0
  356. package/dist/v2/react-native/theme/presets.d.ts.map +1 -0
  357. package/dist/v2/react-native/theme/presets.js +298 -0
  358. package/dist/v2/react-native/theme/provider.d.ts +20 -0
  359. package/dist/v2/react-native/theme/provider.d.ts.map +1 -0
  360. package/dist/v2/react-native/theme/provider.js +27 -0
  361. package/dist/v2/react-native/viewport/bounds.d.ts +7 -0
  362. package/dist/v2/react-native/viewport/bounds.d.ts.map +1 -0
  363. package/dist/v2/react-native/viewport/bounds.js +7 -0
  364. package/dist/v2/react-native/viewport/config.d.ts +13 -0
  365. package/dist/v2/react-native/viewport/config.d.ts.map +1 -0
  366. package/dist/v2/react-native/viewport/config.js +64 -0
  367. package/dist/v2/react-native/viewport/pan.d.ts +23 -0
  368. package/dist/v2/react-native/viewport/pan.d.ts.map +1 -0
  369. package/dist/v2/react-native/viewport/pan.js +110 -0
  370. package/dist/v2/react-native/viewport/panResponder.d.ts +14 -0
  371. package/dist/v2/react-native/viewport/panResponder.d.ts.map +1 -0
  372. package/dist/v2/react-native/viewport/panResponder.js +115 -0
  373. package/dist/v2/react-native/viewport/pinchZoom.d.ts +17 -0
  374. package/dist/v2/react-native/viewport/pinchZoom.d.ts.map +1 -0
  375. package/dist/v2/react-native/viewport/pinchZoom.js +131 -0
  376. package/dist/v2/react-native/viewport/types.d.ts +55 -0
  377. package/dist/v2/react-native/viewport/types.d.ts.map +1 -0
  378. package/dist/v2/react-native/viewport/types.js +1 -0
  379. package/dist/v2/svg-renderer/capabilities.d.ts +3 -0
  380. package/dist/v2/svg-renderer/capabilities.d.ts.map +1 -0
  381. package/dist/v2/svg-renderer/capabilities.js +12 -0
  382. package/dist/v2/svg-renderer/clipPath.d.ts +4 -0
  383. package/dist/v2/svg-renderer/clipPath.d.ts.map +1 -0
  384. package/dist/v2/svg-renderer/clipPath.js +35 -0
  385. package/dist/v2/svg-renderer/defs.d.ts +6 -0
  386. package/dist/v2/svg-renderer/defs.d.ts.map +1 -0
  387. package/dist/v2/svg-renderer/defs.js +18 -0
  388. package/dist/v2/svg-renderer/ensureConsole.d.ts +4 -0
  389. package/dist/v2/svg-renderer/ensureConsole.d.ts.map +1 -0
  390. package/dist/v2/svg-renderer/ensureConsole.js +54 -0
  391. package/dist/v2/svg-renderer/hitRegions.d.ts +3 -0
  392. package/dist/v2/svg-renderer/hitRegions.d.ts.map +1 -0
  393. package/dist/v2/svg-renderer/hitRegions.js +6 -0
  394. package/dist/v2/svg-renderer/index.d.ts +14 -0
  395. package/dist/v2/svg-renderer/index.d.ts.map +1 -0
  396. package/dist/v2/svg-renderer/index.js +13 -0
  397. package/dist/v2/svg-renderer/layerOrder.d.ts +19 -0
  398. package/dist/v2/svg-renderer/layerOrder.d.ts.map +1 -0
  399. package/dist/v2/svg-renderer/layerOrder.js +18 -0
  400. package/dist/v2/svg-renderer/layers.d.ts +3 -0
  401. package/dist/v2/svg-renderer/layers.d.ts.map +1 -0
  402. package/dist/v2/svg-renderer/layers.js +4 -0
  403. package/dist/v2/svg-renderer/primitives.d.ts +12 -0
  404. package/dist/v2/svg-renderer/primitives.d.ts.map +1 -0
  405. package/dist/v2/svg-renderer/primitives.js +13 -0
  406. package/dist/v2/svg-renderer/renderer.d.ts +4 -0
  407. package/dist/v2/svg-renderer/renderer.d.ts.map +1 -0
  408. package/dist/v2/svg-renderer/renderer.js +24 -0
  409. package/dist/v2/svg-renderer/symbolGeometry.d.ts +6 -0
  410. package/dist/v2/svg-renderer/symbolGeometry.d.ts.map +1 -0
  411. package/dist/v2/svg-renderer/symbolGeometry.js +10 -0
  412. package/dist/v2/svg-renderer/symbols.d.ts +3 -0
  413. package/dist/v2/svg-renderer/symbols.d.ts.map +1 -0
  414. package/dist/v2/svg-renderer/symbols.js +23 -0
  415. package/dist/v2/svg-renderer/testIds.d.ts +2 -0
  416. package/dist/v2/svg-renderer/testIds.d.ts.map +1 -0
  417. package/dist/v2/svg-renderer/testIds.js +10 -0
  418. package/dist/v2/svg-renderer/textMeasurement.d.ts +4 -0
  419. package/dist/v2/svg-renderer/textMeasurement.d.ts.map +1 -0
  420. package/dist/v2/svg-renderer/textMeasurement.js +37 -0
  421. package/dist/v2/svg-renderer/types.d.ts +134 -0
  422. package/dist/v2/svg-renderer/types.d.ts.map +1 -0
  423. package/dist/v2/svg-renderer/types.js +1 -0
  424. package/package.json +39 -48
  425. package/v2/index.d.ts +1 -0
  426. package/v2/index.js +1 -0
  427. package/v2/package.json +6 -0
  428. package/scripts/chartkit-codemod.mjs +0 -256
@@ -0,0 +1,70 @@
1
+ import type { ResolvedLineChartTooltipConfig } from "./options";
2
+ export declare const lineChartTooltipLineHeight = 18;
3
+ export declare const lineChartTooltipLabelLineHeight = 16;
4
+ export type LineChartTooltipSeriesItem<TPoint = unknown> = {
5
+ key: string;
6
+ label: string;
7
+ color: string;
8
+ value: number | null | undefined;
9
+ formattedValue: string;
10
+ point: TPoint;
11
+ };
12
+ export type LineChartTooltipRenderProps<TPoint = unknown, TTheme = unknown> = {
13
+ index: number;
14
+ x: number;
15
+ y: number;
16
+ width: number;
17
+ height: number;
18
+ xLabel: string;
19
+ series: Array<LineChartTooltipSeriesItem<TPoint>>;
20
+ config: ResolvedLineChartTooltipConfig;
21
+ theme: TTheme;
22
+ };
23
+ type TextMeasurer = (text: string, options?: {
24
+ fontSize?: number;
25
+ }) => {
26
+ width: number;
27
+ height: number;
28
+ };
29
+ export declare const easeLineChartTooltipPosition: (progress: number) => number;
30
+ export declare const interpolateLineChartTooltipPosition: ({ from, progress, to }: {
31
+ from: {
32
+ x: number;
33
+ y: number;
34
+ };
35
+ progress: number;
36
+ to: {
37
+ x: number;
38
+ y: number;
39
+ };
40
+ }) => {
41
+ x: number;
42
+ y: number;
43
+ };
44
+ export declare const clampLineChartTooltipToViewport: <TPoint, TTheme>(tooltip: LineChartTooltipRenderProps<TPoint, TTheme>, { leftInset, scrollOffset, viewportWidth }: {
45
+ leftInset?: number | undefined;
46
+ scrollOffset: number;
47
+ viewportWidth: number;
48
+ }) => LineChartTooltipRenderProps<TPoint, TTheme>;
49
+ export declare const getLineChartTooltipModel: <TPoint, TTheme>({ chartHeight, chartWidth, config, measureText, plotX, plotY, selection, theme }: {
50
+ chartHeight: number;
51
+ chartWidth: number;
52
+ config: ResolvedLineChartTooltipConfig;
53
+ measureText: TextMeasurer;
54
+ plotX?: number | undefined;
55
+ plotY: number;
56
+ selection: {
57
+ index: number;
58
+ x: number;
59
+ y: number;
60
+ pointer?: {
61
+ x: number;
62
+ y: number;
63
+ } | undefined;
64
+ xLabel: string;
65
+ series: Array<LineChartTooltipSeriesItem<TPoint>>;
66
+ };
67
+ theme: TTheme;
68
+ }) => LineChartTooltipRenderProps<TPoint, TTheme> | undefined;
69
+ export {};
70
+ //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../src/charts/line/tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAEhE,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAElD,MAAM,MAAM,0BAA0B,CAAC,MAAM,GAAG,OAAO,IAAI;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,MAAM,EAAE,8BAA8B,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,YAAY,GAAG,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5B;IACH,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAUF,eAAO,MAAM,4BAA4B,GAAI,UAAU,MAAM,WAI5D,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAAI,wBAIjD;IACD,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;;;CAOA,CAAC;AA6CF,eAAO,MAAM,+BAA+B,GAAI,MAAM,EAAE,MAAM,EAC5D,SAAS,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,EACpD,4CAIG;IACD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,KACA,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAO3C,CAAC;AAEH,eAAO,MAAM,wBAAwB,GAAI,MAAM,EAAE,MAAM,EAAE,kFAStD;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,8BAA8B,CAAC;IACvC,WAAW,EAAE,YAAY,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,OAAO,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;QAC/C,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,KAAK,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;KACnD,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;CACf,KAAG,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAyDjD,CAAC"}
@@ -0,0 +1,87 @@
1
+ export const lineChartTooltipLineHeight = 18;
2
+ export const lineChartTooltipLabelLineHeight = 16;
3
+ const clamp = (value, min, max) => {
4
+ if (max < min) {
5
+ return min;
6
+ }
7
+ return Math.min(Math.max(value, min), max);
8
+ };
9
+ export const easeLineChartTooltipPosition = (progress) => {
10
+ const clampedProgress = clamp(progress, 0, 1);
11
+ return 1 - Math.pow(1 - clampedProgress, 3);
12
+ };
13
+ export const interpolateLineChartTooltipPosition = ({ from, progress, to }) => {
14
+ const easedProgress = easeLineChartTooltipPosition(progress);
15
+ return {
16
+ x: from.x + (to.x - from.x) * easedProgress,
17
+ y: from.y + (to.y - from.y) * easedProgress
18
+ };
19
+ };
20
+ const getTooltipX = ({ chartWidth, edgePadding, anchorX, leftInset = edgePadding, width }) => clamp(anchorX - width / 2, leftInset, chartWidth - width - edgePadding);
21
+ const getTooltipY = ({ anchorY, chartHeight, config, height, plotY }) => {
22
+ const minY = config.edgePadding;
23
+ const maxY = chartHeight - height - config.edgePadding;
24
+ const aboveY = anchorY - height - config.offset;
25
+ const belowY = anchorY + config.offset;
26
+ if (config.placement === "above") {
27
+ return clamp(aboveY, minY, maxY);
28
+ }
29
+ if (config.placement === "below") {
30
+ return clamp(belowY, minY, maxY);
31
+ }
32
+ return aboveY >= plotY ? aboveY : clamp(belowY, minY, maxY);
33
+ };
34
+ export const clampLineChartTooltipToViewport = (tooltip, { leftInset = 4, scrollOffset, viewportWidth }) => ({
35
+ ...tooltip,
36
+ x: clamp(tooltip.x, scrollOffset + leftInset, scrollOffset + viewportWidth - tooltip.width - tooltip.config.edgePadding)
37
+ });
38
+ export const getLineChartTooltipModel = ({ chartHeight, chartWidth, config, measureText, plotX, plotY, selection, theme }) => {
39
+ if (!config.visible || selection.series.length === 0) {
40
+ return undefined;
41
+ }
42
+ const series = config.shared
43
+ ? selection.series
44
+ : selection.series.slice(0, 1);
45
+ const labelWidth = measureText(selection.xLabel, {
46
+ fontSize: config.labelFontSize
47
+ }).width;
48
+ const seriesTextWidths = series.map((item) => measureText(`${item.label}: ${item.formattedValue}`, {
49
+ fontSize: config.fontSize
50
+ }).width);
51
+ const markerWidth = 12;
52
+ const contentWidth = Math.max(labelWidth, ...seriesTextWidths) + markerWidth;
53
+ const width = config.width ?? contentWidth + config.padding * 2;
54
+ const height = config.padding * 2 +
55
+ lineChartTooltipLabelLineHeight +
56
+ series.length * lineChartTooltipLineHeight;
57
+ const anchor = config.anchor === "pointer" && selection.pointer
58
+ ? selection.pointer
59
+ : selection;
60
+ const x = getTooltipX({
61
+ chartWidth,
62
+ edgePadding: config.edgePadding,
63
+ leftInset: plotX === undefined
64
+ ? config.edgePadding
65
+ : Math.max(config.edgePadding, plotX + config.edgePadding),
66
+ anchorX: anchor.x,
67
+ width
68
+ });
69
+ const y = getTooltipY({
70
+ anchorY: anchor.y,
71
+ chartHeight,
72
+ config,
73
+ height,
74
+ plotY
75
+ });
76
+ return {
77
+ index: selection.index,
78
+ x,
79
+ y,
80
+ width,
81
+ height,
82
+ xLabel: selection.xLabel,
83
+ series,
84
+ config,
85
+ theme
86
+ };
87
+ };
@@ -0,0 +1,371 @@
1
+ import type { ElementType, ReactNode } from "react";
2
+ import type { ChartBoxes, ChartViewportInitialIndex, ChartXValue, LayoutDebugModel, LineCurve, NumericDomainInput, ProjectedLinePoint } from "../../../core/index";
3
+ import type { CartesianChartPresetValue, CartesianChartTheme, ChartKitThemeMode, ResolvedCartesianChartTheme } from "../../theme";
4
+ import type { LineChartInteraction } from "./interaction";
5
+ import type { LineChartCrosshairConfig, LineChartAreaFillConfig, LineChartDecimationConfig, LineChartDotConfig, LineChartStrokeLinecap, LineChartStrokeLinejoin, LineChartThresholdStyleConfig, LineChartTooltipConfig, ResolvedLineChartCrosshairConfig, ResolvedLineChartDotConfig } from "./options";
6
+ import type { LineChartSelectedSeriesItem as BaseLineChartSelectedSeriesItem } from "./selection";
7
+ import type { LineChartTooltipRenderProps as BaseLineChartTooltipRenderProps, LineChartTooltipSeriesItem as BaseLineChartTooltipSeriesItem } from "./tooltip";
8
+ import type { LineChartAxisLabelAnimationConfig } from "./axisLabels";
9
+ import type { LineChartYAxisLabelWidth } from "./axisLabels";
10
+ export type { LineChartInteraction, LineChartInteractionConfig, LineChartInteractionMode, LineChartDeselectEvent, LineChartSelectEvent } from "./interaction";
11
+ export type { LineChartAreaFillConfig, LineChartCrosshairConfig, LineChartDotColor, LineChartDotConfig, LineChartDotShape, LineChartDecimationConfig, LineChartStrokeLinecap, LineChartStrokeLinejoin, LineChartStrokeStyleConfig, LineChartThresholdStyleConfig, LineChartTooltipConfig, ResolvedLineChartCrosshairConfig, ResolvedLineChartAreaFillConfig, ResolvedLineChartDecimationConfig, ResolvedLineChartDotConfig, ResolvedLineChartStrokeStyle, ResolvedLineChartThresholdStyle, ResolvedLineChartTooltipConfig } from "./options";
12
+ export type { LineChartAxisLabelAnimationConfig, LineChartAxisLabelAnimationStrategy, LineChartYAxisLabelWidth, LineChartYAxisLabelModel, ResolvedLineChartAxisLabelAnimationConfig } from "./axisLabels";
13
+ export type LineChartSeries<TData extends Record<string, unknown>> = {
14
+ yKey: keyof TData & string;
15
+ key?: string;
16
+ label?: string;
17
+ color?: string;
18
+ strokeWidth?: number;
19
+ strokeDasharray?: readonly number[] | undefined;
20
+ strokeLinecap?: LineChartStrokeLinecap;
21
+ strokeLinejoin?: LineChartStrokeLinejoin;
22
+ strokeOpacity?: number;
23
+ dot?: boolean | LineChartDotConfig;
24
+ threshold?: LineChartThresholdStyleConfig;
25
+ area?: boolean;
26
+ areaFill?: LineChartAreaFillConfig;
27
+ curve?: LineCurve;
28
+ };
29
+ export type LineChartDotRenderProps<TData = unknown> = {
30
+ point: ProjectedLinePoint<TData>;
31
+ seriesKey: string;
32
+ seriesLabel: string;
33
+ color: string;
34
+ x: number;
35
+ y: number;
36
+ value: number | null | undefined;
37
+ dataIndex: number;
38
+ config: ResolvedLineChartDotConfig;
39
+ theme: ResolvedCartesianChartTheme;
40
+ };
41
+ export type LineChartTooltipSeriesItem<TData = unknown> = BaseLineChartTooltipSeriesItem<ProjectedLinePoint<TData>>;
42
+ export type LineChartTooltipRenderProps<TData = unknown> = BaseLineChartTooltipRenderProps<ProjectedLinePoint<TData>, ResolvedCartesianChartTheme>;
43
+ export type LineChartCrosshairRenderProps<TData = unknown> = {
44
+ chartHeight: number;
45
+ chartWidth: number;
46
+ config: ResolvedLineChartCrosshairConfig;
47
+ plot: ChartBoxes["plot"];
48
+ series: Array<LineChartSelectedSeriesItem<TData>>;
49
+ theme: ResolvedCartesianChartTheme;
50
+ x: number;
51
+ xLabel: string;
52
+ y: number;
53
+ };
54
+ export type LineChartLegendPosition = "top" | "bottom";
55
+ export type LineChartLegendAlign = "start" | "center" | "end";
56
+ export type LineChartLegendMarker = "square" | "circle" | "line";
57
+ export type LineChartLabelStrategy = "auto" | "show" | "skip" | "rotate" | "stagger" | "hide";
58
+ export type LineChartResolvedLabelStrategy = Exclude<LineChartLabelStrategy, "auto">;
59
+ export type LineChartEdgeLabelPolicy = "shift" | "hide" | "show";
60
+ export type LineChartInitialIndex = ChartViewportInitialIndex;
61
+ export type LineChartReferenceLabelPosition = "start" | "center" | "end";
62
+ export type LineChartReferenceLabelPlacement = "auto" | "above" | "below";
63
+ export type LineChartReferenceLabelContainerConfig = {
64
+ backgroundColor?: string;
65
+ borderRadius?: number;
66
+ opacity?: number;
67
+ paddingX?: number;
68
+ paddingY?: number;
69
+ };
70
+ export type LineChartReferenceLineConfig = {
71
+ y: number;
72
+ label?: string;
73
+ labelColor?: string;
74
+ labelContainer?: boolean | LineChartReferenceLabelContainerConfig;
75
+ labelFontSize?: number;
76
+ labelOffset?: number;
77
+ labelPlacement?: LineChartReferenceLabelPlacement;
78
+ labelPosition?: LineChartReferenceLabelPosition;
79
+ color?: string;
80
+ opacity?: number;
81
+ strokeDasharray?: readonly number[];
82
+ strokeWidth?: number;
83
+ };
84
+ export type LineChartReferenceBandConfig = {
85
+ y1: number;
86
+ y2: number;
87
+ label?: string;
88
+ labelColor?: string;
89
+ labelContainer?: boolean | LineChartReferenceLabelContainerConfig;
90
+ labelFontSize?: number;
91
+ labelPosition?: LineChartReferenceLabelPosition;
92
+ color?: string;
93
+ opacity?: number;
94
+ };
95
+ export type LineChartViewportConfig = {
96
+ startIndex?: number;
97
+ endIndex?: number;
98
+ visiblePoints?: number;
99
+ initialIndex?: ChartViewportInitialIndex;
100
+ };
101
+ export type LineChartRangeSelectorSeriesStyle = {
102
+ color?: string;
103
+ opacity?: number;
104
+ strokeDasharray?: readonly number[] | undefined;
105
+ strokeWidth?: number;
106
+ };
107
+ export type LineChartRangeSelectorWindowRenderProps = {
108
+ x: number;
109
+ y: number;
110
+ width: number;
111
+ height: number;
112
+ radius: number;
113
+ fill: string;
114
+ opacity: number;
115
+ stroke: string;
116
+ strokeOpacity: number;
117
+ strokeWidth: number;
118
+ theme: ResolvedCartesianChartTheme;
119
+ };
120
+ export type LineChartRangeSelectorLineRenderProps = {
121
+ color: string;
122
+ index: number;
123
+ key: string;
124
+ label: string;
125
+ opacity: number;
126
+ path: string;
127
+ strokeDasharray?: readonly number[] | undefined;
128
+ strokeWidth: number;
129
+ theme: ResolvedCartesianChartTheme;
130
+ };
131
+ export type LineChartRangeSelectorHandleRenderProps = {
132
+ side: "start" | "end";
133
+ x: number;
134
+ y: number;
135
+ width: number;
136
+ height: number;
137
+ radius: number;
138
+ color: string;
139
+ opacity: number;
140
+ theme: ResolvedCartesianChartTheme;
141
+ window: LineChartRangeSelectorWindowRenderProps;
142
+ };
143
+ export type LineChartRangeSelectorInteraction = "move" | "resizeStart" | "resizeEnd";
144
+ export type LineChartRangeSelectorGestureEvent = {
145
+ interaction: LineChartRangeSelectorInteraction;
146
+ };
147
+ export type LineChartViewportPanInteraction = "pan";
148
+ export type LineChartViewportPinchZoomInteraction = "pinchZoom";
149
+ export type LineChartViewportInteractionType = LineChartViewportPanInteraction | LineChartViewportPinchZoomInteraction;
150
+ export type LineChartViewportInteractionGestureEvent = {
151
+ interaction: LineChartViewportInteractionType;
152
+ };
153
+ export type LineChartViewportInteractionConfig = {
154
+ pan?: boolean;
155
+ pinchZoom?: boolean;
156
+ minPanDistance?: number;
157
+ minVisiblePoints?: number;
158
+ maxVisiblePoints?: number;
159
+ pinchSensitivity?: number;
160
+ lockParentScroll?: boolean;
161
+ onGestureEnd?: (event: LineChartViewportInteractionGestureEvent) => void;
162
+ onGestureStart?: (event: LineChartViewportInteractionGestureEvent) => void;
163
+ };
164
+ export type LineChartRangeSelectorConfig = {
165
+ visible?: boolean;
166
+ height?: number;
167
+ gap?: number;
168
+ interactive?: boolean;
169
+ minVisiblePoints?: number;
170
+ backgroundFill?: string;
171
+ plotFill?: string;
172
+ plotRadius?: number;
173
+ lineMinStrokeWidth?: number;
174
+ lineStrokeWidth?: number;
175
+ lineStrokeWidthScale?: number;
176
+ series?: Record<string, LineChartRangeSelectorSeriesStyle>;
177
+ outsideFill?: string;
178
+ outsideOpacity?: number;
179
+ windowFill?: string;
180
+ windowOpacity?: number;
181
+ windowRadius?: number;
182
+ windowStroke?: string;
183
+ windowStrokeOpacity?: number;
184
+ windowStrokeWidth?: number;
185
+ lineOpacity?: number;
186
+ handleColor?: string;
187
+ handleHeight?: number;
188
+ handleHitSlop?: number;
189
+ handleInset?: number;
190
+ handleOpacity?: number;
191
+ handleRadius?: number;
192
+ handleWidth?: number;
193
+ renderHandle?: (props: LineChartRangeSelectorHandleRenderProps) => ReactNode;
194
+ renderLine?: (props: LineChartRangeSelectorLineRenderProps) => ReactNode;
195
+ renderWindow?: (props: LineChartRangeSelectorWindowRenderProps) => ReactNode;
196
+ onGestureEnd?: (event: LineChartRangeSelectorGestureEvent) => void;
197
+ onGestureStart?: (event: LineChartRangeSelectorGestureEvent) => void;
198
+ };
199
+ export type LineChartViewportChangeEvent = {
200
+ viewport: LineChartViewportConfig;
201
+ startIndex: number;
202
+ endIndex: number;
203
+ visibleCount: number;
204
+ itemCount: number;
205
+ isWindowed: boolean;
206
+ source: "mainPlot" | "rangeSelector";
207
+ interaction: LineChartRangeSelectorInteraction | LineChartViewportInteractionType;
208
+ };
209
+ export type LineChartLegendRenderItem = {
210
+ index: number;
211
+ key: string;
212
+ label: string;
213
+ color: string;
214
+ x: number;
215
+ y: number;
216
+ width: number;
217
+ height: number;
218
+ contentX: number;
219
+ contentY: number;
220
+ contentWidth: number;
221
+ contentHeight: number;
222
+ markerSize: number;
223
+ marker: LineChartLegendMarker;
224
+ fontSize: number;
225
+ fontFamily?: string;
226
+ labelColor: string;
227
+ labelGap: number;
228
+ paddingHorizontal: number;
229
+ paddingVertical: number;
230
+ strokeDasharray?: readonly number[] | undefined;
231
+ strokeLinecap: LineChartStrokeLinecap;
232
+ strokeOpacity: number;
233
+ strokeWidth: number;
234
+ };
235
+ export type LineChartLegendRenderProps = {
236
+ items: LineChartLegendRenderItem[];
237
+ x: number;
238
+ y: number;
239
+ width: number;
240
+ height: number;
241
+ position: LineChartLegendPosition;
242
+ align: LineChartLegendAlign;
243
+ theme: ResolvedCartesianChartTheme;
244
+ };
245
+ export type LineChartLegendConfig = {
246
+ visible?: boolean;
247
+ position?: LineChartLegendPosition;
248
+ align?: LineChartLegendAlign;
249
+ wrap?: boolean;
250
+ itemGap?: number;
251
+ rowGap?: number;
252
+ padding?: number;
253
+ labelGap?: number;
254
+ itemPaddingHorizontal?: number;
255
+ itemPaddingVertical?: number;
256
+ markerSize?: number;
257
+ marker?: LineChartLegendMarker;
258
+ labelColor?: string;
259
+ fontSize?: number;
260
+ fontFamily?: string;
261
+ renderItem?: (item: LineChartLegendRenderItem) => ReactNode;
262
+ renderLegend?: (props: LineChartLegendRenderProps) => ReactNode;
263
+ };
264
+ export type ResolvedLineChartLegendConfig = {
265
+ visible: boolean;
266
+ position: LineChartLegendPosition;
267
+ align: LineChartLegendAlign;
268
+ wrap: boolean;
269
+ itemGap: number;
270
+ rowGap: number;
271
+ padding: number;
272
+ labelGap: number;
273
+ itemPaddingHorizontal: number;
274
+ itemPaddingVertical: number;
275
+ markerSize: number;
276
+ marker: LineChartLegendMarker;
277
+ labelColor: string;
278
+ fontSize: number;
279
+ fontFamily: string | undefined;
280
+ renderItem: LineChartLegendConfig["renderItem"] | undefined;
281
+ renderLegend: LineChartLegendConfig["renderLegend"] | undefined;
282
+ };
283
+ export type LineChartProps<TData extends Record<string, unknown>> = {
284
+ data: TData[];
285
+ xKey: keyof TData & string;
286
+ yKey?: keyof TData & string;
287
+ yKeys?: Array<keyof TData & string>;
288
+ series?: Array<LineChartSeries<TData>>;
289
+ width: number;
290
+ height: number;
291
+ theme?: ChartKitThemeMode | CartesianChartTheme;
292
+ preset?: CartesianChartPresetValue;
293
+ scrollable?: boolean;
294
+ visiblePoints?: number;
295
+ initialIndex?: ChartViewportInitialIndex;
296
+ viewport?: LineChartViewportConfig;
297
+ onViewportChange?: (event: LineChartViewportChangeEvent) => void;
298
+ viewportInteraction?: boolean | LineChartViewportInteractionConfig;
299
+ rangeSelector?: boolean | LineChartRangeSelectorConfig;
300
+ decimation?: false | "auto" | number | LineChartDecimationConfig;
301
+ curve?: LineCurve;
302
+ connectNulls?: boolean;
303
+ area?: boolean;
304
+ areaFill?: LineChartAreaFillConfig;
305
+ showDots?: boolean;
306
+ dots?: boolean | LineChartDotConfig;
307
+ renderDot?: (props: LineChartDotRenderProps<TData>) => ReactNode;
308
+ selectedIndex?: number;
309
+ defaultSelectedIndex?: number;
310
+ activeDot?: boolean | LineChartDotConfig;
311
+ renderActiveDot?: (props: LineChartDotRenderProps<TData>) => ReactNode;
312
+ interaction?: LineChartInteraction<TData>;
313
+ crosshair?: boolean | LineChartCrosshairConfig;
314
+ renderCrosshair?: (props: LineChartCrosshairRenderProps<TData>) => ReactNode;
315
+ tooltip?: boolean | LineChartTooltipConfig;
316
+ renderTooltip?: (props: LineChartTooltipRenderProps<TData>) => ReactNode;
317
+ referenceLines?: LineChartReferenceLineConfig[];
318
+ referenceBands?: LineChartReferenceBandConfig[];
319
+ showHorizontalGridLines?: boolean;
320
+ showVerticalGridLines?: boolean;
321
+ legend?: boolean | LineChartLegendConfig;
322
+ labelStrategy?: LineChartLabelStrategy;
323
+ labelRotation?: number;
324
+ labelMinGap?: number;
325
+ edgeLabelPolicy?: LineChartEdgeLabelPolicy;
326
+ yDomain?: NumericDomainInput;
327
+ yAxisLabelWidth?: LineChartYAxisLabelWidth;
328
+ axisLabelAnimation?: boolean | LineChartAxisLabelAnimationConfig;
329
+ formatXLabel?: (value: ChartXValue, index: number) => string;
330
+ formatYLabel?: (value: number) => string;
331
+ renderer?: LineChartRenderer;
332
+ id?: string;
333
+ debugLayout?: boolean;
334
+ onLayoutDebug?: (model: LayoutDebugModel) => void;
335
+ accessibilityLabel?: string;
336
+ testID?: string;
337
+ };
338
+ export type LineChartSelectedSeriesItem<TData = unknown> = BaseLineChartSelectedSeriesItem<ProjectedLinePoint<TData>>;
339
+ export type LineChartRendererComponent = ElementType;
340
+ export type LineChartRenderer = {
341
+ ClipRect?: LineChartRendererComponent | undefined;
342
+ Circle: LineChartRendererComponent;
343
+ Defs: LineChartRendererComponent;
344
+ Group: LineChartRendererComponent;
345
+ Layer?: LineChartRendererComponent | undefined;
346
+ Line: LineChartRendererComponent;
347
+ LinearGradient?: LineChartRendererComponent | undefined;
348
+ Path: LineChartRendererComponent;
349
+ Rect: LineChartRendererComponent;
350
+ Surface: LineChartRendererComponent;
351
+ Text: LineChartRendererComponent;
352
+ capabilities?: {
353
+ clipPaths?: boolean;
354
+ gradients?: boolean;
355
+ maxSurfaceWidth?: number;
356
+ pathGradients?: boolean;
357
+ rectClips?: boolean;
358
+ text?: boolean;
359
+ viewportWindowing?: boolean;
360
+ };
361
+ name?: string;
362
+ };
363
+ export type LineChartSelectionModel<TData = unknown> = {
364
+ index: number;
365
+ x: number;
366
+ y: number;
367
+ xLabel: string;
368
+ series: Array<LineChartSelectedSeriesItem<TData>>;
369
+ tooltip: LineChartTooltipRenderProps<TData> | undefined;
370
+ };
371
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/charts/line/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { LineChartTooltipRenderProps } from "./types";
2
+ export declare const useAnimatedTooltipModel: <TData>(tooltip: LineChartTooltipRenderProps<TData> | undefined) => {
3
+ x: number;
4
+ y: number;
5
+ index: number;
6
+ width: number;
7
+ height: number;
8
+ xLabel: string;
9
+ series: import("./tooltip").LineChartTooltipSeriesItem<import("../../../core/index").ProjectedLinePoint<TData>>[];
10
+ config: import("./options").ResolvedLineChartTooltipConfig;
11
+ theme: import("../..").ResolvedCartesianChartTheme;
12
+ } | undefined;
13
+ //# sourceMappingURL=useAnimatedTooltipModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAnimatedTooltipModel.d.ts","sourceRoot":"","sources":["../../../src/charts/line/useAnimatedTooltipModel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAI3D,eAAO,MAAM,uBAAuB,GAAI,KAAK,EAC3C,SAAS,2BAA2B,CAAC,KAAK,CAAC,GAAG,SAAS;;;;;;;;;;aAkHxD,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { useEffect, useRef, useState } from "react";
2
+ import { interpolateLineChartTooltipPosition } from "./tooltip";
3
+ const tooltipPositionThreshold = 0.5;
4
+ export const useAnimatedTooltipModel = (tooltip) => {
5
+ const latestPositionRef = useRef(undefined);
6
+ const previousTooltipRef = useRef(undefined);
7
+ const [animatedPosition, setAnimatedPosition] = useState(undefined);
8
+ useEffect(() => {
9
+ let animationFrame = 0;
10
+ if (!tooltip) {
11
+ latestPositionRef.current = undefined;
12
+ previousTooltipRef.current = undefined;
13
+ animationFrame = requestAnimationFrame(() => {
14
+ setAnimatedPosition(undefined);
15
+ });
16
+ return () => {
17
+ cancelAnimationFrame(animationFrame);
18
+ };
19
+ }
20
+ const targetPosition = { x: tooltip.x, y: tooltip.y };
21
+ const currentPosition = latestPositionRef.current ?? targetPosition;
22
+ const hasPreviousTooltip = previousTooltipRef.current !== undefined;
23
+ const positionAnimationDuration = tooltip.config.positionAnimationDuration;
24
+ previousTooltipRef.current = tooltip;
25
+ if (!hasPreviousTooltip) {
26
+ latestPositionRef.current = targetPosition;
27
+ animationFrame = requestAnimationFrame(() => {
28
+ setAnimatedPosition(targetPosition);
29
+ });
30
+ return () => {
31
+ cancelAnimationFrame(animationFrame);
32
+ };
33
+ }
34
+ if (positionAnimationDuration <= 0) {
35
+ latestPositionRef.current = targetPosition;
36
+ animationFrame = requestAnimationFrame(() => {
37
+ setAnimatedPosition(targetPosition);
38
+ });
39
+ return () => {
40
+ cancelAnimationFrame(animationFrame);
41
+ };
42
+ }
43
+ const deltaX = Math.abs(currentPosition.x - targetPosition.x);
44
+ const deltaY = Math.abs(currentPosition.y - targetPosition.y);
45
+ if (deltaX < tooltipPositionThreshold &&
46
+ deltaY < tooltipPositionThreshold) {
47
+ latestPositionRef.current = targetPosition;
48
+ animationFrame = requestAnimationFrame(() => {
49
+ setAnimatedPosition(targetPosition);
50
+ });
51
+ return () => {
52
+ cancelAnimationFrame(animationFrame);
53
+ };
54
+ }
55
+ let startTime;
56
+ const tick = (timestamp) => {
57
+ startTime ?? (startTime = timestamp);
58
+ const progress = Math.min((timestamp - startTime) / positionAnimationDuration, 1);
59
+ const nextPosition = interpolateLineChartTooltipPosition({
60
+ from: currentPosition,
61
+ progress,
62
+ to: targetPosition
63
+ });
64
+ latestPositionRef.current = nextPosition;
65
+ setAnimatedPosition(nextPosition);
66
+ if (progress < 1) {
67
+ animationFrame = requestAnimationFrame(tick);
68
+ }
69
+ };
70
+ animationFrame = requestAnimationFrame(tick);
71
+ return () => {
72
+ cancelAnimationFrame(animationFrame);
73
+ };
74
+ }, [tooltip]);
75
+ if (!tooltip) {
76
+ return undefined;
77
+ }
78
+ const position = animatedPosition ?? { x: tooltip.x, y: tooltip.y };
79
+ return {
80
+ ...tooltip,
81
+ x: position.x,
82
+ y: position.y
83
+ };
84
+ };
@@ -0,0 +1,5 @@
1
+ import { type LineChartAxisLabelAnimationConfig, type LineChartYAxisLabelModel } from "./axisLabels";
2
+ import type { LineChartModel } from "./useChartModel";
3
+ export declare const useAnimatedYAxisLabels: (labels: LineChartYAxisLabelModel[], animation?: boolean | LineChartAxisLabelAnimationConfig) => LineChartYAxisLabelModel[];
4
+ export declare const useLineChartYAxisLabels: <TData extends Record<string, unknown>>(model: LineChartModel<TData>, animation?: boolean | LineChartAxisLabelAnimationConfig) => LineChartYAxisLabelModel[];
5
+ //# sourceMappingURL=useAnimatedYAxisLabels.d.ts.map