@octanejs/recharts 0.1.41 → 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 (375) 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/legacy-props.ts +129 -0
  82. package/src/polar/Pie.tsrx +91 -69
  83. package/src/polar/PolarAngleAxis.tsrx +47 -47
  84. package/src/polar/PolarGrid.tsrx +7 -6
  85. package/src/polar/PolarRadiusAxis.tsrx +29 -21
  86. package/src/polar/Radar.tsrx +26 -19
  87. package/src/polar/RadialBar.tsrx +59 -42
  88. package/src/polar/{defaultPolarAngleAxisProps.js → defaultPolarAngleAxisProps.ts} +6 -6
  89. package/src/polar/{defaultPolarRadiusAxisProps.js → defaultPolarRadiusAxisProps.ts} +5 -4
  90. package/src/shape/Cross.tsrx +14 -2
  91. package/src/shape/Curve.tsrx +111 -23
  92. package/src/shape/Dot.tsrx +12 -1
  93. package/src/shape/Polygon.tsrx +28 -6
  94. package/src/shape/Rectangle.tsrx +30 -3
  95. package/src/shape/Sector.tsrx +48 -6
  96. package/src/shape/Symbols.tsrx +24 -6
  97. package/src/shape/Trapezoid.tsrx +33 -3
  98. package/src/state/RechartsStoreProvider.tsrx +11 -2
  99. package/src/state/ReportChartProps.ts +2 -2
  100. package/src/state/ReportMainChartProps.ts +2 -1
  101. package/src/state/SetGraphicalItem.ts +6 -4
  102. package/src/state/SetLegendPayload.ts +7 -4
  103. package/src/state/SetTooltipEntrySettings.ts +5 -2
  104. package/src/state/brushSlice.ts +40 -0
  105. package/src/state/cartesianAxisSlice.ts +291 -0
  106. package/src/state/chartDataSlice.ts +87 -0
  107. package/src/state/errorBarSlice.ts +78 -0
  108. package/src/state/eventSettingsSlice.ts +30 -0
  109. package/src/state/{externalEventsMiddleware.js → externalEventsMiddleware.ts} +55 -34
  110. package/src/state/graphicalItemsSlice.ts +180 -0
  111. package/src/state/{keyboardEventsMiddleware.js → keyboardEventsMiddleware.ts} +72 -57
  112. package/src/state/layoutSlice.ts +50 -0
  113. package/src/state/legendSlice.ts +109 -0
  114. package/src/state/{mouseEventsMiddleware.js → mouseEventsMiddleware.ts} +45 -35
  115. package/src/state/optionsSlice.ts +65 -0
  116. package/src/state/polarAxisSlice.ts +42 -0
  117. package/src/state/polarOptionsSlice.ts +43 -0
  118. package/src/state/reduxDevtoolsJsonStringifyReplacer.ts +13 -0
  119. package/src/state/referenceElementsSlice.ts +100 -0
  120. package/src/state/renderedTicksSlice.ts +60 -0
  121. package/src/state/rootPropsSlice.ts +72 -0
  122. package/src/state/selectors/areaSelectors.ts +1 -2
  123. package/src/state/selectors/{arrayEqualityCheck.js → arrayEqualityCheck.ts} +4 -5
  124. package/src/state/selectors/axisSelectors.ts +2502 -0
  125. package/src/state/selectors/barSelectors.ts +373 -0
  126. package/src/state/selectors/barStackSelectors.ts +99 -0
  127. package/src/state/selectors/brushSelectors.ts +28 -0
  128. package/src/state/selectors/combiners/combineActiveLabel.ts +16 -0
  129. package/src/state/selectors/combiners/{combineActiveTooltipIndex.js → combineActiveTooltipIndex.ts} +45 -23
  130. package/src/state/selectors/combiners/combineAllBarPositions.ts +130 -0
  131. package/src/state/selectors/combiners/combineAxisRangeWithReverse.ts +16 -0
  132. package/src/state/selectors/combiners/combineBarPosition.ts +23 -0
  133. package/src/state/selectors/combiners/combineBarSizeList.ts +79 -0
  134. package/src/state/selectors/combiners/{combineCheckedDomain.js → combineCheckedDomain.ts} +9 -6
  135. package/src/state/selectors/combiners/combineConfiguredScale.ts +100 -0
  136. package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.ts +46 -0
  137. package/src/state/selectors/combiners/{combineDisplayedStackedData.js → combineDisplayedStackedData.ts} +23 -19
  138. package/src/state/selectors/combiners/combineInverseScaleFunction.ts +16 -0
  139. package/src/state/selectors/combiners/{combineRealScaleType.js → combineRealScaleType.ts} +16 -8
  140. package/src/state/selectors/combiners/combineStackedData.ts +27 -0
  141. package/src/state/selectors/combiners/combineTooltipInteractionState.ts +86 -0
  142. package/src/state/selectors/combiners/combineTooltipPayload.ts +201 -0
  143. package/src/state/selectors/combiners/{combineTooltipPayloadConfigurations.js → combineTooltipPayloadConfigurations.ts} +17 -18
  144. package/src/state/selectors/containerSelectors.ts +12 -0
  145. package/src/state/selectors/{dataSelectors.js → dataSelectors.ts} +43 -41
  146. package/src/state/selectors/funnelSelectors.ts +5 -5
  147. package/src/state/selectors/graphicalItemSelectors.ts +22 -0
  148. package/src/state/selectors/legendSelectors.ts +25 -0
  149. package/src/state/selectors/lineSelectors.ts +159 -0
  150. package/src/state/selectors/numberDomainEqualityCheck.ts +15 -0
  151. package/src/state/selectors/pickAxisId.ts +6 -0
  152. package/src/state/selectors/pickAxisType.ts +4 -0
  153. package/src/state/selectors/pieSelectors.ts +14 -13
  154. package/src/state/selectors/polarAxisSelectors.ts +223 -0
  155. package/src/state/selectors/polarSelectors.ts +1 -1
  156. package/src/state/selectors/radarSelectors.ts +1 -1
  157. package/src/state/selectors/radialBarSelectors.ts +17 -16
  158. package/src/state/selectors/rootPropsSelectors.ts +26 -0
  159. package/src/state/selectors/scatterSelectors.ts +11 -10
  160. package/src/state/selectors/{selectActivePropsFromChartPointer.js → selectActivePropsFromChartPointer.ts} +11 -4
  161. package/src/state/selectors/selectAllAxes.ts +20 -0
  162. package/src/state/selectors/selectChartOffset.ts +17 -0
  163. package/src/state/selectors/selectChartOffsetInternal.ts +147 -0
  164. package/src/state/selectors/{selectPlotArea.js → selectPlotArea.ts} +4 -3
  165. package/src/state/selectors/selectTooltipAxisId.ts +6 -0
  166. package/src/state/selectors/{selectTooltipAxisType.js → selectTooltipAxisType.ts} +10 -4
  167. package/src/state/selectors/selectTooltipEventType.ts +39 -0
  168. package/src/state/selectors/selectTooltipPayloadSearcher.ts +6 -0
  169. package/src/state/selectors/selectTooltipSettings.ts +6 -0
  170. package/src/state/selectors/selectTooltipState.ts +5 -0
  171. package/src/state/selectors/selectors.ts +315 -0
  172. package/src/state/selectors/tooltipSelectors.ts +611 -0
  173. package/src/state/selectors/touchSelectors.ts +52 -0
  174. package/src/state/{store.js → store.ts} +46 -36
  175. package/src/state/tooltipSlice.ts +507 -0
  176. package/src/state/{touchEventsMiddleware.js → touchEventsMiddleware.ts} +54 -42
  177. package/src/state/types/AreaSettings.ts +15 -0
  178. package/src/state/types/BarSettings.ts +15 -0
  179. package/src/state/types/LineSettings.ts +10 -0
  180. package/src/state/types/PieSettings.ts +32 -0
  181. package/src/state/types/RadarSettings.ts +6 -0
  182. package/src/state/types/RadialBarSettings.ts +10 -0
  183. package/src/state/types/ScatterSettings.ts +13 -0
  184. package/src/state/types/StackedGraphicalItem.ts +34 -0
  185. package/src/state/zIndexSlice.ts +137 -0
  186. package/src/synchronisation/syncSelectors.ts +7 -0
  187. package/src/synchronisation/types.ts +42 -0
  188. package/src/synchronisation/useChartSynchronisation.tsrx +26 -11
  189. package/src/types.ts +55 -0
  190. package/src/util/ActiveShapeUtils.tsrx +34 -10
  191. package/src/util/BarUtils.tsrx +43 -3
  192. package/src/util/{CartesianUtils.js → CartesianUtils.ts} +22 -39
  193. package/src/util/ChartUtils.ts +759 -0
  194. package/src/util/{Constants.js → Constants.ts} +6 -6
  195. package/src/util/DOMUtils.ts +135 -0
  196. package/src/util/{DataUtils.js → DataUtils.ts} +120 -47
  197. package/src/util/Events.ts +22 -0
  198. package/src/util/FunnelUtils.tsrx +3 -3
  199. package/src/util/Global.ts +13 -0
  200. package/src/util/IfOverflow.ts +16 -0
  201. package/src/util/LRUCache.ts +42 -0
  202. package/src/util/{LogUtils.js → LogUtils.ts} +7 -12
  203. package/src/util/OctaneTypes.ts +51 -0
  204. package/src/util/PolarUtils.ts +132 -0
  205. package/src/util/RadialBarUtils.tsrx +3 -3
  206. package/src/util/ReduceCSSCalc.ts +186 -0
  207. package/src/util/ScatterUtils.tsrx +9 -7
  208. package/src/util/{TickUtils.js → TickUtils.ts} +30 -13
  209. package/src/util/{YAxisUtils.js → YAxisUtils.ts} +27 -17
  210. package/src/util/axisPropsAreEqual.ts +49 -0
  211. package/src/util/createEventProxy.ts +20 -0
  212. package/src/util/{excludeEventProps.js → excludeEventProps.ts} +8 -6
  213. package/src/util/getActiveCoordinate.ts +210 -0
  214. package/src/util/{getAxisTypeBasedOnLayout.js → getAxisTypeBasedOnLayout.ts} +7 -3
  215. package/src/util/getClassNameFromUnknown.ts +7 -0
  216. package/src/util/{getEveryNth.js → getEveryNth.ts} +5 -6
  217. package/src/util/getRadiusAndStrokeWidthFromDot.ts +31 -0
  218. package/src/util/{getRelativeCoordinate.js → getRelativeCoordinate.ts} +26 -9
  219. package/src/util/getSliced.ts +14 -0
  220. package/src/util/{isDomainSpecifiedByUser.js → isDomainSpecifiedByUser.ts} +46 -100
  221. package/src/util/isWellBehavedNumber.ts +8 -0
  222. package/src/util/payload/getUniqPayload.ts +1 -1
  223. package/src/util/{propsAreEqual.js → propsAreEqual.ts} +10 -8
  224. package/src/util/{resolveDefaultProps.js → resolveDefaultProps.ts} +35 -57
  225. package/src/util/round.ts +33 -0
  226. package/src/util/scale/CustomScaleDefinition.ts +82 -0
  227. package/src/util/scale/RechartsScale.ts +131 -0
  228. package/src/util/scale/{createCategoricalInverse.js → createCategoricalInverse.ts} +24 -29
  229. package/src/util/scale/{getNiceTickValues.js → getNiceTickValues.ts} +125 -146
  230. package/src/util/scale/index.ts +2 -0
  231. package/src/util/scale/util/{arithmetic.js → arithmetic.ts} +12 -8
  232. package/src/util/stacks/getStackSeriesIdentifier.ts +21 -0
  233. package/src/util/stacks/stackTypes.ts +58 -0
  234. package/src/util/{svgPropertiesNoEvents.js → svgPropertiesNoEvents.ts} +52 -27
  235. package/src/util/tooltip/translate.ts +2 -1
  236. package/src/util/typedDataKey.ts +49 -0
  237. package/src/util/types.ts +1265 -7
  238. package/src/util/{useUniqueId.js → useUniqueId.ts} +9 -5
  239. package/src/zIndex/{DefaultZIndexes.js → DefaultZIndexes.ts} +13 -4
  240. package/src/zIndex/ZIndexLayer.tsrx +13 -4
  241. package/src/zIndex/ZIndexPortal.tsrx +14 -4
  242. package/src/zIndex/{getZIndexFromUnknown.js → getZIndexFromUnknown.ts} +3 -3
  243. package/src/zIndex/{zIndexSelectors.js → zIndexSelectors.ts} +17 -11
  244. package/src/animation/easing.js +0 -193
  245. package/src/animation/timeoutController.js +0 -49
  246. package/src/animation/util.js +0 -11
  247. package/src/cartesian/Area.tsrx.d.ts +0 -340
  248. package/src/cartesian/Bar.tsrx.d.ts +0 -4
  249. package/src/cartesian/BarStack.tsrx.d.ts +0 -6
  250. package/src/cartesian/CartesianAxis.tsrx.d.ts +0 -3
  251. package/src/cartesian/CartesianGrid.tsrx.d.ts +0 -219
  252. package/src/cartesian/ErrorBar.tsrx.d.ts +0 -131
  253. package/src/cartesian/Funnel.tsrx.d.ts +0 -274
  254. package/src/cartesian/Line.tsrx.d.ts +0 -4
  255. package/src/cartesian/LineDrawShape.tsrx.d.ts +0 -2
  256. package/src/cartesian/ReferenceLine.tsrx.d.ts +0 -178
  257. package/src/cartesian/Scatter.tsrx.d.ts +0 -351
  258. package/src/cartesian/XAxis.tsrx.d.ts +0 -3
  259. package/src/cartesian/YAxis.tsrx.d.ts +0 -3
  260. package/src/cartesian/ZAxis.tsrx.d.ts +0 -102
  261. package/src/cartesian/getCartesianPosition.js +0 -277
  262. package/src/cartesian/getEquidistantTicks.js +0 -133
  263. package/src/cartesian/getTicks.js +0 -280
  264. package/src/chart/AreaChart.tsrx.d.ts +0 -12
  265. package/src/chart/BarChart.tsrx.d.ts +0 -2
  266. package/src/chart/CartesianChart.tsrx.d.ts +0 -10
  267. package/src/chart/ComposedChart.tsrx.d.ts +0 -12
  268. package/src/chart/FunnelChart.tsrx.d.ts +0 -12
  269. package/src/chart/LineChart.tsrx.d.ts +0 -2
  270. package/src/chart/PieChart.tsrx.d.ts +0 -31
  271. package/src/chart/RadarChart.tsrx.d.ts +0 -31
  272. package/src/chart/RadialBarChart.tsrx.d.ts +0 -31
  273. package/src/chart/Sankey.tsrx.d.ts +0 -253
  274. package/src/chart/ScatterChart.tsrx.d.ts +0 -12
  275. package/src/chart/SunburstChart.tsrx.d.ts +0 -146
  276. package/src/component/DefaultLegendContent.tsrx.d.ts +0 -125
  277. package/src/component/DefaultTooltipContent.tsrx.d.ts +0 -87
  278. package/src/component/Label.tsrx.d.ts +0 -12
  279. package/src/component/LabelList.tsrx.d.ts +0 -8
  280. package/src/component/Legend.tsrx.d.ts +0 -88
  281. package/src/component/ResponsiveContainer.tsrx.d.ts +0 -81
  282. package/src/component/Text.tsrx.d.ts +0 -9
  283. package/src/component/Tooltip.tsrx.d.ts +0 -246
  284. package/src/container/Layer.tsrx.d.ts +0 -6
  285. package/src/container/Surface.tsrx.d.ts +0 -12
  286. package/src/context/accessibilityContext.js +0 -10
  287. package/src/context/tooltipContext.js +0 -55
  288. package/src/index.d.ts +0 -281
  289. package/src/polar/Pie.tsrx.d.ts +0 -436
  290. package/src/polar/PolarAngleAxis.tsrx.d.ts +0 -215
  291. package/src/polar/PolarGrid.tsrx.d.ts +0 -117
  292. package/src/polar/PolarRadiusAxis.tsrx.d.ts +0 -209
  293. package/src/polar/Radar.tsrx.d.ts +0 -215
  294. package/src/polar/RadialBar.tsrx.d.ts +0 -340
  295. package/src/shape/Cross.tsrx.d.ts +0 -12
  296. package/src/shape/Curve.tsrx.d.ts +0 -42
  297. package/src/shape/Dot.tsrx.d.ts +0 -9
  298. package/src/shape/Polygon.tsrx.d.ts +0 -13
  299. package/src/shape/Rectangle.tsrx.d.ts +0 -31
  300. package/src/shape/Sector.tsrx.d.ts +0 -29
  301. package/src/shape/Symbols.tsrx.d.ts +0 -15
  302. package/src/shape/Trapezoid.tsrx.d.ts +0 -29
  303. package/src/state/brushSlice.js +0 -36
  304. package/src/state/cartesianAxisSlice.js +0 -256
  305. package/src/state/chartDataSlice.js +0 -67
  306. package/src/state/errorBarSlice.js +0 -53
  307. package/src/state/eventSettingsSlice.js +0 -25
  308. package/src/state/graphicalItemsSlice.js +0 -91
  309. package/src/state/layoutSlice.js +0 -57
  310. package/src/state/legendSlice.js +0 -83
  311. package/src/state/optionsSlice.js +0 -45
  312. package/src/state/polarAxisSlice.js +0 -33
  313. package/src/state/polarOptionsSlice.js +0 -26
  314. package/src/state/reduxDevtoolsJsonStringifyReplacer.js +0 -14
  315. package/src/state/referenceElementsSlice.js +0 -51
  316. package/src/state/renderedTicksSlice.js +0 -41
  317. package/src/state/rootPropsSlice.js +0 -48
  318. package/src/state/selectors/axisSelectors.js +0 -2113
  319. package/src/state/selectors/barSelectors.js +0 -263
  320. package/src/state/selectors/barStackSelectors.js +0 -65
  321. package/src/state/selectors/brushSelectors.js +0 -21
  322. package/src/state/selectors/combiners/combineActiveLabel.js +0 -18
  323. package/src/state/selectors/combiners/combineAllBarPositions.js +0 -169
  324. package/src/state/selectors/combiners/combineAxisRangeWithReverse.js +0 -11
  325. package/src/state/selectors/combiners/combineBarPosition.js +0 -17
  326. package/src/state/selectors/combiners/combineBarSizeList.js +0 -115
  327. package/src/state/selectors/combiners/combineConfiguredScale.js +0 -46
  328. package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.js +0 -48
  329. package/src/state/selectors/combiners/combineInverseScaleFunction.js +0 -12
  330. package/src/state/selectors/combiners/combineStackedData.js +0 -22
  331. package/src/state/selectors/combiners/combineTooltipInteractionState.js +0 -121
  332. package/src/state/selectors/combiners/combineTooltipPayload.js +0 -248
  333. package/src/state/selectors/containerSelectors.js +0 -6
  334. package/src/state/selectors/graphicalItemSelectors.js +0 -25
  335. package/src/state/selectors/legendSelectors.js +0 -18
  336. package/src/state/selectors/lineSelectors.js +0 -106
  337. package/src/state/selectors/numberDomainEqualityCheck.js +0 -11
  338. package/src/state/selectors/pickAxisId.js +0 -3
  339. package/src/state/selectors/pickAxisType.js +0 -3
  340. package/src/state/selectors/polarAxisSelectors.js +0 -237
  341. package/src/state/selectors/rootPropsSelectors.js +0 -13
  342. package/src/state/selectors/selectAllAxes.js +0 -15
  343. package/src/state/selectors/selectChartOffset.js +0 -12
  344. package/src/state/selectors/selectChartOffsetInternal.js +0 -174
  345. package/src/state/selectors/selectTooltipAxisId.js +0 -3
  346. package/src/state/selectors/selectTooltipEventType.js +0 -27
  347. package/src/state/selectors/selectTooltipPayloadSearcher.js +0 -3
  348. package/src/state/selectors/selectTooltipSettings.js +0 -3
  349. package/src/state/selectors/selectTooltipState.js +0 -3
  350. package/src/state/selectors/selectors.js +0 -222
  351. package/src/state/selectors/tooltipSelectors.js +0 -471
  352. package/src/state/selectors/touchSelectors.js +0 -31
  353. package/src/state/tooltipSlice.js +0 -237
  354. package/src/state/types/StackedGraphicalItem.js +0 -18
  355. package/src/state/zIndexSlice.js +0 -167
  356. package/src/synchronisation/syncSelectors.js +0 -5
  357. package/src/util/ChartUtils.js +0 -630
  358. package/src/util/DOMUtils.js +0 -180
  359. package/src/util/Events.js +0 -7
  360. package/src/util/Global.js +0 -13
  361. package/src/util/LRUCache.js +0 -58
  362. package/src/util/PolarUtils.js +0 -190
  363. package/src/util/ReduceCSSCalc.js +0 -260
  364. package/src/util/axisPropsAreEqual.js +0 -63
  365. package/src/util/createEventProxy.js +0 -18
  366. package/src/util/getActiveCoordinate.js +0 -253
  367. package/src/util/getClassNameFromUnknown.js +0 -8
  368. package/src/util/getRadiusAndStrokeWidthFromDot.js +0 -28
  369. package/src/util/getSliced.js +0 -11
  370. package/src/util/isWellBehavedNumber.js +0 -8
  371. package/src/util/round.js +0 -39
  372. package/src/util/scale/RechartsScale.js +0 -68
  373. package/src/util/scale/index.js +0 -3
  374. package/src/util/stacks/getStackSeriesIdentifier.js +0 -10
  375. 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
+ );