@octanejs/recharts 0.1.41 → 0.1.43

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,22 +1,24 @@
1
- import * as React from 'octane';
2
- import {
1
+ import type {
3
2
  FunctionComponent,
4
- ReactNode,
3
+ NativeMouseEvent,
4
+ NativeTouchEvent,
5
+ OctaneNode,
5
6
  SVGProps,
6
- useEffect,
7
- useMemo,
8
- type OctaneNode,
9
- } from 'octane';
7
+ SVGPropsForHost,
8
+ } from '../util/OctaneTypes.ts';
9
+ import * as React from 'octane';
10
+ import { useEffect, useMemo } from 'octane';
10
11
  import { clsx } from 'clsx';
11
- import { Layer } from '../container/Layer';
12
- import { Dot } from '../shape/Dot';
13
- import { Polygon } from '../shape/Polygon';
14
- import { Text, TextAnchor, TextVerticalAnchor } from '../component/Text';
12
+ import { Layer } from '../container/Layer.tsrx';
13
+ import { Dot } from '../shape/Dot.tsrx';
14
+ import { Polygon } from '../shape/Polygon.tsrx';
15
+ import { Text, TextAnchor, TextVerticalAnchor } from '../component/Text.tsrx';
15
16
  import {
16
17
  adaptEventsOfChild,
17
18
  AxisDomain,
19
+ AxisTick,
18
20
  AxisDomainTypeInput,
19
- BaseTickContentProps,
21
+ PolarTickContentProps,
20
22
  EvaluatedAxisDomainType,
21
23
  PresentationAttributesAdaptChildEvent,
22
24
  RenderableAxisProps,
@@ -40,7 +42,7 @@ import {
40
42
  svgPropertiesNoEventsFromUnknown,
41
43
  } from '../util/svgPropertiesNoEvents';
42
44
  import { RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
43
- import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer';
45
+ import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
44
46
  import { RechartsScale } from '../util/scale/RechartsScale';
45
47
  import type { CustomScaleDefinition } from '../util/scale/CustomScaleDefinition';
46
48
  import { usePolarChartLayout } from '../context/chartLayoutContext';
@@ -68,7 +70,7 @@ export interface PolarAngleAxisProps<DataPointType = any, DataValueType = any> e
68
70
  * @example <PolarAngleAxis axisLine={false} />
69
71
  * @example <PolarAngleAxis stroke='red' strokeWidth={2} strokeDasharray={4} />
70
72
  */
71
- axisLine?: boolean | SVGProps<SVGLineElement>;
73
+ axisLine?: boolean | SVGProps<SVGCircleElement | SVGPathElement>;
72
74
  /**
73
75
  * @defaultValue false
74
76
  */
@@ -166,12 +168,12 @@ export interface PolarAngleAxisProps<DataPointType = any, DataValueType = any> e
166
168
  * - `false`: Do not render any tick labels.
167
169
  * - `true`: Render tick labels with default settings.
168
170
  * - `object`: An object of props to be merged into the internally calculated tick props.
169
- * - `ReactElement`: A custom React element to be used as the tick label.
171
+ * - `OctaneElement`: A custom React element to be used as the tick label.
170
172
  * - `function`: A function that returns a React element for custom rendering of tick labels.
171
173
  *
172
174
  * @defaultValue true
173
175
  */
174
- tick?: TickProp<BaseTickContentProps>;
176
+ tick?: TickProp<PolarTickContentProps>;
175
177
  /**
176
178
  * The count of axis ticks. Not used if 'type' is 'category'.
177
179
  */
@@ -194,9 +196,9 @@ export interface PolarAngleAxisProps<DataPointType = any, DataValueType = any> e
194
196
  */
195
197
  tickSize?: number;
196
198
  /**
197
- * The array of every tick's value and angle.
199
+ * The array of tick values to map through the axis scale.
198
200
  */
199
- ticks?: ReadonlyArray<TickItem>;
201
+ ticks?: ReadonlyArray<AxisTick>;
200
202
  /**
201
203
  * The type of axis.
202
204
  *
@@ -228,45 +230,45 @@ type PolarAngleAxisEvents = {
228
230
  /**
229
231
  * The customized event handler of click on the ticks of this axis
230
232
  */
231
- onClick?: (data: TickItem, index: number, e: React.MouseEvent<SVGTextElement>) => void;
233
+ onClick?: (data: TickItem, index: number, e: NativeMouseEvent<SVGGElement>) => void;
232
234
  /**
233
235
  * The customized event handler of mousedown on the ticks of this axis
234
236
  */
235
- onMouseDown?: (data: TickItem, index: number, e: React.MouseEvent<SVGTextElement>) => void;
237
+ onMouseDown?: (data: TickItem, index: number, e: NativeMouseEvent<SVGGElement>) => void;
236
238
  /**
237
239
  * The customized event handler of mouseup on the ticks of this axis
238
240
  */
239
- onMouseUp?: (data: TickItem, index: number, e: React.MouseEvent<SVGTextElement>) => void;
241
+ onMouseUp?: (data: TickItem, index: number, e: NativeMouseEvent<SVGGElement>) => void;
240
242
  /**
241
243
  * The customized event handler of mousemove on the ticks of this axis
242
244
  */
243
- onMouseMove?: (data: TickItem, index: number, e: React.MouseEvent<SVGTextElement>) => void;
245
+ onMouseMove?: (data: TickItem, index: number, e: NativeMouseEvent<SVGGElement>) => void;
244
246
  /**
245
247
  * The customized event handler of mouseover on the ticks of this axis
246
248
  */
247
- onMouseOver?: (data: TickItem, index: number, e: React.MouseEvent<SVGTextElement>) => void;
249
+ onMouseOver?: (data: TickItem, index: number, e: NativeMouseEvent<SVGGElement>) => void;
248
250
  /**
249
251
  * The customized event handler of mouseout on the ticks of this axis
250
252
  */
251
- onMouseOut?: (data: TickItem, index: number, e: React.MouseEvent<SVGTextElement>) => void;
253
+ onMouseOut?: (data: TickItem, index: number, e: NativeMouseEvent<SVGGElement>) => void;
252
254
  /**
253
255
  * The customized event handler of mouseenter on the ticks of this axis
254
256
  */
255
- onMouseEnter?: (data: TickItem, index: number, e: React.MouseEvent<SVGTextElement>) => void;
257
+ onMouseEnter?: (data: TickItem, index: number, e: NativeMouseEvent<SVGGElement>) => void;
256
258
  /**
257
259
  * The customized event handler of mouseleave on the ticks of this axis
258
260
  */
259
- onMouseLeave?: (data: TickItem, index: number, e: React.MouseEvent<SVGTextElement>) => void;
260
- onTouchStart?: (data: TickItem, index: number, e: React.TouchEvent<SVGTextElement>) => void;
261
- onTouchMove?: (data: TickItem, index: number, e: React.TouchEvent<SVGTextElement>) => void;
262
- onTouchEnd?: (data: TickItem, index: number, e: React.TouchEvent<SVGTextElement>) => void;
261
+ onMouseLeave?: (data: TickItem, index: number, e: NativeMouseEvent<SVGGElement>) => void;
262
+ onTouchStart?: (data: TickItem, index: number, e: NativeTouchEvent<SVGGElement>) => void;
263
+ onTouchMove?: (data: TickItem, index: number, e: NativeTouchEvent<SVGGElement>) => void;
264
+ onTouchEnd?: (data: TickItem, index: number, e: NativeTouchEvent<SVGGElement>) => void;
263
265
  };
264
266
 
265
267
  type AxisSvgProps =
266
268
  Omit<
267
- PresentationAttributesAdaptChildEvent<TickItem, SVGTextElement>,
268
- 'scale' | 'type' | 'dangerouslySetInnerHTML'
269
- >;
269
+ PresentationAttributesAdaptChildEvent<TickItem, SVGGElement>,
270
+ 'scale' | 'type' | 'dangerouslySetInnerHTML' | 'ref'
271
+ > & { ref?: never };
270
272
 
271
273
  export type Props<DataPointType = any, DataValueType = any> =
272
274
  AxisSvgProps & PolarAngleAxisProps<DataPointType, DataValueType>;
@@ -275,7 +277,7 @@ type PropsWithDefaults<DataPointType = any, DataValueType = any> =
275
277
  RequiresDefaultProps<Props<DataPointType, DataValueType>, typeof defaultPolarAngleAxisProps>;
276
278
 
277
279
  type InternalPolarAngleAxisProps =
278
- Omit<PropsWithDefaults, 'scale'> & {
280
+ Omit<PropsWithDefaults, 'scale' | 'ticks'> & {
279
281
  cx: number;
280
282
  cy: number;
281
283
  radius: number;
@@ -287,11 +289,11 @@ const AXIS_TYPE = 'angleAxis';
287
289
 
288
290
  type AngleAxisSettingsReporter =
289
291
  Omit<AngleAxisSettings, 'type'> & {
290
- children: ReactNode;
292
+ children: OctaneNode;
291
293
  type: AxisDomainTypeInput;
292
294
  };
293
295
 
294
- function SetAngleAxisSettings(props: AngleAxisSettingsReporter): ReactNode {
296
+ function SetAngleAxisSettings(props: AngleAxisSettingsReporter): OctaneNode {
295
297
  const dispatch = useAppDispatch();
296
298
  const layout = usePolarChartLayout();
297
299
  const settings: AngleAxisSettings | undefined = useMemo(() => {
@@ -401,10 +403,9 @@ const AxisLine = (props: InternalPolarAngleAxisProps) => {
401
403
  };
402
404
 
403
405
  if (axisLineType === 'circle') {
404
- // @ts-expect-error wrong SVG element type
405
406
  return <Dot
406
407
  className="recharts-polar-angle-axis-line"
407
- {...axisLineProps}
408
+ {...axisLineProps as SVGPropsForHost<typeof axisLineProps, SVGCircleElement>}
408
409
  cx={cx}
409
410
  cy={cy}
410
411
  r={radius}
@@ -412,17 +413,20 @@ const AxisLine = (props: InternalPolarAngleAxisProps) => {
412
413
  }
413
414
  const points = ticks.map((entry) => polarToCartesian(cx, cy, radius, entry.coordinate));
414
415
 
415
- // @ts-expect-error wrong SVG element type
416
- return <Polygon className="recharts-polar-angle-axis-line" {...axisLineProps} points={points} />;
416
+ return <Polygon
417
+ className="recharts-polar-angle-axis-line"
418
+ {...axisLineProps as SVGPropsForHost<typeof axisLineProps, SVGPathElement>}
419
+ points={points}
420
+ />;
417
421
  };
418
422
 
419
423
  type TickItemProps = {
420
- tick: TickProp<BaseTickContentProps>;
421
- tickProps: BaseTickContentProps;
424
+ tick: TickProp<PolarTickContentProps>;
425
+ tickProps: PolarTickContentProps;
422
426
  value: string | number;
423
427
  };
424
428
 
425
- const TickItemText = ({ tick, tickProps, value }: TickItemProps): ReactNode => {
429
+ const TickItemText = ({ tick, tickProps, value }: TickItemProps): OctaneNode => {
426
430
  if (!tick) {
427
431
  return null;
428
432
  }
@@ -449,14 +453,11 @@ const Ticks = (props: InternalPolarAngleAxisProps) => {
449
453
  const lineCoord = getTickLineCoord(entry, props);
450
454
  const textAnchor: TextAnchor = getTickTextAnchor(entry, props.orientation);
451
455
  const verticalAnchor: TextVerticalAnchor = getTickTextVerticalAnchor(entry);
452
- const tickProps: BaseTickContentProps = {
456
+ const tickProps: PolarTickContentProps = {
453
457
  ...axisProps,
454
- // @ts-expect-error customTickProps is contributing unknown props
455
458
  textAnchor,
456
459
  verticalAnchor,
457
- // @ts-expect-error customTickProps is contributing unknown props
458
460
  stroke: 'none',
459
- // @ts-expect-error customTickProps is contributing unknown props
460
461
  fill: stroke,
461
462
  ...customTickProps,
462
463
  index: i,
@@ -542,7 +543,6 @@ export function PolarAngleAxis<DataPointType = any, DataValueType = any>(
542
543
  allowDecimals={props.allowDecimals}
543
544
  tickCount={props.tickCount}
544
545
  niceTicks={props.niceTicks ?? 'auto'}
545
- // @ts-expect-error the type does not match. Is RadiusAxis really expecting what it says?
546
546
  ticks={props.ticks}
547
547
  tick={props.tick}
548
548
  domain={props.domain}
@@ -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) {