@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,6 +1,7 @@
1
+ import type { FunctionComponent, SVGProps } from '../util/OctaneTypes.ts';
1
2
  import { clsx } from 'clsx';
2
3
  import * as React from 'octane';
3
- import { SVGProps } from 'octane';
4
+
4
5
  import { polarToCartesian } from '../util/PolarUtils';
5
6
  import { AxisId } from '../state/cartesianAxisSlice';
6
7
  import { useAppSelector } from '../state/hooks';
@@ -8,7 +9,7 @@ import { selectPolarGridAngles, selectPolarGridRadii } from '../state/selectors/
8
9
  import { selectPolarViewBox } from '../state/selectors/polarAxisSelectors';
9
10
  import { PolarViewBoxRequired } from '../util/types';
10
11
  import { svgPropertiesNoEvents } from '../util/svgPropertiesNoEvents';
11
- import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer';
12
+ import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
12
13
  import { DefaultZIndexes } from '../zIndex/DefaultZIndexes';
13
14
  import { resolveDefaultProps } from '../util/resolveDefaultProps';
14
15
 
@@ -107,7 +108,7 @@ interface PolarGridProps extends ZIndexable {
107
108
  fillOpacity?: number | string;
108
109
  }
109
110
 
110
- export type Props = SVGProps<SVGLineElement> & PolarGridProps;
111
+ export type Props = Omit<SVGProps<SVGLineElement>, 'ref'> & PolarGridProps;
111
112
 
112
113
  type PropsWithDefaults =
113
114
  Props & {
@@ -148,7 +149,7 @@ const getPolygonPath = (
148
149
  };
149
150
 
150
151
  // Draw axis of radial line
151
- const PolarAngles: React.FC<PropsWithDefaults> = (props: PropsWithDefaults) => {
152
+ const PolarAngles: FunctionComponent<PropsWithDefaults> = (props: PropsWithDefaults) => {
152
153
  const { cx, cy, innerRadius, outerRadius, polarAngles, radialLines } = props;
153
154
 
154
155
  if (!polarAngles || !polarAngles.length || !radialLines) {
@@ -174,7 +175,7 @@ const PolarAngles: React.FC<PropsWithDefaults> = (props: PropsWithDefaults) => {
174
175
  };
175
176
 
176
177
  // Draw concentric circles
177
- const ConcentricCircle: React.FC<ConcentricProps> = (props) => {
178
+ const ConcentricCircle: FunctionComponent<ConcentricProps> = (props) => {
178
179
  const { cx, cy, radius } = props;
179
180
  const concentricCircleProps = {
180
181
  ...svgPropertiesNoEvents(props),
@@ -193,7 +194,7 @@ const ConcentricCircle: React.FC<ConcentricProps> = (props) => {
193
194
  };
194
195
 
195
196
  // Draw concentric polygons
196
- const ConcentricPolygon: React.FC<ConcentricProps> = (props: ConcentricProps) => {
197
+ const ConcentricPolygon: FunctionComponent<ConcentricProps> = (props: ConcentricProps) => {
197
198
  const { radius } = props;
198
199
  const concentricPolygonProps = {
199
200
  ...svgPropertiesNoEvents(props),
@@ -1,12 +1,19 @@
1
+ import type {
2
+ FunctionComponent,
3
+ NativeMouseEvent,
4
+ OctaneElement,
5
+ OctaneNode,
6
+ SVGProps,
7
+ } from '../util/OctaneTypes.ts';
1
8
  import * as React from 'octane';
2
- import { FunctionComponent, ReactElement, ReactNode, SVGProps, useEffect, useMemo } from 'octane';
9
+ import { useEffect, useMemo } from 'octane';
3
10
  import maxBy from 'es-toolkit/compat/maxBy';
4
11
  import minBy from 'es-toolkit/compat/minBy';
5
12
 
6
13
  import { clsx } from 'clsx';
7
- import { Text } from '../component/Text';
8
- import { PolarLabelContextProvider, PolarLabelFromLabelProp } from '../component/Label';
9
- import { Layer } from '../container/Layer';
14
+ import { Text } from '../component/Text.tsrx';
15
+ import { PolarLabelContextProvider, PolarLabelFromLabelProp } from '../component/Label.tsrx';
16
+ import { Layer } from '../container/Layer.tsrx';
10
17
  import { polarToCartesian } from '../util/PolarUtils';
11
18
  import {
12
19
  adaptEventsOfChild,
@@ -20,7 +27,7 @@ import {
20
27
  AxisDomainTypeInput,
21
28
  EvaluatedAxisDomainType,
22
29
  TickProp,
23
- BaseTickContentProps,
30
+ PolarTickContentProps,
24
31
  AxisTick,
25
32
  } from '../util/types';
26
33
  import { addRadiusAxis, RadiusAxisSettings, removeRadiusAxis } from '../state/polarAxisSlice';
@@ -34,7 +41,7 @@ import {
34
41
  svgPropertiesNoEventsFromUnknown,
35
42
  } from '../util/svgPropertiesNoEvents';
36
43
  import { RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
37
- import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer';
44
+ import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
38
45
  import { RechartsScale } from '../util/scale/RechartsScale';
39
46
  import type { CustomScaleDefinition } from '../util/scale/CustomScaleDefinition';
40
47
  import { usePolarChartLayout } from '../context/chartLayoutContext';
@@ -133,35 +140,35 @@ export interface PolarRadiusAxisProps<DataPointType = any, DataValueType = any>
133
140
  /**
134
141
  * The customized event handler of click on the ticks of this axis
135
142
  */
136
- onClick?: (data: any, index: number, e: React.MouseEvent) => void;
143
+ onClick?: (data: any, index: number, e: NativeMouseEvent<SVGGElement>) => void;
137
144
  /**
138
145
  * The customized event handler of mousedown on the ticks of this axis
139
146
  */
140
- onMouseDown?: (data: any, index: number, e: React.MouseEvent) => void;
147
+ onMouseDown?: (data: any, index: number, e: NativeMouseEvent<SVGGElement>) => void;
141
148
  /**
142
149
  * The customized event handler of mouseup on the ticks of this axis
143
150
  */
144
- onMouseUp?: (data: any, index: number, e: React.MouseEvent) => void;
151
+ onMouseUp?: (data: any, index: number, e: NativeMouseEvent<SVGGElement>) => void;
145
152
  /**
146
153
  * The customized event handler of mousemove on the ticks of this axis
147
154
  */
148
- onMouseMove?: (data: any, index: number, e: React.MouseEvent) => void;
155
+ onMouseMove?: (data: any, index: number, e: NativeMouseEvent<SVGGElement>) => void;
149
156
  /**
150
157
  * The customized event handler of mouseover on the ticks of this axis
151
158
  */
152
- onMouseOver?: (data: any, index: number, e: React.MouseEvent) => void;
159
+ onMouseOver?: (data: any, index: number, e: NativeMouseEvent<SVGGElement>) => void;
153
160
  /**
154
161
  * The customized event handler of mouseout on the ticks of this axis
155
162
  */
156
- onMouseOut?: (data: any, index: number, e: React.MouseEvent) => void;
163
+ onMouseOut?: (data: any, index: number, e: NativeMouseEvent<SVGGElement>) => void;
157
164
  /**
158
165
  * The customized event handler of mouseenter on the ticks of this axis
159
166
  */
160
- onMouseEnter?: (data: any, index: number, e: React.MouseEvent) => void;
167
+ onMouseEnter?: (data: any, index: number, e: NativeMouseEvent<SVGGElement>) => void;
161
168
  /**
162
169
  * The customized event handler of mouseleave on the ticks of this axis
163
170
  */
164
- onMouseLeave?: (data: any, index: number, e: React.MouseEvent) => void;
171
+ onMouseLeave?: (data: any, index: number, e: NativeMouseEvent<SVGGElement>) => void;
165
172
  /**
166
173
  * Allow the ticks of axis to be decimals or not.
167
174
  *
@@ -190,12 +197,12 @@ export interface PolarRadiusAxisProps<DataPointType = any, DataValueType = any>
190
197
  * - `false`: Do not render any tick labels.
191
198
  * - `true`: Render tick labels with default settings.
192
199
  * - `object`: An object of props to be merged into the internally calculated tick props.
193
- * - `ReactElement`: A custom React element to be used as the tick label.
200
+ * - `OctaneElement`: A custom React element to be used as the tick label.
194
201
  * - `function`: A function that returns a React element for custom rendering of tick labels.
195
202
  *
196
203
  * @defaultValue true
197
204
  */
198
- tick?: TickProp<BaseTickContentProps>;
205
+ tick?: TickProp<PolarTickContentProps>;
199
206
  ticks?: ReadonlyArray<AxisTick>;
200
207
  /**
201
208
  * Z-Index of this component and its children. The higher the value,
@@ -211,7 +218,9 @@ export interface PolarRadiusAxisProps<DataPointType = any, DataValueType = any>
211
218
  }
212
219
 
213
220
  type AxisSvgProps =
214
- Omit<PresentationAttributesAdaptChildEvent<any, SVGTextElement>, 'scale' | 'type'>;
221
+ Omit<PresentationAttributesAdaptChildEvent<any, SVGGElement>, 'scale' | 'type' | 'ref'> & {
222
+ ref?: never;
223
+ };
215
224
 
216
225
  export type Props<DataPointType = any, DataValueType = any> =
217
226
  AxisSvgProps & PolarRadiusAxisProps<DataPointType, DataValueType>;
@@ -310,7 +319,7 @@ const getViewBox = (
310
319
  };
311
320
  };
312
321
 
313
- const renderAxisLine = (props: InsideProps, ticks: ReadonlyArray<TickItem>): ReactElement => {
322
+ const renderAxisLine = (props: InsideProps, ticks: ReadonlyArray<TickItem>): OctaneElement => {
314
323
  const { cx, cy, angle, axisLine, ...others } = props;
315
324
  const extent: [number, number] = ticks.reduce(
316
325
  (result: [number, number], entry: TickItem): [number, number] => [
@@ -332,7 +341,6 @@ const renderAxisLine = (props: InsideProps, ticks: ReadonlyArray<TickItem>): Rea
332
341
  y2: point1.y,
333
342
  };
334
343
 
335
- // @ts-expect-error wrong SVG element type
336
344
  return <line className="recharts-polar-radius-axis-line" {...axisLineProps} />;
337
345
  };
338
346
 
@@ -340,7 +348,7 @@ const renderTickItem = (
340
348
  option: Props['tick'],
341
349
  tickProps: any,
342
350
  value: string | number,
343
- ): ReactNode => {
351
+ ): OctaneNode => {
344
352
  let tickItem;
345
353
 
346
354
  if (React.isValidElement(option)) {
@@ -357,7 +365,7 @@ const renderTickItem = (
357
365
  return tickItem;
358
366
  };
359
367
 
360
- const renderTicks = (props: InsideProps, ticks: ReadonlyArray<TickItem>): ReactElement => {
368
+ const renderTicks = (props: InsideProps, ticks: ReadonlyArray<TickItem>): OctaneElement => {
361
369
  const { angle, tickFormatter, stroke, tick, ...others } = props;
362
370
  const textAnchor = getTickTextAnchor(props.orientation);
363
371
  const axisProps = svgPropertiesNoEvents(others);
@@ -1,20 +1,27 @@
1
+ import type {
2
+ MutableRefObject,
3
+ NativeMouseEvent,
4
+ OctaneElement,
5
+ OctaneNode,
6
+ SVGProps,
7
+ } from '../util/OctaneTypes.ts';
1
8
  import * as React from 'octane';
2
- import { MouseEvent, MutableRefObject, ReactElement, ReactNode, SVGProps, useRef } from 'octane';
9
+ import { useRef } from 'octane';
3
10
  import last from 'es-toolkit/compat/last';
4
11
 
5
12
  import { clsx } from 'clsx';
6
13
  import { interpolate, isNullish, noop } from '../util/DataUtils';
7
14
  import { polarToCartesian } from '../util/PolarUtils';
8
15
  import { getTooltipNameProp, getValueByDataKey } from '../util/ChartUtils';
9
- import { Polygon } from '../shape/Polygon';
10
- import { Layer } from '../container/Layer';
16
+ import { Polygon } from '../shape/Polygon.tsrx';
17
+ import { Layer } from '../container/Layer.tsrx';
11
18
  import {
12
19
  CartesianLabelListContextProvider,
13
20
  CartesianLabelListEntry,
14
21
  ImplicitLabelListType,
15
22
  LabelListFromLabelProp,
16
- } from '../component/LabelList';
17
- import { Dots } from '../component/Dots';
23
+ } from '../component/LabelList.tsrx';
24
+ import { Dots } from '../component/Dots.tsrx';
18
25
  import {
19
26
  ActiveDotType,
20
27
  AnimationDuration,
@@ -27,28 +34,28 @@ import {
27
34
  TooltipType,
28
35
  TrapezoidViewBox,
29
36
  } from '../util/types';
30
- import type { LegendPayload } from '../component/DefaultLegendContent';
31
- import { ActivePoints } from '../component/ActivePoints';
37
+ import type { LegendPayload } from '../component/DefaultLegendContent.tsrx';
38
+ import { ActivePoints } from '../component/ActivePoints.tsrx';
32
39
  import { TooltipPayloadConfiguration } from '../state/tooltipSlice';
33
40
  import { SetTooltipEntrySettings } from '../state/SetTooltipEntrySettings';
34
41
  import { selectRadarPoints } from '../state/selectors/radarSelectors';
35
42
  import { useAppSelector } from '../state/hooks';
36
43
  import { useIsPanorama } from '../context/PanoramaContext';
37
44
  import { SetPolarLegendPayload } from '../state/SetLegendPayload';
38
- import { RegisterGraphicalItemId } from '../context/RegisterGraphicalItemId';
45
+ import { RegisterGraphicalItemId } from '../context/RegisterGraphicalItemId.tsrx';
39
46
  import { SetPolarGraphicalItem } from '../state/SetGraphicalItem';
40
47
  import { svgPropertiesNoEvents } from '../util/svgPropertiesNoEvents';
41
48
  import {
42
49
  AnimatedItems,
43
50
  AnimationInterpolateFn,
44
51
  useAnimationCallbacks,
45
- } from '../animation/AnimatedItems';
52
+ } from '../animation/AnimatedItems.tsrx';
46
53
  import { AnimationMatchByProp, matchAnimationItems, matchByIndex } from '../animation/matchBy';
47
54
  import { useAnimationStartSnapshot } from '../animation/useAnimationStartSnapshot';
48
55
  import { svgPropertiesAndEvents } from '../util/svgPropertiesAndEvents';
49
56
  import { RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
50
57
  import { WithIdRequired } from '../util/useUniqueId';
51
- import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer';
58
+ import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
52
59
  import { DefaultZIndexes } from '../zIndex/DefaultZIndexes';
53
60
  import { RechartsScale } from '../util/scale/RechartsScale';
54
61
  import { usePolarChartLayout } from '../context/chartLayoutContext';
@@ -130,7 +137,7 @@ interface RadarProps<DataPointType = any, DataValueType = any> extends ZIndexabl
130
137
  * - `false`: no dots are drawn;
131
138
  * - `true`: renders the dots with default settings;
132
139
  * - `object`: the props of the dot. This will be merged with the internal calculated props of each dot;
133
- * - `ReactElement`: the custom dot element;
140
+ * - `OctaneElement`: the custom dot element;
134
141
  * - `function`: a render function of the custom dot.
135
142
  *
136
143
  * @defaultValue false
@@ -152,7 +159,7 @@ interface RadarProps<DataPointType = any, DataValueType = any> extends ZIndexabl
152
159
  * - `true`: renders default labels;
153
160
  * - `false`: no labels are rendered;
154
161
  * - `object`: the props of LabelList component;
155
- * - `ReactElement`: a custom SVG label element, such as `<text>` or `<g>`.
162
+ * - `OctaneElement`: a custom SVG label element, such as `<text>` or `<g>`.
156
163
  * HTML elements such as `<div>` are not valid inside the chart SVG and may trigger React DOM warnings.
157
164
  * - `function`: a render function of custom label.
158
165
  *
@@ -172,17 +179,17 @@ interface RadarProps<DataPointType = any, DataValueType = any> extends ZIndexabl
172
179
  * The customized event handler of animation start
173
180
  */
174
181
  onAnimationStart?: () => void;
175
- onMouseEnter?: (props: InternalRadarProps, e: MouseEvent<SVGPolygonElement>) => void;
176
- onMouseLeave?: (props: InternalRadarProps, e: MouseEvent<SVGPolygonElement>) => void;
182
+ onMouseEnter?: (props: InternalRadarProps, e: NativeMouseEvent<SVGPathElement>) => void;
183
+ onMouseLeave?: (props: InternalRadarProps, e: NativeMouseEvent<SVGPathElement>) => void;
177
184
  /**
178
185
  * @defaultValue 0
179
186
  */
180
187
  radiusAxisId?: string | number;
181
188
  /**
182
- * If set a ReactElement, the shape of radar can be customized.
189
+ * If set a OctaneElement, the shape of radar can be customized.
183
190
  * If set a function, the function will be called to render customized shape.
184
191
  */
185
- shape?: ReactElement<SVGElement> | ((props: any) => ReactElement<SVGElement>);
192
+ shape?: OctaneElement<SVGElement> | ((props: any) => OctaneElement<SVGElement>);
186
193
  tooltipType?: TooltipType;
187
194
  /**
188
195
  * @defaultValue 100
@@ -368,7 +375,7 @@ function RadarLabelListProvider({
368
375
  }: {
369
376
  showLabels: boolean;
370
377
  points: ReadonlyArray<RadarPoint>;
371
- children: ReactNode;
378
+ children: OctaneNode;
372
379
  }) {
373
380
  /*
374
381
  * Radar provides a Cartesian label list context. Do we want to also provide a polar label list context?
@@ -433,7 +440,7 @@ function StaticPolygon({
433
440
 
434
441
  const { shape, isRange, connectNulls } = props;
435
442
 
436
- const handleMouseEnter = (e: MouseEvent<SVGPolygonElement>) => {
443
+ const handleMouseEnter = (e: NativeMouseEvent<SVGPathElement>) => {
437
444
  const { onMouseEnter } = props;
438
445
 
439
446
  if (onMouseEnter) {
@@ -441,7 +448,7 @@ function StaticPolygon({
441
448
  }
442
449
  };
443
450
 
444
- const handleMouseLeave = (e: MouseEvent<SVGPolygonElement>) => {
451
+ const handleMouseLeave = (e: NativeMouseEvent<SVGPathElement>) => {
445
452
  const { onMouseLeave } = props;
446
453
 
447
454
  if (onMouseLeave) {
@@ -1,5 +1,16 @@
1
+ import type { CellPropsFor } from '../component/Cell';
2
+ import type { RegisteredCell } from '../context/CellsContext.ts';
3
+
4
+ import type {
5
+ ComponentProps,
6
+ MutableRefObject,
7
+ NativeMouseEvent,
8
+ NativeTouchEvent,
9
+ OctaneElement,
10
+ OctaneNode,
11
+ } from '../util/OctaneTypes.ts';
1
12
  import * as React from 'octane';
2
- import { MutableRefObject, ReactElement, ReactNode, useRef } from 'octane';
13
+ import { useRef } from 'octane';
3
14
  import { clsx } from 'clsx';
4
15
 
5
16
  import { Series } from 'victory-vendor/d3-shape';
@@ -8,15 +19,15 @@ import {
8
19
  parseCornerRadius,
9
20
  RadialBarSector,
10
21
  RadialBarSectorProps,
11
- } from '../util/RadialBarUtils';
12
- import { Props as SectorProps } from '../shape/Sector';
13
- import { Layer } from '../container/Layer';
22
+ } from '../util/RadialBarUtils.tsrx';
23
+ import { defaultSectorProps, type Props as SectorProps } from '../shape/Sector.tsrx';
24
+ import { Layer } from '../container/Layer.tsrx';
14
25
  import {
15
26
  ImplicitLabelListType,
16
27
  LabelListFromLabelProp,
17
28
  PolarLabelListContextProvider,
18
29
  PolarLabelListEntry,
19
- } from '../component/LabelList';
30
+ } from '../component/LabelList.tsrx';
20
31
  import { interpolate, mathSign, noop } from '../util/DataUtils';
21
32
  import {
22
33
  BarPositionPosition,
@@ -33,9 +44,9 @@ import {
33
44
  EasingInput,
34
45
  DataConsumer,
35
46
  DataKey,
47
+ GeometrySector,
36
48
  LayoutType,
37
49
  LegendType,
38
- PolarViewBoxRequired,
39
50
  PresentationAttributesAdaptChildEvent,
40
51
  ShapeAnimationProps,
41
52
  TickItem,
@@ -50,7 +61,7 @@ import {
50
61
  } from '../context/tooltipContext';
51
62
  import { TooltipPayloadConfiguration } from '../state/tooltipSlice';
52
63
  import { SetTooltipEntrySettings } from '../state/SetTooltipEntrySettings';
53
- import { Formatter } from '../component/DefaultTooltipContent';
64
+ import { Formatter } from '../component/DefaultTooltipContent.tsrx';
54
65
  import { BaseAxisWithScale } from '../state/selectors/axisSelectors';
55
66
  import { ChartData } from '../state/chartDataSlice';
56
67
  import {
@@ -64,10 +75,10 @@ import {
64
75
  AnimatedItems,
65
76
  AnimationInterpolateFn,
66
77
  useAnimationCallbacks,
67
- } from '../animation/AnimatedItems';
78
+ } from '../animation/AnimatedItems.tsrx';
68
79
  import { AnimationMatchByProp, matchAppend } from '../animation/matchBy';
69
80
  import { AxisId } from '../state/cartesianAxisSlice';
70
- import { RegisterGraphicalItemId } from '../context/RegisterGraphicalItemId';
81
+ import { RegisterGraphicalItemId } from '../context/RegisterGraphicalItemId.tsrx';
71
82
  import type { RadialBarSettings } from '../state/types/RadialBarSettings';
72
83
  import { SetPolarGraphicalItem } from '../state/SetGraphicalItem';
73
84
  import {
@@ -76,7 +87,7 @@ import {
76
87
  } from '../util/svgPropertiesNoEvents';
77
88
  import { RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
78
89
  import { WithIdRequired } from '../util/useUniqueId';
79
- import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer';
90
+ import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
80
91
  import { DefaultZIndexes } from '../zIndex/DefaultZIndexes';
81
92
  import { getZIndexFromUnknown } from '../zIndex/getZIndexFromUnknown';
82
93
  import { usePolarChartLayout } from '../context/chartLayoutContext';
@@ -85,7 +96,7 @@ import { CellsContext, useCellRegistry } from '../context/CellsContext';
85
96
  const STABLE_EMPTY_ARRAY: readonly RadialBarDataItem[] = [];
86
97
 
87
98
  export type RadialBarDataItem =
88
- SectorProps & PolarViewBoxRequired & TooltipTriggerInfo & {
99
+ SectorProps & GeometrySector & TooltipTriggerInfo & {
89
100
  value?: any;
90
101
  payload?: any;
91
102
  background?: SectorProps;
@@ -107,7 +118,7 @@ function RadialBarLabelListProvider({
107
118
  }: {
108
119
  showLabels: boolean;
109
120
  sectors: ReadonlyArray<RadialBarDataItem>;
110
- children: ReactNode;
121
+ children: OctaneNode;
111
122
  }) {
112
123
  const labelListEntries: ReadonlyArray<PolarLabelListEntry> = sectors.map(
113
124
  (sector: RadialBarDataItem): PolarLabelListEntry => ({
@@ -175,7 +186,7 @@ function RadialBarSectors({
175
186
  const onMouseLeave = onMouseLeaveFromContext(entry, i);
176
187
  const onClick = onClickFromContext(entry, i);
177
188
 
178
- const radialBarSectorProps: React.ComponentProps<typeof RadialBarSector> = {
189
+ const radialBarSectorProps: ComponentProps<typeof RadialBarSector> = {
179
190
  ...baseProps,
180
191
  cornerRadius: parseCornerRadius(cornerRadius),
181
192
  ...entry,
@@ -371,7 +382,7 @@ interface InternalRadialBarProps<DataPointType = any, DataValueType = any> exten
371
382
  * - `false`: no background;
372
383
  * - `true`: renders default background;
373
384
  * - `object`: the props of background rectangle;
374
- * - `ReactElement`: a custom background element;
385
+ * - `OctaneElement`: a custom background element;
375
386
  * - `function`: a render function of custom background.
376
387
  *
377
388
  * @defaultValue false
@@ -413,7 +424,7 @@ interface InternalRadialBarProps<DataPointType = any, DataValueType = any> exten
413
424
  * - `true`: renders default labels;
414
425
  * - `false`: no labels are rendered;
415
426
  * - `object`: the props of LabelList component;
416
- * - `ReactElement`: a custom SVG label element, such as `<text>` or `<g>`.
427
+ * - `OctaneElement`: a custom SVG label element, such as `<text>` or `<g>`.
417
428
  * HTML elements such as `<div>` are not valid inside the chart SVG and may trigger React DOM warnings.
418
429
  * - `function`: a render function of custom label.
419
430
  *
@@ -441,58 +452,58 @@ interface InternalRadialBarProps<DataPointType = any, DataValueType = any> exten
441
452
  /**
442
453
  * The customized event handler of click in this chart.
443
454
  */
444
- onClick?: (data: RadialBarDataItem, index: number, e: React.MouseEvent<
455
+ onClick?: (data: RadialBarDataItem, index: number, e: NativeMouseEvent<
445
456
  SVGGraphicsElement
446
457
  >) => void;
447
458
  /**
448
459
  * The customized event handler of mousedown in this chart.
449
460
  */
450
- onMouseDown?: (data: RadialBarDataItem, index: number, e: React.MouseEvent<
461
+ onMouseDown?: (data: RadialBarDataItem, index: number, e: NativeMouseEvent<
451
462
  SVGGraphicsElement
452
463
  >) => void;
453
464
  /**
454
465
  * The customized event handler of mouseup in this chart.
455
466
  */
456
- onMouseUp?: (data: RadialBarDataItem, index: number, e: React.MouseEvent<
467
+ onMouseUp?: (data: RadialBarDataItem, index: number, e: NativeMouseEvent<
457
468
  SVGGraphicsElement
458
469
  >) => void;
459
470
  /**
460
471
  * The customized event handler of mousemove in this chart.
461
472
  */
462
- onMouseMove?: (data: RadialBarDataItem, index: number, e: React.MouseEvent<
473
+ onMouseMove?: (data: RadialBarDataItem, index: number, e: NativeMouseEvent<
463
474
  SVGGraphicsElement
464
475
  >) => void;
465
476
  /**
466
477
  * The customized event handler of mouseover in this chart.
467
478
  */
468
- onMouseOver?: (data: RadialBarDataItem, index: number, e: React.MouseEvent<
479
+ onMouseOver?: (data: RadialBarDataItem, index: number, e: NativeMouseEvent<
469
480
  SVGGraphicsElement
470
481
  >) => void;
471
482
  /**
472
483
  * The customized event handler of mouseout in this chart.
473
484
  */
474
- onMouseOut?: (data: RadialBarDataItem, index: number, e: React.MouseEvent<
485
+ onMouseOut?: (data: RadialBarDataItem, index: number, e: NativeMouseEvent<
475
486
  SVGGraphicsElement
476
487
  >) => void;
477
488
  /**
478
489
  * The customized event handler of mouseenter in this chart.
479
490
  */
480
- onMouseEnter?: (data: RadialBarDataItem, index: number, e: React.MouseEvent<
491
+ onMouseEnter?: (data: RadialBarDataItem, index: number, e: NativeMouseEvent<
481
492
  SVGGraphicsElement
482
493
  >) => void;
483
494
  /**
484
495
  * The customized event handler of mouseleave in this chart.
485
496
  */
486
- onMouseLeave?: (data: RadialBarDataItem, index: number, e: React.MouseEvent<
497
+ onMouseLeave?: (data: RadialBarDataItem, index: number, e: NativeMouseEvent<
487
498
  SVGGraphicsElement
488
499
  >) => void;
489
- onTouchStart?: (data: RadialBarDataItem, index: number, e: React.TouchEvent<
500
+ onTouchStart?: (data: RadialBarDataItem, index: number, e: NativeTouchEvent<
490
501
  SVGGraphicsElement
491
502
  >) => void;
492
- onTouchMove?: (data: RadialBarDataItem, index: number, e: React.TouchEvent<
503
+ onTouchMove?: (data: RadialBarDataItem, index: number, e: NativeTouchEvent<
493
504
  SVGGraphicsElement
494
505
  >) => void;
495
- onTouchEnd?: (data: RadialBarDataItem, index: number, e: React.TouchEvent<
506
+ onTouchEnd?: (data: RadialBarDataItem, index: number, e: NativeTouchEvent<
496
507
  SVGGraphicsElement
497
508
  >) => void;
498
509
  /**
@@ -500,7 +511,7 @@ interface InternalRadialBarProps<DataPointType = any, DataValueType = any> exten
500
511
  */
501
512
  radiusAxisId?: AxisId;
502
513
  /**
503
- * If set a ReactElement, the shape of radial bar sectors can be customized.
514
+ * If set a OctaneElement, the shape of radial bar sectors can be customized.
504
515
  * If set a function, the function will be called to render customized shape.
505
516
  * During animations, the function shape also receives `animationElapsedTime`, `isAnimating`, and `isEntrance`.
506
517
  * By default, renders a sector.
@@ -594,10 +605,9 @@ function renderBackground(props: InternalProps, sectors?: ReadonlyArray<RadialBa
594
605
  return null;
595
606
  }
596
607
 
597
- const sectorProps: React.ComponentProps<typeof RadialBarSector> = {
608
+ const sectorProps: ComponentProps<typeof RadialBarSector> = {
598
609
  cornerRadius: parseCornerRadius(cornerRadius),
599
610
  ...rest,
600
- // @ts-expect-error backgroundProps is contributing unknown props
601
611
  fill: '#eee',
602
612
  ...background,
603
613
  ...backgroundProps,
@@ -755,7 +765,7 @@ export function computeRadialBarDataItems({
755
765
  cx: number;
756
766
  cy: number;
757
767
  angleAxisTicks: ReadonlyArray<TickItem> | undefined;
758
- cells: ReadonlyArray<ReactElement> | undefined;
768
+ cells: ReadonlyArray<RegisteredCell> | undefined;
759
769
  startAngle: number;
760
770
  endAngle: number;
761
771
  }): ReadonlyArray<RadialBarDataItem> {
@@ -764,12 +774,18 @@ export function computeRadialBarDataItems({
764
774
  }
765
775
 
766
776
  return (displayedData ?? []).map((entry: unknown, index: number) => {
767
- let value, innerRadius: number | null | undefined, outerRadius: | number
768
- | undefined, startAngle: number | null, endAngle: number, backgroundSector;
777
+ let value;
778
+ let innerRadius: number | null | undefined;
779
+ let outerRadius: number | undefined;
780
+ let startAngle: number | null;
781
+ let endAngle: number | undefined;
782
+ let backgroundSector;
769
783
 
770
784
  if (stackedData) {
771
- // @ts-expect-error truncateByDomain expects only numerical domain, but it can received categorical domain too
772
- value = truncateByDomain(stackedData[dataStartIndex + index], stackedDomain);
785
+ value = truncateByDomain(
786
+ stackedData[dataStartIndex + index],
787
+ stackedDomain as readonly number[],
788
+ );
773
789
  } else {
774
790
  value = getValueByDataKey(entry, dataKey);
775
791
  if (!Array.isArray(value)) {
@@ -833,20 +849,21 @@ export function computeRadialBarDataItems({
833
849
  }
834
850
  }
835
851
 
852
+ // Unresolved scale values use the same zero geometry as the default
853
+ // Sector. Keep the row so custom shapes, Cell overrides, and tooltip
854
+ // indices still refer to the original datum.
836
855
  return {
837
- // @ts-expect-error can't spread unknown
838
- ...entry,
856
+ ...entry as Record<string, unknown>,
839
857
  ...backgroundSector,
840
858
  payload: entry,
841
859
  value: stackedData ? value : value[1],
842
860
  cx,
843
861
  cy,
844
- innerRadius,
845
- outerRadius,
846
- startAngle,
847
- // @ts-expect-error endAngle is used before assigned (?)
848
- endAngle,
849
- ...cells && cells[index] && cells[index].props,
862
+ innerRadius: innerRadius ?? defaultSectorProps.innerRadius,
863
+ outerRadius: outerRadius ?? defaultSectorProps.outerRadius,
864
+ startAngle: startAngle ?? defaultSectorProps.startAngle,
865
+ endAngle: endAngle ?? defaultSectorProps.endAngle,
866
+ ...cells && cells[index] && cells[index].props as CellPropsFor<SVGPathElement>,
850
867
  } satisfies RadialBarDataItem;
851
868
  });
852
869
  }
@@ -1,10 +1,10 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/polar/defaultPolarAngleAxisProps.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.
2
+ import { Props } from './PolarAngleAxis.tsrx';
3
3
  import { DefaultZIndexes } from '../zIndex/DefaultZIndexes';
4
- export var defaultPolarAngleAxisProps = {
4
+
5
+ export const defaultPolarAngleAxisProps = {
5
6
  allowDecimals: false,
6
- allowDuplicatedCategory: true,
7
- // if I set this to false then Tooltip synchronisation stops working in Radar, wtf
7
+ allowDuplicatedCategory: true, // if I set this to false then Tooltip synchronisation stops working in Radar, wtf
8
8
  allowDataOverflow: false,
9
9
  angle: 0,
10
10
  angleAxisId: 0,
@@ -24,4 +24,4 @@ export var defaultPolarAngleAxisProps = {
24
24
  tickSize: 8,
25
25
  type: 'auto',
26
26
  zIndex: DefaultZIndexes.axis,
27
- };
27
+ } as const satisfies Props;
@@ -1,7 +1,8 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/polar/defaultPolarRadiusAxisProps.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.
2
+ import { Props } from './PolarRadiusAxis.tsrx';
3
3
  import { DefaultZIndexes } from '../zIndex/DefaultZIndexes';
4
- export var defaultPolarRadiusAxisProps = {
4
+
5
+ export const defaultPolarRadiusAxisProps = {
5
6
  allowDataOverflow: false,
6
7
  allowDecimals: false,
7
8
  allowDuplicatedCategory: true,
@@ -21,4 +22,4 @@ export var defaultPolarRadiusAxisProps = {
21
22
  tickLine: true,
22
23
  type: 'auto',
23
24
  zIndex: DefaultZIndexes.axis,
24
- };
25
+ } as const satisfies Props;