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

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 (427) hide show
  1. package/README.md +89 -521
  2. package/dist/charts/line/LineChart.d.ts +3 -3
  3. package/dist/charts/line/LineChart.js +1 -1
  4. package/dist/v2/core/data/index.d.ts +3 -0
  5. package/dist/v2/core/data/index.d.ts.map +1 -0
  6. package/dist/v2/core/data/index.js +1 -0
  7. package/dist/v2/core/data/normalize.d.ts +8 -0
  8. package/dist/v2/core/data/normalize.d.ts.map +1 -0
  9. package/dist/v2/core/data/normalize.js +229 -0
  10. package/dist/v2/core/data/normalizeValues.d.ts +16 -0
  11. package/dist/v2/core/data/normalizeValues.d.ts.map +1 -0
  12. package/dist/v2/core/data/normalizeValues.js +96 -0
  13. package/dist/v2/core/data/types.d.ts +161 -0
  14. package/dist/v2/core/data/types.d.ts.map +1 -0
  15. package/dist/v2/core/data/types.js +1 -0
  16. package/dist/v2/core/geometry/areaPath.d.ts +3 -0
  17. package/dist/v2/core/geometry/areaPath.d.ts.map +1 -0
  18. package/dist/v2/core/geometry/areaPath.js +36 -0
  19. package/dist/v2/core/geometry/barRects.d.ts +44 -0
  20. package/dist/v2/core/geometry/barRects.d.ts.map +1 -0
  21. package/dist/v2/core/geometry/barRects.js +201 -0
  22. package/dist/v2/core/geometry/contributionHeatmap.d.ts +49 -0
  23. package/dist/v2/core/geometry/contributionHeatmap.d.ts.map +1 -0
  24. package/dist/v2/core/geometry/contributionHeatmap.js +107 -0
  25. package/dist/v2/core/geometry/horizontalBarRects.d.ts +27 -0
  26. package/dist/v2/core/geometry/horizontalBarRects.d.ts.map +1 -0
  27. package/dist/v2/core/geometry/horizontalBarRects.js +202 -0
  28. package/dist/v2/core/geometry/index.d.ts +12 -0
  29. package/dist/v2/core/geometry/index.d.ts.map +1 -0
  30. package/dist/v2/core/geometry/index.js +11 -0
  31. package/dist/v2/core/geometry/lineDecimation.d.ts +8 -0
  32. package/dist/v2/core/geometry/lineDecimation.d.ts.map +1 -0
  33. package/dist/v2/core/geometry/lineDecimation.js +110 -0
  34. package/dist/v2/core/geometry/linePath.d.ts +5 -0
  35. package/dist/v2/core/geometry/linePath.d.ts.map +1 -0
  36. package/dist/v2/core/geometry/linePath.js +98 -0
  37. package/dist/v2/core/geometry/lineSeries.d.ts +29 -0
  38. package/dist/v2/core/geometry/lineSeries.d.ts.map +1 -0
  39. package/dist/v2/core/geometry/lineSeries.js +51 -0
  40. package/dist/v2/core/geometry/path.d.ts +6 -0
  41. package/dist/v2/core/geometry/path.d.ts.map +1 -0
  42. package/dist/v2/core/geometry/path.js +24 -0
  43. package/dist/v2/core/geometry/pieArcs.d.ts +29 -0
  44. package/dist/v2/core/geometry/pieArcs.d.ts.map +1 -0
  45. package/dist/v2/core/geometry/pieArcs.js +142 -0
  46. package/dist/v2/core/geometry/progressRings.d.ts +30 -0
  47. package/dist/v2/core/geometry/progressRings.d.ts.map +1 -0
  48. package/dist/v2/core/geometry/progressRings.js +104 -0
  49. package/dist/v2/core/geometry/types.d.ts +32 -0
  50. package/dist/v2/core/geometry/types.d.ts.map +1 -0
  51. package/dist/v2/core/geometry/types.js +1 -0
  52. package/dist/v2/core/index.d.ts +6 -0
  53. package/dist/v2/core/index.d.ts.map +1 -0
  54. package/dist/v2/core/index.js +6 -0
  55. package/dist/v2/core/interaction/index.d.ts +5 -0
  56. package/dist/v2/core/interaction/index.d.ts.map +1 -0
  57. package/dist/v2/core/interaction/index.js +2 -0
  58. package/dist/v2/core/interaction/viewport.d.ts +71 -0
  59. package/dist/v2/core/interaction/viewport.d.ts.map +1 -0
  60. package/dist/v2/core/interaction/viewport.js +216 -0
  61. package/dist/v2/core/interaction/viewportTransform.d.ts +17 -0
  62. package/dist/v2/core/interaction/viewportTransform.d.ts.map +1 -0
  63. package/dist/v2/core/interaction/viewportTransform.js +70 -0
  64. package/dist/v2/core/layout/autoPadding.d.ts +3 -0
  65. package/dist/v2/core/layout/autoPadding.d.ts.map +1 -0
  66. package/dist/v2/core/layout/autoPadding.js +33 -0
  67. package/dist/v2/core/layout/chartBox.d.ts +5 -0
  68. package/dist/v2/core/layout/chartBox.d.ts.map +1 -0
  69. package/dist/v2/core/layout/chartBox.js +22 -0
  70. package/dist/v2/core/layout/debugLayout.d.ts +3 -0
  71. package/dist/v2/core/layout/debugLayout.d.ts.map +1 -0
  72. package/dist/v2/core/layout/debugLayout.js +20 -0
  73. package/dist/v2/core/layout/index.d.ts +8 -0
  74. package/dist/v2/core/layout/index.d.ts.map +1 -0
  75. package/dist/v2/core/layout/index.js +6 -0
  76. package/dist/v2/core/layout/labelCollision.d.ts +3 -0
  77. package/dist/v2/core/layout/labelCollision.d.ts.map +1 -0
  78. package/dist/v2/core/layout/labelCollision.js +90 -0
  79. package/dist/v2/core/layout/legendLayout.d.ts +3 -0
  80. package/dist/v2/core/layout/legendLayout.d.ts.map +1 -0
  81. package/dist/v2/core/layout/legendLayout.js +39 -0
  82. package/dist/v2/core/layout/tooltipPlacement.d.ts +3 -0
  83. package/dist/v2/core/layout/tooltipPlacement.d.ts.map +1 -0
  84. package/dist/v2/core/layout/tooltipPlacement.js +76 -0
  85. package/dist/v2/core/layout/types.d.ts +114 -0
  86. package/dist/v2/core/layout/types.d.ts.map +1 -0
  87. package/dist/v2/core/layout/types.js +1 -0
  88. package/dist/v2/core/scales/band.d.ts +15 -0
  89. package/dist/v2/core/scales/band.d.ts.map +1 -0
  90. package/dist/v2/core/scales/band.js +34 -0
  91. package/dist/v2/core/scales/domain.d.ts +6 -0
  92. package/dist/v2/core/scales/domain.d.ts.map +1 -0
  93. package/dist/v2/core/scales/domain.js +109 -0
  94. package/dist/v2/core/scales/index.d.ts +7 -0
  95. package/dist/v2/core/scales/index.d.ts.map +1 -0
  96. package/dist/v2/core/scales/index.js +5 -0
  97. package/dist/v2/core/scales/linear.d.ts +8 -0
  98. package/dist/v2/core/scales/linear.d.ts.map +1 -0
  99. package/dist/v2/core/scales/linear.js +22 -0
  100. package/dist/v2/core/scales/ticks.d.ts +4 -0
  101. package/dist/v2/core/scales/ticks.d.ts.map +1 -0
  102. package/dist/v2/core/scales/ticks.js +111 -0
  103. package/dist/v2/core/scales/time.d.ts +8 -0
  104. package/dist/v2/core/scales/time.d.ts.map +1 -0
  105. package/dist/v2/core/scales/time.js +23 -0
  106. package/dist/v2/core/scales/types.d.ts +46 -0
  107. package/dist/v2/core/scales/types.d.ts.map +1 -0
  108. package/dist/v2/core/scales/types.js +1 -0
  109. package/dist/v2/index.d.ts +1 -0
  110. package/dist/v2/index.js +1 -0
  111. package/dist/v2/react-native/charts/bar/BarChart.d.ts +6 -0
  112. package/dist/v2/react-native/charts/bar/BarChart.d.ts.map +1 -0
  113. package/dist/v2/react-native/charts/bar/BarChart.js +199 -0
  114. package/dist/v2/react-native/charts/bar/BarChartSurface.d.ts +36 -0
  115. package/dist/v2/react-native/charts/bar/BarChartSurface.d.ts.map +1 -0
  116. package/dist/v2/react-native/charts/bar/BarChartSurface.js +134 -0
  117. package/dist/v2/react-native/charts/bar/StackedBarChart.d.ts +4 -0
  118. package/dist/v2/react-native/charts/bar/StackedBarChart.d.ts.map +1 -0
  119. package/dist/v2/react-native/charts/bar/StackedBarChart.js +9 -0
  120. package/dist/v2/react-native/charts/bar/accessibility.d.ts +31 -0
  121. package/dist/v2/react-native/charts/bar/accessibility.d.ts.map +1 -0
  122. package/dist/v2/react-native/charts/bar/accessibility.js +87 -0
  123. package/dist/v2/react-native/charts/bar/interaction.d.ts +18 -0
  124. package/dist/v2/react-native/charts/bar/interaction.d.ts.map +1 -0
  125. package/dist/v2/react-native/charts/bar/interaction.js +62 -0
  126. package/dist/v2/react-native/charts/bar/model.d.ts +3 -0
  127. package/dist/v2/react-native/charts/bar/model.d.ts.map +1 -0
  128. package/dist/v2/react-native/charts/bar/model.js +326 -0
  129. package/dist/v2/react-native/charts/bar/modelUtils.d.ts +27 -0
  130. package/dist/v2/react-native/charts/bar/modelUtils.d.ts.map +1 -0
  131. package/dist/v2/react-native/charts/bar/modelUtils.js +58 -0
  132. package/dist/v2/react-native/charts/bar/options.d.ts +7 -0
  133. package/dist/v2/react-native/charts/bar/options.d.ts.map +1 -0
  134. package/dist/v2/react-native/charts/bar/options.js +49 -0
  135. package/dist/v2/react-native/charts/bar/rendererSafety.d.ts +12 -0
  136. package/dist/v2/react-native/charts/bar/rendererSafety.d.ts.map +1 -0
  137. package/dist/v2/react-native/charts/bar/rendererSafety.js +31 -0
  138. package/dist/v2/react-native/charts/bar/selectionAnimation.d.ts +42 -0
  139. package/dist/v2/react-native/charts/bar/selectionAnimation.d.ts.map +1 -0
  140. package/dist/v2/react-native/charts/bar/selectionAnimation.js +158 -0
  141. package/dist/v2/react-native/charts/bar/stackedCompat.d.ts +55 -0
  142. package/dist/v2/react-native/charts/bar/stackedCompat.d.ts.map +1 -0
  143. package/dist/v2/react-native/charts/bar/stackedCompat.js +105 -0
  144. package/dist/v2/react-native/charts/bar/tooltip.d.ts +11 -0
  145. package/dist/v2/react-native/charts/bar/tooltip.d.ts.map +1 -0
  146. package/dist/v2/react-native/charts/bar/tooltip.js +18 -0
  147. package/dist/v2/react-native/charts/bar/tooltipModel.d.ts +33 -0
  148. package/dist/v2/react-native/charts/bar/tooltipModel.d.ts.map +1 -0
  149. package/dist/v2/react-native/charts/bar/tooltipModel.js +46 -0
  150. package/dist/v2/react-native/charts/bar/tooltipPlacement.d.ts +9 -0
  151. package/dist/v2/react-native/charts/bar/tooltipPlacement.d.ts.map +1 -0
  152. package/dist/v2/react-native/charts/bar/tooltipPlacement.js +9 -0
  153. package/dist/v2/react-native/charts/bar/types.d.ts +211 -0
  154. package/dist/v2/react-native/charts/bar/types.d.ts.map +1 -0
  155. package/dist/v2/react-native/charts/bar/types.js +1 -0
  156. package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.d.ts +10 -0
  157. package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.d.ts.map +1 -0
  158. package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.js +87 -0
  159. package/dist/v2/react-native/charts/bar/viewport.d.ts +20 -0
  160. package/dist/v2/react-native/charts/bar/viewport.d.ts.map +1 -0
  161. package/dist/v2/react-native/charts/bar/viewport.js +47 -0
  162. package/dist/v2/react-native/charts/contribution/ContributionGraph.d.ts +13 -0
  163. package/dist/v2/react-native/charts/contribution/ContributionGraph.d.ts.map +1 -0
  164. package/dist/v2/react-native/charts/contribution/ContributionGraph.js +159 -0
  165. package/dist/v2/react-native/charts/contribution/accessibility.d.ts +25 -0
  166. package/dist/v2/react-native/charts/contribution/accessibility.d.ts.map +1 -0
  167. package/dist/v2/react-native/charts/contribution/accessibility.js +50 -0
  168. package/dist/v2/react-native/charts/contribution/interaction.d.ts +23 -0
  169. package/dist/v2/react-native/charts/contribution/interaction.d.ts.map +1 -0
  170. package/dist/v2/react-native/charts/contribution/interaction.js +75 -0
  171. package/dist/v2/react-native/charts/contribution/model.d.ts +17 -0
  172. package/dist/v2/react-native/charts/contribution/model.d.ts.map +1 -0
  173. package/dist/v2/react-native/charts/contribution/model.js +102 -0
  174. package/dist/v2/react-native/charts/contribution/types.d.ts +71 -0
  175. package/dist/v2/react-native/charts/contribution/types.d.ts.map +1 -0
  176. package/dist/v2/react-native/charts/contribution/types.js +1 -0
  177. package/dist/v2/react-native/charts/line/AreaChart.d.ts +3 -0
  178. package/dist/v2/react-native/charts/line/AreaChart.d.ts.map +1 -0
  179. package/dist/v2/react-native/charts/line/AreaChart.js +3 -0
  180. package/dist/v2/react-native/charts/line/ChartSurface.d.ts +16 -0
  181. package/dist/v2/react-native/charts/line/ChartSurface.d.ts.map +1 -0
  182. package/dist/v2/react-native/charts/line/ChartSurface.js +151 -0
  183. package/dist/v2/react-native/charts/line/LineChart.d.ts +6 -0
  184. package/dist/v2/react-native/charts/line/LineChart.d.ts.map +1 -0
  185. package/dist/v2/react-native/charts/line/LineChart.js +294 -0
  186. package/dist/v2/react-native/charts/line/StickyYAxis.d.ts +15 -0
  187. package/dist/v2/react-native/charts/line/StickyYAxis.d.ts.map +1 -0
  188. package/dist/v2/react-native/charts/line/StickyYAxis.js +26 -0
  189. package/dist/v2/react-native/charts/line/accessibility.d.ts +34 -0
  190. package/dist/v2/react-native/charts/line/accessibility.d.ts.map +1 -0
  191. package/dist/v2/react-native/charts/line/accessibility.js +103 -0
  192. package/dist/v2/react-native/charts/line/axisLabels.d.ts +37 -0
  193. package/dist/v2/react-native/charts/line/axisLabels.d.ts.map +1 -0
  194. package/dist/v2/react-native/charts/line/axisLabels.js +55 -0
  195. package/dist/v2/react-native/charts/line/debugLayout.d.ts +26 -0
  196. package/dist/v2/react-native/charts/line/debugLayout.d.ts.map +1 -0
  197. package/dist/v2/react-native/charts/line/debugLayout.js +77 -0
  198. package/dist/v2/react-native/charts/line/debugOverlay.d.ts +9 -0
  199. package/dist/v2/react-native/charts/line/debugOverlay.d.ts.map +1 -0
  200. package/dist/v2/react-native/charts/line/debugOverlay.js +30 -0
  201. package/dist/v2/react-native/charts/line/defaultTooltip.d.ts +3 -0
  202. package/dist/v2/react-native/charts/line/defaultTooltip.d.ts.map +1 -0
  203. package/dist/v2/react-native/charts/line/defaultTooltip.js +17 -0
  204. package/dist/v2/react-native/charts/line/interaction.d.ts +82 -0
  205. package/dist/v2/react-native/charts/line/interaction.d.ts.map +1 -0
  206. package/dist/v2/react-native/charts/line/interaction.js +94 -0
  207. package/dist/v2/react-native/charts/line/legend.d.ts +35 -0
  208. package/dist/v2/react-native/charts/line/legend.d.ts.map +1 -0
  209. package/dist/v2/react-native/charts/line/legend.js +95 -0
  210. package/dist/v2/react-native/charts/line/markers.d.ts +11 -0
  211. package/dist/v2/react-native/charts/line/markers.d.ts.map +1 -0
  212. package/dist/v2/react-native/charts/line/markers.js +52 -0
  213. package/dist/v2/react-native/charts/line/options.d.ts +172 -0
  214. package/dist/v2/react-native/charts/line/options.d.ts.map +1 -0
  215. package/dist/v2/react-native/charts/line/options.js +168 -0
  216. package/dist/v2/react-native/charts/line/outsidePressSurfaces.d.ts +15 -0
  217. package/dist/v2/react-native/charts/line/outsidePressSurfaces.d.ts.map +1 -0
  218. package/dist/v2/react-native/charts/line/outsidePressSurfaces.js +37 -0
  219. package/dist/v2/react-native/charts/line/overviewProps.d.ts +45 -0
  220. package/dist/v2/react-native/charts/line/overviewProps.d.ts.map +1 -0
  221. package/dist/v2/react-native/charts/line/overviewProps.js +4 -0
  222. package/dist/v2/react-native/charts/line/rangeSelector.d.ts +19 -0
  223. package/dist/v2/react-native/charts/line/rangeSelector.d.ts.map +1 -0
  224. package/dist/v2/react-native/charts/line/rangeSelector.js +185 -0
  225. package/dist/v2/react-native/charts/line/rangeSelectorConfig.d.ts +38 -0
  226. package/dist/v2/react-native/charts/line/rangeSelectorConfig.d.ts.map +1 -0
  227. package/dist/v2/react-native/charts/line/rangeSelectorConfig.js +41 -0
  228. package/dist/v2/react-native/charts/line/referenceLabelPlacement.d.ts +21 -0
  229. package/dist/v2/react-native/charts/line/referenceLabelPlacement.d.ts.map +1 -0
  230. package/dist/v2/react-native/charts/line/referenceLabelPlacement.js +113 -0
  231. package/dist/v2/react-native/charts/line/references.d.ts +62 -0
  232. package/dist/v2/react-native/charts/line/references.d.ts.map +1 -0
  233. package/dist/v2/react-native/charts/line/references.js +156 -0
  234. package/dist/v2/react-native/charts/line/renderer.d.ts +4 -0
  235. package/dist/v2/react-native/charts/line/renderer.d.ts.map +1 -0
  236. package/dist/v2/react-native/charts/line/renderer.js +23 -0
  237. package/dist/v2/react-native/charts/line/responders.d.ts +13 -0
  238. package/dist/v2/react-native/charts/line/responders.d.ts.map +1 -0
  239. package/dist/v2/react-native/charts/line/responders.js +62 -0
  240. package/dist/v2/react-native/charts/line/selection.d.ts +31 -0
  241. package/dist/v2/react-native/charts/line/selection.d.ts.map +1 -0
  242. package/dist/v2/react-native/charts/line/selection.js +26 -0
  243. package/dist/v2/react-native/charts/line/seriesInput.d.ts +4 -0
  244. package/dist/v2/react-native/charts/line/seriesInput.d.ts.map +1 -0
  245. package/dist/v2/react-native/charts/line/seriesInput.js +13 -0
  246. package/dist/v2/react-native/charts/line/seriesStyles.d.ts +20 -0
  247. package/dist/v2/react-native/charts/line/seriesStyles.d.ts.map +1 -0
  248. package/dist/v2/react-native/charts/line/seriesStyles.js +33 -0
  249. package/dist/v2/react-native/charts/line/stickyYAxisLayout.d.ts +6 -0
  250. package/dist/v2/react-native/charts/line/stickyYAxisLayout.d.ts.map +1 -0
  251. package/dist/v2/react-native/charts/line/stickyYAxisLayout.js +2 -0
  252. package/dist/v2/react-native/charts/line/text.d.ts +7 -0
  253. package/dist/v2/react-native/charts/line/text.d.ts.map +1 -0
  254. package/dist/v2/react-native/charts/line/text.js +7 -0
  255. package/dist/v2/react-native/charts/line/thresholdRendering.d.ts +28 -0
  256. package/dist/v2/react-native/charts/line/thresholdRendering.d.ts.map +1 -0
  257. package/dist/v2/react-native/charts/line/thresholdRendering.js +145 -0
  258. package/dist/v2/react-native/charts/line/tooltip.d.ts +70 -0
  259. package/dist/v2/react-native/charts/line/tooltip.d.ts.map +1 -0
  260. package/dist/v2/react-native/charts/line/tooltip.js +87 -0
  261. package/dist/v2/react-native/charts/line/types.d.ts +371 -0
  262. package/dist/v2/react-native/charts/line/types.d.ts.map +1 -0
  263. package/dist/v2/react-native/charts/line/types.js +1 -0
  264. package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.d.ts +13 -0
  265. package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.d.ts.map +1 -0
  266. package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.js +84 -0
  267. package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.d.ts +5 -0
  268. package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.d.ts.map +1 -0
  269. package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.js +141 -0
  270. package/dist/v2/react-native/charts/line/useChartModel.d.ts +103 -0
  271. package/dist/v2/react-native/charts/line/useChartModel.d.ts.map +1 -0
  272. package/dist/v2/react-native/charts/line/useChartModel.js +367 -0
  273. package/dist/v2/react-native/charts/line/useDebugLayout.d.ts +16 -0
  274. package/dist/v2/react-native/charts/line/useDebugLayout.d.ts.map +1 -0
  275. package/dist/v2/react-native/charts/line/useDebugLayout.js +35 -0
  276. package/dist/v2/react-native/charts/line/utils.d.ts +10 -0
  277. package/dist/v2/react-native/charts/line/utils.d.ts.map +1 -0
  278. package/dist/v2/react-native/charts/line/utils.js +40 -0
  279. package/dist/v2/react-native/charts/line/viewportInteraction.d.ts +3 -0
  280. package/dist/v2/react-native/charts/line/viewportInteraction.d.ts.map +1 -0
  281. package/dist/v2/react-native/charts/line/viewportInteraction.js +1 -0
  282. package/dist/v2/react-native/charts/line/viewportPinchZoom.d.ts +2 -0
  283. package/dist/v2/react-native/charts/line/viewportPinchZoom.d.ts.map +1 -0
  284. package/dist/v2/react-native/charts/line/viewportPinchZoom.js +1 -0
  285. package/dist/v2/react-native/charts/line/xLabelCandidates.d.ts +13 -0
  286. package/dist/v2/react-native/charts/line/xLabelCandidates.d.ts.map +1 -0
  287. package/dist/v2/react-native/charts/line/xLabelCandidates.js +23 -0
  288. package/dist/v2/react-native/charts/line/xLabels.d.ts +39 -0
  289. package/dist/v2/react-native/charts/line/xLabels.d.ts.map +1 -0
  290. package/dist/v2/react-native/charts/line/xLabels.js +289 -0
  291. package/dist/v2/react-native/charts/line/xScale.d.ts +6 -0
  292. package/dist/v2/react-native/charts/line/xScale.d.ts.map +1 -0
  293. package/dist/v2/react-native/charts/line/xScale.js +25 -0
  294. package/dist/v2/react-native/charts/line/yAxisModel.d.ts +29 -0
  295. package/dist/v2/react-native/charts/line/yAxisModel.d.ts.map +1 -0
  296. package/dist/v2/react-native/charts/line/yAxisModel.js +39 -0
  297. package/dist/v2/react-native/charts/pie/PieChart.d.ts +7 -0
  298. package/dist/v2/react-native/charts/pie/PieChart.d.ts.map +1 -0
  299. package/dist/v2/react-native/charts/pie/PieChart.js +253 -0
  300. package/dist/v2/react-native/charts/pie/accessibility.d.ts +28 -0
  301. package/dist/v2/react-native/charts/pie/accessibility.d.ts.map +1 -0
  302. package/dist/v2/react-native/charts/pie/accessibility.js +49 -0
  303. package/dist/v2/react-native/charts/pie/activeSlice.d.ts +15 -0
  304. package/dist/v2/react-native/charts/pie/activeSlice.d.ts.map +1 -0
  305. package/dist/v2/react-native/charts/pie/activeSlice.js +26 -0
  306. package/dist/v2/react-native/charts/pie/arcLabels.d.ts +32 -0
  307. package/dist/v2/react-native/charts/pie/arcLabels.d.ts.map +1 -0
  308. package/dist/v2/react-native/charts/pie/arcLabels.js +191 -0
  309. package/dist/v2/react-native/charts/pie/interaction.d.ts +26 -0
  310. package/dist/v2/react-native/charts/pie/interaction.d.ts.map +1 -0
  311. package/dist/v2/react-native/charts/pie/interaction.js +66 -0
  312. package/dist/v2/react-native/charts/pie/model.d.ts +15 -0
  313. package/dist/v2/react-native/charts/pie/model.d.ts.map +1 -0
  314. package/dist/v2/react-native/charts/pie/model.js +157 -0
  315. package/dist/v2/react-native/charts/pie/selectionAnimation.d.ts +33 -0
  316. package/dist/v2/react-native/charts/pie/selectionAnimation.d.ts.map +1 -0
  317. package/dist/v2/react-native/charts/pie/selectionAnimation.js +121 -0
  318. package/dist/v2/react-native/charts/pie/sliceSeparator.d.ts +7 -0
  319. package/dist/v2/react-native/charts/pie/sliceSeparator.d.ts.map +1 -0
  320. package/dist/v2/react-native/charts/pie/sliceSeparator.js +26 -0
  321. package/dist/v2/react-native/charts/pie/slices.d.ts +20 -0
  322. package/dist/v2/react-native/charts/pie/slices.d.ts.map +1 -0
  323. package/dist/v2/react-native/charts/pie/slices.js +54 -0
  324. package/dist/v2/react-native/charts/pie/types.d.ts +165 -0
  325. package/dist/v2/react-native/charts/pie/types.d.ts.map +1 -0
  326. package/dist/v2/react-native/charts/pie/types.js +1 -0
  327. package/dist/v2/react-native/charts/progress/ProgressChart.d.ts +7 -0
  328. package/dist/v2/react-native/charts/progress/ProgressChart.d.ts.map +1 -0
  329. package/dist/v2/react-native/charts/progress/ProgressChart.js +111 -0
  330. package/dist/v2/react-native/charts/progress/accessibility.d.ts +26 -0
  331. package/dist/v2/react-native/charts/progress/accessibility.d.ts.map +1 -0
  332. package/dist/v2/react-native/charts/progress/accessibility.js +71 -0
  333. package/dist/v2/react-native/charts/progress/animation.d.ts +36 -0
  334. package/dist/v2/react-native/charts/progress/animation.d.ts.map +1 -0
  335. package/dist/v2/react-native/charts/progress/animation.js +103 -0
  336. package/dist/v2/react-native/charts/progress/model.d.ts +14 -0
  337. package/dist/v2/react-native/charts/progress/model.d.ts.map +1 -0
  338. package/dist/v2/react-native/charts/progress/model.js +133 -0
  339. package/dist/v2/react-native/charts/progress/types.d.ts +72 -0
  340. package/dist/v2/react-native/charts/progress/types.d.ts.map +1 -0
  341. package/dist/v2/react-native/charts/progress/types.js +1 -0
  342. package/dist/v2/react-native/index.d.ts +24 -0
  343. package/dist/v2/react-native/index.d.ts.map +1 -0
  344. package/dist/v2/react-native/index.js +14 -0
  345. package/dist/v2/react-native/selection/ChartSelectionProvider.d.ts +27 -0
  346. package/dist/v2/react-native/selection/ChartSelectionProvider.d.ts.map +1 -0
  347. package/dist/v2/react-native/selection/ChartSelectionProvider.js +92 -0
  348. package/dist/v2/react-native/selection/index.d.ts +2 -0
  349. package/dist/v2/react-native/selection/index.d.ts.map +1 -0
  350. package/dist/v2/react-native/selection/index.js +1 -0
  351. package/dist/v2/react-native/selection/scope.d.ts +16 -0
  352. package/dist/v2/react-native/selection/scope.d.ts.map +1 -0
  353. package/dist/v2/react-native/selection/scope.js +18 -0
  354. package/dist/v2/react-native/theme/index.d.ts +4 -0
  355. package/dist/v2/react-native/theme/index.d.ts.map +1 -0
  356. package/dist/v2/react-native/theme/index.js +2 -0
  357. package/dist/v2/react-native/theme/presets.d.ts +84 -0
  358. package/dist/v2/react-native/theme/presets.d.ts.map +1 -0
  359. package/dist/v2/react-native/theme/presets.js +298 -0
  360. package/dist/v2/react-native/theme/provider.d.ts +20 -0
  361. package/dist/v2/react-native/theme/provider.d.ts.map +1 -0
  362. package/dist/v2/react-native/theme/provider.js +27 -0
  363. package/dist/v2/react-native/viewport/bounds.d.ts +7 -0
  364. package/dist/v2/react-native/viewport/bounds.d.ts.map +1 -0
  365. package/dist/v2/react-native/viewport/bounds.js +7 -0
  366. package/dist/v2/react-native/viewport/config.d.ts +13 -0
  367. package/dist/v2/react-native/viewport/config.d.ts.map +1 -0
  368. package/dist/v2/react-native/viewport/config.js +64 -0
  369. package/dist/v2/react-native/viewport/pan.d.ts +23 -0
  370. package/dist/v2/react-native/viewport/pan.d.ts.map +1 -0
  371. package/dist/v2/react-native/viewport/pan.js +110 -0
  372. package/dist/v2/react-native/viewport/pinchZoom.d.ts +17 -0
  373. package/dist/v2/react-native/viewport/pinchZoom.d.ts.map +1 -0
  374. package/dist/v2/react-native/viewport/pinchZoom.js +131 -0
  375. package/dist/v2/react-native/viewport/types.d.ts +55 -0
  376. package/dist/v2/react-native/viewport/types.d.ts.map +1 -0
  377. package/dist/v2/react-native/viewport/types.js +1 -0
  378. package/dist/v2/svg-renderer/capabilities.d.ts +3 -0
  379. package/dist/v2/svg-renderer/capabilities.d.ts.map +1 -0
  380. package/dist/v2/svg-renderer/capabilities.js +12 -0
  381. package/dist/v2/svg-renderer/clipPath.d.ts +4 -0
  382. package/dist/v2/svg-renderer/clipPath.d.ts.map +1 -0
  383. package/dist/v2/svg-renderer/clipPath.js +35 -0
  384. package/dist/v2/svg-renderer/defs.d.ts +6 -0
  385. package/dist/v2/svg-renderer/defs.d.ts.map +1 -0
  386. package/dist/v2/svg-renderer/defs.js +18 -0
  387. package/dist/v2/svg-renderer/ensureConsole.d.ts +4 -0
  388. package/dist/v2/svg-renderer/ensureConsole.d.ts.map +1 -0
  389. package/dist/v2/svg-renderer/ensureConsole.js +54 -0
  390. package/dist/v2/svg-renderer/hitRegions.d.ts +3 -0
  391. package/dist/v2/svg-renderer/hitRegions.d.ts.map +1 -0
  392. package/dist/v2/svg-renderer/hitRegions.js +6 -0
  393. package/dist/v2/svg-renderer/index.d.ts +14 -0
  394. package/dist/v2/svg-renderer/index.d.ts.map +1 -0
  395. package/dist/v2/svg-renderer/index.js +13 -0
  396. package/dist/v2/svg-renderer/layerOrder.d.ts +19 -0
  397. package/dist/v2/svg-renderer/layerOrder.d.ts.map +1 -0
  398. package/dist/v2/svg-renderer/layerOrder.js +18 -0
  399. package/dist/v2/svg-renderer/layers.d.ts +3 -0
  400. package/dist/v2/svg-renderer/layers.d.ts.map +1 -0
  401. package/dist/v2/svg-renderer/layers.js +4 -0
  402. package/dist/v2/svg-renderer/primitives.d.ts +12 -0
  403. package/dist/v2/svg-renderer/primitives.d.ts.map +1 -0
  404. package/dist/v2/svg-renderer/primitives.js +13 -0
  405. package/dist/v2/svg-renderer/renderer.d.ts +4 -0
  406. package/dist/v2/svg-renderer/renderer.d.ts.map +1 -0
  407. package/dist/v2/svg-renderer/renderer.js +24 -0
  408. package/dist/v2/svg-renderer/symbolGeometry.d.ts +6 -0
  409. package/dist/v2/svg-renderer/symbolGeometry.d.ts.map +1 -0
  410. package/dist/v2/svg-renderer/symbolGeometry.js +10 -0
  411. package/dist/v2/svg-renderer/symbols.d.ts +3 -0
  412. package/dist/v2/svg-renderer/symbols.d.ts.map +1 -0
  413. package/dist/v2/svg-renderer/symbols.js +23 -0
  414. package/dist/v2/svg-renderer/testIds.d.ts +2 -0
  415. package/dist/v2/svg-renderer/testIds.d.ts.map +1 -0
  416. package/dist/v2/svg-renderer/testIds.js +10 -0
  417. package/dist/v2/svg-renderer/textMeasurement.d.ts +4 -0
  418. package/dist/v2/svg-renderer/textMeasurement.d.ts.map +1 -0
  419. package/dist/v2/svg-renderer/textMeasurement.js +37 -0
  420. package/dist/v2/svg-renderer/types.d.ts +134 -0
  421. package/dist/v2/svg-renderer/types.d.ts.map +1 -0
  422. package/dist/v2/svg-renderer/types.js +1 -0
  423. package/package.json +56 -50
  424. package/v2/index.d.ts +1 -0
  425. package/v2/index.js +1 -0
  426. package/v2/package.json +6 -0
  427. package/scripts/chartkit-codemod.mjs +0 -256
@@ -0,0 +1,37 @@
1
+ const DEFAULT_FONT_SIZE = 12;
2
+ const DEFAULT_WIDTH_FACTOR = 0.56;
3
+ const BOLD_WIDTH_FACTOR = 0.6;
4
+ const isBold = (fontWeight) => {
5
+ if (fontWeight === undefined || fontWeight === "normal") {
6
+ return false;
7
+ }
8
+ if (fontWeight === "bold") {
9
+ return true;
10
+ }
11
+ return Number(fontWeight) >= 600;
12
+ };
13
+ export const measureSvgTextFallback = (text, options = {}) => {
14
+ const fontSize = options.fontSize ?? DEFAULT_FONT_SIZE;
15
+ const lineHeight = options.lineHeight ?? fontSize * 1.2;
16
+ const letterSpacing = options.letterSpacing ?? 0;
17
+ const widthFactor = isBold(options.fontWeight)
18
+ ? BOLD_WIDTH_FACTOR
19
+ : DEFAULT_WIDTH_FACTOR;
20
+ const lines = text.length > 0 ? text.split("\n") : [""];
21
+ const rawWidth = lines.reduce((max, line) => {
22
+ const spacing = Math.max(0, line.length - 1) * letterSpacing;
23
+ return Math.max(max, line.length * fontSize * widthFactor + spacing);
24
+ }, 0);
25
+ return {
26
+ width: options.maxWidth === undefined
27
+ ? rawWidth
28
+ : Math.min(rawWidth, options.maxWidth),
29
+ height: lines.length * lineHeight
30
+ };
31
+ };
32
+ export const createSvgTextMeasurer = (defaults = {}) => {
33
+ return (text, options = {}) => measureSvgTextFallback(text, {
34
+ ...defaults,
35
+ ...options
36
+ });
37
+ };
@@ -0,0 +1,134 @@
1
+ import type { ComponentType, ReactNode } from "react";
2
+ import type { CircleProps, GProps, LineProps, LinearGradientProps, PathProps, RectProps, StopProps, SvgProps, TextProps } from "react-native-svg";
3
+ import type { ChartRenderLayerName } from "./layerOrder";
4
+ export type SvgTextMeasurementOptions = {
5
+ fontFamily?: TextProps["fontFamily"];
6
+ fontSize?: number;
7
+ fontWeight?: TextProps["fontWeight"];
8
+ lineHeight?: number;
9
+ letterSpacing?: number;
10
+ maxWidth?: number;
11
+ };
12
+ export type SvgMeasuredText = {
13
+ width: number;
14
+ height: number;
15
+ };
16
+ export type SvgTextMeasurer = (text: string, options?: SvgTextMeasurementOptions) => SvgMeasuredText;
17
+ export type SvgTestableProps = {
18
+ testID?: string;
19
+ };
20
+ export type SvgSurfaceProps = SvgProps & SvgTestableProps & {
21
+ width: number;
22
+ height: number;
23
+ children?: ReactNode;
24
+ };
25
+ export type SvgGroupProps = GProps & SvgTestableProps & {
26
+ children?: ReactNode;
27
+ };
28
+ export type SvgPathProps = PathProps & SvgTestableProps;
29
+ export type SvgRectProps = RectProps & SvgTestableProps;
30
+ export type SvgHitRegionProps = Omit<RectProps, "fill" | "fillOpacity"> & SvgTestableProps & {
31
+ disabled?: boolean;
32
+ fill?: RectProps["fill"];
33
+ fillOpacity?: RectProps["fillOpacity"];
34
+ height: number;
35
+ width: number;
36
+ x: number;
37
+ y: number;
38
+ };
39
+ export type SvgCircleProps = CircleProps & SvgTestableProps;
40
+ export type SvgTextProps = TextProps & SvgTestableProps;
41
+ export type SvgLineProps = LineProps & SvgTestableProps;
42
+ export type SvgSymbolShape = "circle" | "square" | "diamond" | "line";
43
+ export type SvgSymbolProps = SvgTestableProps & {
44
+ shape: SvgSymbolShape;
45
+ x: number;
46
+ y: number;
47
+ size: number;
48
+ fill?: string;
49
+ stroke?: string;
50
+ strokeWidth?: number;
51
+ opacity?: number;
52
+ strokeLinecap?: LineProps["strokeLinecap"];
53
+ cornerRadius?: number;
54
+ };
55
+ export type SvgLayerProps = SvgGroupProps & {
56
+ name: ChartRenderLayerName;
57
+ };
58
+ export type SvgDefsProps = {
59
+ children?: ReactNode;
60
+ };
61
+ export type SvgClipRectProps = SvgTestableProps & {
62
+ id: string;
63
+ x: number;
64
+ y: number;
65
+ width: number;
66
+ height: number;
67
+ };
68
+ export type SvgSpacing = number | {
69
+ bottom?: number;
70
+ left?: number;
71
+ right?: number;
72
+ top?: number;
73
+ };
74
+ export type SvgClipPolicyInput = {
75
+ enabled?: boolean;
76
+ height: number;
77
+ id: string;
78
+ inset?: SvgSpacing;
79
+ width: number;
80
+ x: number;
81
+ y: number;
82
+ };
83
+ export type SvgClipPolicy = {
84
+ clipPath: string;
85
+ clipRect: SvgClipRectProps;
86
+ enabled: true;
87
+ } | {
88
+ clipPath?: undefined;
89
+ clipRect?: undefined;
90
+ enabled: false;
91
+ };
92
+ export type SvgGradientStop = {
93
+ offset: NonNullable<StopProps["offset"]>;
94
+ color: string;
95
+ opacity?: number;
96
+ };
97
+ export type SvgLinearGradientDefProps = Omit<LinearGradientProps, "children"> & SvgTestableProps & {
98
+ id: string;
99
+ stops: SvgGradientStop[];
100
+ };
101
+ export type SvgRendererOptions = {
102
+ capabilities?: Partial<SvgRendererCapabilities>;
103
+ measureText?: SvgTextMeasurer;
104
+ textMeasurement?: SvgTextMeasurementOptions;
105
+ };
106
+ export type SvgRendererCapabilities = {
107
+ animation: "none" | "reactNative";
108
+ clipPaths: boolean;
109
+ gradients: boolean;
110
+ hitRegions: boolean;
111
+ layers: boolean;
112
+ shadows: boolean;
113
+ symbols: boolean;
114
+ testIds: boolean;
115
+ textMeasurement: "fallback" | "custom";
116
+ };
117
+ export type SvgRenderer = {
118
+ Surface: ComponentType<SvgSurfaceProps>;
119
+ Group: ComponentType<SvgGroupProps>;
120
+ Path: ComponentType<SvgPathProps>;
121
+ Rect: ComponentType<SvgRectProps>;
122
+ HitRegion: ComponentType<SvgHitRegionProps>;
123
+ Circle: ComponentType<SvgCircleProps>;
124
+ Symbol: ComponentType<SvgSymbolProps>;
125
+ Text: ComponentType<SvgTextProps>;
126
+ Line: ComponentType<SvgLineProps>;
127
+ Layer: ComponentType<SvgLayerProps>;
128
+ Defs: ComponentType<SvgDefsProps>;
129
+ ClipRect: ComponentType<SvgClipRectProps>;
130
+ LinearGradient: ComponentType<SvgLinearGradientDefProps>;
131
+ capabilities: SvgRendererCapabilities;
132
+ measureText: SvgTextMeasurer;
133
+ };
134
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "react-native-chart-kit",
3
- "version": "7.0.0-next.1",
3
+ "version": "7.0.0-next.3",
4
4
  "workspaces": [
5
5
  "packages/*",
6
- "apps/expo-showcase"
6
+ "apps/site"
7
7
  ],
8
8
  "devDependencies": {
9
9
  "@eslint/js": "^9.39.4",
10
- "@playwright/test": "^1.59.1",
11
10
  "@react-native-community/cli": "^20.1.3",
12
11
  "@types/node": "^25.6.0",
13
12
  "@types/react": "^19.2.14",
13
+ "@vitest/coverage-v8": "^4.1.5",
14
14
  "eslint": "^9.39.4",
15
15
  "eslint-plugin-react": "^7.37.5",
16
16
  "eslint-plugin-react-hooks": "^7.1.1",
@@ -18,6 +18,7 @@
18
18
  "husky": "^9.1.7",
19
19
  "lint-staged": "^16.4.0",
20
20
  "prettier": "^3.8.3",
21
+ "prettier-plugin-astro": "^0.14.1",
21
22
  "react": "^19.2.5",
22
23
  "react-native": "^0.83.9",
23
24
  "react-native-svg": "^15.15.4",
@@ -28,13 +29,31 @@
28
29
  "main": "./dist/index.js",
29
30
  "types": "./dist/index.d.ts",
30
31
  "typings": "./dist/index.d.ts",
32
+ "exports": {
33
+ ".": {
34
+ "types": "./dist/index.d.ts",
35
+ "import": "./dist/index.js",
36
+ "default": "./dist/index.js"
37
+ },
38
+ "./v2": {
39
+ "types": "./v2/index.d.ts",
40
+ "import": "./v2/index.js",
41
+ "default": "./v2/index.js"
42
+ },
43
+ "./package.json": "./package.json"
44
+ },
45
+ "typesVersions": {
46
+ "*": {
47
+ "v2": [
48
+ "v2/index.d.ts",
49
+ "dist/v2/index.d.ts"
50
+ ]
51
+ }
52
+ },
31
53
  "files": [
32
54
  "dist",
33
- "scripts/chartkit-codemod.mjs"
55
+ "v2"
34
56
  ],
35
- "bin": {
36
- "chartkit-codemod": "./scripts/chartkit-codemod.mjs"
37
- },
38
57
  "publishConfig": {
39
58
  "access": "public",
40
59
  "registry": "https://registry.npmjs.org/"
@@ -44,75 +63,62 @@
44
63
  "filesize:check": "node scripts/check-file-sizes.mjs",
45
64
  "format": "prettier --write .",
46
65
  "format:check": "prettier --check .",
47
- "surface:check": "node scripts/verify-public-surface.mjs && node scripts/verify-package-boundaries.mjs && node scripts/verify-pro-preview-imports.mjs",
66
+ "surface:check": "node scripts/verify-public-surface.mjs && node scripts/verify-package-boundaries.mjs && node scripts/verify-private-surface-imports.mjs",
48
67
  "security:audit": "npm audit --audit-level=high",
49
68
  "boundaries:check": "node scripts/verify-package-boundaries.mjs",
50
69
  "pack:check": "node scripts/check-package-packs.mjs",
51
70
  "test": "npm run typecheck && npm run test:unit && npm run test:compat",
52
71
  "test:unit": "vitest run --exclude \"packages/**/test/compat/**/*.test.ts\"",
53
- "test:visual": "npm run visual:test",
72
+ "test:coverage": "vitest run --coverage",
54
73
  "test:compat": "vitest run packages/core/test/compat",
55
- "test:e2e": "npm run e2e:test",
56
- "typecheck": "tsc --noEmit && npm run core:typecheck && npm run svg:typecheck && npm run skia:typecheck && npm run pro:typecheck && npm run rn:typecheck && npm run showcase:typecheck",
74
+ "typecheck": "tsc --noEmit && npm run core:typecheck && npm run svg:typecheck && npm run rn:typecheck",
57
75
  "core:typecheck": "tsc -p packages/core/tsconfig.json --noEmit && tsc -p packages/core/tsconfig.test.json --noEmit",
58
76
  "core:build": "tsc -p packages/core/tsconfig.json",
59
77
  "svg:typecheck": "tsc -p packages/svg-renderer/tsconfig.json --noEmit && tsc -p packages/svg-renderer/tsconfig.test.json --noEmit",
60
78
  "svg:build": "tsc -p packages/svg-renderer/tsconfig.json",
61
- "skia:typecheck": "tsc -p packages/skia-renderer/tsconfig.json --noEmit && tsc -p packages/skia-renderer/tsconfig.test.json --noEmit",
62
- "skia:build": "tsc -p packages/skia-renderer/tsconfig.json",
63
- "skia:parity": "vitest run packages/skia-renderer/test/skia-renderer.test.ts packages/react-native/test/line-renderer.test.ts packages/react-native/test/bar-renderer.test.ts packages/react-native/test/pie-renderer.test.ts packages/react-native/test/progress-renderer.test.ts packages/react-native/test/contribution-renderer.test.ts packages/react-native/test/combined-renderer.test.ts packages/react-native/test/candlestick-renderer.test.ts",
64
- "skia:native:dry-run": "node scripts/run-skia-native-release-check.mjs --platform all --dry-run",
65
- "skia:native:release": "node scripts/run-skia-native-release-check.mjs --platform all",
66
- "pro:typecheck": "tsc -p packages/pro/tsconfig.json --noEmit && tsc -p packages/pro/tsconfig.test.json --noEmit",
67
- "pro:build": "tsc -p packages/pro/tsconfig.json",
68
79
  "rn:typecheck": "tsc -p packages/react-native/tsconfig.json --noEmit && tsc -p packages/react-native/tsconfig.test.json --noEmit",
69
80
  "rn:build": "tsc -p packages/react-native/tsconfig.build.json",
70
- "benchmark": "npm run benchmark:core-geometry && npm run benchmark:showcase-interaction",
81
+ "benchmark": "npm run benchmark:core-geometry",
71
82
  "benchmark:core-geometry": "node scripts/benchmark-core-line.mjs",
72
83
  "benchmark:core-line": "node scripts/benchmark-core-line.mjs",
73
- "benchmark:showcase-interaction": "npm run showcase:build && playwright test -c apps/expo-showcase/benchmark.config.ts",
74
- "showcase": "npm --workspace @chart-kit/expo-showcase run web --",
75
- "showcase:build": "npm --workspace @chart-kit/expo-showcase run web:build",
76
- "showcase:typecheck": "npm --workspace @chart-kit/expo-showcase run typecheck",
77
- "expo:typecheck": "npm --workspace @chart-kit/expo-showcase run typecheck",
78
- "visual:test": "npm run showcase:build && playwright test -c apps/expo-showcase/playwright.config.ts",
79
- "visual:update": "npm run showcase:build && playwright test -c apps/expo-showcase/playwright.config.ts --update-snapshots",
80
- "e2e:test": "npm run showcase:build && playwright test -c apps/expo-showcase/playwright.config.ts apps/expo-showcase/visual/chart-interaction.spec.ts",
81
- "example:ios": "npm --workspace @chart-kit/expo-showcase run ios --",
82
- "example:android": "npm --workspace @chart-kit/expo-showcase run android --",
83
- "example:expo": "npm --workspace @chart-kit/expo-showcase run start --",
84
84
  "example:rn-cli:typecheck": "tsc -p examples/rn-cli-basic/tsconfig.json --noEmit",
85
85
  "example:rn-cli:native:dry-run": "node scripts/run-rn-cli-native-check.mjs --platform all --dry-run",
86
86
  "example:rn-cli:android": "node scripts/run-rn-cli-native-check.mjs --platform android",
87
87
  "example:rn-cli:ios": "node scripts/run-rn-cli-native-check.mjs --platform ios",
88
- "native:release": "node scripts/run-expo-native-release-check.mjs --platform all",
89
- "native:release:android": "node scripts/run-expo-native-release-check.mjs --platform android",
90
- "native:release:ios": "node scripts/run-expo-native-release-check.mjs --platform ios",
91
- "native:release:dry-run": "node scripts/run-expo-native-release-check.mjs --platform all --dry-run",
92
- "release:native-workflow:record": "node scripts/record-native-workflow-evidence.mjs",
93
- "release:owner:record": "node scripts/record-owner-gate-decision.mjs",
94
- "release:publish:evidence": "node scripts/record-npm-publish-evidence.mjs",
95
- "release:publish:status": "node scripts/check-npm-publish-state.mjs",
96
- "release:preview:publish:preflight": "npm run release:preview:gate && npm run build && npm run pack:check && npm run release:publish:status -- --expect partial",
97
- "release:preview:gate": "node scripts/check-release-gates.mjs --preview --strict",
98
- "release:preview:gate:report": "node scripts/check-release-gates.mjs --preview",
99
- "release:gate": "node scripts/check-release-gates.mjs --strict",
100
- "release:gate:report": "node scripts/check-release-gates.mjs",
101
88
  "docs:build": "node scripts/docs-build.mjs && node scripts/typecheck-doc-examples.mjs",
102
- "codemod:v1-to-v2": "node scripts/chartkit-codemod.mjs v1-to-v2",
89
+ "site": "node scripts/run-site-server.mjs dev",
90
+ "site:build": "npm --workspace @chart-kit/site run build",
91
+ "site:preview": "node scripts/run-site-server.mjs preview",
103
92
  "clean": "node scripts/clean-dist.mjs",
104
- "build": "npm run clean && npm run core:build && npm run svg:build && npm run skia:build && npm run pro:build && npm run rn:build && tsc",
93
+ "build": "npm run clean && npm run core:build && npm run svg:build && npm run rn:build && tsc && node scripts/assemble-root-modern-dist.mjs",
105
94
  "dev": "tsc --watch",
106
95
  "prepare": "npm run build && husky"
107
96
  },
108
97
  "peerDependencies": {
109
- "react": ">=19.2.0 <20",
110
- "react-native": ">=0.83 <1",
111
- "react-native-svg": ">=15.13.0 <16"
98
+ "react": ">=19.1.0 <20",
99
+ "react-native": ">=0.81 <1",
100
+ "react-native-svg": ">=15.12.1 <16"
112
101
  },
113
102
  "dependencies": {
114
103
  "paths-js": "^0.4.11"
115
104
  },
105
+ "overrides": {
106
+ "astro": {
107
+ "esbuild": "0.28.1"
108
+ },
109
+ "joi": "17.13.4",
110
+ "shell-quote": "1.8.4",
111
+ "vite": {
112
+ ".": "^7.3.3",
113
+ "esbuild": "0.28.1"
114
+ },
115
+ "volar-service-yaml": {
116
+ "yaml-language-server": "1.23.0"
117
+ },
118
+ "yaml-language-server": {
119
+ "yaml": "2.8.3"
120
+ }
121
+ },
116
122
  "lint-staged": {
117
123
  "*.{js,jsx,ts,tsx}": [
118
124
  "eslint --fix",
@@ -124,9 +130,9 @@
124
130
  "node": ">=20.19.4"
125
131
  },
126
132
  "license": "MIT",
127
- "homepage": "https://github.com/indiespirit/react-native-chart-kit",
133
+ "homepage": "https://github.com/chart-kit/react-native-chart-kit",
128
134
  "repository": {
129
135
  "type": "git",
130
- "url": "git+https://github.com/indiespirit/react-native-chart-kit.git"
136
+ "url": "git+https://github.com/chart-kit/react-native-chart-kit.git"
131
137
  }
132
138
  }
package/v2/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "../dist/v2/index";
package/v2/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from "../dist/v2/index.js";
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../dist/v2/index.js",
3
+ "module": "../dist/v2/index.js",
4
+ "react-native": "../dist/v2/index.js",
5
+ "types": "../dist/v2/index.d.ts"
6
+ }
@@ -1,256 +0,0 @@
1
- #!/usr/bin/env node
2
- import { readdir, readFile, stat, writeFile } from "node:fs/promises";
3
- import path from "node:path";
4
- import process from "node:process";
5
- import { pathToFileURL } from "node:url";
6
-
7
- export const legacyChartComponents = [
8
- "LineChart",
9
- "BarChart",
10
- "StackedBarChart",
11
- "PieChart",
12
- "ProgressChart",
13
- "ContributionGraph"
14
- ];
15
-
16
- const sourceExtensions = new Set([".js", ".jsx", ".ts", ".tsx"]);
17
- const ignoredDirectoryNames = new Set([
18
- ".git",
19
- ".tmp",
20
- "build",
21
- "dist",
22
- "node_modules"
23
- ]);
24
- const unsupportedLegacyProps = [
25
- "decorator",
26
- "getDotProps",
27
- "renderDotContent",
28
- "tooltipDataAttrs"
29
- ];
30
-
31
- export const importsReactNativeChartKit = (source) =>
32
- /from\s+["']react-native-chart-kit["']/.test(source) ||
33
- /require\(\s*["']react-native-chart-kit["']\s*\)/.test(source);
34
-
35
- const getImportedLegacyComponents = (source) => {
36
- const imported = new Set();
37
- const namedImportPattern =
38
- /import\s+\{(?<names>[^}]+)\}\s+from\s+["']react-native-chart-kit["']/g;
39
- let match;
40
-
41
- while ((match = namedImportPattern.exec(source)) !== null) {
42
- const names = match.groups?.names ?? "";
43
-
44
- for (const name of names.split(",")) {
45
- const localName = name
46
- .trim()
47
- .split(/\s+as\s+/i)
48
- .at(-1)
49
- ?.trim();
50
-
51
- if (localName && legacyChartComponents.includes(localName)) {
52
- imported.add(localName);
53
- }
54
- }
55
- }
56
-
57
- const requirePattern =
58
- /(?:const|let|var)\s+\{(?<names>[^}]+)\}\s*=\s*require\(\s*["']react-native-chart-kit["']\s*\)/g;
59
-
60
- while ((match = requirePattern.exec(source)) !== null) {
61
- const names = match.groups?.names ?? "";
62
-
63
- for (const name of names.split(",")) {
64
- const localName = name
65
- .trim()
66
- .split(/\s*:\s*/)
67
- .at(-1)
68
- ?.trim();
69
-
70
- if (localName && legacyChartComponents.includes(localName)) {
71
- imported.add(localName);
72
- }
73
- }
74
- }
75
-
76
- return imported;
77
- };
78
-
79
- const getLineNumber = (source, index) =>
80
- source.slice(0, index).split("\n").length;
81
-
82
- const collectWarnings = ({ filePath, source }) => {
83
- const warnings = [];
84
-
85
- for (const prop of unsupportedLegacyProps) {
86
- const pattern = new RegExp(`\\b${prop}\\s*=`, "g");
87
- let match;
88
-
89
- while ((match = pattern.exec(source)) !== null) {
90
- warnings.push({
91
- filePath,
92
- line: getLineNumber(source, match.index),
93
- message: `${prop} is preserved, but should be manually reviewed for the modern composable API.`
94
- });
95
- }
96
- }
97
-
98
- if (
99
- /import\s+\*\s+as\s+\w+\s+from\s+["']react-native-chart-kit["']/.test(
100
- source
101
- )
102
- ) {
103
- warnings.push({
104
- filePath,
105
- line: 1,
106
- message:
107
- "Namespace imports are detected but not rewritten; review ChartKit.LineChart-style usages manually."
108
- });
109
- }
110
-
111
- return warnings;
112
- };
113
-
114
- export const transformV1ToV2Source = (source) => {
115
- if (!importsReactNativeChartKit(source)) {
116
- return {
117
- changed: false,
118
- source
119
- };
120
- }
121
-
122
- const importedComponents = getImportedLegacyComponents(source);
123
-
124
- if (importedComponents.size === 0) {
125
- return {
126
- changed: false,
127
- source
128
- };
129
- }
130
-
131
- const componentAlternation = [...importedComponents].join("|");
132
- const openingTagPattern = new RegExp(
133
- `<(?<name>${componentAlternation})(?<attrs>\\s[^<>]*?)?(?<closing>\\/?)>`,
134
- "g"
135
- );
136
- const nextSource = source.replace(
137
- openingTagPattern,
138
- (fullMatch, name, attrs = "", closing) => {
139
- if (/\bcompatibility\s*=/.test(attrs)) {
140
- return fullMatch;
141
- }
142
-
143
- return `<${name} compatibility="v1"${attrs}${closing}>`;
144
- }
145
- );
146
-
147
- return {
148
- changed: nextSource !== source,
149
- source: nextSource
150
- };
151
- };
152
-
153
- const collectSourceFiles = async (entry) => {
154
- const absolutePath = path.resolve(entry);
155
- const entryStat = await stat(absolutePath);
156
-
157
- if (entryStat.isFile()) {
158
- return sourceExtensions.has(path.extname(absolutePath))
159
- ? [absolutePath]
160
- : [];
161
- }
162
-
163
- if (!entryStat.isDirectory()) {
164
- return [];
165
- }
166
-
167
- const children = await readdir(absolutePath, { withFileTypes: true });
168
- const nested = await Promise.all(
169
- children.map((child) => {
170
- if (child.isDirectory() && ignoredDirectoryNames.has(child.name)) {
171
- return [];
172
- }
173
-
174
- return collectSourceFiles(path.join(absolutePath, child.name));
175
- })
176
- );
177
-
178
- return nested.flat();
179
- };
180
-
181
- const runV1ToV2 = async ({ check, entries }) => {
182
- const files = (await Promise.all(entries.map(collectSourceFiles))).flat();
183
- const changedFiles = [];
184
- const warnings = [];
185
-
186
- for (const filePath of files) {
187
- const source = await readFile(filePath, "utf8");
188
- const result = transformV1ToV2Source(source);
189
-
190
- warnings.push(...collectWarnings({ filePath, source }));
191
-
192
- if (!result.changed) {
193
- continue;
194
- }
195
-
196
- changedFiles.push(filePath);
197
-
198
- if (!check) {
199
- await writeFile(filePath, result.source, "utf8");
200
- }
201
- }
202
-
203
- return {
204
- changedFiles,
205
- checkedFiles: files.length,
206
- warnings
207
- };
208
- };
209
-
210
- const printUsage = () => {
211
- console.log(`Usage:
212
- chartkit-codemod v1-to-v2 <path...> [--check]
213
-
214
- Examples:
215
- npx chartkit-codemod v1-to-v2 ./src
216
- npx chartkit-codemod v1-to-v2 ./src --check`);
217
- };
218
-
219
- export const runCli = async (argv) => {
220
- const [, , command, ...rest] = argv;
221
- const check = rest.includes("--check");
222
- const entries = rest.filter((item) => item !== "--check");
223
-
224
- if (command !== "v1-to-v2" || entries.length === 0) {
225
- printUsage();
226
- return 1;
227
- }
228
-
229
- const result = await runV1ToV2({ check, entries });
230
-
231
- for (const warning of result.warnings) {
232
- console.warn(
233
- `${path.relative(process.cwd(), warning.filePath)}:${warning.line}: ${warning.message}`
234
- );
235
- }
236
-
237
- const action = check ? "would update" : "updated";
238
- console.log(
239
- `chartkit-codemod v1-to-v2 checked ${result.checkedFiles} files; ${action} ${result.changedFiles.length}.`
240
- );
241
-
242
- for (const filePath of result.changedFiles) {
243
- console.log(`- ${path.relative(process.cwd(), filePath)}`);
244
- }
245
-
246
- return check && result.changedFiles.length > 0 ? 1 : 0;
247
- };
248
-
249
- const invokedUrl = process.argv[1]
250
- ? pathToFileURL(path.resolve(process.argv[1])).href
251
- : "";
252
-
253
- if (import.meta.url === invokedUrl) {
254
- const exitCode = await runCli(process.argv);
255
- process.exit(exitCode);
256
- }