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,298 @@
1
+ export const defaultCartesianChartTypography = {
2
+ axisLabelSize: 11,
3
+ legendLabelSize: 11
4
+ };
5
+ const resolveCartesianChartTooltipTheme = (theme, tooltip) => ({
6
+ background: tooltip?.background ?? theme.plotBackground,
7
+ border: tooltip?.border ?? theme.axis,
8
+ text: tooltip?.text ?? theme.text,
9
+ mutedText: tooltip?.mutedText ?? theme.mutedText,
10
+ shadowColor: tooltip?.shadowColor ?? "#020617",
11
+ shadowOpacity: tooltip?.shadowOpacity ?? 0.16,
12
+ shadowOffsetX: tooltip?.shadowOffsetX ?? 0,
13
+ shadowOffsetY: tooltip?.shadowOffsetY ?? 3,
14
+ borderRadius: tooltip?.borderRadius ?? 8,
15
+ padding: tooltip?.padding ?? 10,
16
+ fontSize: tooltip?.fontSize ?? theme.typography.legendLabelSize,
17
+ labelFontSize: tooltip?.labelFontSize ?? theme.typography.legendLabelSize
18
+ });
19
+ const createResolvedCartesianChartTheme = (theme) => ({
20
+ ...theme,
21
+ tooltip: resolveCartesianChartTooltipTheme(theme, theme.tooltip)
22
+ });
23
+ const defaultLightTheme = {
24
+ background: "#ffffff",
25
+ plotBackground: "#ffffff",
26
+ grid: "#e5e7eb",
27
+ axis: "#e5e7eb",
28
+ text: "#0f172a",
29
+ mutedText: "#64748b",
30
+ series: ["#2563eb", "#0891b2", "#7c3aed", "#16a34a"],
31
+ typography: defaultCartesianChartTypography
32
+ };
33
+ const defaultDarkTheme = {
34
+ background: "#0f172a",
35
+ plotBackground: "#111827",
36
+ grid: "#334155",
37
+ axis: "#475569",
38
+ text: "#e5e7eb",
39
+ mutedText: "#94a3b8",
40
+ series: ["#38bdf8", "#a78bfa", "#22c55e", "#f59e0b"],
41
+ typography: defaultCartesianChartTypography
42
+ };
43
+ const resolvedDefaultThemes = {
44
+ light: createResolvedCartesianChartTheme(defaultLightTheme),
45
+ dark: createResolvedCartesianChartTheme(defaultDarkTheme)
46
+ };
47
+ export const builtInCartesianChartPresets = {
48
+ default: {
49
+ light: defaultLightTheme,
50
+ dark: defaultDarkTheme
51
+ },
52
+ spectrum: {
53
+ light: {
54
+ background: "#f4f7ff",
55
+ plotBackground: "#ffffff",
56
+ grid: "#cfddff",
57
+ axis: "#b8c8ef",
58
+ text: "#122044",
59
+ mutedText: "#566482",
60
+ series: ["#e11d48", "#2563eb", "#f59e0b", "#16a34a"],
61
+ typography: defaultCartesianChartTypography
62
+ },
63
+ dark: {
64
+ background: "#07111f",
65
+ plotBackground: "#0b1627",
66
+ grid: "#1d3554",
67
+ axis: "#2d4867",
68
+ text: "#e8f1ff",
69
+ mutedText: "#9db2cb",
70
+ series: ["#60a5fa", "#34d399", "#fbbf24", "#c084fc"],
71
+ typography: defaultCartesianChartTypography
72
+ }
73
+ },
74
+ aurora: {
75
+ light: {
76
+ background: "#f7f2ff",
77
+ plotBackground: "#fffaff",
78
+ grid: "#ddd0ff",
79
+ axis: "#c7b7f5",
80
+ text: "#21133d",
81
+ mutedText: "#705d8f",
82
+ series: ["#7c3aed", "#0891b2", "#db2777", "#ea580c"],
83
+ typography: defaultCartesianChartTypography
84
+ },
85
+ dark: {
86
+ background: "#020617",
87
+ plotBackground: "#0c1424",
88
+ grid: "#1e3a5f",
89
+ axis: "#2c5078",
90
+ text: "#f8fafc",
91
+ mutedText: "#9fb6d1",
92
+ series: ["#38bdf8", "#a78bfa", "#2dd4bf", "#fb923c"],
93
+ typography: defaultCartesianChartTypography
94
+ }
95
+ },
96
+ verdant: {
97
+ light: {
98
+ background: "#f1fbf5",
99
+ plotBackground: "#fbfffd",
100
+ grid: "#cdebd9",
101
+ axis: "#b4dbc4",
102
+ text: "#0d2618",
103
+ mutedText: "#557064",
104
+ series: ["#059669", "#65a30d", "#0e7490", "#dc2626"],
105
+ typography: defaultCartesianChartTypography
106
+ },
107
+ dark: {
108
+ background: "#07130f",
109
+ plotBackground: "#0b1c15",
110
+ grid: "#214638",
111
+ axis: "#315b4c",
112
+ text: "#eefbf4",
113
+ mutedText: "#a8c7b7",
114
+ series: ["#34d399", "#fb7185", "#38bdf8", "#bef264"],
115
+ typography: defaultCartesianChartTypography
116
+ }
117
+ },
118
+ cupertino: {
119
+ light: {
120
+ background: "#f2f7ff",
121
+ plotBackground: "#ffffff",
122
+ grid: "#d5e6fa",
123
+ axis: "#c5d8ed",
124
+ text: "#162033",
125
+ mutedText: "#617189",
126
+ series: ["#007aff", "#ff2d55", "#34c759", "#ff9500"],
127
+ typography: defaultCartesianChartTypography
128
+ },
129
+ dark: {
130
+ background: "#000000",
131
+ plotBackground: "#1c1c1e",
132
+ grid: "#38383a",
133
+ axis: "#48484a",
134
+ text: "#f5f5f7",
135
+ mutedText: "#aeaeb2",
136
+ series: ["#0a84ff", "#30d158", "#ff9f0a", "#ff375f"],
137
+ typography: defaultCartesianChartTypography
138
+ }
139
+ },
140
+ material: {
141
+ light: {
142
+ background: "#fff7fb",
143
+ plotBackground: "#fffafd",
144
+ grid: "#eaddec",
145
+ axis: "#d7c5dd",
146
+ text: "#1d1b20",
147
+ mutedText: "#625b71",
148
+ series: ["#6750a4", "#006a6a", "#b3261e", "#7d5260"],
149
+ typography: defaultCartesianChartTypography
150
+ },
151
+ dark: {
152
+ background: "#141218",
153
+ plotBackground: "#1d1b20",
154
+ grid: "#49454f",
155
+ axis: "#5d5668",
156
+ text: "#e6e0e9",
157
+ mutedText: "#cac4d0",
158
+ series: ["#d0bcff", "#4fd8d8", "#ffb4ab", "#efb8c8"],
159
+ typography: defaultCartesianChartTypography
160
+ }
161
+ },
162
+ graphite: {
163
+ light: {
164
+ background: "#f4f5f7",
165
+ plotBackground: "#fbfcfd",
166
+ grid: "#d9dee7",
167
+ axis: "#c9d0dc",
168
+ text: "#111827",
169
+ mutedText: "#6b7280",
170
+ series: ["#111827", "#475569", "#737b88", "#a1aab6"],
171
+ typography: defaultCartesianChartTypography
172
+ },
173
+ dark: {
174
+ background: "#0b0d10",
175
+ plotBackground: "#111418",
176
+ grid: "#2a2f36",
177
+ axis: "#3a4048",
178
+ text: "#f3f4f6",
179
+ mutedText: "#a1a8b3",
180
+ series: ["#f8fafc", "#cbd5e1", "#94a3b8", "#64748b"],
181
+ typography: defaultCartesianChartTypography
182
+ }
183
+ },
184
+ contrast: {
185
+ light: {
186
+ background: "#ffffff",
187
+ plotBackground: "#ffffff",
188
+ grid: "#111827",
189
+ axis: "#111827",
190
+ text: "#000000",
191
+ mutedText: "#1f2937",
192
+ series: ["#005fcc", "#d0006f", "#008a00", "#a15c00"],
193
+ typography: {
194
+ axisLabelSize: 12,
195
+ legendLabelSize: 12
196
+ }
197
+ },
198
+ dark: {
199
+ background: "#000000",
200
+ plotBackground: "#050505",
201
+ grid: "#f9fafb",
202
+ axis: "#f9fafb",
203
+ text: "#ffffff",
204
+ mutedText: "#e5e7eb",
205
+ series: ["#7dd3fc", "#f0abfc", "#86efac", "#fde68a"],
206
+ typography: {
207
+ axisLabelSize: 12,
208
+ legendLabelSize: 12
209
+ }
210
+ }
211
+ },
212
+ midnight: {
213
+ light: {
214
+ background: "#edf3fb",
215
+ plotBackground: "#f8fbff",
216
+ grid: "#bfd0e2",
217
+ axis: "#a8b9cc",
218
+ text: "#0b1220",
219
+ mutedText: "#53657a",
220
+ series: ["#0f766e", "#2563eb", "#9333ea", "#ea580c"],
221
+ typography: defaultCartesianChartTypography
222
+ },
223
+ dark: {
224
+ background: "#020617",
225
+ plotBackground: "#07111f",
226
+ grid: "#1e293b",
227
+ axis: "#334155",
228
+ text: "#e2e8f0",
229
+ mutedText: "#94a3b8",
230
+ series: ["#22d3ee", "#34d399", "#f59e0b", "#f472b6"],
231
+ typography: defaultCartesianChartTypography
232
+ }
233
+ }
234
+ };
235
+ export const createChartPreset = (preset) => preset;
236
+ const isModePreset = (preset) => "light" in preset || "dark" in preset;
237
+ const getPresetTheme = ({ mode, preset, registry }) => {
238
+ const presetInput = typeof preset === "string"
239
+ ? (registry[preset] ?? builtInCartesianChartPresets.default)
240
+ : preset;
241
+ if (!presetInput) {
242
+ return builtInCartesianChartPresets.default[mode];
243
+ }
244
+ if (isModePreset(presetInput)) {
245
+ return (presetInput[mode] ??
246
+ presetInput.light ??
247
+ presetInput.dark ??
248
+ builtInCartesianChartPresets.default[mode]);
249
+ }
250
+ return presetInput;
251
+ };
252
+ export const mergeCartesianChartTheme = (base, override) => {
253
+ if (!override) {
254
+ return base;
255
+ }
256
+ const typography = {
257
+ axisLabelSize: override.typography?.axisLabelSize ?? base.typography.axisLabelSize,
258
+ legendLabelSize: override.typography?.legendLabelSize ?? base.typography.legendLabelSize
259
+ };
260
+ const fontFamily = override.typography?.fontFamily ?? base.typography.fontFamily;
261
+ if (fontFamily) {
262
+ typography.fontFamily = fontFamily;
263
+ }
264
+ const mergedTheme = {
265
+ background: override.background ?? base.background,
266
+ plotBackground: override.plotBackground ?? base.plotBackground,
267
+ grid: override.grid ?? base.grid,
268
+ axis: override.axis ?? base.axis,
269
+ text: override.text ?? base.text,
270
+ mutedText: override.mutedText ?? base.mutedText,
271
+ series: override.series ?? base.series,
272
+ typography
273
+ };
274
+ return {
275
+ ...mergedTheme,
276
+ tooltip: resolveCartesianChartTooltipTheme(mergedTheme, override.tooltip ?? base.tooltip)
277
+ };
278
+ };
279
+ export const resolveCartesianChartThemeConfig = ({ mode, preset = "default", presets = {}, theme }) => {
280
+ const registry = {
281
+ ...builtInCartesianChartPresets,
282
+ ...presets
283
+ };
284
+ const presetTheme = getPresetTheme({ mode, preset, registry });
285
+ const baseTheme = resolvedDefaultThemes[mode];
286
+ const mergedTheme = mergeCartesianChartTheme(mergeCartesianChartTheme(baseTheme, presetTheme), theme);
287
+ const hasTooltipOverride = presetTheme.tooltip !== undefined || theme?.tooltip !== undefined;
288
+ const tooltipOverride = hasTooltipOverride
289
+ ? {
290
+ ...(presetTheme.tooltip ?? {}),
291
+ ...(theme?.tooltip ?? {})
292
+ }
293
+ : undefined;
294
+ return {
295
+ ...mergedTheme,
296
+ tooltip: resolveCartesianChartTooltipTheme(mergedTheme, tooltipOverride)
297
+ };
298
+ };
@@ -0,0 +1,20 @@
1
+ import { type PropsWithChildren } from "react";
2
+ import type { CartesianChartPresetRegistry, CartesianChartPresetValue, CartesianChartTheme, ChartKitThemeMode, ResolvedChartKitThemeMode } from "./presets";
3
+ import type { LineChartRenderer } from "../charts/line/types";
4
+ export type ChartKitThemeContextValue = {
5
+ mode: ResolvedChartKitThemeMode;
6
+ preset: CartesianChartPresetValue;
7
+ presets: CartesianChartPresetRegistry;
8
+ renderer?: LineChartRenderer;
9
+ theme: CartesianChartTheme | undefined;
10
+ };
11
+ export type ChartKitProviderProps = PropsWithChildren<{
12
+ mode?: ChartKitThemeMode;
13
+ preset?: CartesianChartPresetValue;
14
+ presets?: CartesianChartPresetRegistry;
15
+ renderer?: LineChartRenderer;
16
+ theme?: CartesianChartTheme;
17
+ }>;
18
+ export declare const ChartKitProvider: ({ children, mode, preset, presets, renderer, theme }: ChartKitProviderProps) => import("react").JSX.Element;
19
+ export declare const useChartKitTheme: () => ChartKitThemeContextValue;
20
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/theme/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,yBAAyB,CAAC;IAChC,MAAM,EAAE,yBAAyB,CAAC;IAClC,OAAO,EAAE,4BAA4B,CAAC;IACtC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACxC,CAAC;AAaF,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;IACpD,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,OAAO,CAAC,EAAE,4BAA4B,CAAC;IACvC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B,CAAC,CAAC;AAEH,eAAO,MAAM,gBAAgB,GAAI,sDAO9B,qBAAqB,gCAwBvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,iCAAyC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext, useMemo } from "react";
3
+ import { useColorScheme } from "react-native";
4
+ const defaultChartKitThemeContext = {
5
+ mode: "light",
6
+ preset: "default",
7
+ presets: {},
8
+ theme: undefined
9
+ };
10
+ const ChartKitThemeContext = createContext(defaultChartKitThemeContext);
11
+ export const ChartKitProvider = ({ children, mode = "light", preset = "default", presets = {}, renderer, theme }) => {
12
+ const systemColorScheme = useColorScheme();
13
+ const resolvedMode = mode === "system"
14
+ ? systemColorScheme === "dark"
15
+ ? "dark"
16
+ : "light"
17
+ : mode;
18
+ const value = useMemo(() => ({
19
+ mode: resolvedMode,
20
+ preset,
21
+ presets,
22
+ ...(renderer ? { renderer } : {}),
23
+ theme
24
+ }), [preset, presets, renderer, resolvedMode, theme]);
25
+ return (_jsx(ChartKitThemeContext.Provider, { value: value, children: children }));
26
+ };
27
+ export const useChartKitTheme = () => useContext(ChartKitThemeContext);
@@ -0,0 +1,7 @@
1
+ import type { GestureResponderEvent } from "react-native";
2
+ import type { ChartViewportBounds } from "./types";
3
+ export declare const isChartViewportEventInBounds: ({ bounds, event }: {
4
+ bounds: ChartViewportBounds;
5
+ event: GestureResponderEvent;
6
+ }) => boolean;
7
+ //# sourceMappingURL=bounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bounds.d.ts","sourceRoot":"","sources":["../../src/viewport/bounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,eAAO,MAAM,4BAA4B,GAAI,mBAG1C;IACD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,qBAAqB,CAAC;CAC9B,YASA,CAAC"}
@@ -0,0 +1,7 @@
1
+ export const isChartViewportEventInBounds = ({ bounds, event }) => {
2
+ const { locationX, locationY } = event.nativeEvent;
3
+ return (locationX >= bounds.x &&
4
+ locationX <= bounds.x + bounds.width &&
5
+ locationY >= bounds.y &&
6
+ locationY <= bounds.y + bounds.height);
7
+ };
@@ -0,0 +1,13 @@
1
+ import type { ChartViewportInteractionConfig, ResolvedChartViewportInteractionConfig } from "./types";
2
+ export declare const resolveChartViewportInteractionConfig: (viewportInteraction?: boolean | ChartViewportInteractionConfig) => ResolvedChartViewportInteractionConfig;
3
+ export declare const getChartViewportPanDeltaPoints: ({ currentLocationX, plotWidth, startLocationX, visibleCount }: {
4
+ currentLocationX: number;
5
+ plotWidth: number;
6
+ startLocationX: number;
7
+ visibleCount: number;
8
+ }) => number;
9
+ export declare const getChartViewportPinchZoomFactor: ({ scale, sensitivity }: {
10
+ scale: number;
11
+ sensitivity: number;
12
+ }) => number;
13
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/viewport/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,8BAA8B,EAC9B,sCAAsC,EACvC,MAAM,SAAS,CAAC;AAqBjB,eAAO,MAAM,qCAAqC,GAChD,sBAAsB,OAAO,GAAG,8BAA8B,KAC7D,sCAwDF,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,+DAK5C;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,WAMA,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,wBAG7C;IACD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,WAYA,CAAC"}
@@ -0,0 +1,64 @@
1
+ const defaultMinPanDistance = 6;
2
+ const defaultMinVisiblePoints = 6;
3
+ const defaultPinchSensitivity = 1;
4
+ const normalizeFiniteNumber = (value, fallback, min) => typeof value === "number" && Number.isFinite(value)
5
+ ? Math.max(min, value)
6
+ : fallback;
7
+ const normalizePositiveInteger = (value, fallback, min) => Math.floor(normalizeFiniteNumber(value, fallback, min));
8
+ export const resolveChartViewportInteractionConfig = (viewportInteraction) => {
9
+ if (!viewportInteraction) {
10
+ return {
11
+ lockParentScroll: true,
12
+ maxVisiblePoints: undefined,
13
+ minPanDistance: defaultMinPanDistance,
14
+ minVisiblePoints: defaultMinVisiblePoints,
15
+ onGestureEnd: undefined,
16
+ onGestureStart: undefined,
17
+ pan: false,
18
+ pinchSensitivity: defaultPinchSensitivity,
19
+ pinchZoom: false
20
+ };
21
+ }
22
+ if (viewportInteraction === true) {
23
+ return {
24
+ lockParentScroll: true,
25
+ maxVisiblePoints: undefined,
26
+ minPanDistance: defaultMinPanDistance,
27
+ minVisiblePoints: defaultMinVisiblePoints,
28
+ onGestureEnd: undefined,
29
+ onGestureStart: undefined,
30
+ pan: true,
31
+ pinchSensitivity: defaultPinchSensitivity,
32
+ pinchZoom: false
33
+ };
34
+ }
35
+ return {
36
+ lockParentScroll: viewportInteraction.lockParentScroll !== false,
37
+ maxVisiblePoints: typeof viewportInteraction.maxVisiblePoints === "number" &&
38
+ Number.isFinite(viewportInteraction.maxVisiblePoints)
39
+ ? Math.max(2, Math.floor(viewportInteraction.maxVisiblePoints))
40
+ : undefined,
41
+ minPanDistance: typeof viewportInteraction.minPanDistance === "number" &&
42
+ Number.isFinite(viewportInteraction.minPanDistance)
43
+ ? Math.max(0, viewportInteraction.minPanDistance)
44
+ : defaultMinPanDistance,
45
+ minVisiblePoints: normalizePositiveInteger(viewportInteraction.minVisiblePoints, defaultMinVisiblePoints, 2),
46
+ onGestureEnd: viewportInteraction.onGestureEnd,
47
+ onGestureStart: viewportInteraction.onGestureStart,
48
+ pan: viewportInteraction.pan !== false,
49
+ pinchSensitivity: normalizeFiniteNumber(viewportInteraction.pinchSensitivity, defaultPinchSensitivity, 0.1),
50
+ pinchZoom: viewportInteraction.pinchZoom === true
51
+ };
52
+ };
53
+ export const getChartViewportPanDeltaPoints = ({ currentLocationX, plotWidth, startLocationX, visibleCount }) => {
54
+ const safePlotWidth = Number.isFinite(plotWidth) && plotWidth > 0 ? plotWidth : 1;
55
+ const pointSpacing = safePlotWidth / Math.max(1, visibleCount - 1);
56
+ return Math.round((startLocationX - currentLocationX) / pointSpacing);
57
+ };
58
+ export const getChartViewportPinchZoomFactor = ({ scale, sensitivity }) => {
59
+ const safeScale = typeof scale === "number" && Number.isFinite(scale)
60
+ ? Math.max(0.05, scale)
61
+ : 1;
62
+ const safeSensitivity = normalizeFiniteNumber(sensitivity, defaultPinchSensitivity, 0.1);
63
+ return Math.pow(safeScale, safeSensitivity);
64
+ };
@@ -0,0 +1,23 @@
1
+ import type { GestureResponderEvent } from "react-native";
2
+ import { type ResolvedChartViewportWindow } from "../../core/index";
3
+ import type { ChartViewportBounds, ChartViewportChangeEvent, ChartViewportInteractionConfig } from "./types";
4
+ export declare const useChartViewportPan: ({ dataLength, enabled, onViewportChange, plotBounds, preventBrowserSelection, viewportInteraction, viewportWindow }: {
5
+ dataLength: number;
6
+ enabled: boolean;
7
+ onViewportChange: ((event: ChartViewportChangeEvent) => void) | undefined;
8
+ plotBounds: ChartViewportBounds;
9
+ preventBrowserSelection: (event: GestureResponderEvent) => void;
10
+ viewportInteraction: boolean | ChartViewportInteractionConfig | undefined;
11
+ viewportWindow: ResolvedChartViewportWindow;
12
+ }) => {
13
+ hasChanged: () => boolean;
14
+ handleEnd: () => boolean;
15
+ handleGrant: (event: GestureResponderEvent) => boolean;
16
+ handleMove: (event: GestureResponderEvent) => boolean;
17
+ isActive: () => boolean;
18
+ isEnabled: boolean;
19
+ shouldBlockTermination: boolean;
20
+ shouldSetResponder: (event: GestureResponderEvent) => boolean;
21
+ };
22
+ export type ChartViewportPanHandlers = ReturnType<typeof useChartViewportPan>;
23
+ //# sourceMappingURL=pan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pan.d.ts","sourceRoot":"","sources":["../../src/viewport/pan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAC;AAOzB,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,8BAA8B,EAE/B,MAAM,SAAS,CAAC;AAQjB,eAAO,MAAM,mBAAmB,GAAI,qHAQjC;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,CAAC,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1E,UAAU,EAAE,mBAAmB,CAAC;IAChC,uBAAuB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChE,mBAAmB,EAAE,OAAO,GAAG,8BAA8B,GAAG,SAAS,CAAC;IAC1E,cAAc,EAAE,2BAA2B,CAAC;CAC7C;;;yBAsCW,qBAAqB;wBAmBrB,qBAAqB;;;;gCAxBrB,qBAAqB;CA4GhC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { useCallback, useMemo, useRef } from "react";
2
+ import { resolveChartViewportWindowFromPanDelta } from "../../core/index";
3
+ import { isChartViewportEventInBounds } from "./bounds";
4
+ import { getChartViewportPanDeltaPoints, resolveChartViewportInteractionConfig } from "./config";
5
+ const isSameViewportWindow = (first, second) => first.startIndex === second.startIndex && first.endIndex === second.endIndex;
6
+ export const useChartViewportPan = ({ dataLength, enabled, onViewportChange, plotBounds, preventBrowserSelection, viewportInteraction, viewportWindow }) => {
7
+ const config = useMemo(() => resolveChartViewportInteractionConfig(viewportInteraction), [viewportInteraction]);
8
+ const panStateRef = useRef(undefined);
9
+ const canPan = enabled &&
10
+ config.pan &&
11
+ onViewportChange !== undefined &&
12
+ dataLength > viewportWindow.visibleCount &&
13
+ viewportWindow.visibleCount > 0 &&
14
+ plotBounds.width > 0;
15
+ const emitViewportChange = useCallback((nextWindow) => {
16
+ onViewportChange?.({
17
+ viewport: {
18
+ startIndex: nextWindow.startIndex,
19
+ endIndex: nextWindow.endIndex
20
+ },
21
+ startIndex: nextWindow.startIndex,
22
+ endIndex: nextWindow.endIndex,
23
+ visibleCount: nextWindow.visibleCount,
24
+ itemCount: nextWindow.itemCount,
25
+ isWindowed: nextWindow.isWindowed,
26
+ source: "mainPlot",
27
+ interaction: "pan"
28
+ });
29
+ }, [onViewportChange]);
30
+ const shouldSetResponder = useCallback((event) => canPan && isChartViewportEventInBounds({ bounds: plotBounds, event }), [canPan, plotBounds]);
31
+ const handleGrant = useCallback((event) => {
32
+ if (!canPan) {
33
+ return false;
34
+ }
35
+ preventBrowserSelection(event);
36
+ panStateRef.current = {
37
+ lastWindow: viewportWindow,
38
+ startLocationX: event.nativeEvent.locationX,
39
+ startWindow: viewportWindow
40
+ };
41
+ config.onGestureStart?.({ interaction: "pan" });
42
+ return true;
43
+ }, [canPan, config, preventBrowserSelection, viewportWindow]);
44
+ const handleMove = useCallback((event) => {
45
+ const panState = panStateRef.current;
46
+ if (!canPan || !panState) {
47
+ return false;
48
+ }
49
+ preventBrowserSelection(event);
50
+ const deltaX = Math.abs(event.nativeEvent.locationX - panState.startLocationX);
51
+ if (deltaX < config.minPanDistance) {
52
+ return true;
53
+ }
54
+ const deltaPoints = getChartViewportPanDeltaPoints({
55
+ currentLocationX: event.nativeEvent.locationX,
56
+ plotWidth: plotBounds.width,
57
+ startLocationX: panState.startLocationX,
58
+ visibleCount: panState.startWindow.visibleCount
59
+ });
60
+ if (deltaPoints === 0) {
61
+ return true;
62
+ }
63
+ const nextWindow = resolveChartViewportWindowFromPanDelta({
64
+ currentWindow: panState.startWindow,
65
+ deltaPoints,
66
+ itemCount: dataLength
67
+ });
68
+ if (isSameViewportWindow(nextWindow, panState.lastWindow)) {
69
+ return true;
70
+ }
71
+ panStateRef.current = {
72
+ ...panState,
73
+ lastWindow: nextWindow
74
+ };
75
+ emitViewportChange(nextWindow);
76
+ return true;
77
+ }, [
78
+ canPan,
79
+ config.minPanDistance,
80
+ dataLength,
81
+ emitViewportChange,
82
+ plotBounds.width,
83
+ preventBrowserSelection
84
+ ]);
85
+ const handleEnd = useCallback(() => {
86
+ if (!panStateRef.current) {
87
+ return false;
88
+ }
89
+ panStateRef.current = undefined;
90
+ config.onGestureEnd?.({ interaction: "pan" });
91
+ return true;
92
+ }, [config]);
93
+ const isActive = useCallback(() => panStateRef.current !== undefined, []);
94
+ const hasChanged = useCallback(() => {
95
+ const panState = panStateRef.current;
96
+ return panState
97
+ ? !isSameViewportWindow(panState.startWindow, panState.lastWindow)
98
+ : false;
99
+ }, []);
100
+ return {
101
+ hasChanged,
102
+ handleEnd,
103
+ handleGrant,
104
+ handleMove,
105
+ isActive,
106
+ isEnabled: canPan,
107
+ shouldBlockTermination: canPan && config.lockParentScroll,
108
+ shouldSetResponder
109
+ };
110
+ };
@@ -0,0 +1,17 @@
1
+ import { type ReactNode } from "react";
2
+ import type { PanResponderInstance } from "react-native";
3
+ import { type ResolvedChartViewportWindow } from "../../core/index";
4
+ import type { ChartViewportBounds, ChartViewportChangeEvent, ChartViewportInteractionConfig } from "./types";
5
+ export declare const useChartViewportPinchZoom: ({ dataLength, enabled, onViewportChange, plotBounds, viewportInteraction, viewportWindow }: {
6
+ dataLength: number;
7
+ enabled: boolean;
8
+ onViewportChange: ((event: ChartViewportChangeEvent) => void) | undefined;
9
+ plotBounds: ChartViewportBounds;
10
+ viewportInteraction: boolean | ChartViewportInteractionConfig | undefined;
11
+ viewportWindow: ResolvedChartViewportWindow;
12
+ }) => PanResponderInstance | undefined;
13
+ export declare const ChartViewportGesture: ({ children, gesture }: {
14
+ children: ReactNode;
15
+ gesture: PanResponderInstance | undefined;
16
+ }) => import("react").JSX.Element;
17
+ //# sourceMappingURL=pinchZoom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinchZoom.d.ts","sourceRoot":"","sources":["../../src/viewport/pinchZoom.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,KAAK,EAAyB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AA2FjB,eAAO,MAAM,yBAAyB,GAAI,4FAOvC;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,CAAC,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1E,UAAU,EAAE,mBAAmB,CAAC;IAChC,mBAAmB,EAAE,OAAO,GAAG,8BAA8B,GAAG,SAAS,CAAC;IAC1E,cAAc,EAAE,2BAA2B,CAAC;CAC7C,KAAG,oBAAoB,GAAG,SA2F1B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,uBAGlC;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC3C,gCAOE,CAAC"}