@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
@@ -1,13 +1,13 @@
1
+ import type { RegisteredCell } from '../../context/CellsContext';
1
2
  import { createSelector } from 'reselect';
2
- import { ReactElement } from 'octane';
3
- import { CellProps } from '../..';
4
- import { computePieSectors, PieSectorDataItem } from '../../polar/Pie';
3
+
4
+ import { computePieSectors, PieSectorDataItem } from '../../polar/Pie.tsrx';
5
5
  import { RechartsRootState } from '../store';
6
6
  import { selectChartDataAndAlwaysIgnoreIndexes } from './dataSelectors';
7
7
  import { ChartData, ChartDataState } from '../chartDataSlice';
8
8
  import { ChartOffsetInternal } from '../../util/types';
9
9
  import { selectChartOffsetInternal } from './selectChartOffsetInternal';
10
- import type { LegendPayload } from '../../component/DefaultLegendContent';
10
+ import type { LegendPayload } from '../../component/DefaultLegendContent.tsrx';
11
11
  import { getTooltipNameProp, getValueByDataKey } from '../../util/ChartUtils';
12
12
  import { selectUnfilteredPolarItems } from './polarSelectors';
13
13
  import type { PieSettings } from '../types/PieSettings';
@@ -25,12 +25,12 @@ const selectSynchronisedPieSettings: (
25
25
  );
26
26
 
27
27
  // Keep stable reference to an empty array to prevent re-renders
28
- const emptyArray: ReadonlyArray<ReactElement> = [];
28
+ const emptyArray: ReadonlyArray<RegisteredCell> = [];
29
29
  const pickCells = (
30
30
  _state: RechartsRootState,
31
31
  _id: GraphicalItemId,
32
- cells: ReadonlyArray<ReactElement> | undefined,
33
- ): ReadonlyArray<ReactElement> | undefined => {
32
+ cells: ReadonlyArray<RegisteredCell> | undefined,
33
+ ): ReadonlyArray<RegisteredCell> | undefined => {
34
34
  if (cells?.length === 0) {
35
35
  return emptyArray;
36
36
  }
@@ -40,7 +40,7 @@ const pickCells = (
40
40
  export const selectDisplayedData: (
41
41
  state: RechartsRootState,
42
42
  id: GraphicalItemId,
43
- cells: ReadonlyArray<ReactElement> | undefined,
43
+ cells: ReadonlyArray<RegisteredCell> | undefined,
44
44
  ) => ChartData | undefined = createSelector(
45
45
  [selectChartDataAndAlwaysIgnoreIndexes, selectSynchronisedPieSettings, pickCells],
46
46
  (
@@ -59,7 +59,7 @@ export const selectDisplayedData: (
59
59
  }
60
60
 
61
61
  if ((!displayedData || !displayedData.length) && cells != null) {
62
- displayedData = cells.map((cell: ReactElement<CellProps>) => ({
62
+ displayedData = cells.map((cell: RegisteredCell) => ({
63
63
  ...pieSettings.presentationProps,
64
64
  ...cell.props,
65
65
  }));
@@ -76,13 +76,13 @@ export const selectDisplayedData: (
76
76
  export const selectPieLegend: (
77
77
  state: RechartsRootState,
78
78
  id: GraphicalItemId,
79
- cells: ReadonlyArray<ReactElement> | undefined,
79
+ cells: ReadonlyArray<RegisteredCell> | undefined,
80
80
  ) => ReadonlyArray<LegendPayload> | undefined = createSelector(
81
81
  [selectDisplayedData, selectSynchronisedPieSettings, pickCells],
82
82
  (
83
83
  displayedData: ChartData | undefined,
84
84
  pieSettings: PieSettings | undefined,
85
- cells: ReadonlyArray<ReactElement> | undefined,
85
+ cells: ReadonlyArray<RegisteredCell> | undefined,
86
86
  ): ReadonlyArray<LegendPayload> | undefined => {
87
87
  if (displayedData == null || pieSettings == null) {
88
88
  return undefined;
@@ -93,7 +93,8 @@ export const selectPieLegend: (
93
93
  if (cells?.[i]?.props?.fill) {
94
94
  color = cells[i].props.fill;
95
95
  } else if (typeof entry === 'object' && entry != null && 'fill' in entry) {
96
- color = entry.fill;
96
+ // Per-datum overrides follow the same SVG color contract as Cell/Pie.
97
+ color = (entry as { fill?: LegendPayload['color'] }).fill;
97
98
  } else {
98
99
  color = pieSettings.fill;
99
100
  }
@@ -112,7 +113,7 @@ export const selectPieLegend: (
112
113
  export const selectPieSectors: (
113
114
  state: RechartsRootState,
114
115
  id: GraphicalItemId,
115
- cells: ReadonlyArray<ReactElement> | undefined,
116
+ cells: ReadonlyArray<RegisteredCell> | undefined,
116
117
  ) => ReadonlyArray<PieSectorDataItem> | undefined = createSelector(
117
118
  [selectDisplayedData, selectSynchronisedPieSettings, pickCells, selectChartOffsetInternal],
118
119
  (
@@ -0,0 +1,223 @@
1
+ // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
2
+ import { createSelector } from 'reselect';
3
+ import { RechartsRootState } from '../store';
4
+ import { AxisId } from '../cartesianAxisSlice';
5
+ import { AngleAxisSettings, RadiusAxisSettings } from '../polarAxisSlice';
6
+ import { PolarChartOptions } from '../polarOptionsSlice';
7
+ import { selectChartHeight, selectChartWidth } from './containerSelectors';
8
+ import { selectChartOffsetInternal } from './selectChartOffsetInternal';
9
+ import { getMaxRadius } from '../../util/PolarUtils';
10
+ import { getPercentValue } from '../../util/DataUtils';
11
+ import {
12
+ AxisDomainTypeInput,
13
+ LayoutType,
14
+ PolarLayout,
15
+ PolarViewBoxRequired,
16
+ } from '../../util/types';
17
+ import { defaultPolarAngleAxisProps } from '../../polar/defaultPolarAngleAxisProps';
18
+ import { defaultPolarRadiusAxisProps } from '../../polar/defaultPolarRadiusAxisProps';
19
+ import { AxisRange } from './axisSelectors';
20
+ import { combineAxisRangeWithReverse } from './combiners/combineAxisRangeWithReverse';
21
+ import { selectChartLayout, selectPolarChartLayout } from '../../context/chartLayoutContext';
22
+ import { getAxisTypeBasedOnLayout } from '../../util/getAxisTypeBasedOnLayout';
23
+
24
+ export const implicitAngleAxis: Omit<AngleAxisSettings, 'type'> & { type: AxisDomainTypeInput } = {
25
+ allowDataOverflow: defaultPolarAngleAxisProps.allowDataOverflow,
26
+ allowDecimals: defaultPolarAngleAxisProps.allowDecimals,
27
+ allowDuplicatedCategory: false, // defaultPolarAngleAxisProps.allowDuplicatedCategory has it set to true but the actual axis rendering ignores the prop because reasons,
28
+ dataKey: undefined,
29
+ domain: undefined,
30
+ id: defaultPolarAngleAxisProps.angleAxisId,
31
+ includeHidden: false,
32
+ name: undefined,
33
+ reversed: defaultPolarAngleAxisProps.reversed,
34
+ scale: defaultPolarAngleAxisProps.scale,
35
+ tick: defaultPolarAngleAxisProps.tick,
36
+ tickCount: undefined,
37
+ ticks: undefined,
38
+ type: defaultPolarAngleAxisProps.type,
39
+ unit: undefined,
40
+ niceTicks: 'auto',
41
+ };
42
+
43
+ export const implicitRadiusAxis: Omit<RadiusAxisSettings, 'type'> & { type: AxisDomainTypeInput } =
44
+ {
45
+ allowDataOverflow: defaultPolarRadiusAxisProps.allowDataOverflow,
46
+ allowDecimals: defaultPolarRadiusAxisProps.allowDecimals,
47
+ allowDuplicatedCategory: defaultPolarRadiusAxisProps.allowDuplicatedCategory,
48
+ dataKey: undefined,
49
+ domain: undefined,
50
+ id: defaultPolarRadiusAxisProps.radiusAxisId,
51
+ includeHidden: defaultPolarRadiusAxisProps.includeHidden,
52
+ name: undefined,
53
+ reversed: defaultPolarRadiusAxisProps.reversed,
54
+ scale: defaultPolarRadiusAxisProps.scale,
55
+ tick: defaultPolarRadiusAxisProps.tick,
56
+ tickCount: defaultPolarRadiusAxisProps.tickCount,
57
+ ticks: undefined,
58
+ type: defaultPolarRadiusAxisProps.type,
59
+ unit: undefined,
60
+ niceTicks: 'auto',
61
+ };
62
+
63
+ const selectAngleAxisNoDefaults = (
64
+ state: RechartsRootState,
65
+ angleAxisId: AxisId | undefined,
66
+ ): AngleAxisSettings | undefined => {
67
+ if (angleAxisId == null) {
68
+ return undefined;
69
+ }
70
+ return state.polarAxis.angleAxis[angleAxisId];
71
+ };
72
+
73
+ export const selectAngleAxis: (
74
+ state: RechartsRootState,
75
+ angleAxisId: AxisId | undefined,
76
+ ) => AngleAxisSettings = createSelector(
77
+ [selectAngleAxisNoDefaults, selectPolarChartLayout],
78
+ (angleAxisSettings, layout: PolarLayout | undefined): AngleAxisSettings => {
79
+ if (angleAxisSettings != null) {
80
+ return angleAxisSettings;
81
+ }
82
+ const evaluatedType =
83
+ getAxisTypeBasedOnLayout(layout, 'angleAxis', implicitAngleAxis.type) ?? 'category';
84
+ return {
85
+ ...implicitAngleAxis,
86
+ type: evaluatedType,
87
+ };
88
+ },
89
+ );
90
+
91
+ const selectRadiusAxisNoDefaults = (
92
+ state: RechartsRootState,
93
+ radiusAxisId: AxisId,
94
+ ): RadiusAxisSettings | undefined => {
95
+ return state.polarAxis.radiusAxis[radiusAxisId];
96
+ };
97
+
98
+ export const selectRadiusAxis: (
99
+ state: RechartsRootState,
100
+ radiusAxisId: AxisId,
101
+ ) => RadiusAxisSettings = createSelector(
102
+ [selectRadiusAxisNoDefaults, selectPolarChartLayout],
103
+ (radiusAxisSettings, layout: PolarLayout | undefined): RadiusAxisSettings => {
104
+ if (radiusAxisSettings != null) {
105
+ return radiusAxisSettings;
106
+ }
107
+ const evaluatedType =
108
+ getAxisTypeBasedOnLayout(layout, 'radiusAxis', implicitRadiusAxis.type) ?? 'category';
109
+ return {
110
+ ...implicitRadiusAxis,
111
+ type: evaluatedType,
112
+ };
113
+ },
114
+ );
115
+
116
+ export const selectPolarOptions = (state: RechartsRootState): PolarChartOptions | null =>
117
+ state.polarOptions;
118
+
119
+ export const selectMaxRadius: (state: RechartsRootState) => number = createSelector(
120
+ [selectChartWidth, selectChartHeight, selectChartOffsetInternal],
121
+ getMaxRadius,
122
+ );
123
+
124
+ const selectInnerRadius: (state: RechartsRootState) => number | undefined = createSelector(
125
+ [selectPolarOptions, selectMaxRadius],
126
+ (polarChartOptions: PolarChartOptions | null, maxRadius: number) => {
127
+ if (polarChartOptions == null) {
128
+ return undefined;
129
+ }
130
+ return getPercentValue(polarChartOptions.innerRadius, maxRadius, 0);
131
+ },
132
+ );
133
+
134
+ export const selectOuterRadius: (state: RechartsRootState) => number | undefined = createSelector(
135
+ [selectPolarOptions, selectMaxRadius],
136
+ (polarChartOptions: PolarChartOptions | null, maxRadius: number) => {
137
+ if (polarChartOptions == null) {
138
+ return undefined;
139
+ }
140
+ return getPercentValue(polarChartOptions.outerRadius, maxRadius, maxRadius * 0.8);
141
+ },
142
+ );
143
+
144
+ const combineAngleAxisRange = (polarOptions: PolarChartOptions | null): AxisRange => {
145
+ if (polarOptions == null) {
146
+ return [0, 0];
147
+ }
148
+ const { startAngle, endAngle } = polarOptions;
149
+ return [startAngle, endAngle];
150
+ };
151
+
152
+ export const selectAngleAxisRange: (state: RechartsRootState) => AxisRange = createSelector(
153
+ [selectPolarOptions],
154
+ combineAngleAxisRange,
155
+ );
156
+
157
+ export const selectAngleAxisRangeWithReversed: (
158
+ state: RechartsRootState,
159
+ angleAxisId: AxisId,
160
+ ) => AxisRange | undefined = createSelector(
161
+ [selectAngleAxis, selectAngleAxisRange],
162
+ combineAxisRangeWithReverse,
163
+ );
164
+
165
+ export const selectRadiusAxisRange: (
166
+ state: RechartsRootState,
167
+ radiusAxisId: AxisId,
168
+ ) => AxisRange | undefined = createSelector(
169
+ [selectMaxRadius, selectInnerRadius, selectOuterRadius],
170
+ (maxRadius, innerRadius, outerRadius) => {
171
+ if (maxRadius == null || innerRadius == null || outerRadius == null) {
172
+ return undefined;
173
+ }
174
+ return [innerRadius, outerRadius];
175
+ },
176
+ );
177
+
178
+ export const selectRadiusAxisRangeWithReversed: (
179
+ state: RechartsRootState,
180
+ radiusAxisId: AxisId,
181
+ ) => AxisRange | undefined = createSelector(
182
+ [selectRadiusAxis, selectRadiusAxisRange],
183
+ combineAxisRangeWithReverse,
184
+ );
185
+
186
+ export const selectPolarViewBox: (state: RechartsRootState) => PolarViewBoxRequired | undefined =
187
+ createSelector(
188
+ [
189
+ selectChartLayout,
190
+ selectPolarOptions,
191
+ selectInnerRadius,
192
+ selectOuterRadius,
193
+ selectChartWidth,
194
+ selectChartHeight,
195
+ ],
196
+ (
197
+ layout: LayoutType,
198
+ polarOptions: PolarChartOptions | null,
199
+ innerRadius,
200
+ outerRadius,
201
+ width,
202
+ height,
203
+ ): PolarViewBoxRequired | undefined => {
204
+ if (
205
+ (layout !== 'centric' && layout !== 'radial') ||
206
+ polarOptions == null ||
207
+ innerRadius == null ||
208
+ outerRadius == null
209
+ ) {
210
+ return undefined;
211
+ }
212
+ const { cx, cy, startAngle, endAngle } = polarOptions;
213
+ return {
214
+ cx: getPercentValue(cx, width, width / 2),
215
+ cy: getPercentValue(cy, height, height / 2),
216
+ innerRadius,
217
+ outerRadius,
218
+ startAngle,
219
+ endAngle,
220
+ clockWise: false, // this property look useful, why not use it?
221
+ };
222
+ },
223
+ );
@@ -95,7 +95,7 @@ export const selectAllPolarAppliedNumericalValues: (
95
95
  if (items.length > 0) {
96
96
  return data
97
97
  .flatMap((entry) => {
98
- return items.flatMap((item): AppliedChartDataWithErrorDomain | undefined => {
98
+ return items.flatMap((item): AppliedChartDataWithErrorDomain => {
99
99
  const valueByDataKey: unknown = getValueByDataKey(
100
100
  entry,
101
101
  axisSettings.dataKey ?? item.dataKey,
@@ -5,7 +5,7 @@ import {
5
5
  computeRadarPoints,
6
6
  RadarComposedData,
7
7
  RadiusAxisForRadar,
8
- } from '../../polar/Radar';
8
+ } from '../../polar/Radar.tsrx';
9
9
  import { BaseAxisWithScale } from './axisSelectors';
10
10
  import { selectPolarAxisScale, selectPolarAxisTicks } from './polarScaleSelectors';
11
11
  import { selectAngleAxis, selectPolarViewBox, selectRadiusAxis } from './polarAxisSelectors';
@@ -1,7 +1,8 @@
1
+ import type { RegisteredCell } from '../../context/CellsContext';
1
2
  import { createSelector } from 'reselect';
2
- import { ReactElement } from 'octane';
3
+
3
4
  import { Series } from 'victory-vendor/d3-shape';
4
- import { computeRadialBarDataItems, RadialBarDataItem } from '../../polar/RadialBar';
5
+ import { computeRadialBarDataItems, RadialBarDataItem } from '../../polar/RadialBar.tsrx';
5
6
  import { selectChartDataAndAlwaysIgnoreIndexes, selectChartDataWithIndexes } from './dataSelectors';
6
7
  import { RechartsRootState } from '../store';
7
8
  import { ChartDataState } from '../chartDataSlice';
@@ -37,7 +38,7 @@ import {
37
38
  selectUnfilteredPolarItems,
38
39
  } from './polarSelectors';
39
40
  import { AngleAxisSettings, RadiusAxisSettings } from '../polarAxisSlice';
40
- import { LegendPayload } from '../../component/DefaultLegendContent';
41
+ import { LegendPayload } from '../../component/DefaultLegendContent.tsrx';
41
42
  import { isNullish } from '../../util/DataUtils';
42
43
 
43
44
  import type {
@@ -198,7 +199,7 @@ const pickCells = (
198
199
  _radiusAxisId: AxisId,
199
200
  _angleAxisId: AxisId,
200
201
  _radialBarSettings: RadialBarSettings,
201
- cells: ReadonlyArray<ReactElement> | undefined,
202
+ cells: ReadonlyArray<RegisteredCell> | undefined,
202
203
  ) => cells;
203
204
 
204
205
  const pickAngleAxisId = (
@@ -206,7 +207,7 @@ const pickAngleAxisId = (
206
207
  _radiusAxisId: AxisId,
207
208
  angleAxisId: AxisId,
208
209
  _radialBarSettings: RadialBarSettings,
209
- _cells: ReadonlyArray<ReactElement> | undefined,
210
+ _cells: ReadonlyArray<RegisteredCell> | undefined,
210
211
  ): AxisId => angleAxisId;
211
212
 
212
213
  const pickRadiusAxisId = (
@@ -214,7 +215,7 @@ const pickRadiusAxisId = (
214
215
  radiusAxisId: AxisId,
215
216
  _angleAxisId: AxisId,
216
217
  _radialBarSettings: RadialBarSettings,
217
- _cells: ReadonlyArray<ReactElement> | undefined,
218
+ _cells: ReadonlyArray<RegisteredCell> | undefined,
218
219
  ): AxisId => radiusAxisId;
219
220
 
220
221
  export const pickMaxBarSize = (
@@ -222,7 +223,7 @@ export const pickMaxBarSize = (
222
223
  _radiusAxisId: AxisId,
223
224
  _angleAxisId: AxisId,
224
225
  radialBarSettings: RadialBarSettings,
225
- _cells: ReadonlyArray<ReactElement> | undefined,
226
+ _cells: ReadonlyArray<RegisteredCell> | undefined,
226
227
  ): number | undefined => radialBarSettings.maxBarSize;
227
228
 
228
229
  const isRadialBar = (item: PolarGraphicalItemSettings): item is RadialBarSettings =>
@@ -233,7 +234,7 @@ const selectAllVisibleRadialBars: (
233
234
  radiusAxisId: AxisId,
234
235
  angleAxisId: AxisId,
235
236
  radialBarSettings: RadialBarSettings,
236
- cells: ReadonlyArray<ReactElement> | undefined,
237
+ cells: ReadonlyArray<RegisteredCell> | undefined,
237
238
  ) => ReadonlyArray<RadialBarSettings> = createSelector(
238
239
  [selectChartLayout, selectUnfilteredPolarItems, pickAngleAxisId, pickRadiusAxisId],
239
240
  (
@@ -266,7 +267,7 @@ export const selectPolarBarSizeList: (
266
267
  radiusAxisId: AxisId,
267
268
  angleAxisId: AxisId,
268
269
  radialBarSettings: RadialBarSettings,
269
- cells: ReadonlyArray<ReactElement> | undefined,
270
+ cells: ReadonlyArray<RegisteredCell> | undefined,
270
271
  ) => SizeList = createSelector(
271
272
  [selectAllVisibleRadialBars, selectRootBarSize, selectPolarBarAxisSize],
272
273
  combineBarSizeList,
@@ -277,7 +278,7 @@ export const selectPolarBarBandSize: (
277
278
  radiusAxisId: AxisId,
278
279
  angleAxisId: AxisId,
279
280
  radialBarSettings: RadialBarSettings,
280
- cells: ReadonlyArray<ReactElement> | undefined,
281
+ cells: ReadonlyArray<RegisteredCell> | undefined,
281
282
  ) => number = createSelector(
282
283
  [
283
284
  selectChartLayout,
@@ -312,7 +313,7 @@ export const selectAllPolarBarPositions: (
312
313
  radiusAxisId: AxisId,
313
314
  angleAxisId: AxisId,
314
315
  radialBarSettings: RadialBarSettings,
315
- cells: ReadonlyArray<ReactElement> | undefined,
316
+ cells: ReadonlyArray<RegisteredCell> | undefined,
316
317
  ) => ReadonlyArray<BarWithPosition> | undefined = createSelector(
317
318
  [
318
319
  selectPolarBarSizeList,
@@ -331,7 +332,7 @@ export const selectPolarBarPosition: (
331
332
  radiusAxisId: AxisId,
332
333
  angleAxisId: AxisId,
333
334
  radialBarSettings: RadialBarSettings,
334
- cells: ReadonlyArray<ReactElement> | undefined,
335
+ cells: ReadonlyArray<RegisteredCell> | undefined,
335
336
  ) => BarPositionPosition | undefined = createSelector(
336
337
  [selectAllPolarBarPositions, selectSynchronisedRadialBarSettings],
337
338
  combineBarPosition,
@@ -377,7 +378,7 @@ const selectRadialBarStackGroups: (
377
378
  radiusAxisId: AxisId,
378
379
  angleAxisId: AxisId,
379
380
  radialBarSettings: RadialBarSettings,
380
- cells: ReadonlyArray<ReactElement> | undefined,
381
+ cells: ReadonlyArray<RegisteredCell> | undefined,
381
382
  ) => AllStackGroups | undefined = (state, radiusAxisId, angleAxisId) => {
382
383
  const layout = selectChartLayout(state);
383
384
  if (layout === 'centric') {
@@ -391,7 +392,7 @@ const selectPolarStackedData: (
391
392
  radiusAxisId: AxisId,
392
393
  angleAxisId: AxisId,
393
394
  radialBarSettings: RadialBarSettings,
394
- cells: ReadonlyArray<ReactElement> | undefined,
395
+ cells: ReadonlyArray<RegisteredCell> | undefined,
395
396
  ) => StackSeries | undefined = createSelector(
396
397
  [selectRadialBarStackGroups, selectSynchronisedRadialBarSettings],
397
398
  combineStackedData,
@@ -402,7 +403,7 @@ export const selectRadialBarSectors: (
402
403
  radiusAxisId: AxisId,
403
404
  angleAxisId: AxisId,
404
405
  radialBarSettings: RadialBarSettings,
405
- cells: ReadonlyArray<ReactElement> | undefined,
406
+ cells: ReadonlyArray<RegisteredCell> | undefined,
406
407
  ) => ReadonlyArray<RadialBarDataItem> = createSelector(
407
408
  [
408
409
  selectAngleAxisWithScale,
@@ -430,7 +431,7 @@ export const selectRadialBarSectors: (
430
431
  layout: LayoutType,
431
432
  baseValue: number | unknown,
432
433
  polarViewBox: PolarViewBoxRequired | undefined,
433
- cells: ReadonlyArray<ReactElement> | undefined,
434
+ cells: ReadonlyArray<RegisteredCell> | undefined,
434
435
  pos: BarPositionPosition | undefined,
435
436
  stackedData: Series<StackDataPoint, StackSeriesIdentifier> | undefined,
436
437
  ): ReadonlyArray<RadialBarDataItem> => {
@@ -0,0 +1,26 @@
1
+ // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
2
+ import { RechartsRootState } from '../store';
3
+ import { StackOffsetType } from '../../util/types';
4
+ import { SyncMethod } from '../../synchronisation/types';
5
+ import { BaseValue } from '../../cartesian/Area.tsrx';
6
+
7
+ export const selectRootMaxBarSize = (state: RechartsRootState): number | undefined =>
8
+ state.rootProps.maxBarSize;
9
+ export const selectBarGap = (state: RechartsRootState): string | number => state.rootProps.barGap;
10
+ export const selectBarCategoryGap = (state: RechartsRootState): string | number =>
11
+ state.rootProps.barCategoryGap;
12
+ export const selectRootBarSize = (state: RechartsRootState): string | number | undefined =>
13
+ state.rootProps.barSize;
14
+ export const selectStackOffsetType = (state: RechartsRootState): StackOffsetType =>
15
+ state.rootProps.stackOffset;
16
+ export const selectReverseStackOrder = (state: RechartsRootState): boolean =>
17
+ state.rootProps.reverseStackOrder;
18
+ export const selectChartName = (state: RechartsRootState) => state.options.chartName;
19
+
20
+ export const selectSyncId = (state: RechartsRootState) => state.rootProps.syncId;
21
+ export const selectSyncMethod = (state: RechartsRootState): SyncMethod =>
22
+ state.rootProps.syncMethod;
23
+ export const selectEventEmitter = (state: RechartsRootState) => state.options.eventEmitter;
24
+ export const selectChartBaseValue: (state: RechartsRootState) => BaseValue | undefined = (
25
+ state: RechartsRootState,
26
+ ) => state.rootProps.baseValue;
@@ -1,6 +1,7 @@
1
+ import type { RegisteredCell } from '../../context/CellsContext';
1
2
  import { createSelector } from 'reselect';
2
- import { ReactElement } from 'octane';
3
- import { computeScatterPoints, ScatterPointItem } from '../../cartesian/Scatter';
3
+
4
+ import { computeScatterPoints, ScatterPointItem } from '../../cartesian/Scatter.tsrx';
4
5
  import { RechartsRootState } from '../store';
5
6
  import { AxisId } from '../cartesianAxisSlice';
6
7
  import { selectChartDataWithIndexesIfNotInPanoramaPosition4 } from './dataSelectors';
@@ -23,7 +24,7 @@ const selectXAxisWithScale = (
23
24
  _yAxisId: AxisId,
24
25
  _zAxisId: AxisId,
25
26
  _id: GraphicalItemId,
26
- _cells: ReadonlyArray<ReactElement> | undefined,
27
+ _cells: ReadonlyArray<RegisteredCell> | undefined,
27
28
  isPanorama: boolean,
28
29
  ) => selectAxisWithScale(state, 'xAxis', xAxisId, isPanorama);
29
30
 
@@ -33,7 +34,7 @@ const selectXAxisTicks = (
33
34
  _yAxisId: AxisId,
34
35
  _zAxisId: AxisId,
35
36
  _id: GraphicalItemId,
36
- _cells: ReadonlyArray<ReactElement> | undefined,
37
+ _cells: ReadonlyArray<RegisteredCell> | undefined,
37
38
  isPanorama: boolean,
38
39
  ) => selectTicksOfGraphicalItem(state, 'xAxis', xAxisId, isPanorama);
39
40
 
@@ -43,7 +44,7 @@ const selectYAxisWithScale = (
43
44
  yAxisId: AxisId,
44
45
  _zAxisId: AxisId,
45
46
  _id: GraphicalItemId,
46
- _cells: ReadonlyArray<ReactElement> | undefined,
47
+ _cells: ReadonlyArray<RegisteredCell> | undefined,
47
48
  isPanorama: boolean,
48
49
  ) => selectAxisWithScale(state, 'yAxis', yAxisId, isPanorama);
49
50
 
@@ -53,7 +54,7 @@ const selectYAxisTicks = (
53
54
  yAxisId: AxisId,
54
55
  _zAxisId: AxisId,
55
56
  _id: GraphicalItemId,
56
- _cells: ReadonlyArray<ReactElement> | undefined,
57
+ _cells: ReadonlyArray<RegisteredCell> | undefined,
57
58
  isPanorama: boolean,
58
59
  ) => selectTicksOfGraphicalItem(state, 'yAxis', yAxisId, isPanorama);
59
60
 
@@ -78,8 +79,8 @@ const pickCells = (
78
79
  _yAxisId: AxisId,
79
80
  _zAxisId: AxisId,
80
81
  _id: GraphicalItemId,
81
- cells: ReadonlyArray<ReactElement> | undefined,
82
- ): ReadonlyArray<ReactElement> | undefined => cells;
82
+ cells: ReadonlyArray<RegisteredCell> | undefined,
83
+ ): ReadonlyArray<RegisteredCell> | undefined => cells;
83
84
 
84
85
  const scatterChartDataSelector = (
85
86
  state: RechartsRootState,
@@ -87,7 +88,7 @@ const scatterChartDataSelector = (
87
88
  _yAxisId: AxisId,
88
89
  _zAxisId: AxisId,
89
90
  _id: GraphicalItemId,
90
- _cells: ReadonlyArray<ReactElement> | undefined,
91
+ _cells: ReadonlyArray<RegisteredCell> | undefined,
91
92
  isPanorama: boolean,
92
93
  ): ChartDataState =>
93
94
  selectChartDataWithIndexesIfNotInPanoramaPosition4(state, undefined, undefined, isPanorama);
@@ -111,7 +112,7 @@ export const selectScatterPoints: (
111
112
  yAxisId: AxisId,
112
113
  zAxisId: AxisId,
113
114
  id: GraphicalItemId,
114
- cells: ReadonlyArray<ReactElement> | undefined,
115
+ cells: ReadonlyArray<RegisteredCell> | undefined,
115
116
  isPanorama: boolean,
116
117
  ) => ReadonlyArray<ScatterPointItem> | undefined = createSelector(
117
118
  [
@@ -1,14 +1,21 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/selectActivePropsFromChartPointer.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
1
+ // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
3
2
  import { createSelector } from 'reselect';
3
+ import { RechartsRootState } from '../store';
4
+ import { ActiveTooltipProps } from '../tooltipSlice';
4
5
  import { selectChartLayout } from '../../context/chartLayoutContext';
5
6
  import { selectTooltipAxisRangeWithReverse, selectTooltipAxisTicks } from './tooltipSelectors';
6
7
  import { selectChartOffsetInternal } from './selectChartOffsetInternal';
7
8
  import { combineActiveProps, selectOrderedTooltipTicks } from './selectors';
8
9
  import { selectPolarViewBox } from './polarAxisSelectors';
10
+ import { RelativePointer } from '../../util/types';
9
11
  import { selectTooltipAxisType } from './selectTooltipAxisType';
10
- var pickChartPointer = (_state, chartPointer) => chartPointer;
11
- export var selectActivePropsFromChartPointer = createSelector(
12
+
13
+ const pickChartPointer = (_state: RechartsRootState, chartPointer: RelativePointer) => chartPointer;
14
+
15
+ export const selectActivePropsFromChartPointer: (
16
+ state: RechartsRootState,
17
+ chartPointer: RelativePointer,
18
+ ) => ActiveTooltipProps | undefined = createSelector(
12
19
  [
13
20
  pickChartPointer,
14
21
  selectChartLayout,
@@ -0,0 +1,20 @@
1
+ // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
2
+ import { createSelector } from 'reselect';
3
+ import { RechartsRootState } from '../store';
4
+ import { XAxisSettings, YAxisSettings } from '../cartesianAxisSlice';
5
+
6
+ export const selectAllXAxes: (state: RechartsRootState) => ReadonlyArray<XAxisSettings> =
7
+ createSelector(
8
+ (state: RechartsRootState) => state.cartesianAxis.xAxis,
9
+ (xAxisMap): ReadonlyArray<XAxisSettings> => {
10
+ return Object.values(xAxisMap);
11
+ },
12
+ );
13
+
14
+ export const selectAllYAxes: (state: RechartsRootState) => ReadonlyArray<YAxisSettings> =
15
+ createSelector(
16
+ (state: RechartsRootState) => state.cartesianAxis.yAxis,
17
+ (yAxisMap): ReadonlyArray<YAxisSettings> => {
18
+ return Object.values(yAxisMap);
19
+ },
20
+ );
@@ -0,0 +1,17 @@
1
+ // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
2
+ import { createSelector } from 'reselect';
3
+ import { selectChartOffsetInternal } from './selectChartOffsetInternal';
4
+ import { ChartOffsetInternal } from '../../util/types';
5
+ import { ChartOffset } from '../../types';
6
+
7
+ export const selectChartOffset = createSelector(
8
+ [selectChartOffsetInternal],
9
+ (offsetInternal: ChartOffsetInternal): ChartOffset => {
10
+ return {
11
+ top: offsetInternal.top,
12
+ bottom: offsetInternal.bottom,
13
+ left: offsetInternal.left,
14
+ right: offsetInternal.right,
15
+ };
16
+ },
17
+ );