@octanejs/recharts 0.1.40 → 0.1.42

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 (376) hide show
  1. package/{LICENSE → LICENSE.recharts} +3 -2
  2. package/README.md +12 -0
  3. package/package.json +10 -9
  4. package/src/animation/AnimatedItems.tsrx +36 -3
  5. package/src/animation/AnimationController.ts +17 -65
  6. package/src/animation/{AnimationControllerImpl.js → AnimationControllerImpl.ts} +19 -12
  7. package/src/animation/{AnimationHandle.js → AnimationHandle.ts} +82 -65
  8. package/src/animation/CSSTransitionAnimate.tsrx +3 -2
  9. package/src/animation/JavascriptAnimate.tsrx +18 -2
  10. package/src/animation/easing.ts +235 -0
  11. package/src/animation/{matchBy.js → matchBy.ts} +76 -120
  12. package/src/animation/timeoutController.ts +71 -0
  13. package/src/animation/useAnimationController.ts +4 -1
  14. package/src/animation/useAnimationStartSnapshot.ts +3 -3
  15. package/src/animation/util.ts +12 -0
  16. package/src/cartesian/Area.tsrx +33 -31
  17. package/src/cartesian/AreaRevealShape.tsrx +4 -3
  18. package/src/cartesian/Bar.ts +1 -0
  19. package/src/cartesian/Bar.tsrx +293 -39
  20. package/src/cartesian/BarStack.tsrx +31 -9
  21. package/src/cartesian/CartesianAxis.tsrx +154 -22
  22. package/src/cartesian/CartesianGrid.tsrx +5 -6
  23. package/src/cartesian/ErrorBar.tsrx +9 -8
  24. package/src/cartesian/Funnel.tsrx +40 -37
  25. package/src/cartesian/GraphicalItemClipPath.tsrx +11 -4
  26. package/src/cartesian/Line.ts +1 -0
  27. package/src/cartesian/Line.tsrx +206 -28
  28. package/src/cartesian/LineDrawShape.tsrx +23 -10
  29. package/src/cartesian/ReferenceLine.tsrx +8 -8
  30. package/src/cartesian/Scatter.tsrx +61 -66
  31. package/src/cartesian/XAxis.tsrx +78 -9
  32. package/src/cartesian/YAxis.tsrx +85 -12
  33. package/src/cartesian/getCartesianPosition.ts +265 -0
  34. package/src/cartesian/getEquidistantTicks.ts +144 -0
  35. package/src/cartesian/getTicks.ts +221 -0
  36. package/src/chart/AreaChart.tsrx +5 -1
  37. package/src/chart/BarChart.tsrx +8 -2
  38. package/src/chart/CartesianChart.tsrx +17 -4
  39. package/src/chart/CategoricalChart.tsrx +4 -1
  40. package/src/chart/ComposedChart.tsrx +5 -1
  41. package/src/chart/FunnelChart.tsrx +5 -1
  42. package/src/chart/LineChart.tsrx +8 -2
  43. package/src/chart/PieChart.tsrx +6 -2
  44. package/src/chart/PolarChart.tsrx +5 -4
  45. package/src/chart/RadarChart.tsrx +6 -2
  46. package/src/chart/RadialBarChart.tsrx +6 -2
  47. package/src/chart/RechartsWrapper.tsrx +57 -21
  48. package/src/chart/Sankey.tsrx +89 -91
  49. package/src/chart/ScatterChart.tsrx +5 -1
  50. package/src/chart/SunburstChart.tsrx +21 -14
  51. package/src/chart/types.ts +0 -1
  52. package/src/component/ActivePoints.tsrx +30 -5
  53. package/src/component/Cell.ts +19 -1
  54. package/src/component/Cursor.tsrx +11 -10
  55. package/src/component/DefaultLegendContent.tsrx +15 -10
  56. package/src/component/DefaultTooltipContent.tsrx +11 -9
  57. package/src/component/Dots.tsrx +37 -6
  58. package/src/component/Label.tsrx +99 -19
  59. package/src/component/LabelList.tsrx +54 -5
  60. package/src/component/Legend.tsrx +9 -5
  61. package/src/component/ResponsiveContainer.tsrx +13 -10
  62. package/src/component/Text.tsrx +95 -32
  63. package/src/component/Tooltip.tsrx +11 -10
  64. package/src/component/TooltipBoundingBox.tsrx +4 -5
  65. package/src/component/{responsiveContainerUtils.js → responsiveContainerUtils.ts} +59 -36
  66. package/src/container/ClipPathProvider.tsrx +6 -2
  67. package/src/container/Layer.tsrx +8 -1
  68. package/src/container/RootSurface.tsrx +15 -4
  69. package/src/container/Surface.tsrx +15 -1
  70. package/src/context/CellsContext.ts +6 -5
  71. package/src/context/ErrorBarContext.tsrx +23 -4
  72. package/src/context/RegisterGraphicalItemId.tsrx +10 -2
  73. package/src/context/accessibilityContext.ts +5 -0
  74. package/src/context/brushUpdateContext.ts +11 -0
  75. package/src/context/chartDataContext.ts +5 -4
  76. package/src/context/chartLayoutContext.ts +22 -8
  77. package/src/context/legendPayloadContext.tsrx +1 -1
  78. package/src/context/tooltipContext.ts +83 -0
  79. package/src/{hooks.js → hooks.ts} +88 -66
  80. package/src/index.ts +37 -37
  81. package/src/internal.ts +4 -20
  82. package/src/legacy-props.ts +129 -0
  83. package/src/polar/Pie.tsrx +91 -69
  84. package/src/polar/PolarAngleAxis.tsrx +47 -47
  85. package/src/polar/PolarGrid.tsrx +7 -6
  86. package/src/polar/PolarRadiusAxis.tsrx +29 -21
  87. package/src/polar/Radar.tsrx +26 -19
  88. package/src/polar/RadialBar.tsrx +59 -42
  89. package/src/polar/{defaultPolarAngleAxisProps.js → defaultPolarAngleAxisProps.ts} +6 -6
  90. package/src/polar/{defaultPolarRadiusAxisProps.js → defaultPolarRadiusAxisProps.ts} +5 -4
  91. package/src/shape/Cross.tsrx +14 -2
  92. package/src/shape/Curve.tsrx +111 -23
  93. package/src/shape/Dot.tsrx +12 -1
  94. package/src/shape/Polygon.tsrx +28 -6
  95. package/src/shape/Rectangle.tsrx +30 -3
  96. package/src/shape/Sector.tsrx +48 -6
  97. package/src/shape/Symbols.tsrx +24 -6
  98. package/src/shape/Trapezoid.tsrx +33 -3
  99. package/src/state/RechartsStoreProvider.tsrx +11 -2
  100. package/src/state/ReportChartProps.ts +2 -2
  101. package/src/state/ReportMainChartProps.ts +2 -1
  102. package/src/state/SetGraphicalItem.ts +6 -4
  103. package/src/state/SetLegendPayload.ts +7 -4
  104. package/src/state/SetTooltipEntrySettings.ts +5 -2
  105. package/src/state/brushSlice.ts +40 -0
  106. package/src/state/cartesianAxisSlice.ts +291 -0
  107. package/src/state/chartDataSlice.ts +87 -0
  108. package/src/state/errorBarSlice.ts +78 -0
  109. package/src/state/eventSettingsSlice.ts +30 -0
  110. package/src/state/{externalEventsMiddleware.js → externalEventsMiddleware.ts} +55 -34
  111. package/src/state/graphicalItemsSlice.ts +180 -0
  112. package/src/state/{keyboardEventsMiddleware.js → keyboardEventsMiddleware.ts} +72 -57
  113. package/src/state/layoutSlice.ts +50 -0
  114. package/src/state/legendSlice.ts +109 -0
  115. package/src/state/{mouseEventsMiddleware.js → mouseEventsMiddleware.ts} +45 -35
  116. package/src/state/optionsSlice.ts +65 -0
  117. package/src/state/polarAxisSlice.ts +42 -0
  118. package/src/state/polarOptionsSlice.ts +43 -0
  119. package/src/state/reduxDevtoolsJsonStringifyReplacer.ts +13 -0
  120. package/src/state/referenceElementsSlice.ts +100 -0
  121. package/src/state/renderedTicksSlice.ts +60 -0
  122. package/src/state/rootPropsSlice.ts +72 -0
  123. package/src/state/selectors/areaSelectors.ts +1 -2
  124. package/src/state/selectors/{arrayEqualityCheck.js → arrayEqualityCheck.ts} +4 -5
  125. package/src/state/selectors/axisSelectors.ts +2502 -0
  126. package/src/state/selectors/barSelectors.ts +373 -0
  127. package/src/state/selectors/barStackSelectors.ts +99 -0
  128. package/src/state/selectors/brushSelectors.ts +28 -0
  129. package/src/state/selectors/combiners/combineActiveLabel.ts +16 -0
  130. package/src/state/selectors/combiners/{combineActiveTooltipIndex.js → combineActiveTooltipIndex.ts} +45 -23
  131. package/src/state/selectors/combiners/combineAllBarPositions.ts +130 -0
  132. package/src/state/selectors/combiners/combineAxisRangeWithReverse.ts +16 -0
  133. package/src/state/selectors/combiners/combineBarPosition.ts +23 -0
  134. package/src/state/selectors/combiners/combineBarSizeList.ts +79 -0
  135. package/src/state/selectors/combiners/{combineCheckedDomain.js → combineCheckedDomain.ts} +9 -6
  136. package/src/state/selectors/combiners/combineConfiguredScale.ts +100 -0
  137. package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.ts +46 -0
  138. package/src/state/selectors/combiners/{combineDisplayedStackedData.js → combineDisplayedStackedData.ts} +23 -19
  139. package/src/state/selectors/combiners/combineInverseScaleFunction.ts +16 -0
  140. package/src/state/selectors/combiners/{combineRealScaleType.js → combineRealScaleType.ts} +16 -8
  141. package/src/state/selectors/combiners/combineStackedData.ts +27 -0
  142. package/src/state/selectors/combiners/combineTooltipInteractionState.ts +86 -0
  143. package/src/state/selectors/combiners/combineTooltipPayload.ts +201 -0
  144. package/src/state/selectors/combiners/{combineTooltipPayloadConfigurations.js → combineTooltipPayloadConfigurations.ts} +17 -18
  145. package/src/state/selectors/containerSelectors.ts +12 -0
  146. package/src/state/selectors/{dataSelectors.js → dataSelectors.ts} +43 -41
  147. package/src/state/selectors/funnelSelectors.ts +5 -5
  148. package/src/state/selectors/graphicalItemSelectors.ts +22 -0
  149. package/src/state/selectors/legendSelectors.ts +25 -0
  150. package/src/state/selectors/lineSelectors.ts +159 -0
  151. package/src/state/selectors/numberDomainEqualityCheck.ts +15 -0
  152. package/src/state/selectors/pickAxisId.ts +6 -0
  153. package/src/state/selectors/pickAxisType.ts +4 -0
  154. package/src/state/selectors/pieSelectors.ts +14 -13
  155. package/src/state/selectors/polarAxisSelectors.ts +223 -0
  156. package/src/state/selectors/polarSelectors.ts +1 -1
  157. package/src/state/selectors/radarSelectors.ts +1 -1
  158. package/src/state/selectors/radialBarSelectors.ts +17 -16
  159. package/src/state/selectors/rootPropsSelectors.ts +26 -0
  160. package/src/state/selectors/scatterSelectors.ts +11 -10
  161. package/src/state/selectors/{selectActivePropsFromChartPointer.js → selectActivePropsFromChartPointer.ts} +11 -4
  162. package/src/state/selectors/selectAllAxes.ts +20 -0
  163. package/src/state/selectors/selectChartOffset.ts +17 -0
  164. package/src/state/selectors/selectChartOffsetInternal.ts +147 -0
  165. package/src/state/selectors/{selectPlotArea.js → selectPlotArea.ts} +4 -3
  166. package/src/state/selectors/selectTooltipAxisId.ts +6 -0
  167. package/src/state/selectors/{selectTooltipAxisType.js → selectTooltipAxisType.ts} +10 -4
  168. package/src/state/selectors/selectTooltipEventType.ts +39 -0
  169. package/src/state/selectors/selectTooltipPayloadSearcher.ts +6 -0
  170. package/src/state/selectors/selectTooltipSettings.ts +6 -0
  171. package/src/state/selectors/selectTooltipState.ts +5 -0
  172. package/src/state/selectors/selectors.ts +315 -0
  173. package/src/state/selectors/tooltipSelectors.ts +611 -0
  174. package/src/state/selectors/touchSelectors.ts +52 -0
  175. package/src/state/{store.js → store.ts} +46 -36
  176. package/src/state/tooltipSlice.ts +507 -0
  177. package/src/state/{touchEventsMiddleware.js → touchEventsMiddleware.ts} +54 -42
  178. package/src/state/types/AreaSettings.ts +15 -0
  179. package/src/state/types/BarSettings.ts +15 -0
  180. package/src/state/types/LineSettings.ts +10 -0
  181. package/src/state/types/PieSettings.ts +32 -0
  182. package/src/state/types/RadarSettings.ts +6 -0
  183. package/src/state/types/RadialBarSettings.ts +10 -0
  184. package/src/state/types/ScatterSettings.ts +13 -0
  185. package/src/state/types/StackedGraphicalItem.ts +34 -0
  186. package/src/state/zIndexSlice.ts +137 -0
  187. package/src/synchronisation/syncSelectors.ts +7 -0
  188. package/src/synchronisation/types.ts +42 -0
  189. package/src/synchronisation/useChartSynchronisation.tsrx +26 -11
  190. package/src/types.ts +55 -0
  191. package/src/util/ActiveShapeUtils.tsrx +34 -10
  192. package/src/util/BarUtils.tsrx +43 -3
  193. package/src/util/{CartesianUtils.js → CartesianUtils.ts} +22 -39
  194. package/src/util/ChartUtils.ts +759 -0
  195. package/src/util/{Constants.js → Constants.ts} +6 -6
  196. package/src/util/DOMUtils.ts +135 -0
  197. package/src/util/{DataUtils.js → DataUtils.ts} +120 -47
  198. package/src/util/Events.ts +22 -0
  199. package/src/util/FunnelUtils.tsrx +3 -3
  200. package/src/util/Global.ts +13 -0
  201. package/src/util/IfOverflow.ts +16 -0
  202. package/src/util/LRUCache.ts +42 -0
  203. package/src/util/{LogUtils.js → LogUtils.ts} +7 -12
  204. package/src/util/OctaneTypes.ts +51 -0
  205. package/src/util/PolarUtils.ts +132 -0
  206. package/src/util/RadialBarUtils.tsrx +3 -3
  207. package/src/util/ReduceCSSCalc.ts +186 -0
  208. package/src/util/ScatterUtils.tsrx +9 -7
  209. package/src/util/{TickUtils.js → TickUtils.ts} +30 -13
  210. package/src/util/{YAxisUtils.js → YAxisUtils.ts} +27 -17
  211. package/src/util/axisPropsAreEqual.ts +49 -0
  212. package/src/util/createEventProxy.ts +20 -0
  213. package/src/util/{excludeEventProps.js → excludeEventProps.ts} +8 -6
  214. package/src/util/getActiveCoordinate.ts +210 -0
  215. package/src/util/{getAxisTypeBasedOnLayout.js → getAxisTypeBasedOnLayout.ts} +7 -3
  216. package/src/util/getClassNameFromUnknown.ts +7 -0
  217. package/src/util/{getEveryNth.js → getEveryNth.ts} +5 -6
  218. package/src/util/getRadiusAndStrokeWidthFromDot.ts +31 -0
  219. package/src/util/{getRelativeCoordinate.js → getRelativeCoordinate.ts} +26 -9
  220. package/src/util/getSliced.ts +14 -0
  221. package/src/util/{isDomainSpecifiedByUser.js → isDomainSpecifiedByUser.ts} +46 -100
  222. package/src/util/isWellBehavedNumber.ts +8 -0
  223. package/src/util/payload/getUniqPayload.ts +1 -1
  224. package/src/util/{propsAreEqual.js → propsAreEqual.ts} +10 -8
  225. package/src/util/{resolveDefaultProps.js → resolveDefaultProps.ts} +35 -57
  226. package/src/util/round.ts +33 -0
  227. package/src/util/scale/CustomScaleDefinition.ts +82 -0
  228. package/src/util/scale/RechartsScale.ts +131 -0
  229. package/src/util/scale/{createCategoricalInverse.js → createCategoricalInverse.ts} +24 -29
  230. package/src/util/scale/{getNiceTickValues.js → getNiceTickValues.ts} +125 -146
  231. package/src/util/scale/index.ts +2 -0
  232. package/src/util/scale/util/{arithmetic.js → arithmetic.ts} +12 -8
  233. package/src/util/stacks/getStackSeriesIdentifier.ts +21 -0
  234. package/src/util/stacks/stackTypes.ts +58 -0
  235. package/src/util/{svgPropertiesNoEvents.js → svgPropertiesNoEvents.ts} +52 -27
  236. package/src/util/tooltip/translate.ts +2 -1
  237. package/src/util/typedDataKey.ts +49 -0
  238. package/src/util/types.ts +1265 -7
  239. package/src/util/{useUniqueId.js → useUniqueId.ts} +9 -5
  240. package/src/zIndex/{DefaultZIndexes.js → DefaultZIndexes.ts} +13 -4
  241. package/src/zIndex/ZIndexLayer.tsrx +13 -4
  242. package/src/zIndex/ZIndexPortal.tsrx +14 -4
  243. package/src/zIndex/{getZIndexFromUnknown.js → getZIndexFromUnknown.ts} +3 -3
  244. package/src/zIndex/{zIndexSelectors.js → zIndexSelectors.ts} +17 -11
  245. package/src/animation/easing.js +0 -193
  246. package/src/animation/timeoutController.js +0 -49
  247. package/src/animation/util.js +0 -11
  248. package/src/cartesian/Area.tsrx.d.ts +0 -340
  249. package/src/cartesian/Bar.tsrx.d.ts +0 -4
  250. package/src/cartesian/BarStack.tsrx.d.ts +0 -6
  251. package/src/cartesian/CartesianAxis.tsrx.d.ts +0 -3
  252. package/src/cartesian/CartesianGrid.tsrx.d.ts +0 -219
  253. package/src/cartesian/ErrorBar.tsrx.d.ts +0 -131
  254. package/src/cartesian/Funnel.tsrx.d.ts +0 -274
  255. package/src/cartesian/Line.tsrx.d.ts +0 -4
  256. package/src/cartesian/LineDrawShape.tsrx.d.ts +0 -2
  257. package/src/cartesian/ReferenceLine.tsrx.d.ts +0 -178
  258. package/src/cartesian/Scatter.tsrx.d.ts +0 -351
  259. package/src/cartesian/XAxis.tsrx.d.ts +0 -3
  260. package/src/cartesian/YAxis.tsrx.d.ts +0 -3
  261. package/src/cartesian/ZAxis.tsrx.d.ts +0 -102
  262. package/src/cartesian/getCartesianPosition.js +0 -277
  263. package/src/cartesian/getEquidistantTicks.js +0 -133
  264. package/src/cartesian/getTicks.js +0 -280
  265. package/src/chart/AreaChart.tsrx.d.ts +0 -12
  266. package/src/chart/BarChart.tsrx.d.ts +0 -2
  267. package/src/chart/CartesianChart.tsrx.d.ts +0 -10
  268. package/src/chart/ComposedChart.tsrx.d.ts +0 -12
  269. package/src/chart/FunnelChart.tsrx.d.ts +0 -12
  270. package/src/chart/LineChart.tsrx.d.ts +0 -2
  271. package/src/chart/PieChart.tsrx.d.ts +0 -31
  272. package/src/chart/RadarChart.tsrx.d.ts +0 -31
  273. package/src/chart/RadialBarChart.tsrx.d.ts +0 -31
  274. package/src/chart/Sankey.tsrx.d.ts +0 -253
  275. package/src/chart/ScatterChart.tsrx.d.ts +0 -12
  276. package/src/chart/SunburstChart.tsrx.d.ts +0 -146
  277. package/src/component/DefaultLegendContent.tsrx.d.ts +0 -125
  278. package/src/component/DefaultTooltipContent.tsrx.d.ts +0 -87
  279. package/src/component/Label.tsrx.d.ts +0 -12
  280. package/src/component/LabelList.tsrx.d.ts +0 -8
  281. package/src/component/Legend.tsrx.d.ts +0 -88
  282. package/src/component/ResponsiveContainer.tsrx.d.ts +0 -81
  283. package/src/component/Text.tsrx.d.ts +0 -9
  284. package/src/component/Tooltip.tsrx.d.ts +0 -246
  285. package/src/container/Layer.tsrx.d.ts +0 -6
  286. package/src/container/Surface.tsrx.d.ts +0 -12
  287. package/src/context/accessibilityContext.js +0 -10
  288. package/src/context/tooltipContext.js +0 -55
  289. package/src/index.d.ts +0 -281
  290. package/src/polar/Pie.tsrx.d.ts +0 -436
  291. package/src/polar/PolarAngleAxis.tsrx.d.ts +0 -215
  292. package/src/polar/PolarGrid.tsrx.d.ts +0 -117
  293. package/src/polar/PolarRadiusAxis.tsrx.d.ts +0 -209
  294. package/src/polar/Radar.tsrx.d.ts +0 -215
  295. package/src/polar/RadialBar.tsrx.d.ts +0 -340
  296. package/src/shape/Cross.tsrx.d.ts +0 -12
  297. package/src/shape/Curve.tsrx.d.ts +0 -42
  298. package/src/shape/Dot.tsrx.d.ts +0 -9
  299. package/src/shape/Polygon.tsrx.d.ts +0 -13
  300. package/src/shape/Rectangle.tsrx.d.ts +0 -31
  301. package/src/shape/Sector.tsrx.d.ts +0 -29
  302. package/src/shape/Symbols.tsrx.d.ts +0 -15
  303. package/src/shape/Trapezoid.tsrx.d.ts +0 -29
  304. package/src/state/brushSlice.js +0 -36
  305. package/src/state/cartesianAxisSlice.js +0 -256
  306. package/src/state/chartDataSlice.js +0 -67
  307. package/src/state/errorBarSlice.js +0 -53
  308. package/src/state/eventSettingsSlice.js +0 -25
  309. package/src/state/graphicalItemsSlice.js +0 -91
  310. package/src/state/layoutSlice.js +0 -57
  311. package/src/state/legendSlice.js +0 -83
  312. package/src/state/optionsSlice.js +0 -45
  313. package/src/state/polarAxisSlice.js +0 -33
  314. package/src/state/polarOptionsSlice.js +0 -26
  315. package/src/state/reduxDevtoolsJsonStringifyReplacer.js +0 -14
  316. package/src/state/referenceElementsSlice.js +0 -51
  317. package/src/state/renderedTicksSlice.js +0 -41
  318. package/src/state/rootPropsSlice.js +0 -48
  319. package/src/state/selectors/axisSelectors.js +0 -2113
  320. package/src/state/selectors/barSelectors.js +0 -263
  321. package/src/state/selectors/barStackSelectors.js +0 -65
  322. package/src/state/selectors/brushSelectors.js +0 -21
  323. package/src/state/selectors/combiners/combineActiveLabel.js +0 -18
  324. package/src/state/selectors/combiners/combineAllBarPositions.js +0 -169
  325. package/src/state/selectors/combiners/combineAxisRangeWithReverse.js +0 -11
  326. package/src/state/selectors/combiners/combineBarPosition.js +0 -17
  327. package/src/state/selectors/combiners/combineBarSizeList.js +0 -115
  328. package/src/state/selectors/combiners/combineConfiguredScale.js +0 -46
  329. package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.js +0 -48
  330. package/src/state/selectors/combiners/combineInverseScaleFunction.js +0 -12
  331. package/src/state/selectors/combiners/combineStackedData.js +0 -22
  332. package/src/state/selectors/combiners/combineTooltipInteractionState.js +0 -121
  333. package/src/state/selectors/combiners/combineTooltipPayload.js +0 -248
  334. package/src/state/selectors/containerSelectors.js +0 -6
  335. package/src/state/selectors/graphicalItemSelectors.js +0 -25
  336. package/src/state/selectors/legendSelectors.js +0 -18
  337. package/src/state/selectors/lineSelectors.js +0 -106
  338. package/src/state/selectors/numberDomainEqualityCheck.js +0 -11
  339. package/src/state/selectors/pickAxisId.js +0 -3
  340. package/src/state/selectors/pickAxisType.js +0 -3
  341. package/src/state/selectors/polarAxisSelectors.js +0 -237
  342. package/src/state/selectors/rootPropsSelectors.js +0 -13
  343. package/src/state/selectors/selectAllAxes.js +0 -15
  344. package/src/state/selectors/selectChartOffset.js +0 -12
  345. package/src/state/selectors/selectChartOffsetInternal.js +0 -174
  346. package/src/state/selectors/selectTooltipAxisId.js +0 -3
  347. package/src/state/selectors/selectTooltipEventType.js +0 -27
  348. package/src/state/selectors/selectTooltipPayloadSearcher.js +0 -3
  349. package/src/state/selectors/selectTooltipSettings.js +0 -3
  350. package/src/state/selectors/selectTooltipState.js +0 -3
  351. package/src/state/selectors/selectors.js +0 -222
  352. package/src/state/selectors/tooltipSelectors.js +0 -471
  353. package/src/state/selectors/touchSelectors.js +0 -31
  354. package/src/state/tooltipSlice.js +0 -237
  355. package/src/state/types/StackedGraphicalItem.js +0 -18
  356. package/src/state/zIndexSlice.js +0 -167
  357. package/src/synchronisation/syncSelectors.js +0 -5
  358. package/src/util/ChartUtils.js +0 -630
  359. package/src/util/DOMUtils.js +0 -180
  360. package/src/util/Events.js +0 -7
  361. package/src/util/Global.js +0 -13
  362. package/src/util/LRUCache.js +0 -58
  363. package/src/util/PolarUtils.js +0 -190
  364. package/src/util/ReduceCSSCalc.js +0 -260
  365. package/src/util/axisPropsAreEqual.js +0 -63
  366. package/src/util/createEventProxy.js +0 -18
  367. package/src/util/getActiveCoordinate.js +0 -253
  368. package/src/util/getClassNameFromUnknown.js +0 -8
  369. package/src/util/getRadiusAndStrokeWidthFromDot.js +0 -28
  370. package/src/util/getSliced.js +0 -11
  371. package/src/util/isWellBehavedNumber.js +0 -8
  372. package/src/util/round.js +0 -39
  373. package/src/util/scale/RechartsScale.js +0 -68
  374. package/src/util/scale/index.js +0 -3
  375. package/src/util/stacks/getStackSeriesIdentifier.js +0 -10
  376. package/src/zIndex/ZIndexLayer.tsrx.d.ts +0 -2
package/src/index.ts CHANGED
@@ -3,15 +3,12 @@
3
3
  // Recharts 3 splits cleanly along the same seam as the other octane bindings:
4
4
  // its chart STATE is framework-agnostic (Redux Toolkit slices + reselect
5
5
  // selectors; d3 math via victory-vendor; es-toolkit utilities) and its React
6
- // layer is components + hooks over an isolated redux store. This package
7
- // MIRRORS upstream's file layout under src/: framework-agnostic modules are
8
- // vendored verbatim (`.js`, marked with a "Vendored verbatim" header) and the
9
- // React layer is re-implemented on octane (`.ts`/`.tsrx`) at the same paths —
10
- // so upstream's relative imports resolve unchanged, vendored or ported.
11
- // The store runs through @octanejs/redux.
12
- //
13
- // Port status: Phase 1 (static BarChart + LineChart pipeline) — see
14
- // docs/recharts-port-plan.md for the phase map.
6
+ // layer is components + hooks over an isolated redux store. The authored
7
+ // TypeScript modules retain the reviewed upstream layout and native Octane
8
+ // component contracts. The store runs through @octanejs/redux, and consumers
9
+ // typecheck and compile the same .ts/.tsrx source that is executed.
10
+ import type { Props as NativeAreaProps } from './cartesian/Area.tsrx';
11
+ import type { Props as NativePieProps } from './polar/Pie.tsrx';
15
12
  export { Surface } from './container/Surface.tsrx';
16
13
  export { Layer } from './container/Layer.tsrx';
17
14
  export { Cell } from './component/Cell';
@@ -71,34 +68,37 @@ export { PolarRadiusAxis } from './polar/PolarRadiusAxis.tsrx';
71
68
  export { Sankey } from './chart/Sankey.tsrx';
72
69
  export { SunburstChart } from './chart/SunburstChart.tsrx';
73
70
 
74
- // Public prop contracts used by component-library wrappers. The runtime port
75
- // accepts the same prop bags as Recharts; keep these structural while the
76
- // generated declaration surface is expanded component by component.
77
- export type AreaProps<DataPointType = any, ValueAxisType = any> = Record<string, any>;
78
- export type BarProps = Record<string, any>;
79
- export type BarShapeProps = Record<string, any>;
80
- export type BrushProps = Record<string, any>;
81
- export type CartesianGridProps = Record<string, any>;
82
- export type DotProps = Record<string, any>;
83
- export type FunnelProps = Record<string, any>;
84
- export type LabelListProps = Record<string, any>;
85
- export type LabelProps = Record<string, any>;
86
- export type LineProps = Record<string, any>;
87
- export type PieLabel = (props: Record<string, any>) => unknown;
88
- export type PieProps<DataPointType = any, DataValueType = any> = Record<string, any>;
89
- export type PolarAngleAxisProps = Record<string, any>;
90
- export type PolarGridProps = Record<string, any>;
91
- export type PolarRadiusAxisProps = Record<string, any>;
92
- export type RadarProps = Record<string, any>;
93
- export type RadialBarProps = Record<string, any>;
94
- export type ReferenceLineProps = Record<string, any>;
95
- export type SankeyProps = Record<string, any>;
96
- export type ScatterProps = Record<string, any>;
97
- export type SunburstChartProps = Record<string, any>;
98
- export type TreemapProps = Record<string, any>;
99
- export type XAxisProps = Record<string, any>;
100
- export type YAxisProps = Record<string, any>;
101
- export type ZAxisProps = Record<string, any>;
71
+ // Public aliases come from each component's implementation, not a parallel
72
+ // declaration facade. Keep the previously defaulted Area/Pie generic aliases.
73
+ export type AreaProps<DataPointType = unknown, ValueAxisType = unknown> = NativeAreaProps<
74
+ DataPointType,
75
+ ValueAxisType
76
+ >;
77
+ export type PieProps<DataPointType = unknown, DataValueType = unknown> = NativePieProps<
78
+ DataPointType,
79
+ DataValueType
80
+ >;
81
+ export type { Props as BarProps, BarShapeProps } from './cartesian/Bar.tsrx';
82
+ export type { Props as CartesianGridProps } from './cartesian/CartesianGrid.tsrx';
83
+ export type { Props as DotProps } from './shape/Dot.tsrx';
84
+ export type { Props as FunnelProps } from './cartesian/Funnel.tsrx';
85
+ export type { Props as LabelListProps } from './component/LabelList.tsrx';
86
+ export type { Props as LabelProps } from './component/Label.tsrx';
87
+ export type { Props as LineProps } from './cartesian/Line.tsrx';
88
+ export type { PieLabel, PieLabelRenderProps } from './polar/Pie.tsrx';
89
+ export type { Props as PolarAngleAxisProps } from './polar/PolarAngleAxis.tsrx';
90
+ export type { Props as PolarGridProps } from './polar/PolarGrid.tsrx';
91
+ export type { Props as PolarRadiusAxisProps } from './polar/PolarRadiusAxis.tsrx';
92
+ export type { Props as RadarProps } from './polar/Radar.tsrx';
93
+ export type { RadialBarProps } from './polar/RadialBar.tsrx';
94
+ export type { Props as ReferenceLineProps } from './cartesian/ReferenceLine.tsrx';
95
+ export type { Props as SankeyProps } from './chart/Sankey.tsrx';
96
+ export type { Props as ScatterProps } from './cartesian/Scatter.tsrx';
97
+ export type { SunburstChartProps } from './chart/SunburstChart.tsrx';
98
+ export type { Props as XAxisProps } from './cartesian/XAxis.tsrx';
99
+ export type { Props as YAxisProps } from './cartesian/YAxis.tsrx';
100
+ export type { Props as ZAxisProps } from './cartesian/ZAxis.tsrx';
101
+ export type { RechartsProps, BrushProps, TreemapProps } from './legacy-props';
102
102
  export { CartesianAxis } from './cartesian/CartesianAxis.tsrx';
103
103
  export { BarStack } from './cartesian/BarStack.tsrx';
104
104
  export { LineDrawShape } from './cartesian/LineDrawShape.tsrx';
package/src/internal.ts CHANGED
@@ -6,27 +6,11 @@
6
6
 
7
7
  // Memoized: subSlot runs on EVERY hook call every render; the cache returns the
8
8
  // identical Symbol.for-interned value without the concat + registry lookup.
9
- const subSlotCache = new Map<symbol, Map<string, symbol>>();
10
- // Tag-only symbols for the slotless-caller case (see below).
11
- const bareTagCache = new Map<string, symbol>();
9
+ import { createSubSlot } from 'octane';
12
10
 
13
- export function subSlot(slot: symbol | undefined, tag: string): symbol {
14
- // No inherited slot (the caller was NOT compiled — e.g. a vendored wrapper
15
- // hook): return a stable TAG-ONLY symbol rather than undefined. The runtime
16
- // combines it with the ambient withSlot path, so sibling base hooks inside
17
- // one composed hook stay DISTINCT per tag. Returning undefined here made
18
- // them all resolve to the bare path — one shared slot, state collision.
19
- if (slot === undefined) {
20
- let bare = bareTagCache.get(tag);
21
- if (bare === undefined) bareTagCache.set(tag, (bare = Symbol.for(':' + tag)));
22
- return bare;
23
- }
24
- let byTag = subSlotCache.get(slot);
25
- if (byTag === undefined) subSlotCache.set(slot, (byTag = new Map()));
26
- let sym = byTag.get(tag);
27
- if (sym === undefined) byTag.set(tag, (sym = Symbol.for((slot.description ?? '') + ':' + tag)));
28
- return sym;
29
- }
11
+ // A stable tag-only symbol keeps sibling base hooks distinct when an
12
+ // uncompiled caller relies on the ambient withSlot path.
13
+ export const subSlot = createSubSlot({ slotlessPrefix: ':' });
30
14
 
31
15
  // Split the compiler-injected trailing slot off a hook's runtime args, returning
32
16
  // the user args (everything before it) and the slot.
@@ -0,0 +1,129 @@
1
+ import type { OctaneNode } from 'octane';
2
+
3
+ type Render = OctaneNode | ((...args: any[]) => OctaneNode);
4
+ type Handler = (...args: any[]) => void;
5
+
6
+ /**
7
+ * Legacy broad prop bag retained for source compatibility only.
8
+ * @deprecated Use the specific exported component prop type instead.
9
+ * No rendered component uses this interface as its props contract.
10
+ */
11
+ export interface RechartsProps {
12
+ accessibilityLayer?: boolean;
13
+ allowDecimals?: boolean;
14
+ activeBar?: Render | Record<string, unknown>;
15
+ activeDot?: Render;
16
+ activeIndex?: number;
17
+ activeShape?: Render | Record<string, unknown>;
18
+ angle?: number;
19
+ animationBegin?: number;
20
+ animationDuration?: number;
21
+ animationEasing?: string;
22
+ aspect?: number;
23
+ axisLine?: boolean | Record<string, unknown>;
24
+ barCategoryGap?: number | string;
25
+ barGap?: number | string;
26
+ barSize?: number | string;
27
+ baseValue?: number | 'dataMin' | 'dataMax';
28
+ background?: Render | Record<string, unknown>;
29
+ children?: OctaneNode;
30
+ className?: string;
31
+ color?: string;
32
+ connectNulls?: boolean;
33
+ content?: Render | Record<string, unknown>;
34
+ cursor?: Render | Record<string, unknown>;
35
+ cx?: number | string;
36
+ cy?: number | string;
37
+ data?: readonly unknown[];
38
+ dataKey?: string | number | ((entry: unknown) => unknown);
39
+ debounce?: number;
40
+ domain?: readonly unknown[];
41
+ dot?: Render | Record<string, unknown>;
42
+ dy?: number | string;
43
+ endAngle?: number;
44
+ fill?: string;
45
+ fillOpacity?: number;
46
+ fontFamily?: string;
47
+ fontSize?: number | string;
48
+ formatter?: (...args: any[]) => OctaneNode;
49
+ height?: number | string;
50
+ hide?: boolean;
51
+ horizontal?: boolean;
52
+ id?: string;
53
+ innerRadius?: number | string;
54
+ interval?: number | string;
55
+ isAnimationActive?: boolean;
56
+ label?: Render | Record<string, unknown>;
57
+ labelLine?: boolean | Record<string, unknown>;
58
+ labelFormatter?: (...args: any[]) => OctaneNode;
59
+ layout?: 'horizontal' | 'vertical' | 'centric' | 'radial';
60
+ legendType?: string;
61
+ line?: boolean | Record<string, unknown>;
62
+ link?: Render | Record<string, unknown>;
63
+ linkCurvature?: number;
64
+ margin?: number | { top?: number; right?: number; bottom?: number; left?: number };
65
+ maxBarSize?: number;
66
+ maxHeight?: number;
67
+ minTickGap?: number;
68
+ minHeight?: number | string;
69
+ minPointSize?: number | ((value: unknown) => number);
70
+ minWidth?: number | string;
71
+ name?: string | number;
72
+ nameKey?: string | number | ((entry: unknown) => unknown);
73
+ node?: Render | Record<string, unknown>;
74
+ nodePadding?: number;
75
+ nodeWidth?: number;
76
+ onAnimationEnd?: Handler;
77
+ onAnimationStart?: Handler;
78
+ onClick?: Handler;
79
+ onMouseEnter?: Handler;
80
+ onMouseLeave?: Handler;
81
+ onResize?: (width: number, height: number) => void;
82
+ orientation?: string;
83
+ outerRadius?: number | string;
84
+ offset?: number;
85
+ paddingAngle?: number;
86
+ padding?: number | { top?: number; right?: number; bottom?: number; left?: number };
87
+ payload?: Record<string, any> | readonly Record<string, any>[];
88
+ position?: string | { x?: number; y?: number };
89
+ radius?: number | readonly number[];
90
+ range?: readonly number[];
91
+ ref?: unknown;
92
+ reversed?: boolean;
93
+ ringPadding?: number;
94
+ scale?: string | ((value: unknown) => unknown);
95
+ shape?: Render | Record<string, unknown>;
96
+ stackId?: string | number;
97
+ stackOffset?: string;
98
+ startAngle?: number;
99
+ stroke?: string;
100
+ strokeDasharray?: string | number;
101
+ strokeOpacity?: number;
102
+ strokeWidth?: number;
103
+ style?: object;
104
+ syncId?: string | number;
105
+ textAnchor?: string;
106
+ textOptions?: Record<string, unknown>;
107
+ tick?: Render | Record<string, unknown>;
108
+ tickCount?: number;
109
+ tickFormatter?: (value: any, index: number) => string;
110
+ tickLine?: boolean | Record<string, unknown>;
111
+ ticks?: readonly unknown[];
112
+ tooltipType?: string;
113
+ type?: string;
114
+ unit?: string | number;
115
+ valueKey?: string | number | ((entry: unknown) => unknown);
116
+ vertical?: boolean;
117
+ verticalAlign?: 'top' | 'middle' | 'bottom';
118
+ iterations?: number;
119
+ width?: number | string;
120
+ xAxisId?: string | number;
121
+ yAxisId?: string | number;
122
+ zAxisId?: string | number;
123
+ }
124
+
125
+ /** @deprecated Brush is not implemented by the Octane runtime port. */
126
+ export type BrushProps = RechartsProps;
127
+
128
+ /** @deprecated Treemap is not implemented by the Octane runtime port. */
129
+ export type TreemapProps = RechartsProps;