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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/README.md +8 -7
  2. package/dist/v2/core/data/index.d.ts +3 -0
  3. package/dist/v2/core/data/index.d.ts.map +1 -0
  4. package/dist/v2/core/data/index.js +1 -0
  5. package/dist/v2/core/data/normalize.d.ts +8 -0
  6. package/dist/v2/core/data/normalize.d.ts.map +1 -0
  7. package/dist/v2/core/data/normalize.js +229 -0
  8. package/dist/v2/core/data/normalizeValues.d.ts +16 -0
  9. package/dist/v2/core/data/normalizeValues.d.ts.map +1 -0
  10. package/dist/v2/core/data/normalizeValues.js +96 -0
  11. package/dist/v2/core/data/types.d.ts +161 -0
  12. package/dist/v2/core/data/types.d.ts.map +1 -0
  13. package/dist/v2/core/data/types.js +1 -0
  14. package/dist/v2/core/geometry/areaPath.d.ts +3 -0
  15. package/dist/v2/core/geometry/areaPath.d.ts.map +1 -0
  16. package/dist/v2/core/geometry/areaPath.js +36 -0
  17. package/dist/v2/core/geometry/barRects.d.ts +44 -0
  18. package/dist/v2/core/geometry/barRects.d.ts.map +1 -0
  19. package/dist/v2/core/geometry/barRects.js +201 -0
  20. package/dist/v2/core/geometry/contributionHeatmap.d.ts +49 -0
  21. package/dist/v2/core/geometry/contributionHeatmap.d.ts.map +1 -0
  22. package/dist/v2/core/geometry/contributionHeatmap.js +107 -0
  23. package/dist/v2/core/geometry/horizontalBarRects.d.ts +27 -0
  24. package/dist/v2/core/geometry/horizontalBarRects.d.ts.map +1 -0
  25. package/dist/v2/core/geometry/horizontalBarRects.js +202 -0
  26. package/dist/v2/core/geometry/index.d.ts +12 -0
  27. package/dist/v2/core/geometry/index.d.ts.map +1 -0
  28. package/dist/v2/core/geometry/index.js +11 -0
  29. package/dist/v2/core/geometry/lineDecimation.d.ts +8 -0
  30. package/dist/v2/core/geometry/lineDecimation.d.ts.map +1 -0
  31. package/dist/v2/core/geometry/lineDecimation.js +110 -0
  32. package/dist/v2/core/geometry/linePath.d.ts +5 -0
  33. package/dist/v2/core/geometry/linePath.d.ts.map +1 -0
  34. package/dist/v2/core/geometry/linePath.js +98 -0
  35. package/dist/v2/core/geometry/lineSeries.d.ts +29 -0
  36. package/dist/v2/core/geometry/lineSeries.d.ts.map +1 -0
  37. package/dist/v2/core/geometry/lineSeries.js +51 -0
  38. package/dist/v2/core/geometry/path.d.ts +6 -0
  39. package/dist/v2/core/geometry/path.d.ts.map +1 -0
  40. package/dist/v2/core/geometry/path.js +24 -0
  41. package/dist/v2/core/geometry/pieArcs.d.ts +29 -0
  42. package/dist/v2/core/geometry/pieArcs.d.ts.map +1 -0
  43. package/dist/v2/core/geometry/pieArcs.js +142 -0
  44. package/dist/v2/core/geometry/progressRings.d.ts +30 -0
  45. package/dist/v2/core/geometry/progressRings.d.ts.map +1 -0
  46. package/dist/v2/core/geometry/progressRings.js +104 -0
  47. package/dist/v2/core/geometry/types.d.ts +32 -0
  48. package/dist/v2/core/geometry/types.d.ts.map +1 -0
  49. package/dist/v2/core/geometry/types.js +1 -0
  50. package/dist/v2/core/index.d.ts +6 -0
  51. package/dist/v2/core/index.d.ts.map +1 -0
  52. package/dist/v2/core/index.js +6 -0
  53. package/dist/v2/core/interaction/index.d.ts +5 -0
  54. package/dist/v2/core/interaction/index.d.ts.map +1 -0
  55. package/dist/v2/core/interaction/index.js +2 -0
  56. package/dist/v2/core/interaction/viewport.d.ts +71 -0
  57. package/dist/v2/core/interaction/viewport.d.ts.map +1 -0
  58. package/dist/v2/core/interaction/viewport.js +216 -0
  59. package/dist/v2/core/interaction/viewportTransform.d.ts +17 -0
  60. package/dist/v2/core/interaction/viewportTransform.d.ts.map +1 -0
  61. package/dist/v2/core/interaction/viewportTransform.js +70 -0
  62. package/dist/v2/core/layout/autoPadding.d.ts +3 -0
  63. package/dist/v2/core/layout/autoPadding.d.ts.map +1 -0
  64. package/dist/v2/core/layout/autoPadding.js +33 -0
  65. package/dist/v2/core/layout/chartBox.d.ts +5 -0
  66. package/dist/v2/core/layout/chartBox.d.ts.map +1 -0
  67. package/dist/v2/core/layout/chartBox.js +22 -0
  68. package/dist/v2/core/layout/debugLayout.d.ts +3 -0
  69. package/dist/v2/core/layout/debugLayout.d.ts.map +1 -0
  70. package/dist/v2/core/layout/debugLayout.js +20 -0
  71. package/dist/v2/core/layout/index.d.ts +8 -0
  72. package/dist/v2/core/layout/index.d.ts.map +1 -0
  73. package/dist/v2/core/layout/index.js +6 -0
  74. package/dist/v2/core/layout/labelCollision.d.ts +3 -0
  75. package/dist/v2/core/layout/labelCollision.d.ts.map +1 -0
  76. package/dist/v2/core/layout/labelCollision.js +90 -0
  77. package/dist/v2/core/layout/legendLayout.d.ts +3 -0
  78. package/dist/v2/core/layout/legendLayout.d.ts.map +1 -0
  79. package/dist/v2/core/layout/legendLayout.js +39 -0
  80. package/dist/v2/core/layout/tooltipPlacement.d.ts +3 -0
  81. package/dist/v2/core/layout/tooltipPlacement.d.ts.map +1 -0
  82. package/dist/v2/core/layout/tooltipPlacement.js +76 -0
  83. package/dist/v2/core/layout/types.d.ts +114 -0
  84. package/dist/v2/core/layout/types.d.ts.map +1 -0
  85. package/dist/v2/core/layout/types.js +1 -0
  86. package/dist/v2/core/scales/band.d.ts +15 -0
  87. package/dist/v2/core/scales/band.d.ts.map +1 -0
  88. package/dist/v2/core/scales/band.js +34 -0
  89. package/dist/v2/core/scales/domain.d.ts +6 -0
  90. package/dist/v2/core/scales/domain.d.ts.map +1 -0
  91. package/dist/v2/core/scales/domain.js +109 -0
  92. package/dist/v2/core/scales/index.d.ts +7 -0
  93. package/dist/v2/core/scales/index.d.ts.map +1 -0
  94. package/dist/v2/core/scales/index.js +5 -0
  95. package/dist/v2/core/scales/linear.d.ts +8 -0
  96. package/dist/v2/core/scales/linear.d.ts.map +1 -0
  97. package/dist/v2/core/scales/linear.js +22 -0
  98. package/dist/v2/core/scales/ticks.d.ts +4 -0
  99. package/dist/v2/core/scales/ticks.d.ts.map +1 -0
  100. package/dist/v2/core/scales/ticks.js +111 -0
  101. package/dist/v2/core/scales/time.d.ts +8 -0
  102. package/dist/v2/core/scales/time.d.ts.map +1 -0
  103. package/dist/v2/core/scales/time.js +23 -0
  104. package/dist/v2/core/scales/types.d.ts +46 -0
  105. package/dist/v2/core/scales/types.d.ts.map +1 -0
  106. package/dist/v2/core/scales/types.js +1 -0
  107. package/dist/v2/index.d.ts +1 -0
  108. package/dist/v2/index.js +1 -0
  109. package/dist/v2/react-native/charts/bar/BarChart.d.ts +6 -0
  110. package/dist/v2/react-native/charts/bar/BarChart.d.ts.map +1 -0
  111. package/dist/v2/react-native/charts/bar/BarChart.js +198 -0
  112. package/dist/v2/react-native/charts/bar/BarChartSurface.d.ts +36 -0
  113. package/dist/v2/react-native/charts/bar/BarChartSurface.d.ts.map +1 -0
  114. package/dist/v2/react-native/charts/bar/BarChartSurface.js +126 -0
  115. package/dist/v2/react-native/charts/bar/StackedBarChart.d.ts +4 -0
  116. package/dist/v2/react-native/charts/bar/StackedBarChart.d.ts.map +1 -0
  117. package/dist/v2/react-native/charts/bar/StackedBarChart.js +9 -0
  118. package/dist/v2/react-native/charts/bar/accessibility.d.ts +31 -0
  119. package/dist/v2/react-native/charts/bar/accessibility.d.ts.map +1 -0
  120. package/dist/v2/react-native/charts/bar/accessibility.js +87 -0
  121. package/dist/v2/react-native/charts/bar/interaction.d.ts +18 -0
  122. package/dist/v2/react-native/charts/bar/interaction.d.ts.map +1 -0
  123. package/dist/v2/react-native/charts/bar/interaction.js +62 -0
  124. package/dist/v2/react-native/charts/bar/model.d.ts +3 -0
  125. package/dist/v2/react-native/charts/bar/model.d.ts.map +1 -0
  126. package/dist/v2/react-native/charts/bar/model.js +326 -0
  127. package/dist/v2/react-native/charts/bar/modelUtils.d.ts +27 -0
  128. package/dist/v2/react-native/charts/bar/modelUtils.d.ts.map +1 -0
  129. package/dist/v2/react-native/charts/bar/modelUtils.js +58 -0
  130. package/dist/v2/react-native/charts/bar/options.d.ts +7 -0
  131. package/dist/v2/react-native/charts/bar/options.d.ts.map +1 -0
  132. package/dist/v2/react-native/charts/bar/options.js +49 -0
  133. package/dist/v2/react-native/charts/bar/rendererSafety.d.ts +12 -0
  134. package/dist/v2/react-native/charts/bar/rendererSafety.d.ts.map +1 -0
  135. package/dist/v2/react-native/charts/bar/rendererSafety.js +31 -0
  136. package/dist/v2/react-native/charts/bar/selectionAnimation.d.ts +42 -0
  137. package/dist/v2/react-native/charts/bar/selectionAnimation.d.ts.map +1 -0
  138. package/dist/v2/react-native/charts/bar/selectionAnimation.js +158 -0
  139. package/dist/v2/react-native/charts/bar/stackedCompat.d.ts +55 -0
  140. package/dist/v2/react-native/charts/bar/stackedCompat.d.ts.map +1 -0
  141. package/dist/v2/react-native/charts/bar/stackedCompat.js +105 -0
  142. package/dist/v2/react-native/charts/bar/tooltip.d.ts +11 -0
  143. package/dist/v2/react-native/charts/bar/tooltip.d.ts.map +1 -0
  144. package/dist/v2/react-native/charts/bar/tooltip.js +15 -0
  145. package/dist/v2/react-native/charts/bar/tooltipModel.d.ts +33 -0
  146. package/dist/v2/react-native/charts/bar/tooltipModel.d.ts.map +1 -0
  147. package/dist/v2/react-native/charts/bar/tooltipModel.js +40 -0
  148. package/dist/v2/react-native/charts/bar/tooltipPlacement.d.ts +9 -0
  149. package/dist/v2/react-native/charts/bar/tooltipPlacement.d.ts.map +1 -0
  150. package/dist/v2/react-native/charts/bar/tooltipPlacement.js +9 -0
  151. package/dist/v2/react-native/charts/bar/types.d.ts +211 -0
  152. package/dist/v2/react-native/charts/bar/types.d.ts.map +1 -0
  153. package/dist/v2/react-native/charts/bar/types.js +1 -0
  154. package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.d.ts +10 -0
  155. package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.d.ts.map +1 -0
  156. package/dist/v2/react-native/charts/bar/useAnimatedTooltipModel.js +87 -0
  157. package/dist/v2/react-native/charts/bar/viewport.d.ts +20 -0
  158. package/dist/v2/react-native/charts/bar/viewport.d.ts.map +1 -0
  159. package/dist/v2/react-native/charts/bar/viewport.js +47 -0
  160. package/dist/v2/react-native/charts/contribution/ContributionGraph.d.ts +13 -0
  161. package/dist/v2/react-native/charts/contribution/ContributionGraph.d.ts.map +1 -0
  162. package/dist/v2/react-native/charts/contribution/ContributionGraph.js +65 -0
  163. package/dist/v2/react-native/charts/contribution/accessibility.d.ts +25 -0
  164. package/dist/v2/react-native/charts/contribution/accessibility.d.ts.map +1 -0
  165. package/dist/v2/react-native/charts/contribution/accessibility.js +50 -0
  166. package/dist/v2/react-native/charts/contribution/model.d.ts +17 -0
  167. package/dist/v2/react-native/charts/contribution/model.d.ts.map +1 -0
  168. package/dist/v2/react-native/charts/contribution/model.js +102 -0
  169. package/dist/v2/react-native/charts/contribution/types.d.ts +50 -0
  170. package/dist/v2/react-native/charts/contribution/types.d.ts.map +1 -0
  171. package/dist/v2/react-native/charts/contribution/types.js +1 -0
  172. package/dist/v2/react-native/charts/line/AreaChart.d.ts +3 -0
  173. package/dist/v2/react-native/charts/line/AreaChart.d.ts.map +1 -0
  174. package/dist/v2/react-native/charts/line/AreaChart.js +3 -0
  175. package/dist/v2/react-native/charts/line/ChartSurface.d.ts +16 -0
  176. package/dist/v2/react-native/charts/line/ChartSurface.d.ts.map +1 -0
  177. package/dist/v2/react-native/charts/line/ChartSurface.js +151 -0
  178. package/dist/v2/react-native/charts/line/LineChart.d.ts +6 -0
  179. package/dist/v2/react-native/charts/line/LineChart.d.ts.map +1 -0
  180. package/dist/v2/react-native/charts/line/LineChart.js +294 -0
  181. package/dist/v2/react-native/charts/line/StickyYAxis.d.ts +15 -0
  182. package/dist/v2/react-native/charts/line/StickyYAxis.d.ts.map +1 -0
  183. package/dist/v2/react-native/charts/line/StickyYAxis.js +26 -0
  184. package/dist/v2/react-native/charts/line/accessibility.d.ts +34 -0
  185. package/dist/v2/react-native/charts/line/accessibility.d.ts.map +1 -0
  186. package/dist/v2/react-native/charts/line/accessibility.js +103 -0
  187. package/dist/v2/react-native/charts/line/axisLabels.d.ts +37 -0
  188. package/dist/v2/react-native/charts/line/axisLabels.d.ts.map +1 -0
  189. package/dist/v2/react-native/charts/line/axisLabels.js +55 -0
  190. package/dist/v2/react-native/charts/line/debugLayout.d.ts +26 -0
  191. package/dist/v2/react-native/charts/line/debugLayout.d.ts.map +1 -0
  192. package/dist/v2/react-native/charts/line/debugLayout.js +77 -0
  193. package/dist/v2/react-native/charts/line/debugOverlay.d.ts +9 -0
  194. package/dist/v2/react-native/charts/line/debugOverlay.d.ts.map +1 -0
  195. package/dist/v2/react-native/charts/line/debugOverlay.js +30 -0
  196. package/dist/v2/react-native/charts/line/defaultTooltip.d.ts +3 -0
  197. package/dist/v2/react-native/charts/line/defaultTooltip.d.ts.map +1 -0
  198. package/dist/v2/react-native/charts/line/defaultTooltip.js +17 -0
  199. package/dist/v2/react-native/charts/line/interaction.d.ts +82 -0
  200. package/dist/v2/react-native/charts/line/interaction.d.ts.map +1 -0
  201. package/dist/v2/react-native/charts/line/interaction.js +94 -0
  202. package/dist/v2/react-native/charts/line/legend.d.ts +35 -0
  203. package/dist/v2/react-native/charts/line/legend.d.ts.map +1 -0
  204. package/dist/v2/react-native/charts/line/legend.js +95 -0
  205. package/dist/v2/react-native/charts/line/markers.d.ts +11 -0
  206. package/dist/v2/react-native/charts/line/markers.d.ts.map +1 -0
  207. package/dist/v2/react-native/charts/line/markers.js +52 -0
  208. package/dist/v2/react-native/charts/line/options.d.ts +172 -0
  209. package/dist/v2/react-native/charts/line/options.d.ts.map +1 -0
  210. package/dist/v2/react-native/charts/line/options.js +168 -0
  211. package/dist/v2/react-native/charts/line/outsidePressSurfaces.d.ts +15 -0
  212. package/dist/v2/react-native/charts/line/outsidePressSurfaces.d.ts.map +1 -0
  213. package/dist/v2/react-native/charts/line/outsidePressSurfaces.js +37 -0
  214. package/dist/v2/react-native/charts/line/overviewProps.d.ts +45 -0
  215. package/dist/v2/react-native/charts/line/overviewProps.d.ts.map +1 -0
  216. package/dist/v2/react-native/charts/line/overviewProps.js +4 -0
  217. package/dist/v2/react-native/charts/line/rangeSelector.d.ts +19 -0
  218. package/dist/v2/react-native/charts/line/rangeSelector.d.ts.map +1 -0
  219. package/dist/v2/react-native/charts/line/rangeSelector.js +176 -0
  220. package/dist/v2/react-native/charts/line/rangeSelectorConfig.d.ts +38 -0
  221. package/dist/v2/react-native/charts/line/rangeSelectorConfig.d.ts.map +1 -0
  222. package/dist/v2/react-native/charts/line/rangeSelectorConfig.js +41 -0
  223. package/dist/v2/react-native/charts/line/referenceLabelPlacement.d.ts +21 -0
  224. package/dist/v2/react-native/charts/line/referenceLabelPlacement.d.ts.map +1 -0
  225. package/dist/v2/react-native/charts/line/referenceLabelPlacement.js +113 -0
  226. package/dist/v2/react-native/charts/line/references.d.ts +62 -0
  227. package/dist/v2/react-native/charts/line/references.d.ts.map +1 -0
  228. package/dist/v2/react-native/charts/line/references.js +156 -0
  229. package/dist/v2/react-native/charts/line/renderer.d.ts +4 -0
  230. package/dist/v2/react-native/charts/line/renderer.d.ts.map +1 -0
  231. package/dist/v2/react-native/charts/line/renderer.js +23 -0
  232. package/dist/v2/react-native/charts/line/responders.d.ts +13 -0
  233. package/dist/v2/react-native/charts/line/responders.d.ts.map +1 -0
  234. package/dist/v2/react-native/charts/line/responders.js +59 -0
  235. package/dist/v2/react-native/charts/line/selection.d.ts +31 -0
  236. package/dist/v2/react-native/charts/line/selection.d.ts.map +1 -0
  237. package/dist/v2/react-native/charts/line/selection.js +26 -0
  238. package/dist/v2/react-native/charts/line/seriesInput.d.ts +4 -0
  239. package/dist/v2/react-native/charts/line/seriesInput.d.ts.map +1 -0
  240. package/dist/v2/react-native/charts/line/seriesInput.js +13 -0
  241. package/dist/v2/react-native/charts/line/seriesStyles.d.ts +20 -0
  242. package/dist/v2/react-native/charts/line/seriesStyles.d.ts.map +1 -0
  243. package/dist/v2/react-native/charts/line/seriesStyles.js +33 -0
  244. package/dist/v2/react-native/charts/line/stickyYAxisLayout.d.ts +6 -0
  245. package/dist/v2/react-native/charts/line/stickyYAxisLayout.d.ts.map +1 -0
  246. package/dist/v2/react-native/charts/line/stickyYAxisLayout.js +2 -0
  247. package/dist/v2/react-native/charts/line/text.d.ts +7 -0
  248. package/dist/v2/react-native/charts/line/text.d.ts.map +1 -0
  249. package/dist/v2/react-native/charts/line/text.js +7 -0
  250. package/dist/v2/react-native/charts/line/thresholdRendering.d.ts +28 -0
  251. package/dist/v2/react-native/charts/line/thresholdRendering.d.ts.map +1 -0
  252. package/dist/v2/react-native/charts/line/thresholdRendering.js +145 -0
  253. package/dist/v2/react-native/charts/line/tooltip.d.ts +70 -0
  254. package/dist/v2/react-native/charts/line/tooltip.d.ts.map +1 -0
  255. package/dist/v2/react-native/charts/line/tooltip.js +87 -0
  256. package/dist/v2/react-native/charts/line/types.d.ts +371 -0
  257. package/dist/v2/react-native/charts/line/types.d.ts.map +1 -0
  258. package/dist/v2/react-native/charts/line/types.js +1 -0
  259. package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.d.ts +13 -0
  260. package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.d.ts.map +1 -0
  261. package/dist/v2/react-native/charts/line/useAnimatedTooltipModel.js +84 -0
  262. package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.d.ts +5 -0
  263. package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.d.ts.map +1 -0
  264. package/dist/v2/react-native/charts/line/useAnimatedYAxisLabels.js +141 -0
  265. package/dist/v2/react-native/charts/line/useChartModel.d.ts +103 -0
  266. package/dist/v2/react-native/charts/line/useChartModel.d.ts.map +1 -0
  267. package/dist/v2/react-native/charts/line/useChartModel.js +367 -0
  268. package/dist/v2/react-native/charts/line/useDebugLayout.d.ts +16 -0
  269. package/dist/v2/react-native/charts/line/useDebugLayout.d.ts.map +1 -0
  270. package/dist/v2/react-native/charts/line/useDebugLayout.js +35 -0
  271. package/dist/v2/react-native/charts/line/utils.d.ts +10 -0
  272. package/dist/v2/react-native/charts/line/utils.d.ts.map +1 -0
  273. package/dist/v2/react-native/charts/line/utils.js +40 -0
  274. package/dist/v2/react-native/charts/line/viewportInteraction.d.ts +3 -0
  275. package/dist/v2/react-native/charts/line/viewportInteraction.d.ts.map +1 -0
  276. package/dist/v2/react-native/charts/line/viewportInteraction.js +1 -0
  277. package/dist/v2/react-native/charts/line/viewportInteractionConfig.d.ts +3 -0
  278. package/dist/v2/react-native/charts/line/viewportInteractionConfig.d.ts.map +1 -0
  279. package/dist/v2/react-native/charts/line/viewportInteractionConfig.js +1 -0
  280. package/dist/v2/react-native/charts/line/viewportPinchZoom.d.ts +2 -0
  281. package/dist/v2/react-native/charts/line/viewportPinchZoom.d.ts.map +1 -0
  282. package/dist/v2/react-native/charts/line/viewportPinchZoom.js +1 -0
  283. package/dist/v2/react-native/charts/line/xLabelCandidates.d.ts +13 -0
  284. package/dist/v2/react-native/charts/line/xLabelCandidates.d.ts.map +1 -0
  285. package/dist/v2/react-native/charts/line/xLabelCandidates.js +23 -0
  286. package/dist/v2/react-native/charts/line/xLabels.d.ts +39 -0
  287. package/dist/v2/react-native/charts/line/xLabels.d.ts.map +1 -0
  288. package/dist/v2/react-native/charts/line/xLabels.js +289 -0
  289. package/dist/v2/react-native/charts/line/xScale.d.ts +6 -0
  290. package/dist/v2/react-native/charts/line/xScale.d.ts.map +1 -0
  291. package/dist/v2/react-native/charts/line/xScale.js +25 -0
  292. package/dist/v2/react-native/charts/line/yAxisModel.d.ts +29 -0
  293. package/dist/v2/react-native/charts/line/yAxisModel.d.ts.map +1 -0
  294. package/dist/v2/react-native/charts/line/yAxisModel.js +39 -0
  295. package/dist/v2/react-native/charts/pie/PieChart.d.ts +7 -0
  296. package/dist/v2/react-native/charts/pie/PieChart.d.ts.map +1 -0
  297. package/dist/v2/react-native/charts/pie/PieChart.js +244 -0
  298. package/dist/v2/react-native/charts/pie/accessibility.d.ts +28 -0
  299. package/dist/v2/react-native/charts/pie/accessibility.d.ts.map +1 -0
  300. package/dist/v2/react-native/charts/pie/accessibility.js +49 -0
  301. package/dist/v2/react-native/charts/pie/activeSlice.d.ts +15 -0
  302. package/dist/v2/react-native/charts/pie/activeSlice.d.ts.map +1 -0
  303. package/dist/v2/react-native/charts/pie/activeSlice.js +26 -0
  304. package/dist/v2/react-native/charts/pie/arcLabels.d.ts +32 -0
  305. package/dist/v2/react-native/charts/pie/arcLabels.d.ts.map +1 -0
  306. package/dist/v2/react-native/charts/pie/arcLabels.js +191 -0
  307. package/dist/v2/react-native/charts/pie/interaction.d.ts +26 -0
  308. package/dist/v2/react-native/charts/pie/interaction.d.ts.map +1 -0
  309. package/dist/v2/react-native/charts/pie/interaction.js +66 -0
  310. package/dist/v2/react-native/charts/pie/model.d.ts +15 -0
  311. package/dist/v2/react-native/charts/pie/model.d.ts.map +1 -0
  312. package/dist/v2/react-native/charts/pie/model.js +157 -0
  313. package/dist/v2/react-native/charts/pie/selectionAnimation.d.ts +33 -0
  314. package/dist/v2/react-native/charts/pie/selectionAnimation.d.ts.map +1 -0
  315. package/dist/v2/react-native/charts/pie/selectionAnimation.js +121 -0
  316. package/dist/v2/react-native/charts/pie/sliceSeparator.d.ts +7 -0
  317. package/dist/v2/react-native/charts/pie/sliceSeparator.d.ts.map +1 -0
  318. package/dist/v2/react-native/charts/pie/sliceSeparator.js +26 -0
  319. package/dist/v2/react-native/charts/pie/slices.d.ts +20 -0
  320. package/dist/v2/react-native/charts/pie/slices.d.ts.map +1 -0
  321. package/dist/v2/react-native/charts/pie/slices.js +54 -0
  322. package/dist/v2/react-native/charts/pie/types.d.ts +165 -0
  323. package/dist/v2/react-native/charts/pie/types.d.ts.map +1 -0
  324. package/dist/v2/react-native/charts/pie/types.js +1 -0
  325. package/dist/v2/react-native/charts/progress/ProgressChart.d.ts +7 -0
  326. package/dist/v2/react-native/charts/progress/ProgressChart.d.ts.map +1 -0
  327. package/dist/v2/react-native/charts/progress/ProgressChart.js +111 -0
  328. package/dist/v2/react-native/charts/progress/accessibility.d.ts +26 -0
  329. package/dist/v2/react-native/charts/progress/accessibility.d.ts.map +1 -0
  330. package/dist/v2/react-native/charts/progress/accessibility.js +71 -0
  331. package/dist/v2/react-native/charts/progress/animation.d.ts +36 -0
  332. package/dist/v2/react-native/charts/progress/animation.d.ts.map +1 -0
  333. package/dist/v2/react-native/charts/progress/animation.js +103 -0
  334. package/dist/v2/react-native/charts/progress/model.d.ts +14 -0
  335. package/dist/v2/react-native/charts/progress/model.d.ts.map +1 -0
  336. package/dist/v2/react-native/charts/progress/model.js +133 -0
  337. package/dist/v2/react-native/charts/progress/types.d.ts +72 -0
  338. package/dist/v2/react-native/charts/progress/types.d.ts.map +1 -0
  339. package/dist/v2/react-native/charts/progress/types.js +1 -0
  340. package/dist/v2/react-native/index.d.ts +24 -0
  341. package/dist/v2/react-native/index.d.ts.map +1 -0
  342. package/dist/v2/react-native/index.js +14 -0
  343. package/dist/v2/react-native/selection/ChartSelectionProvider.d.ts +27 -0
  344. package/dist/v2/react-native/selection/ChartSelectionProvider.d.ts.map +1 -0
  345. package/dist/v2/react-native/selection/ChartSelectionProvider.js +92 -0
  346. package/dist/v2/react-native/selection/index.d.ts +2 -0
  347. package/dist/v2/react-native/selection/index.d.ts.map +1 -0
  348. package/dist/v2/react-native/selection/index.js +1 -0
  349. package/dist/v2/react-native/selection/scope.d.ts +16 -0
  350. package/dist/v2/react-native/selection/scope.d.ts.map +1 -0
  351. package/dist/v2/react-native/selection/scope.js +18 -0
  352. package/dist/v2/react-native/theme/index.d.ts +4 -0
  353. package/dist/v2/react-native/theme/index.d.ts.map +1 -0
  354. package/dist/v2/react-native/theme/index.js +2 -0
  355. package/dist/v2/react-native/theme/presets.d.ts +84 -0
  356. package/dist/v2/react-native/theme/presets.d.ts.map +1 -0
  357. package/dist/v2/react-native/theme/presets.js +298 -0
  358. package/dist/v2/react-native/theme/provider.d.ts +20 -0
  359. package/dist/v2/react-native/theme/provider.d.ts.map +1 -0
  360. package/dist/v2/react-native/theme/provider.js +27 -0
  361. package/dist/v2/react-native/viewport/bounds.d.ts +7 -0
  362. package/dist/v2/react-native/viewport/bounds.d.ts.map +1 -0
  363. package/dist/v2/react-native/viewport/bounds.js +7 -0
  364. package/dist/v2/react-native/viewport/config.d.ts +13 -0
  365. package/dist/v2/react-native/viewport/config.d.ts.map +1 -0
  366. package/dist/v2/react-native/viewport/config.js +64 -0
  367. package/dist/v2/react-native/viewport/pan.d.ts +23 -0
  368. package/dist/v2/react-native/viewport/pan.d.ts.map +1 -0
  369. package/dist/v2/react-native/viewport/pan.js +110 -0
  370. package/dist/v2/react-native/viewport/panResponder.d.ts +14 -0
  371. package/dist/v2/react-native/viewport/panResponder.d.ts.map +1 -0
  372. package/dist/v2/react-native/viewport/panResponder.js +115 -0
  373. package/dist/v2/react-native/viewport/pinchZoom.d.ts +17 -0
  374. package/dist/v2/react-native/viewport/pinchZoom.d.ts.map +1 -0
  375. package/dist/v2/react-native/viewport/pinchZoom.js +131 -0
  376. package/dist/v2/react-native/viewport/types.d.ts +55 -0
  377. package/dist/v2/react-native/viewport/types.d.ts.map +1 -0
  378. package/dist/v2/react-native/viewport/types.js +1 -0
  379. package/dist/v2/svg-renderer/capabilities.d.ts +3 -0
  380. package/dist/v2/svg-renderer/capabilities.d.ts.map +1 -0
  381. package/dist/v2/svg-renderer/capabilities.js +12 -0
  382. package/dist/v2/svg-renderer/clipPath.d.ts +4 -0
  383. package/dist/v2/svg-renderer/clipPath.d.ts.map +1 -0
  384. package/dist/v2/svg-renderer/clipPath.js +35 -0
  385. package/dist/v2/svg-renderer/defs.d.ts +6 -0
  386. package/dist/v2/svg-renderer/defs.d.ts.map +1 -0
  387. package/dist/v2/svg-renderer/defs.js +18 -0
  388. package/dist/v2/svg-renderer/ensureConsole.d.ts +4 -0
  389. package/dist/v2/svg-renderer/ensureConsole.d.ts.map +1 -0
  390. package/dist/v2/svg-renderer/ensureConsole.js +54 -0
  391. package/dist/v2/svg-renderer/hitRegions.d.ts +3 -0
  392. package/dist/v2/svg-renderer/hitRegions.d.ts.map +1 -0
  393. package/dist/v2/svg-renderer/hitRegions.js +6 -0
  394. package/dist/v2/svg-renderer/index.d.ts +14 -0
  395. package/dist/v2/svg-renderer/index.d.ts.map +1 -0
  396. package/dist/v2/svg-renderer/index.js +13 -0
  397. package/dist/v2/svg-renderer/layerOrder.d.ts +19 -0
  398. package/dist/v2/svg-renderer/layerOrder.d.ts.map +1 -0
  399. package/dist/v2/svg-renderer/layerOrder.js +18 -0
  400. package/dist/v2/svg-renderer/layers.d.ts +3 -0
  401. package/dist/v2/svg-renderer/layers.d.ts.map +1 -0
  402. package/dist/v2/svg-renderer/layers.js +4 -0
  403. package/dist/v2/svg-renderer/primitives.d.ts +12 -0
  404. package/dist/v2/svg-renderer/primitives.d.ts.map +1 -0
  405. package/dist/v2/svg-renderer/primitives.js +13 -0
  406. package/dist/v2/svg-renderer/renderer.d.ts +4 -0
  407. package/dist/v2/svg-renderer/renderer.d.ts.map +1 -0
  408. package/dist/v2/svg-renderer/renderer.js +24 -0
  409. package/dist/v2/svg-renderer/symbolGeometry.d.ts +6 -0
  410. package/dist/v2/svg-renderer/symbolGeometry.d.ts.map +1 -0
  411. package/dist/v2/svg-renderer/symbolGeometry.js +10 -0
  412. package/dist/v2/svg-renderer/symbols.d.ts +3 -0
  413. package/dist/v2/svg-renderer/symbols.d.ts.map +1 -0
  414. package/dist/v2/svg-renderer/symbols.js +23 -0
  415. package/dist/v2/svg-renderer/testIds.d.ts +2 -0
  416. package/dist/v2/svg-renderer/testIds.d.ts.map +1 -0
  417. package/dist/v2/svg-renderer/testIds.js +10 -0
  418. package/dist/v2/svg-renderer/textMeasurement.d.ts +4 -0
  419. package/dist/v2/svg-renderer/textMeasurement.d.ts.map +1 -0
  420. package/dist/v2/svg-renderer/textMeasurement.js +37 -0
  421. package/dist/v2/svg-renderer/types.d.ts +134 -0
  422. package/dist/v2/svg-renderer/types.d.ts.map +1 -0
  423. package/dist/v2/svg-renderer/types.js +1 -0
  424. package/package.json +39 -48
  425. package/v2/index.d.ts +1 -0
  426. package/v2/index.js +1 -0
  427. package/v2/package.json +6 -0
  428. package/scripts/chartkit-codemod.mjs +0 -256
@@ -0,0 +1,111 @@
1
+ import { tickStep } from "./domain";
2
+ export const generateLinearTicks = ({ count = 5, domain = [0, 1] } = {}) => {
3
+ const [start, stop] = domain;
4
+ const reverse = stop < start;
5
+ const min = reverse ? stop : start;
6
+ const max = reverse ? start : stop;
7
+ const step = tickStep(min, max, Math.max(1, count));
8
+ if (step === 0) {
9
+ return [start];
10
+ }
11
+ const first = Math.ceil(min / step) * step;
12
+ const ticks = [];
13
+ const epsilon = step * 1e-10;
14
+ for (let value = first; value <= max + epsilon; value += step) {
15
+ ticks.push(Number(value.toPrecision(12)));
16
+ }
17
+ return reverse ? ticks.reverse() : ticks;
18
+ };
19
+ const timeUnitMs = {
20
+ millisecond: 1,
21
+ second: 1000,
22
+ minute: 60000,
23
+ hour: 3600000,
24
+ day: 86400000,
25
+ week: 604800000,
26
+ month: 2592000000,
27
+ year: 31536000000
28
+ };
29
+ const chooseTimeUnit = (span, count) => {
30
+ const target = span / Math.max(1, count);
31
+ if (target <= timeUnitMs.second)
32
+ return "second";
33
+ if (target <= timeUnitMs.minute)
34
+ return "minute";
35
+ if (target <= timeUnitMs.hour)
36
+ return "hour";
37
+ if (target <= timeUnitMs.day)
38
+ return "day";
39
+ if (target <= timeUnitMs.week * 2)
40
+ return "week";
41
+ if (target <= timeUnitMs.year)
42
+ return "month";
43
+ return "year";
44
+ };
45
+ const floorDateToUnit = (date, unit) => {
46
+ const next = new Date(date);
47
+ if (unit === "year") {
48
+ return new Date(next.getFullYear(), 0, 1);
49
+ }
50
+ if (unit === "month") {
51
+ return new Date(next.getFullYear(), next.getMonth(), 1);
52
+ }
53
+ if (unit === "week") {
54
+ const start = new Date(next.getFullYear(), next.getMonth(), next.getDate());
55
+ start.setDate(start.getDate() - start.getDay());
56
+ return start;
57
+ }
58
+ if (unit === "day") {
59
+ return new Date(next.getFullYear(), next.getMonth(), next.getDate());
60
+ }
61
+ if (unit === "hour") {
62
+ next.setMinutes(0, 0, 0);
63
+ return next;
64
+ }
65
+ if (unit === "minute") {
66
+ next.setSeconds(0, 0);
67
+ return next;
68
+ }
69
+ if (unit === "second") {
70
+ next.setMilliseconds(0);
71
+ return next;
72
+ }
73
+ return next;
74
+ };
75
+ const addTimeUnit = (date, unit) => {
76
+ const next = new Date(date);
77
+ if (unit === "year")
78
+ next.setFullYear(next.getFullYear() + 1);
79
+ else if (unit === "month")
80
+ next.setMonth(next.getMonth() + 1);
81
+ else if (unit === "week")
82
+ next.setDate(next.getDate() + 7);
83
+ else if (unit === "day")
84
+ next.setDate(next.getDate() + 1);
85
+ else if (unit === "hour")
86
+ next.setHours(next.getHours() + 1);
87
+ else if (unit === "minute")
88
+ next.setMinutes(next.getMinutes() + 1);
89
+ else if (unit === "second")
90
+ next.setSeconds(next.getSeconds() + 1);
91
+ else
92
+ next.setMilliseconds(next.getMilliseconds() + 1);
93
+ return next;
94
+ };
95
+ export const generateTimeTicks = ({ count = 5, domain = [new Date(0), new Date(1)], unit } = {}) => {
96
+ const [start, stop] = domain;
97
+ const reverse = stop.valueOf() < start.valueOf();
98
+ const min = reverse ? stop : start;
99
+ const max = reverse ? start : stop;
100
+ const resolvedUnit = unit ?? chooseTimeUnit(max.valueOf() - min.valueOf(), count);
101
+ const ticks = [];
102
+ let cursor = floorDateToUnit(min, resolvedUnit);
103
+ if (cursor.valueOf() < min.valueOf()) {
104
+ cursor = addTimeUnit(cursor, resolvedUnit);
105
+ }
106
+ while (cursor.valueOf() <= max.valueOf()) {
107
+ ticks.push(cursor);
108
+ cursor = addTimeUnit(cursor, resolvedUnit);
109
+ }
110
+ return reverse ? ticks.reverse() : ticks;
111
+ };
@@ -0,0 +1,8 @@
1
+ import type { TimeDomainInput, TimeScale } from "./types";
2
+ export type CreateTimeScaleOptions = {
3
+ domain?: TimeDomainInput;
4
+ values?: readonly Date[];
5
+ range: [number, number];
6
+ };
7
+ export declare const createTimeScale: ({ domain, values, range }: CreateTimeScaleOptions) => TimeScale;
8
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/scales/time.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,2BAI7B,sBAAsB,KAAG,SA4B3B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { resolveTimeDomain } from "./domain";
2
+ export const createTimeScale = ({ domain = "auto", values = [], range }) => {
3
+ const resolvedDomain = resolveTimeDomain(values, domain);
4
+ const domainMin = resolvedDomain[0].valueOf();
5
+ const domainSpan = resolvedDomain[1].valueOf() - domainMin;
6
+ const rangeSpan = range[1] - range[0];
7
+ return {
8
+ domain: resolvedDomain,
9
+ range,
10
+ scale: (value) => {
11
+ if (domainSpan === 0) {
12
+ return range[0];
13
+ }
14
+ return (range[0] + ((value.valueOf() - domainMin) / domainSpan) * rangeSpan);
15
+ },
16
+ invert: (value) => {
17
+ if (rangeSpan === 0) {
18
+ return new Date(domainMin);
19
+ }
20
+ return new Date(domainMin + ((value - range[0]) / rangeSpan) * domainSpan);
21
+ }
22
+ };
23
+ };
@@ -0,0 +1,46 @@
1
+ export type DomainKeyword = "dataMin" | "dataMax";
2
+ export type NumericDomainValue = number | DomainKeyword;
3
+ export type TimeDomainValue = Date | number | string | DomainKeyword;
4
+ export type NumericDomainInput = "auto" | [NumericDomainValue, NumericDomainValue] | {
5
+ min?: NumericDomainValue;
6
+ max?: NumericDomainValue;
7
+ includeZero?: boolean;
8
+ nice?: boolean;
9
+ };
10
+ export type TimeDomainInput = "auto" | [TimeDomainValue, TimeDomainValue] | {
11
+ min?: TimeDomainValue;
12
+ max?: TimeDomainValue;
13
+ nice?: boolean;
14
+ };
15
+ export type ContinuousScale<TInput> = {
16
+ domain: [TInput, TInput];
17
+ range: [number, number];
18
+ scale: (value: TInput) => number;
19
+ invert: (value: number) => TInput;
20
+ };
21
+ export type LinearScale = ContinuousScale<number>;
22
+ export type TimeScale = ContinuousScale<Date>;
23
+ export type BandScale<TValue extends string | number = string | number> = {
24
+ domain: TValue[];
25
+ range: [number, number];
26
+ bandwidth: number;
27
+ step: number;
28
+ scale: (value: TValue) => number | undefined;
29
+ };
30
+ export type PointScale<TValue extends string | number = string | number> = {
31
+ domain: TValue[];
32
+ range: [number, number];
33
+ step: number;
34
+ scale: (value: TValue) => number | undefined;
35
+ };
36
+ export type LinearTickOptions = {
37
+ count?: number;
38
+ domain?: [number, number];
39
+ };
40
+ export type TimeTickUnit = "millisecond" | "second" | "minute" | "hour" | "day" | "week" | "month" | "year";
41
+ export type TimeTickOptions = {
42
+ count?: number;
43
+ domain?: [Date, Date];
44
+ unit?: TimeTickUnit;
45
+ };
46
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scales/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,aAAa,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,GACxC;IACE,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEN,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,CAAC,eAAe,EAAE,eAAe,CAAC,GAClC;IACE,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEN,MAAM,MAAM,eAAe,CAAC,MAAM,IAAI;IACpC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE9C,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IACxE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IACzE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,KAAK,GACL,MAAM,GACN,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./react-native/index";
@@ -0,0 +1 @@
1
+ export * from "./react-native/index";
@@ -0,0 +1,6 @@
1
+ import type { BarChartProps } from "./types";
2
+ export type * from "./types";
3
+ export { getBarChartAccessibilitySummary, getBarChartDataTable } from "./accessibility";
4
+ export type { BarChartDataTable, BarChartDataTableColumn, BarChartDataTableRow } from "./accessibility";
5
+ export declare const BarChart: <TData extends Record<string, unknown>>(props: BarChartProps<TData>) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=BarChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../../../src/charts/bar/BarChart.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,QAAQ,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,OAAO,aAAa,CAAC,KAAK,CAAC,4CA2S5B,CAAC"}
@@ -0,0 +1,198 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
3
+ import { ScrollView, StyleSheet, View } from "react-native";
4
+ import { useChartKitTheme } from "../../theme";
5
+ import { useScopedChartSelection } from "../../selection/ChartSelectionProvider";
6
+ import { getBarChartAccessibilitySummary } from "./accessibility";
7
+ import { BarChartSurface, BarChartTooltipOverlay, StickyBarChartYAxis } from "./BarChartSurface";
8
+ import { buildBarChartSelectEvent, getBarChartBarAtPoint, getBarChartBarKey, getBarChartInteractionConfig, isBarChartInteractionEnabled } from "./interaction";
9
+ import { buildBarChartModel } from "./model";
10
+ import { getBarChartTooltipConfig } from "./options";
11
+ import { getSafeBarChartContentWidth, getSafeBarChartRenderer } from "./rendererSafety";
12
+ import { getBarChartTooltipModel } from "./tooltipModel";
13
+ import { resolveBarChartViewport, resolveBarChartViewportInitialOffset } from "./viewport";
14
+ export { getBarChartAccessibilitySummary, getBarChartDataTable } from "./accessibility";
15
+ export const BarChart = (props) => {
16
+ const generatedChartId = useId().replace(/:/g, "");
17
+ const scopedChartId = props.id ?? generatedChartId;
18
+ const chartKitTheme = useChartKitTheme();
19
+ const renderer = props.renderer ?? chartKitTheme.renderer;
20
+ const scrollViewRef = useRef(null);
21
+ const interactionConfig = useMemo(() => getBarChartInteractionConfig(props.interaction), [props.interaction]);
22
+ const [gestureSelectedBarKey, setGestureSelectedBarKey] = useState(() => getBarChartBarKey(props.defaultSelectedBar));
23
+ const [gestureSelectionPointer, setGestureSelectionPointer] = useState();
24
+ const [scrollOffsetX, setScrollOffsetX] = useState(0);
25
+ const viewport = useMemo(() => resolveBarChartViewport({
26
+ itemCount: props.data.length,
27
+ scrollable: props.scrollable,
28
+ viewportWidth: props.width,
29
+ visiblePoints: props.visiblePoints
30
+ }), [props.data.length, props.scrollable, props.visiblePoints, props.width]);
31
+ const safeContentWidth = getSafeBarChartContentWidth({
32
+ contentWidth: viewport.contentWidth,
33
+ renderer,
34
+ scrollable: viewport.scrollable
35
+ });
36
+ const safeViewport = useMemo(() => ({
37
+ ...viewport,
38
+ contentWidth: safeContentWidth,
39
+ maxOffset: Math.max(0, safeContentWidth - viewport.viewportWidth),
40
+ scrollable: viewport.scrollable && safeContentWidth > viewport.viewportWidth
41
+ }), [safeContentWidth, viewport]);
42
+ const initialScrollOffset = useMemo(() => resolveBarChartViewportInitialOffset({
43
+ initialIndex: props.initialIndex,
44
+ viewport: safeViewport
45
+ }), [props.initialIndex, safeViewport]);
46
+ const model = useMemo(() => buildBarChartModel({
47
+ ...props,
48
+ chartKitTheme,
49
+ width: safeViewport.contentWidth
50
+ }), [chartKitTheme, props, safeViewport.contentWidth]);
51
+ const { bars, boxes, resolvedTheme } = model;
52
+ const safeRenderer = getSafeBarChartRenderer({
53
+ contentWidth: viewport.contentWidth,
54
+ renderer,
55
+ scrollable: viewport.scrollable
56
+ });
57
+ const scrollInitialOffset = safeViewport.scrollable && props.initialIndex === "end"
58
+ ? Math.max(0, initialScrollOffset - boxes.plot.x * 0.66)
59
+ : initialScrollOffset;
60
+ const barRadius = Math.max(0, props.barRadius ?? 5);
61
+ const controlledSelectedBarKey = getBarChartBarKey(props.selectedBar);
62
+ const selectedBarKey = controlledSelectedBarKey ?? gestureSelectedBarKey;
63
+ const clearGestureSelection = useCallback((reason) => {
64
+ setGestureSelectionPointer(undefined);
65
+ if (props.selectedBar === undefined) {
66
+ setGestureSelectedBarKey(undefined);
67
+ }
68
+ interactionConfig.onDeselect?.({ reason });
69
+ }, [interactionConfig, props.selectedBar]);
70
+ const clearSelectionFromScope = useCallback((reason) => {
71
+ if (reason === "scopeChange") {
72
+ if (props.selectedBar === undefined) {
73
+ setGestureSelectedBarKey(undefined);
74
+ }
75
+ return;
76
+ }
77
+ clearGestureSelection(reason);
78
+ }, [clearGestureSelection, props.selectedBar]);
79
+ const scopedSelection = useScopedChartSelection({
80
+ chartId: scopedChartId,
81
+ controlled: props.selectedBar !== undefined,
82
+ hasSelection: selectedBarKey !== undefined,
83
+ onClear: clearSelectionFromScope
84
+ });
85
+ const clearScopedGestureSelection = useCallback((reason) => {
86
+ clearGestureSelection(reason);
87
+ if (reason !== "programmatic") {
88
+ scopedSelection.dismissSelection?.(reason);
89
+ }
90
+ }, [clearGestureSelection, scopedSelection]);
91
+ const selectedBar = bars.find((bar) => bar.key === selectedBarKey);
92
+ const tooltipConfig = useMemo(() => getBarChartTooltipConfig({
93
+ themeTooltip: resolvedTheme.tooltip,
94
+ tooltip: props.tooltip
95
+ }), [props.tooltip, resolvedTheme.tooltip]);
96
+ const tooltipModel = useMemo(() => getBarChartTooltipModel({
97
+ bar: selectedBar,
98
+ boxes,
99
+ config: tooltipConfig,
100
+ pointer: gestureSelectionPointer?.key === selectedBarKey
101
+ ? gestureSelectionPointer
102
+ : undefined
103
+ }), [boxes, gestureSelectionPointer, selectedBar, selectedBarKey, tooltipConfig]);
104
+ const isInteractionEnabled = isBarChartInteractionEnabled(interactionConfig);
105
+ const handleResponderRelease = useCallback((event) => {
106
+ event.preventDefault();
107
+ const { locationX, locationY } = event.nativeEvent;
108
+ const tappedBar = getBarChartBarAtPoint({
109
+ bars,
110
+ locationX,
111
+ locationY
112
+ });
113
+ if (!tappedBar) {
114
+ if (interactionConfig.deselectOnOutsidePress) {
115
+ clearScopedGestureSelection("outsidePress");
116
+ }
117
+ return;
118
+ }
119
+ if (props.selectedBar === undefined) {
120
+ setGestureSelectedBarKey(tappedBar.key);
121
+ }
122
+ setGestureSelectionPointer({
123
+ key: tappedBar.key,
124
+ x: locationX,
125
+ y: locationY
126
+ });
127
+ scopedSelection.selectChart();
128
+ const selectEvent = buildBarChartSelectEvent(tappedBar);
129
+ if (selectEvent) {
130
+ interactionConfig.onSelect?.(selectEvent);
131
+ }
132
+ }, [
133
+ bars,
134
+ clearScopedGestureSelection,
135
+ interactionConfig,
136
+ props.selectedBar,
137
+ scopedSelection
138
+ ]);
139
+ const responderProps = isInteractionEnabled
140
+ ? {
141
+ onStartShouldSetResponder: () => true,
142
+ onResponderGrant: (event) => {
143
+ event.preventDefault();
144
+ },
145
+ onResponderRelease: handleResponderRelease,
146
+ onResponderTerminationRequest: () => true
147
+ }
148
+ : {};
149
+ const accessibilityLabel = props.accessibilityLabel ??
150
+ getBarChartAccessibilitySummary({
151
+ data: props.data,
152
+ formatXLabel: props.formatXLabel,
153
+ formatYLabel: props.formatYLabel,
154
+ series: props.series,
155
+ xKey: props.xKey,
156
+ yKey: props.yKey,
157
+ yKeys: props.yKeys
158
+ });
159
+ const chartSurface = (_jsx(BarChartSurface, { barRadius: barRadius, height: props.height, model: model, responderProps: responderProps, renderBar: props.renderBar, renderer: safeRenderer, selectedBarKey: selectedBarKey, selectionAnimation: props.selectionAnimation, showYAxis: !safeViewport.scrollable, width: safeViewport.contentWidth }));
160
+ const tooltipOverlay = (_jsx(BarChartTooltipOverlay, { height: props.height, model: model, tooltipConfig: tooltipConfig, tooltipModel: tooltipModel, viewportOffsetX: safeViewport.scrollable ? scrollOffsetX : 0, width: props.width, renderer: safeRenderer }));
161
+ useEffect(() => {
162
+ if (!safeViewport.scrollable) {
163
+ const frame = requestAnimationFrame(() => {
164
+ setScrollOffsetX(0);
165
+ });
166
+ return () => {
167
+ cancelAnimationFrame(frame);
168
+ };
169
+ }
170
+ const frame = requestAnimationFrame(() => {
171
+ setScrollOffsetX(scrollInitialOffset);
172
+ scrollViewRef.current?.scrollTo({
173
+ animated: false,
174
+ x: scrollInitialOffset
175
+ });
176
+ });
177
+ return () => {
178
+ cancelAnimationFrame(frame);
179
+ };
180
+ }, [safeViewport.scrollable, scrollInitialOffset]);
181
+ return (_jsx(View, { accessible: true, accessibilityLabel: accessibilityLabel, accessibilityRole: "image", style: { width: props.width, height: props.height }, testID: props.testID, children: safeViewport.scrollable ? (_jsxs(_Fragment, { children: [_jsx(ScrollView, { ref: scrollViewRef, horizontal: true, bounces: false, showsHorizontalScrollIndicator: true, style: [
182
+ styles.scroller,
183
+ { width: props.width, height: props.height }
184
+ ], contentContainerStyle: [
185
+ styles.scrollerContent,
186
+ { width: safeViewport.contentWidth, height: props.height }
187
+ ], onScroll: (event) => {
188
+ setScrollOffsetX(event.nativeEvent.contentOffset.x);
189
+ }, scrollEventThrottle: 16, children: chartSurface }), _jsx(StickyBarChartYAxis, { height: props.height, model: model, renderer: safeRenderer, width: props.width }), tooltipOverlay] })) : (_jsxs(_Fragment, { children: [chartSurface, tooltipOverlay] })) }));
190
+ };
191
+ const styles = StyleSheet.create({
192
+ scroller: {
193
+ overflow: "hidden"
194
+ },
195
+ scrollerContent: {
196
+ flexGrow: 0
197
+ }
198
+ });
@@ -0,0 +1,36 @@
1
+ import type { ReactNode } from "react";
2
+ import type { ViewProps } from "react-native";
3
+ import type { BarChartModel, BarChartRenderer, BarChartRenderBarProps, ResolvedBarChartTooltipConfig } from "./types";
4
+ import type { BarChartTooltipModel } from "./tooltip";
5
+ import type { BarChartSelectionAnimationConfig } from "./types";
6
+ export type BarChartSurfaceProps<TData = unknown> = {
7
+ barRadius: number;
8
+ height: number;
9
+ model: BarChartModel<TData>;
10
+ responderProps: ViewProps;
11
+ renderBar?: ((props: BarChartRenderBarProps<TData>) => ReactNode) | undefined;
12
+ renderer?: BarChartRenderer | undefined;
13
+ selectedBarKey: string | undefined;
14
+ selectionAnimation: boolean | BarChartSelectionAnimationConfig | undefined;
15
+ showYAxis: boolean;
16
+ width: number;
17
+ };
18
+ export declare const BarChartSurface: <TData>({ barRadius, height, model, responderProps, renderBar, selectedBarKey, selectionAnimation, showYAxis, width, renderer: rendererProp }: BarChartSurfaceProps<TData>) => import("react/jsx-runtime").JSX.Element;
19
+ export type BarChartTooltipOverlayProps<TData = unknown> = {
20
+ height: number;
21
+ model: BarChartModel<TData>;
22
+ tooltipConfig: ResolvedBarChartTooltipConfig;
23
+ tooltipModel: BarChartTooltipModel<TData> | undefined;
24
+ viewportOffsetX: number;
25
+ width: number;
26
+ renderer?: BarChartRenderer | undefined;
27
+ };
28
+ export declare const BarChartTooltipOverlay: <TData>({ height, model, tooltipConfig, tooltipModel, viewportOffsetX, width, renderer: rendererProp }: BarChartTooltipOverlayProps<TData>) => import("react/jsx-runtime").JSX.Element;
29
+ export type StickyBarChartYAxisProps<TData = unknown> = {
30
+ height: number;
31
+ model: BarChartModel<TData>;
32
+ width: number;
33
+ renderer?: BarChartRenderer | undefined;
34
+ };
35
+ export declare const StickyBarChartYAxis: <TData>({ height, model, width, renderer: rendererProp }: StickyBarChartYAxisProps<TData>) => import("react/jsx-runtime").JSX.Element;
36
+ //# sourceMappingURL=BarChartSurface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChartSurface.d.ts","sourceRoot":"","sources":["../../../src/charts/bar/BarChartSurface.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgB9C,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAEhE,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,OAAO,IAAI;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,cAAc,EAAE,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC;IAC9E,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kBAAkB,EAAE,OAAO,GAAG,gCAAgC,GAAG,SAAS,CAAC;IAC3E,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AASF,eAAO,MAAM,eAAe,GAAI,KAAK,EAAG,uIAWrC,oBAAoB,CAAC,KAAK,CAAC,4CAoP7B,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,KAAK,GAAG,OAAO,IAAI;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,aAAa,EAAE,6BAA6B,CAAC;IAC7C,YAAY,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,KAAK,EAAG,gGAQ5C,2BAA2B,CAAC,KAAK,CAAC,4CAsCpC,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,KAAK,GAAG,OAAO,IAAI;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,KAAK,EAAG,kDAKzC,wBAAwB,CAAC,KAAK,CAAC,4CA8CjC,CAAC"}
@@ -0,0 +1,126 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Fragment } from "react";
3
+ import { StyleSheet, View } from "react-native";
4
+ import { createSvgTestId } from "../../../svg-renderer/index";
5
+ import { getLineChartRenderer as getBarChartRenderer } from "../line/renderer";
6
+ import { getFontFamilyProps } from "../line/text";
7
+ import { getAnimatedBarSelectionFill, getAnimatedBarSelectionStrokeOpacity, getBarChartSelectionGridOpacity, shouldRenderBarChartGridLines, useBarChartSelectionAnimation } from "./selectionAnimation";
8
+ import { renderDefaultBarChartTooltip } from "./tooltip";
9
+ import { offsetBarChartTooltipForViewport } from "./tooltipPlacement";
10
+ import { useAnimatedBarChartTooltipModel } from "./useAnimatedTooltipModel";
11
+ const RendererLayer = ({ children }) => _jsx(_Fragment, { children: children });
12
+ export const BarChartSurface = ({ barRadius, height, model, responderProps, renderBar, selectedBarKey, selectionAnimation, showYAxis, width, renderer: rendererProp }) => {
13
+ const { bars, boxes, legendItems, orientation, resolvedTheme, showHorizontalGridLines, showXAxisLabels, showYAxisLabels, valueLabels, xLabels, yLabels, yTicks } = model;
14
+ const fontProps = getFontFamilyProps(resolvedTheme.typography.fontFamily);
15
+ const selectionAnimationState = useBarChartSelectionAnimation({
16
+ animation: selectionAnimation,
17
+ selectedBarKey
18
+ });
19
+ const gridStrokeOpacity = getBarChartSelectionGridOpacity({
20
+ selectedBarKey,
21
+ state: selectionAnimationState
22
+ });
23
+ const shouldRenderGridLines = shouldRenderBarChartGridLines({
24
+ selectedBarKey,
25
+ state: selectionAnimationState
26
+ });
27
+ const shouldCoverSelectionGrid = !shouldRenderGridLines;
28
+ const renderer = getBarChartRenderer(rendererProp);
29
+ const Layer = renderer.Layer ?? RendererLayer;
30
+ const Line = renderer.Line;
31
+ const Rect = renderer.Rect;
32
+ const Surface = renderer.Surface;
33
+ const Text = renderer.Text;
34
+ return (_jsx(View, { collapsable: false, style: { width, height }, ...responderProps, children: _jsxs(Surface, { width: width, height: height, children: [_jsxs(Layer, { name: "background", children: [_jsx(Rect, { x: 0, y: 0, width: width, height: height, rx: 8, fill: resolvedTheme.background }), _jsx(Rect, { x: boxes.plot.x, y: boxes.plot.y, width: boxes.plot.width, height: boxes.plot.height, rx: 6, fill: resolvedTheme.plotBackground })] }), _jsxs(Layer, { name: "grid", children: [shouldRenderGridLines &&
35
+ showHorizontalGridLines &&
36
+ orientation === "horizontal"
37
+ ? xLabels.map((label) => (_jsx(Line, { x1: label.x, x2: label.x, y1: boxes.plot.y, y2: boxes.plot.y + boxes.plot.height, stroke: resolvedTheme.grid, strokeOpacity: gridStrokeOpacity, strokeWidth: 1 }, `grid-x-${label.index}`)))
38
+ : null, shouldRenderGridLines &&
39
+ showHorizontalGridLines &&
40
+ orientation === "vertical"
41
+ ? yTicks.map((tick) => {
42
+ const label = yLabels.find((item) => item.key === `tick-${tick}`);
43
+ return label ? (_jsx(Line, { x1: boxes.plot.x, x2: boxes.plot.x + boxes.plot.width, y1: label.y - resolvedTheme.typography.axisLabelSize / 2 + 2, y2: label.y - resolvedTheme.typography.axisLabelSize / 2 + 2, stroke: resolvedTheme.grid, strokeOpacity: gridStrokeOpacity, strokeWidth: 1 }, `grid-y-${tick}`)) : null;
44
+ })
45
+ : null] }), _jsxs(Layer, { name: "data", children: [shouldCoverSelectionGrid ? (_jsx(Rect, { x: boxes.plot.x, y: boxes.plot.y, width: boxes.plot.width, height: boxes.plot.height, rx: 6, fill: resolvedTheme.plotBackground, testID: createSvgTestId("bar-chart-selection-grid-cover") })) : null, bars.map((bar) => {
46
+ const fill = getAnimatedBarSelectionFill({
47
+ backgroundColor: resolvedTheme.plotBackground,
48
+ barKey: bar.key,
49
+ color: bar.color,
50
+ state: selectionAnimationState
51
+ });
52
+ const strokeOpacity = getAnimatedBarSelectionStrokeOpacity({
53
+ barKey: bar.key,
54
+ state: selectionAnimationState
55
+ });
56
+ const radius = Math.min(barRadius, bar.width / 2, bar.height / 2);
57
+ const barNode = renderBar?.({
58
+ bar,
59
+ fill,
60
+ radius,
61
+ selected: selectedBarKey === bar.key,
62
+ strokeColor: resolvedTheme.text,
63
+ strokeOpacity,
64
+ strokeWidth: 1.5,
65
+ theme: resolvedTheme
66
+ });
67
+ return (_jsxs(Fragment, { children: [_jsx(Rect, { x: bar.x, y: bar.y, width: bar.width, height: bar.height, rx: 0, fill: resolvedTheme.plotBackground }), barNode ?? (_jsx(Rect, { x: bar.x, y: bar.y, width: bar.width, height: bar.height, rx: radius, fill: fill, ...(strokeOpacity > 0
68
+ ? {
69
+ stroke: resolvedTheme.text,
70
+ strokeOpacity,
71
+ strokeWidth: 1.5
72
+ }
73
+ : {}), testID: createSvgTestId("bar-chart-bar", bar.seriesKey, bar.dataIndex) }))] }, bar.key));
74
+ })] }), _jsxs(Layer, { name: "axes", children: [showYAxis && showYAxisLabels
75
+ ? yLabels.map((label) => (_jsx(Text, { x: label.x, y: label.y, fill: resolvedTheme.mutedText, fontSize: resolvedTheme.typography.axisLabelSize, textAnchor: "end", ...fontProps, children: label.text }, `label-y-${label.key}`)))
76
+ : null, showXAxisLabels
77
+ ? xLabels.map((label) => (_jsx(Text, { x: label.x, y: label.y, fill: resolvedTheme.mutedText, fontSize: resolvedTheme.typography.axisLabelSize, textAnchor: label.textAnchor, ...fontProps, children: label.text }, `label-x-${label.index}`)))
78
+ : null, valueLabels.map((label) => (_jsx(Text, { x: label.x, y: label.y, fill: label.color, fontSize: resolvedTheme.typography.axisLabelSize, textAnchor: label.textAnchor ?? "middle", ...fontProps, children: label.text }, label.key))), legendItems.map((item) => (_jsx(Rect, { x: item.markerX, y: item.markerY, width: 8, height: 8, rx: 2, fill: item.color }, `legend-marker-${item.key}`))), legendItems.map((item) => (_jsx(Text, { x: item.labelX, y: item.labelY, fill: resolvedTheme.mutedText, fontSize: resolvedTheme.typography.legendLabelSize, textAnchor: "start", ...fontProps, children: item.label }, `legend-label-${item.key}`)))] })] }) }));
79
+ };
80
+ export const BarChartTooltipOverlay = ({ height, model, tooltipConfig, tooltipModel, viewportOffsetX, width, renderer: rendererProp }) => {
81
+ const animatedTooltipModel = useAnimatedBarChartTooltipModel(tooltipModel, tooltipConfig.positionAnimationDuration);
82
+ const viewportTooltipModel = animatedTooltipModel
83
+ ? offsetBarChartTooltipForViewport({
84
+ leftInset: model.boxes.plot.x + tooltipConfig.edgePadding,
85
+ rightInset: tooltipConfig.edgePadding,
86
+ tooltip: animatedTooltipModel,
87
+ viewportOffsetX,
88
+ viewportWidth: width
89
+ })
90
+ : undefined;
91
+ const renderer = getBarChartRenderer(rendererProp);
92
+ const Layer = renderer.Layer ?? RendererLayer;
93
+ const Surface = renderer.Surface;
94
+ return (_jsx(View, { pointerEvents: "none", style: [styles.tooltipOverlay, { width, height }], children: _jsx(Surface, { width: width, height: height, children: _jsx(Layer, { name: "interaction", children: viewportTooltipModel
95
+ ? renderDefaultBarChartTooltip({
96
+ ...viewportTooltipModel,
97
+ config: tooltipConfig
98
+ }, renderer)
99
+ : null }) }) }));
100
+ };
101
+ export const StickyBarChartYAxis = ({ height, model, width, renderer: rendererProp }) => {
102
+ const { boxes, resolvedTheme, showYAxisLabels, yLabels } = model;
103
+ const fontProps = getFontFamilyProps(resolvedTheme.typography.fontFamily);
104
+ const renderer = getBarChartRenderer(rendererProp);
105
+ const Layer = renderer.Layer ?? RendererLayer;
106
+ const Rect = renderer.Rect;
107
+ const Surface = renderer.Surface;
108
+ const Text = renderer.Text;
109
+ return (_jsx(View, { pointerEvents: "none", style: [styles.stickyYAxis, { width, height }], children: _jsx(Surface, { width: width, height: height, children: _jsxs(Layer, { name: "axes", children: [_jsx(Rect, { x: 0, y: 0, width: Math.max(0, boxes.plot.x), height: boxes.plot.y + boxes.plot.height, fill: resolvedTheme.background }), _jsx(Rect, { x: 0, y: boxes.plot.y + boxes.plot.height, width: Math.max(0, boxes.plot.x), height: Math.max(0, height - (boxes.plot.y + boxes.plot.height)), fill: resolvedTheme.background }), showYAxisLabels
110
+ ? yLabels.map((label) => (_jsx(Text, { x: label.x, y: label.y, fill: resolvedTheme.mutedText, fontSize: resolvedTheme.typography.axisLabelSize, textAnchor: "end", ...fontProps, children: label.text }, `sticky-label-y-${label.key}`)))
111
+ : null] }) }) }));
112
+ };
113
+ const styles = StyleSheet.create({
114
+ stickyYAxis: {
115
+ left: 0,
116
+ position: "absolute",
117
+ top: 0,
118
+ zIndex: 1
119
+ },
120
+ tooltipOverlay: {
121
+ left: 0,
122
+ position: "absolute",
123
+ top: 0,
124
+ zIndex: 2
125
+ }
126
+ });
@@ -0,0 +1,4 @@
1
+ import { type StackedBarChartProps } from "./stackedCompat";
2
+ export type * from "./stackedCompat";
3
+ export declare const StackedBarChart: (props: StackedBarChartProps) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=StackedBarChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackedBarChart.d.ts","sourceRoot":"","sources":["../../../src/charts/bar/StackedBarChart.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AAEzB,mBAAmB,iBAAiB,CAAC;AAErC,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,4CAW1D,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { View } from "react-native";
4
+ import { BarChart } from "./BarChart";
5
+ import { buildStackedBarChartCompatProps } from "./stackedCompat";
6
+ export const StackedBarChart = (props) => {
7
+ const { barChartProps, style } = useMemo(() => buildStackedBarChartCompatProps(props), [props]);
8
+ return (_jsx(View, { style: style, children: _jsx(BarChart, { ...barChartProps }) }));
9
+ };
@@ -0,0 +1,31 @@
1
+ import type { ChartXValue } from "../../../core/index";
2
+ import type { BarChartProps } from "./types";
3
+ export type BarChartDataTableColumn = {
4
+ key: string;
5
+ label: string;
6
+ };
7
+ export type BarChartDataTableRow<TData = unknown> = {
8
+ index: number;
9
+ x: ChartXValue;
10
+ xLabel: string;
11
+ values: Record<string, number | null>;
12
+ formattedValues: Record<string, string>;
13
+ raw: TData;
14
+ };
15
+ export type BarChartDataTable<TData = unknown> = {
16
+ columns: BarChartDataTableColumn[];
17
+ rows: Array<BarChartDataTableRow<TData>>;
18
+ };
19
+ type BarChartAccessibilityInput<TData extends Record<string, unknown>> = {
20
+ data: BarChartProps<TData>["data"];
21
+ formatXLabel?: BarChartProps<TData>["formatXLabel"] | undefined;
22
+ formatYLabel?: BarChartProps<TData>["formatYLabel"] | undefined;
23
+ series?: BarChartProps<TData>["series"] | undefined;
24
+ xKey: BarChartProps<TData>["xKey"];
25
+ yKey?: BarChartProps<TData>["yKey"] | undefined;
26
+ yKeys?: BarChartProps<TData>["yKeys"] | undefined;
27
+ };
28
+ export declare const getBarChartDataTable: <TData extends Record<string, unknown>>({ data, formatXLabel, formatYLabel, series, xKey, yKey, yKeys }: BarChartAccessibilityInput<TData>) => BarChartDataTable<TData>;
29
+ export declare const getBarChartAccessibilitySummary: <TData extends Record<string, unknown>>(input: BarChartAccessibilityInput<TData>) => string;
30
+ export {};
31
+ //# sourceMappingURL=accessibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessibility.d.ts","sourceRoot":"","sources":["../../../src/charts/bar/accessibility.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAM7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,OAAO,IAAI;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,WAAW,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,GAAG,EAAE,KAAK,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,KAAK,GAAG,OAAO,IAAI;IAC/C,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;CAC1C,CAAC;AAEF,KAAK,0BAA0B,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACvE,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAChE,YAAY,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAChE,MAAM,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACpD,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAChD,KAAK,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;CACnD,CAAC;AAuEF,eAAO,MAAM,oBAAoB,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,iEAQzE,0BAA0B,CAAC,KAAK,CAAC,KAAG,iBAAiB,CAAC,KAAK,CAqC7D,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAErC,OAAO,0BAA0B,CAAC,KAAK,CAAC,WAwCzC,CAAC"}