react-native-chart-kit 7.0.0-next.0 → 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 +17 -0
  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 +46 -47
  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,90 @@
1
+ const boxesOverlap = (left, right, gap) => {
2
+ return left.x + left.width + gap > right.x;
3
+ };
4
+ const hasOverlap = (labels, indexes, gap) => {
5
+ for (let i = 1; i < indexes.length; i++) {
6
+ const previousIndex = indexes[i - 1];
7
+ const currentIndex = indexes[i];
8
+ if (previousIndex === undefined || currentIndex === undefined) {
9
+ continue;
10
+ }
11
+ const previous = labels[previousIndex];
12
+ const current = labels[currentIndex];
13
+ if (previous && current && boxesOverlap(previous, current, gap)) {
14
+ return true;
15
+ }
16
+ }
17
+ return false;
18
+ };
19
+ const visibleIndexesForInterval = (count, interval) => {
20
+ return Array.from({ length: count }, (_, index) => index).filter((index) => {
21
+ return index === 0 || index === count - 1 || index % interval === 0;
22
+ });
23
+ };
24
+ export const solveLabelCollision = ({ labels, availableWidth, allowRotate = true, allowStagger = true, minGap = 4, maxRotation = 45 }) => {
25
+ if (labels.length === 0) {
26
+ return {
27
+ strategy: "show",
28
+ visibleIndexes: [],
29
+ interval: 1,
30
+ rotation: 0,
31
+ rows: 1
32
+ };
33
+ }
34
+ const allIndexes = visibleIndexesForInterval(labels.length, 1);
35
+ if (!hasOverlap(labels, allIndexes, minGap)) {
36
+ return {
37
+ strategy: "show",
38
+ visibleIndexes: allIndexes,
39
+ interval: 1,
40
+ rotation: 0,
41
+ rows: 1
42
+ };
43
+ }
44
+ if (allowStagger) {
45
+ const rowWidth = labels.reduce((max, label) => Math.max(max, label.width), 0);
46
+ const approximateSlot = availableWidth / Math.max(1, labels.length);
47
+ if (rowWidth + minGap <= approximateSlot * 2) {
48
+ return {
49
+ strategy: "stagger",
50
+ visibleIndexes: allIndexes,
51
+ interval: 1,
52
+ rotation: 0,
53
+ rows: 2
54
+ };
55
+ }
56
+ }
57
+ if (allowRotate) {
58
+ const widest = labels.reduce((max, label) => Math.max(max, label.width), 0);
59
+ const rotatedWidth = widest * Math.cos((Math.abs(maxRotation) * Math.PI) / 180);
60
+ const approximateSlot = availableWidth / Math.max(1, labels.length);
61
+ if (rotatedWidth + minGap <= approximateSlot) {
62
+ return {
63
+ strategy: "rotate",
64
+ visibleIndexes: allIndexes,
65
+ interval: 1,
66
+ rotation: maxRotation,
67
+ rows: 1
68
+ };
69
+ }
70
+ }
71
+ for (let interval = 2; interval <= labels.length; interval++) {
72
+ const visibleIndexes = visibleIndexesForInterval(labels.length, interval);
73
+ if (!hasOverlap(labels, visibleIndexes, minGap)) {
74
+ return {
75
+ strategy: "skip",
76
+ visibleIndexes,
77
+ interval,
78
+ rotation: 0,
79
+ rows: 1
80
+ };
81
+ }
82
+ }
83
+ return {
84
+ strategy: "hide",
85
+ visibleIndexes: [],
86
+ interval: labels.length,
87
+ rotation: 0,
88
+ rows: 0
89
+ };
90
+ };
@@ -0,0 +1,3 @@
1
+ import type { LegendLayout, LegendLayoutOptions } from "./types";
2
+ export declare const layoutLegend: ({ items, position, maxWidth, itemGap, rowGap, padding, labelGap, itemPaddingHorizontal, itemPaddingVertical }: LegendLayoutOptions) => LegendLayout;
3
+ //# sourceMappingURL=legendLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legendLayout.d.ts","sourceRoot":"","sources":["../../src/layout/legendLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EAEZ,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,YAAY,GAAI,+GAU1B,mBAAmB,KAAG,YA2CxB,CAAC"}
@@ -0,0 +1,39 @@
1
+ export const layoutLegend = ({ items, position = "bottom", maxWidth, itemGap = 12, rowGap = 8, padding = 0, labelGap = 4, itemPaddingHorizontal = 0, itemPaddingVertical = 0 }) => {
2
+ const layoutItems = [];
3
+ let cursorX = padding;
4
+ let cursorY = padding;
5
+ let rowHeight = 0;
6
+ let width = padding;
7
+ items.forEach((item) => {
8
+ const markerSize = item.markerSize ?? 10;
9
+ const contentWidth = markerSize + labelGap + item.labelWidth;
10
+ const contentHeight = Math.max(markerSize, item.labelHeight);
11
+ const itemWidth = contentWidth + itemPaddingHorizontal * 2;
12
+ const itemHeight = contentHeight + itemPaddingVertical * 2;
13
+ if (cursorX > padding && cursorX + itemWidth > maxWidth - padding) {
14
+ cursorX = padding;
15
+ cursorY += rowHeight + rowGap;
16
+ rowHeight = 0;
17
+ }
18
+ layoutItems.push({
19
+ ...item,
20
+ x: cursorX,
21
+ y: cursorY,
22
+ width: itemWidth,
23
+ height: itemHeight,
24
+ contentX: cursorX + itemPaddingHorizontal,
25
+ contentY: cursorY + itemPaddingVertical,
26
+ contentWidth,
27
+ contentHeight
28
+ });
29
+ cursorX += itemWidth + itemGap;
30
+ rowHeight = Math.max(rowHeight, itemHeight);
31
+ width = Math.max(width, cursorX - itemGap + padding);
32
+ });
33
+ return {
34
+ position,
35
+ width: Math.min(maxWidth, width),
36
+ height: items.length === 0 ? 0 : cursorY + rowHeight + padding,
37
+ items: layoutItems
38
+ };
39
+ };
@@ -0,0 +1,3 @@
1
+ import type { TooltipPlacementOptions, TooltipPlacementResult } from "./types";
2
+ export declare const placeTooltip: ({ preferredPlacement, gap, fingerRadius, ...options }: TooltipPlacementOptions) => TooltipPlacementResult;
3
+ //# sourceMappingURL=tooltipPlacement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltipPlacement.d.ts","sourceRoot":"","sources":["../../src/layout/tooltipPlacement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAkEjB,eAAO,MAAM,YAAY,GAAI,uDAK1B,uBAAuB,KAAG,sBAkD5B,CAAC"}
@@ -0,0 +1,76 @@
1
+ const clamp = (value, min, max) => {
2
+ if (max < min) {
3
+ return min;
4
+ }
5
+ return Math.min(Math.max(value, min), max);
6
+ };
7
+ const fitsPrimaryAxis = (placement, rect, bounds) => {
8
+ if (placement === "top" || placement === "bottom") {
9
+ return (rect.y >= bounds.y && rect.y + rect.height <= bounds.y + bounds.height);
10
+ }
11
+ return rect.x >= bounds.x && rect.x + rect.width <= bounds.x + bounds.width;
12
+ };
13
+ const place = (placement, options) => {
14
+ const { anchor, tooltip, gap, fingerRadius } = options;
15
+ const offset = gap + fingerRadius;
16
+ if (placement === "top") {
17
+ return {
18
+ x: anchor.x - tooltip.width / 2,
19
+ y: anchor.y - tooltip.height - offset,
20
+ width: tooltip.width,
21
+ height: tooltip.height
22
+ };
23
+ }
24
+ if (placement === "bottom") {
25
+ return {
26
+ x: anchor.x - tooltip.width / 2,
27
+ y: anchor.y + offset,
28
+ width: tooltip.width,
29
+ height: tooltip.height
30
+ };
31
+ }
32
+ if (placement === "left") {
33
+ return {
34
+ x: anchor.x - tooltip.width - offset,
35
+ y: anchor.y - tooltip.height / 2,
36
+ width: tooltip.width,
37
+ height: tooltip.height
38
+ };
39
+ }
40
+ return {
41
+ x: anchor.x + offset,
42
+ y: anchor.y - tooltip.height / 2,
43
+ width: tooltip.width,
44
+ height: tooltip.height
45
+ };
46
+ };
47
+ export const placeTooltip = ({ preferredPlacement = "top", gap = 8, fingerRadius = 0, ...options }) => {
48
+ const resolvedOptions = {
49
+ ...options,
50
+ gap,
51
+ fingerRadius
52
+ };
53
+ const candidates = [
54
+ preferredPlacement,
55
+ "top",
56
+ "bottom",
57
+ "right",
58
+ "left"
59
+ ];
60
+ const placements = candidates.reduce((unique, placement) => {
61
+ if (!unique.includes(placement)) {
62
+ unique.push(placement);
63
+ }
64
+ return unique;
65
+ }, []);
66
+ const placement = placements.find((candidate) => fitsPrimaryAxis(candidate, place(candidate, resolvedOptions), options.bounds)) ?? preferredPlacement;
67
+ const rect = place(placement, resolvedOptions);
68
+ return {
69
+ placement,
70
+ rect: {
71
+ ...rect,
72
+ x: clamp(rect.x, options.bounds.x, options.bounds.x + options.bounds.width - rect.width),
73
+ y: clamp(rect.y, options.bounds.y, options.bounds.y + options.bounds.height - rect.height)
74
+ }
75
+ };
76
+ };
@@ -0,0 +1,114 @@
1
+ export type Padding = {
2
+ top: number;
3
+ right: number;
4
+ bottom: number;
5
+ left: number;
6
+ };
7
+ export type Rect = {
8
+ x: number;
9
+ y: number;
10
+ width: number;
11
+ height: number;
12
+ };
13
+ export type Size = {
14
+ width: number;
15
+ height: number;
16
+ };
17
+ export type ChartBoxes = {
18
+ outer: Rect;
19
+ plot: Rect;
20
+ padding: Padding;
21
+ };
22
+ export type LabelBox = Rect & {
23
+ id: string;
24
+ text?: string;
25
+ };
26
+ export type LabelStrategy = "show" | "skip" | "rotate" | "stagger" | "hide";
27
+ export type LabelCollisionResult = {
28
+ strategy: LabelStrategy;
29
+ visibleIndexes: number[];
30
+ interval: number;
31
+ rotation: number;
32
+ rows: number;
33
+ };
34
+ export type LabelCollisionOptions = {
35
+ labels: LabelBox[];
36
+ availableWidth: number;
37
+ allowRotate?: boolean;
38
+ allowStagger?: boolean;
39
+ minGap?: number;
40
+ maxRotation?: number;
41
+ };
42
+ export type LegendItem = {
43
+ id: string;
44
+ label: string;
45
+ markerSize?: number;
46
+ labelWidth: number;
47
+ labelHeight: number;
48
+ };
49
+ export type LegendPosition = "top" | "bottom" | "left" | "right";
50
+ export type LegendLayoutOptions = {
51
+ items: LegendItem[];
52
+ position?: LegendPosition;
53
+ maxWidth: number;
54
+ itemGap?: number;
55
+ rowGap?: number;
56
+ padding?: number;
57
+ labelGap?: number;
58
+ itemPaddingHorizontal?: number;
59
+ itemPaddingVertical?: number;
60
+ };
61
+ export type LegendLayoutItem = LegendItem & Rect & {
62
+ contentX: number;
63
+ contentY: number;
64
+ contentWidth: number;
65
+ contentHeight: number;
66
+ };
67
+ export type LegendLayout = {
68
+ position: LegendPosition;
69
+ width: number;
70
+ height: number;
71
+ items: LegendLayoutItem[];
72
+ };
73
+ export type TooltipPlacement = "top" | "bottom" | "left" | "right";
74
+ export type TooltipPlacementOptions = {
75
+ anchor: {
76
+ x: number;
77
+ y: number;
78
+ };
79
+ tooltip: Size;
80
+ bounds: Rect;
81
+ preferredPlacement?: TooltipPlacement;
82
+ gap?: number;
83
+ fingerRadius?: number;
84
+ };
85
+ export type TooltipPlacementResult = {
86
+ placement: TooltipPlacement;
87
+ rect: Rect;
88
+ };
89
+ export type LayoutDebugRect = Rect & {
90
+ id: string;
91
+ kind: "outer" | "plot" | "axis" | "label" | "legend" | "tooltip";
92
+ text?: string;
93
+ };
94
+ export type LayoutDebugModel = {
95
+ rects: LayoutDebugRect[];
96
+ };
97
+ export type BuildLayoutDebugModelOptions = {
98
+ boxes: ChartBoxes;
99
+ labels?: LabelBox[];
100
+ legend?: LegendLayout;
101
+ tooltip?: TooltipPlacementResult;
102
+ };
103
+ export type AutoPaddingOptions = {
104
+ base?: Partial<Padding>;
105
+ leftLabels?: Size[];
106
+ rightLabels?: Size[];
107
+ topLabels?: Size[];
108
+ bottomLabels?: Size[];
109
+ legend?: Size & {
110
+ position: LegendPosition;
111
+ };
112
+ gap?: number;
113
+ };
114
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { BandScale, PointScale } from "./types";
2
+ export type CreateBandScaleOptions<TValue extends string | number> = {
3
+ domain: TValue[];
4
+ range: [number, number];
5
+ paddingInner?: number;
6
+ paddingOuter?: number;
7
+ };
8
+ export type CreatePointScaleOptions<TValue extends string | number> = {
9
+ domain: TValue[];
10
+ range: [number, number];
11
+ padding?: number;
12
+ };
13
+ export declare const createBandScale: <TValue extends string | number>({ domain, range, paddingInner, paddingOuter }: CreateBandScaleOptions<TValue>) => BandScale<TValue>;
14
+ export declare const createPointScale: <TValue extends string | number>({ domain, range, padding }: CreatePointScaleOptions<TValue>) => PointScale<TValue>;
15
+ //# sourceMappingURL=band.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"band.d.ts","sourceRoot":"","sources":["../../src/scales/band.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErD,MAAM,MAAM,sBAAsB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACnE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACpE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,+CAK7D,sBAAsB,CAAC,MAAM,CAAC,KAAG,SAAS,CAAC,MAAM,CAmBnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,MAAM,GAAG,MAAM,EAAE,4BAI9D,uBAAuB,CAAC,MAAM,CAAC,KAAG,UAAU,CAAC,MAAM,CAkBrD,CAAC"}
@@ -0,0 +1,34 @@
1
+ export const createBandScale = ({ domain, range, paddingInner = 0, paddingOuter = 0 }) => {
2
+ const count = domain.length;
3
+ const rangeSpan = range[1] - range[0];
4
+ const denominator = Math.max(1, count - paddingInner + paddingOuter * 2);
5
+ const step = count === 0 ? 0 : rangeSpan / denominator;
6
+ const bandwidth = step * Math.max(0, 1 - paddingInner);
7
+ const positions = new Map();
8
+ domain.forEach((value, index) => {
9
+ positions.set(value, range[0] + step * (paddingOuter + index));
10
+ });
11
+ return {
12
+ domain,
13
+ range,
14
+ bandwidth,
15
+ step,
16
+ scale: (value) => positions.get(value)
17
+ };
18
+ };
19
+ export const createPointScale = ({ domain, range, padding = 0 }) => {
20
+ const count = domain.length;
21
+ const rangeSpan = range[1] - range[0];
22
+ const step = count <= 1 ? 0 : rangeSpan / Math.max(1, count - 1 + padding * 2);
23
+ const offset = count <= 1 ? rangeSpan / 2 : step * padding;
24
+ const positions = new Map();
25
+ domain.forEach((value, index) => {
26
+ positions.set(value, range[0] + offset + step * index);
27
+ });
28
+ return {
29
+ domain,
30
+ range,
31
+ step,
32
+ scale: (value) => positions.get(value)
33
+ };
34
+ };
@@ -0,0 +1,6 @@
1
+ import type { NumericDomainInput, TimeDomainInput } from "./types";
2
+ export declare const resolveNumericDomain: (values: readonly number[], input?: NumericDomainInput) => [number, number];
3
+ export declare const resolveTimeDomain: (values: readonly Date[], input?: TimeDomainInput) => [Date, Date];
4
+ export declare const tickStep: (start: number, stop: number, count: number) => number;
5
+ export declare const niceNumericDomain: (domain: [number, number], count?: number) => [number, number];
6
+ //# sourceMappingURL=domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../src/scales/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAElB,eAAe,EAEhB,MAAM,SAAS,CAAC;AAuCjB,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,MAAM,EAAE,EACzB,QAAO,kBAA2B,KACjC,CAAC,MAAM,EAAE,MAAM,CA0BjB,CAAC;AAyBF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,SAAS,IAAI,EAAE,EACvB,QAAO,eAAwB,KAC9B,CAAC,IAAI,EAAE,IAAI,CA6Bb,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,OAAO,MAAM,EACb,MAAM,MAAM,EACZ,OAAO,MAAM,KACZ,MAmBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EACxB,cAAS,KACR,CAAC,MAAM,EAAE,MAAM,CASjB,CAAC"}
@@ -0,0 +1,109 @@
1
+ const finiteValues = (values) => {
2
+ return values.filter((value) => Number.isFinite(value));
3
+ };
4
+ const expandDegenerateDomain = ([min, max]) => {
5
+ if (min !== max) {
6
+ return [min, max];
7
+ }
8
+ if (min === 0) {
9
+ return [-1, 1];
10
+ }
11
+ const padding = Math.abs(min) * 0.5;
12
+ return [min - padding, max + padding];
13
+ };
14
+ const resolveNumericDomainValue = (value, dataMin, dataMax, fallback) => {
15
+ if (value === "dataMin") {
16
+ return dataMin;
17
+ }
18
+ if (value === "dataMax") {
19
+ return dataMax;
20
+ }
21
+ return typeof value === "number" && Number.isFinite(value) ? value : fallback;
22
+ };
23
+ export const resolveNumericDomain = (values, input = "auto") => {
24
+ const finite = finiteValues(values);
25
+ const dataMin = finite.length > 0 ? Math.min(...finite) : 0;
26
+ const dataMax = finite.length > 0 ? Math.max(...finite) : 0;
27
+ if (input === "auto") {
28
+ return expandDegenerateDomain([dataMin, dataMax]);
29
+ }
30
+ if (Array.isArray(input)) {
31
+ return expandDegenerateDomain([
32
+ resolveNumericDomainValue(input[0], dataMin, dataMax, dataMin),
33
+ resolveNumericDomainValue(input[1], dataMin, dataMax, dataMax)
34
+ ]);
35
+ }
36
+ let min = resolveNumericDomainValue(input.min, dataMin, dataMax, dataMin);
37
+ let max = resolveNumericDomainValue(input.max, dataMin, dataMax, dataMax);
38
+ if (input.includeZero) {
39
+ min = Math.min(min, 0);
40
+ max = Math.max(max, 0);
41
+ }
42
+ const domain = expandDegenerateDomain([min, max]);
43
+ return input.nice ? niceNumericDomain(domain) : domain;
44
+ };
45
+ const resolveTimeInput = (value, dataMin, dataMax, fallback) => {
46
+ if (value === "dataMin") {
47
+ return dataMin;
48
+ }
49
+ if (value === "dataMax") {
50
+ return dataMax;
51
+ }
52
+ if (value === undefined) {
53
+ return fallback;
54
+ }
55
+ const date = value instanceof Date ? value : new Date(value);
56
+ return Number.isFinite(date.valueOf()) ? date : fallback;
57
+ };
58
+ export const resolveTimeDomain = (values, input = "auto") => {
59
+ const validTimes = values
60
+ .map((value) => value.valueOf())
61
+ .filter((value) => Number.isFinite(value));
62
+ const dataMin = new Date(validTimes.length > 0 ? Math.min(...validTimes) : 0);
63
+ const dataMax = new Date(validTimes.length > 0 ? Math.max(...validTimes) : 0);
64
+ let domain;
65
+ if (input === "auto") {
66
+ domain = [dataMin, dataMax];
67
+ }
68
+ else if (Array.isArray(input)) {
69
+ domain = [
70
+ resolveTimeInput(input[0], dataMin, dataMax, dataMin),
71
+ resolveTimeInput(input[1], dataMin, dataMax, dataMax)
72
+ ];
73
+ }
74
+ else {
75
+ domain = [
76
+ resolveTimeInput(input.min, dataMin, dataMax, dataMin),
77
+ resolveTimeInput(input.max, dataMin, dataMax, dataMax)
78
+ ];
79
+ }
80
+ if (domain[0].valueOf() === domain[1].valueOf()) {
81
+ const center = domain[0].valueOf();
82
+ return [new Date(center - 1), new Date(center + 1)];
83
+ }
84
+ return domain;
85
+ };
86
+ export const tickStep = (start, stop, count) => {
87
+ const rawStep = Math.abs(stop - start) / Math.max(0, count);
88
+ if (!Number.isFinite(rawStep) || rawStep === 0) {
89
+ return 0;
90
+ }
91
+ const power = Math.floor(Math.log10(rawStep));
92
+ const error = rawStep / Math.pow(10, power);
93
+ const factor = error >= Math.sqrt(50)
94
+ ? 10
95
+ : error >= Math.sqrt(10)
96
+ ? 5
97
+ : error >= Math.sqrt(2)
98
+ ? 2
99
+ : 1;
100
+ return factor * Math.pow(10, power);
101
+ };
102
+ export const niceNumericDomain = (domain, count = 5) => {
103
+ const [min, max] = domain;
104
+ const step = tickStep(min, max, count);
105
+ if (step === 0) {
106
+ return expandDegenerateDomain(domain);
107
+ }
108
+ return [Math.floor(min / step) * step, Math.ceil(max / step) * step];
109
+ };
@@ -0,0 +1,7 @@
1
+ export { createBandScale, createPointScale } from "./band";
2
+ export { niceNumericDomain, resolveNumericDomain, resolveTimeDomain, tickStep } from "./domain";
3
+ export { createLinearScale } from "./linear";
4
+ export { generateLinearTicks, generateTimeTicks } from "./ticks";
5
+ export { createTimeScale } from "./time";
6
+ export type { BandScale, ContinuousScale, DomainKeyword, LinearScale, LinearTickOptions, NumericDomainInput, NumericDomainValue, PointScale, TimeDomainInput, TimeDomainValue, TimeScale, TimeTickOptions, TimeTickUnit } from "./types";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scales/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,QAAQ,EACT,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,eAAe,EACf,SAAS,EACT,eAAe,EACf,YAAY,EACb,MAAM,SAAS,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { createBandScale, createPointScale } from "./band";
2
+ export { niceNumericDomain, resolveNumericDomain, resolveTimeDomain, tickStep } from "./domain";
3
+ export { createLinearScale } from "./linear";
4
+ export { generateLinearTicks, generateTimeTicks } from "./ticks";
5
+ export { createTimeScale } from "./time";
@@ -0,0 +1,8 @@
1
+ import type { LinearScale, NumericDomainInput } from "./types";
2
+ export type CreateLinearScaleOptions = {
3
+ domain?: NumericDomainInput;
4
+ values?: readonly number[];
5
+ range: [number, number];
6
+ };
7
+ export declare const createLinearScale: ({ domain, values, range }: CreateLinearScaleOptions) => LinearScale;
8
+ //# sourceMappingURL=linear.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../src/scales/linear.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,2BAI/B,wBAAwB,KAAG,WAuB7B,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { resolveNumericDomain } from "./domain";
2
+ export const createLinearScale = ({ domain = "auto", values = [], range }) => {
3
+ const resolvedDomain = resolveNumericDomain(values, domain);
4
+ const domainSpan = resolvedDomain[1] - resolvedDomain[0];
5
+ const rangeSpan = range[1] - range[0];
6
+ return {
7
+ domain: resolvedDomain,
8
+ range,
9
+ scale: (value) => {
10
+ if (domainSpan === 0) {
11
+ return range[0];
12
+ }
13
+ return range[0] + ((value - resolvedDomain[0]) / domainSpan) * rangeSpan;
14
+ },
15
+ invert: (value) => {
16
+ if (rangeSpan === 0) {
17
+ return resolvedDomain[0];
18
+ }
19
+ return resolvedDomain[0] + ((value - range[0]) / rangeSpan) * domainSpan;
20
+ }
21
+ };
22
+ };
@@ -0,0 +1,4 @@
1
+ import type { LinearTickOptions, TimeTickOptions } from "./types";
2
+ export declare const generateLinearTicks: ({ count, domain }?: LinearTickOptions) => number[];
3
+ export declare const generateTimeTicks: ({ count, domain, unit }?: TimeTickOptions) => Date[];
4
+ //# sourceMappingURL=ticks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticks.d.ts","sourceRoot":"","sources":["../../src/scales/ticks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAgB,MAAM,SAAS,CAAC;AAEhF,eAAO,MAAM,mBAAmB,GAAI,oBAGjC,iBAAsB,KAAG,MAAM,EAqBjC,CAAC;AA+EF,eAAO,MAAM,iBAAiB,GAAI,0BAI/B,eAAoB,KAAG,IAAI,EAqB7B,CAAC"}