@octanejs/recharts 0.1.41 → 0.1.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/{LICENSE → LICENSE.recharts} +3 -2
  2. package/README.md +12 -0
  3. package/package.json +10 -9
  4. package/src/animation/AnimatedItems.tsrx +36 -3
  5. package/src/animation/AnimationController.ts +17 -65
  6. package/src/animation/{AnimationControllerImpl.js → AnimationControllerImpl.ts} +19 -12
  7. package/src/animation/{AnimationHandle.js → AnimationHandle.ts} +82 -65
  8. package/src/animation/CSSTransitionAnimate.tsrx +3 -2
  9. package/src/animation/JavascriptAnimate.tsrx +18 -2
  10. package/src/animation/easing.ts +235 -0
  11. package/src/animation/{matchBy.js → matchBy.ts} +76 -120
  12. package/src/animation/timeoutController.ts +71 -0
  13. package/src/animation/useAnimationController.ts +4 -1
  14. package/src/animation/useAnimationStartSnapshot.ts +3 -3
  15. package/src/animation/util.ts +12 -0
  16. package/src/cartesian/Area.tsrx +33 -31
  17. package/src/cartesian/AreaRevealShape.tsrx +4 -3
  18. package/src/cartesian/Bar.ts +1 -0
  19. package/src/cartesian/Bar.tsrx +293 -39
  20. package/src/cartesian/BarStack.tsrx +31 -9
  21. package/src/cartesian/CartesianAxis.tsrx +154 -22
  22. package/src/cartesian/CartesianGrid.tsrx +5 -6
  23. package/src/cartesian/ErrorBar.tsrx +9 -8
  24. package/src/cartesian/Funnel.tsrx +40 -37
  25. package/src/cartesian/GraphicalItemClipPath.tsrx +11 -4
  26. package/src/cartesian/Line.ts +1 -0
  27. package/src/cartesian/Line.tsrx +206 -28
  28. package/src/cartesian/LineDrawShape.tsrx +23 -10
  29. package/src/cartesian/ReferenceLine.tsrx +8 -8
  30. package/src/cartesian/Scatter.tsrx +61 -66
  31. package/src/cartesian/XAxis.tsrx +78 -9
  32. package/src/cartesian/YAxis.tsrx +85 -12
  33. package/src/cartesian/getCartesianPosition.ts +265 -0
  34. package/src/cartesian/getEquidistantTicks.ts +144 -0
  35. package/src/cartesian/getTicks.ts +221 -0
  36. package/src/chart/AreaChart.tsrx +5 -1
  37. package/src/chart/BarChart.tsrx +8 -2
  38. package/src/chart/CartesianChart.tsrx +17 -4
  39. package/src/chart/CategoricalChart.tsrx +4 -1
  40. package/src/chart/ComposedChart.tsrx +5 -1
  41. package/src/chart/FunnelChart.tsrx +5 -1
  42. package/src/chart/LineChart.tsrx +8 -2
  43. package/src/chart/PieChart.tsrx +6 -2
  44. package/src/chart/PolarChart.tsrx +5 -4
  45. package/src/chart/RadarChart.tsrx +6 -2
  46. package/src/chart/RadialBarChart.tsrx +6 -2
  47. package/src/chart/RechartsWrapper.tsrx +57 -21
  48. package/src/chart/Sankey.tsrx +89 -91
  49. package/src/chart/ScatterChart.tsrx +5 -1
  50. package/src/chart/SunburstChart.tsrx +21 -14
  51. package/src/chart/types.ts +0 -1
  52. package/src/component/ActivePoints.tsrx +30 -5
  53. package/src/component/Cell.ts +19 -1
  54. package/src/component/Cursor.tsrx +11 -10
  55. package/src/component/DefaultLegendContent.tsrx +15 -10
  56. package/src/component/DefaultTooltipContent.tsrx +11 -9
  57. package/src/component/Dots.tsrx +37 -6
  58. package/src/component/Label.tsrx +99 -19
  59. package/src/component/LabelList.tsrx +54 -5
  60. package/src/component/Legend.tsrx +9 -5
  61. package/src/component/ResponsiveContainer.tsrx +13 -10
  62. package/src/component/Text.tsrx +95 -32
  63. package/src/component/Tooltip.tsrx +11 -10
  64. package/src/component/TooltipBoundingBox.tsrx +4 -5
  65. package/src/component/{responsiveContainerUtils.js → responsiveContainerUtils.ts} +59 -36
  66. package/src/container/ClipPathProvider.tsrx +6 -2
  67. package/src/container/Layer.tsrx +8 -1
  68. package/src/container/RootSurface.tsrx +15 -4
  69. package/src/container/Surface.tsrx +15 -1
  70. package/src/context/CellsContext.ts +6 -5
  71. package/src/context/ErrorBarContext.tsrx +23 -4
  72. package/src/context/RegisterGraphicalItemId.tsrx +10 -2
  73. package/src/context/accessibilityContext.ts +5 -0
  74. package/src/context/brushUpdateContext.ts +11 -0
  75. package/src/context/chartDataContext.ts +5 -4
  76. package/src/context/chartLayoutContext.ts +22 -8
  77. package/src/context/legendPayloadContext.tsrx +1 -1
  78. package/src/context/tooltipContext.ts +83 -0
  79. package/src/{hooks.js → hooks.ts} +88 -66
  80. package/src/index.ts +37 -37
  81. package/src/legacy-props.ts +129 -0
  82. package/src/polar/Pie.tsrx +91 -69
  83. package/src/polar/PolarAngleAxis.tsrx +47 -47
  84. package/src/polar/PolarGrid.tsrx +7 -6
  85. package/src/polar/PolarRadiusAxis.tsrx +29 -21
  86. package/src/polar/Radar.tsrx +26 -19
  87. package/src/polar/RadialBar.tsrx +59 -42
  88. package/src/polar/{defaultPolarAngleAxisProps.js → defaultPolarAngleAxisProps.ts} +6 -6
  89. package/src/polar/{defaultPolarRadiusAxisProps.js → defaultPolarRadiusAxisProps.ts} +5 -4
  90. package/src/shape/Cross.tsrx +14 -2
  91. package/src/shape/Curve.tsrx +111 -23
  92. package/src/shape/Dot.tsrx +12 -1
  93. package/src/shape/Polygon.tsrx +28 -6
  94. package/src/shape/Rectangle.tsrx +30 -3
  95. package/src/shape/Sector.tsrx +48 -6
  96. package/src/shape/Symbols.tsrx +24 -6
  97. package/src/shape/Trapezoid.tsrx +33 -3
  98. package/src/state/RechartsStoreProvider.tsrx +11 -2
  99. package/src/state/ReportChartProps.ts +2 -2
  100. package/src/state/ReportMainChartProps.ts +2 -1
  101. package/src/state/SetGraphicalItem.ts +6 -4
  102. package/src/state/SetLegendPayload.ts +7 -4
  103. package/src/state/SetTooltipEntrySettings.ts +5 -2
  104. package/src/state/brushSlice.ts +40 -0
  105. package/src/state/cartesianAxisSlice.ts +291 -0
  106. package/src/state/chartDataSlice.ts +87 -0
  107. package/src/state/errorBarSlice.ts +78 -0
  108. package/src/state/eventSettingsSlice.ts +30 -0
  109. package/src/state/{externalEventsMiddleware.js → externalEventsMiddleware.ts} +55 -34
  110. package/src/state/graphicalItemsSlice.ts +180 -0
  111. package/src/state/{keyboardEventsMiddleware.js → keyboardEventsMiddleware.ts} +72 -57
  112. package/src/state/layoutSlice.ts +50 -0
  113. package/src/state/legendSlice.ts +109 -0
  114. package/src/state/{mouseEventsMiddleware.js → mouseEventsMiddleware.ts} +45 -35
  115. package/src/state/optionsSlice.ts +65 -0
  116. package/src/state/polarAxisSlice.ts +42 -0
  117. package/src/state/polarOptionsSlice.ts +43 -0
  118. package/src/state/reduxDevtoolsJsonStringifyReplacer.ts +13 -0
  119. package/src/state/referenceElementsSlice.ts +100 -0
  120. package/src/state/renderedTicksSlice.ts +60 -0
  121. package/src/state/rootPropsSlice.ts +72 -0
  122. package/src/state/selectors/areaSelectors.ts +1 -2
  123. package/src/state/selectors/{arrayEqualityCheck.js → arrayEqualityCheck.ts} +4 -5
  124. package/src/state/selectors/axisSelectors.ts +2502 -0
  125. package/src/state/selectors/barSelectors.ts +373 -0
  126. package/src/state/selectors/barStackSelectors.ts +99 -0
  127. package/src/state/selectors/brushSelectors.ts +28 -0
  128. package/src/state/selectors/combiners/combineActiveLabel.ts +16 -0
  129. package/src/state/selectors/combiners/{combineActiveTooltipIndex.js → combineActiveTooltipIndex.ts} +45 -23
  130. package/src/state/selectors/combiners/combineAllBarPositions.ts +130 -0
  131. package/src/state/selectors/combiners/combineAxisRangeWithReverse.ts +16 -0
  132. package/src/state/selectors/combiners/combineBarPosition.ts +23 -0
  133. package/src/state/selectors/combiners/combineBarSizeList.ts +79 -0
  134. package/src/state/selectors/combiners/{combineCheckedDomain.js → combineCheckedDomain.ts} +9 -6
  135. package/src/state/selectors/combiners/combineConfiguredScale.ts +100 -0
  136. package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.ts +46 -0
  137. package/src/state/selectors/combiners/{combineDisplayedStackedData.js → combineDisplayedStackedData.ts} +23 -19
  138. package/src/state/selectors/combiners/combineInverseScaleFunction.ts +16 -0
  139. package/src/state/selectors/combiners/{combineRealScaleType.js → combineRealScaleType.ts} +16 -8
  140. package/src/state/selectors/combiners/combineStackedData.ts +27 -0
  141. package/src/state/selectors/combiners/combineTooltipInteractionState.ts +86 -0
  142. package/src/state/selectors/combiners/combineTooltipPayload.ts +201 -0
  143. package/src/state/selectors/combiners/{combineTooltipPayloadConfigurations.js → combineTooltipPayloadConfigurations.ts} +17 -18
  144. package/src/state/selectors/containerSelectors.ts +12 -0
  145. package/src/state/selectors/{dataSelectors.js → dataSelectors.ts} +43 -41
  146. package/src/state/selectors/funnelSelectors.ts +5 -5
  147. package/src/state/selectors/graphicalItemSelectors.ts +22 -0
  148. package/src/state/selectors/legendSelectors.ts +25 -0
  149. package/src/state/selectors/lineSelectors.ts +159 -0
  150. package/src/state/selectors/numberDomainEqualityCheck.ts +15 -0
  151. package/src/state/selectors/pickAxisId.ts +6 -0
  152. package/src/state/selectors/pickAxisType.ts +4 -0
  153. package/src/state/selectors/pieSelectors.ts +14 -13
  154. package/src/state/selectors/polarAxisSelectors.ts +223 -0
  155. package/src/state/selectors/polarSelectors.ts +1 -1
  156. package/src/state/selectors/radarSelectors.ts +1 -1
  157. package/src/state/selectors/radialBarSelectors.ts +17 -16
  158. package/src/state/selectors/rootPropsSelectors.ts +26 -0
  159. package/src/state/selectors/scatterSelectors.ts +11 -10
  160. package/src/state/selectors/{selectActivePropsFromChartPointer.js → selectActivePropsFromChartPointer.ts} +11 -4
  161. package/src/state/selectors/selectAllAxes.ts +20 -0
  162. package/src/state/selectors/selectChartOffset.ts +17 -0
  163. package/src/state/selectors/selectChartOffsetInternal.ts +147 -0
  164. package/src/state/selectors/{selectPlotArea.js → selectPlotArea.ts} +4 -3
  165. package/src/state/selectors/selectTooltipAxisId.ts +6 -0
  166. package/src/state/selectors/{selectTooltipAxisType.js → selectTooltipAxisType.ts} +10 -4
  167. package/src/state/selectors/selectTooltipEventType.ts +39 -0
  168. package/src/state/selectors/selectTooltipPayloadSearcher.ts +6 -0
  169. package/src/state/selectors/selectTooltipSettings.ts +6 -0
  170. package/src/state/selectors/selectTooltipState.ts +5 -0
  171. package/src/state/selectors/selectors.ts +315 -0
  172. package/src/state/selectors/tooltipSelectors.ts +611 -0
  173. package/src/state/selectors/touchSelectors.ts +52 -0
  174. package/src/state/{store.js → store.ts} +46 -36
  175. package/src/state/tooltipSlice.ts +507 -0
  176. package/src/state/{touchEventsMiddleware.js → touchEventsMiddleware.ts} +54 -42
  177. package/src/state/types/AreaSettings.ts +15 -0
  178. package/src/state/types/BarSettings.ts +15 -0
  179. package/src/state/types/LineSettings.ts +10 -0
  180. package/src/state/types/PieSettings.ts +32 -0
  181. package/src/state/types/RadarSettings.ts +6 -0
  182. package/src/state/types/RadialBarSettings.ts +10 -0
  183. package/src/state/types/ScatterSettings.ts +13 -0
  184. package/src/state/types/StackedGraphicalItem.ts +34 -0
  185. package/src/state/zIndexSlice.ts +137 -0
  186. package/src/synchronisation/syncSelectors.ts +7 -0
  187. package/src/synchronisation/types.ts +42 -0
  188. package/src/synchronisation/useChartSynchronisation.tsrx +26 -11
  189. package/src/types.ts +55 -0
  190. package/src/util/ActiveShapeUtils.tsrx +34 -10
  191. package/src/util/BarUtils.tsrx +43 -3
  192. package/src/util/{CartesianUtils.js → CartesianUtils.ts} +22 -39
  193. package/src/util/ChartUtils.ts +759 -0
  194. package/src/util/{Constants.js → Constants.ts} +6 -6
  195. package/src/util/DOMUtils.ts +135 -0
  196. package/src/util/{DataUtils.js → DataUtils.ts} +120 -47
  197. package/src/util/Events.ts +22 -0
  198. package/src/util/FunnelUtils.tsrx +3 -3
  199. package/src/util/Global.ts +13 -0
  200. package/src/util/IfOverflow.ts +16 -0
  201. package/src/util/LRUCache.ts +42 -0
  202. package/src/util/{LogUtils.js → LogUtils.ts} +7 -12
  203. package/src/util/OctaneTypes.ts +51 -0
  204. package/src/util/PolarUtils.ts +132 -0
  205. package/src/util/RadialBarUtils.tsrx +3 -3
  206. package/src/util/ReduceCSSCalc.ts +186 -0
  207. package/src/util/ScatterUtils.tsrx +9 -7
  208. package/src/util/{TickUtils.js → TickUtils.ts} +30 -13
  209. package/src/util/{YAxisUtils.js → YAxisUtils.ts} +27 -17
  210. package/src/util/axisPropsAreEqual.ts +49 -0
  211. package/src/util/createEventProxy.ts +20 -0
  212. package/src/util/{excludeEventProps.js → excludeEventProps.ts} +8 -6
  213. package/src/util/getActiveCoordinate.ts +210 -0
  214. package/src/util/{getAxisTypeBasedOnLayout.js → getAxisTypeBasedOnLayout.ts} +7 -3
  215. package/src/util/getClassNameFromUnknown.ts +7 -0
  216. package/src/util/{getEveryNth.js → getEveryNth.ts} +5 -6
  217. package/src/util/getRadiusAndStrokeWidthFromDot.ts +31 -0
  218. package/src/util/{getRelativeCoordinate.js → getRelativeCoordinate.ts} +26 -9
  219. package/src/util/getSliced.ts +14 -0
  220. package/src/util/{isDomainSpecifiedByUser.js → isDomainSpecifiedByUser.ts} +46 -100
  221. package/src/util/isWellBehavedNumber.ts +8 -0
  222. package/src/util/payload/getUniqPayload.ts +1 -1
  223. package/src/util/{propsAreEqual.js → propsAreEqual.ts} +10 -8
  224. package/src/util/{resolveDefaultProps.js → resolveDefaultProps.ts} +35 -57
  225. package/src/util/round.ts +33 -0
  226. package/src/util/scale/CustomScaleDefinition.ts +82 -0
  227. package/src/util/scale/RechartsScale.ts +131 -0
  228. package/src/util/scale/{createCategoricalInverse.js → createCategoricalInverse.ts} +24 -29
  229. package/src/util/scale/{getNiceTickValues.js → getNiceTickValues.ts} +125 -146
  230. package/src/util/scale/index.ts +2 -0
  231. package/src/util/scale/util/{arithmetic.js → arithmetic.ts} +12 -8
  232. package/src/util/stacks/getStackSeriesIdentifier.ts +21 -0
  233. package/src/util/stacks/stackTypes.ts +58 -0
  234. package/src/util/{svgPropertiesNoEvents.js → svgPropertiesNoEvents.ts} +52 -27
  235. package/src/util/tooltip/translate.ts +2 -1
  236. package/src/util/typedDataKey.ts +49 -0
  237. package/src/util/types.ts +1265 -7
  238. package/src/util/{useUniqueId.js → useUniqueId.ts} +9 -5
  239. package/src/zIndex/{DefaultZIndexes.js → DefaultZIndexes.ts} +13 -4
  240. package/src/zIndex/ZIndexLayer.tsrx +13 -4
  241. package/src/zIndex/ZIndexPortal.tsrx +14 -4
  242. package/src/zIndex/{getZIndexFromUnknown.js → getZIndexFromUnknown.ts} +3 -3
  243. package/src/zIndex/{zIndexSelectors.js → zIndexSelectors.ts} +17 -11
  244. package/src/animation/easing.js +0 -193
  245. package/src/animation/timeoutController.js +0 -49
  246. package/src/animation/util.js +0 -11
  247. package/src/cartesian/Area.tsrx.d.ts +0 -340
  248. package/src/cartesian/Bar.tsrx.d.ts +0 -4
  249. package/src/cartesian/BarStack.tsrx.d.ts +0 -6
  250. package/src/cartesian/CartesianAxis.tsrx.d.ts +0 -3
  251. package/src/cartesian/CartesianGrid.tsrx.d.ts +0 -219
  252. package/src/cartesian/ErrorBar.tsrx.d.ts +0 -131
  253. package/src/cartesian/Funnel.tsrx.d.ts +0 -274
  254. package/src/cartesian/Line.tsrx.d.ts +0 -4
  255. package/src/cartesian/LineDrawShape.tsrx.d.ts +0 -2
  256. package/src/cartesian/ReferenceLine.tsrx.d.ts +0 -178
  257. package/src/cartesian/Scatter.tsrx.d.ts +0 -351
  258. package/src/cartesian/XAxis.tsrx.d.ts +0 -3
  259. package/src/cartesian/YAxis.tsrx.d.ts +0 -3
  260. package/src/cartesian/ZAxis.tsrx.d.ts +0 -102
  261. package/src/cartesian/getCartesianPosition.js +0 -277
  262. package/src/cartesian/getEquidistantTicks.js +0 -133
  263. package/src/cartesian/getTicks.js +0 -280
  264. package/src/chart/AreaChart.tsrx.d.ts +0 -12
  265. package/src/chart/BarChart.tsrx.d.ts +0 -2
  266. package/src/chart/CartesianChart.tsrx.d.ts +0 -10
  267. package/src/chart/ComposedChart.tsrx.d.ts +0 -12
  268. package/src/chart/FunnelChart.tsrx.d.ts +0 -12
  269. package/src/chart/LineChart.tsrx.d.ts +0 -2
  270. package/src/chart/PieChart.tsrx.d.ts +0 -31
  271. package/src/chart/RadarChart.tsrx.d.ts +0 -31
  272. package/src/chart/RadialBarChart.tsrx.d.ts +0 -31
  273. package/src/chart/Sankey.tsrx.d.ts +0 -253
  274. package/src/chart/ScatterChart.tsrx.d.ts +0 -12
  275. package/src/chart/SunburstChart.tsrx.d.ts +0 -146
  276. package/src/component/DefaultLegendContent.tsrx.d.ts +0 -125
  277. package/src/component/DefaultTooltipContent.tsrx.d.ts +0 -87
  278. package/src/component/Label.tsrx.d.ts +0 -12
  279. package/src/component/LabelList.tsrx.d.ts +0 -8
  280. package/src/component/Legend.tsrx.d.ts +0 -88
  281. package/src/component/ResponsiveContainer.tsrx.d.ts +0 -81
  282. package/src/component/Text.tsrx.d.ts +0 -9
  283. package/src/component/Tooltip.tsrx.d.ts +0 -246
  284. package/src/container/Layer.tsrx.d.ts +0 -6
  285. package/src/container/Surface.tsrx.d.ts +0 -12
  286. package/src/context/accessibilityContext.js +0 -10
  287. package/src/context/tooltipContext.js +0 -55
  288. package/src/index.d.ts +0 -281
  289. package/src/polar/Pie.tsrx.d.ts +0 -436
  290. package/src/polar/PolarAngleAxis.tsrx.d.ts +0 -215
  291. package/src/polar/PolarGrid.tsrx.d.ts +0 -117
  292. package/src/polar/PolarRadiusAxis.tsrx.d.ts +0 -209
  293. package/src/polar/Radar.tsrx.d.ts +0 -215
  294. package/src/polar/RadialBar.tsrx.d.ts +0 -340
  295. package/src/shape/Cross.tsrx.d.ts +0 -12
  296. package/src/shape/Curve.tsrx.d.ts +0 -42
  297. package/src/shape/Dot.tsrx.d.ts +0 -9
  298. package/src/shape/Polygon.tsrx.d.ts +0 -13
  299. package/src/shape/Rectangle.tsrx.d.ts +0 -31
  300. package/src/shape/Sector.tsrx.d.ts +0 -29
  301. package/src/shape/Symbols.tsrx.d.ts +0 -15
  302. package/src/shape/Trapezoid.tsrx.d.ts +0 -29
  303. package/src/state/brushSlice.js +0 -36
  304. package/src/state/cartesianAxisSlice.js +0 -256
  305. package/src/state/chartDataSlice.js +0 -67
  306. package/src/state/errorBarSlice.js +0 -53
  307. package/src/state/eventSettingsSlice.js +0 -25
  308. package/src/state/graphicalItemsSlice.js +0 -91
  309. package/src/state/layoutSlice.js +0 -57
  310. package/src/state/legendSlice.js +0 -83
  311. package/src/state/optionsSlice.js +0 -45
  312. package/src/state/polarAxisSlice.js +0 -33
  313. package/src/state/polarOptionsSlice.js +0 -26
  314. package/src/state/reduxDevtoolsJsonStringifyReplacer.js +0 -14
  315. package/src/state/referenceElementsSlice.js +0 -51
  316. package/src/state/renderedTicksSlice.js +0 -41
  317. package/src/state/rootPropsSlice.js +0 -48
  318. package/src/state/selectors/axisSelectors.js +0 -2113
  319. package/src/state/selectors/barSelectors.js +0 -263
  320. package/src/state/selectors/barStackSelectors.js +0 -65
  321. package/src/state/selectors/brushSelectors.js +0 -21
  322. package/src/state/selectors/combiners/combineActiveLabel.js +0 -18
  323. package/src/state/selectors/combiners/combineAllBarPositions.js +0 -169
  324. package/src/state/selectors/combiners/combineAxisRangeWithReverse.js +0 -11
  325. package/src/state/selectors/combiners/combineBarPosition.js +0 -17
  326. package/src/state/selectors/combiners/combineBarSizeList.js +0 -115
  327. package/src/state/selectors/combiners/combineConfiguredScale.js +0 -46
  328. package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.js +0 -48
  329. package/src/state/selectors/combiners/combineInverseScaleFunction.js +0 -12
  330. package/src/state/selectors/combiners/combineStackedData.js +0 -22
  331. package/src/state/selectors/combiners/combineTooltipInteractionState.js +0 -121
  332. package/src/state/selectors/combiners/combineTooltipPayload.js +0 -248
  333. package/src/state/selectors/containerSelectors.js +0 -6
  334. package/src/state/selectors/graphicalItemSelectors.js +0 -25
  335. package/src/state/selectors/legendSelectors.js +0 -18
  336. package/src/state/selectors/lineSelectors.js +0 -106
  337. package/src/state/selectors/numberDomainEqualityCheck.js +0 -11
  338. package/src/state/selectors/pickAxisId.js +0 -3
  339. package/src/state/selectors/pickAxisType.js +0 -3
  340. package/src/state/selectors/polarAxisSelectors.js +0 -237
  341. package/src/state/selectors/rootPropsSelectors.js +0 -13
  342. package/src/state/selectors/selectAllAxes.js +0 -15
  343. package/src/state/selectors/selectChartOffset.js +0 -12
  344. package/src/state/selectors/selectChartOffsetInternal.js +0 -174
  345. package/src/state/selectors/selectTooltipAxisId.js +0 -3
  346. package/src/state/selectors/selectTooltipEventType.js +0 -27
  347. package/src/state/selectors/selectTooltipPayloadSearcher.js +0 -3
  348. package/src/state/selectors/selectTooltipSettings.js +0 -3
  349. package/src/state/selectors/selectTooltipState.js +0 -3
  350. package/src/state/selectors/selectors.js +0 -222
  351. package/src/state/selectors/tooltipSelectors.js +0 -471
  352. package/src/state/selectors/touchSelectors.js +0 -31
  353. package/src/state/tooltipSlice.js +0 -237
  354. package/src/state/types/StackedGraphicalItem.js +0 -18
  355. package/src/state/zIndexSlice.js +0 -167
  356. package/src/synchronisation/syncSelectors.js +0 -5
  357. package/src/util/ChartUtils.js +0 -630
  358. package/src/util/DOMUtils.js +0 -180
  359. package/src/util/Events.js +0 -7
  360. package/src/util/Global.js +0 -13
  361. package/src/util/LRUCache.js +0 -58
  362. package/src/util/PolarUtils.js +0 -190
  363. package/src/util/ReduceCSSCalc.js +0 -260
  364. package/src/util/axisPropsAreEqual.js +0 -63
  365. package/src/util/createEventProxy.js +0 -18
  366. package/src/util/getActiveCoordinate.js +0 -253
  367. package/src/util/getClassNameFromUnknown.js +0 -8
  368. package/src/util/getRadiusAndStrokeWidthFromDot.js +0 -28
  369. package/src/util/getSliced.js +0 -11
  370. package/src/util/isWellBehavedNumber.js +0 -8
  371. package/src/util/round.js +0 -39
  372. package/src/util/scale/RechartsScale.js +0 -68
  373. package/src/util/scale/index.js +0 -3
  374. package/src/util/stacks/getStackSeriesIdentifier.js +0 -10
  375. package/src/zIndex/ZIndexLayer.tsrx.d.ts +0 -2
@@ -1,10 +0,0 @@
1
- // Type declaration for the .tsrx component (resolved by relative path).
2
- export declare const defaultCartesianChartProps: Record<string, unknown>;
3
- export declare const CartesianChart: (props: {
4
- chartName: string;
5
- defaultTooltipEventType: string;
6
- validateTooltipEventTypes: readonly string[];
7
- tooltipPayloadSearcher: unknown;
8
- categoricalChartProps: Record<string, unknown>;
9
- ref?: unknown;
10
- }) => unknown;
@@ -1,12 +0,0 @@
1
- import * as React from 'octane';
2
- import { CartesianChartProps } from '../util/types';
3
- /**
4
- * @consumes ResponsiveContainerContext
5
- * @provides CartesianViewBoxContext
6
- * @provides CartesianChartContext
7
- */
8
- export declare const ComposedChart: <DataPointType = any>(
9
- props: CartesianChartProps<DataPointType> & {
10
- ref?: React.Ref<SVGSVGElement>;
11
- },
12
- ) => React.ReactElement;
@@ -1,12 +0,0 @@
1
- import * as React from 'octane';
2
- import { CartesianChartProps } from '../util/types';
3
- /**
4
- * @consumes ResponsiveContainerContext
5
- * @provides CartesianViewBoxContext
6
- * @provides CartesianChartContext
7
- */
8
- export declare const FunnelChart: <DataPointType = any>(
9
- props: CartesianChartProps<DataPointType> & {
10
- ref?: React.Ref<SVGSVGElement>;
11
- },
12
- ) => React.ReactElement;
@@ -1,2 +0,0 @@
1
- // Type declaration for the .tsrx component (resolved by relative path).
2
- export declare const LineChart: (props: Record<string, unknown>) => unknown;
@@ -1,31 +0,0 @@
1
- import * as React from 'octane';
2
- import { PolarChartProps } from '../util/types';
3
- export declare const defaultPieChartProps: {
4
- readonly layout: 'centric';
5
- readonly startAngle: 0;
6
- readonly endAngle: 360;
7
- readonly throttleDelay: number | 'raf';
8
- readonly throttledEvents: ReadonlyArray<keyof GlobalEventHandlersEventMap> | 'all';
9
- readonly accessibilityLayer: true;
10
- readonly stackOffset: 'none';
11
- readonly barCategoryGap: '10%';
12
- readonly barGap: 4;
13
- readonly margin: import('..').Margin;
14
- readonly reverseStackOrder: false;
15
- readonly syncMethod: 'index';
16
- readonly responsive: false;
17
- readonly cx: '50%';
18
- readonly cy: '50%';
19
- readonly innerRadius: 0;
20
- readonly outerRadius: '80%';
21
- };
22
- /**
23
- * @consumes ResponsiveContainerContext
24
- * @provides PolarViewBoxContext
25
- * @provides PolarChartContext
26
- */
27
- export declare const PieChart: <DataPointType = any>(
28
- props: PolarChartProps<DataPointType> & {
29
- ref?: React.Ref<SVGSVGElement>;
30
- },
31
- ) => React.ReactElement;
@@ -1,31 +0,0 @@
1
- import * as React from 'octane';
2
- import { PolarChartProps } from '../util/types';
3
- export declare const defaultRadarChartProps: {
4
- readonly layout: 'centric';
5
- readonly startAngle: 90;
6
- readonly endAngle: -270;
7
- readonly throttleDelay: number | 'raf';
8
- readonly throttledEvents: ReadonlyArray<keyof GlobalEventHandlersEventMap> | 'all';
9
- readonly accessibilityLayer: true;
10
- readonly stackOffset: 'none';
11
- readonly barCategoryGap: '10%';
12
- readonly barGap: 4;
13
- readonly margin: import('..').Margin;
14
- readonly reverseStackOrder: false;
15
- readonly syncMethod: 'index';
16
- readonly responsive: false;
17
- readonly cx: '50%';
18
- readonly cy: '50%';
19
- readonly innerRadius: 0;
20
- readonly outerRadius: '80%';
21
- };
22
- /**
23
- * @consumes ResponsiveContainerContext
24
- * @provides PolarViewBoxContext
25
- * @provides PolarChartContext
26
- */
27
- export declare const RadarChart: <DataPointType = any>(
28
- props: PolarChartProps<DataPointType> & {
29
- ref?: React.Ref<SVGSVGElement>;
30
- },
31
- ) => React.ReactElement;
@@ -1,31 +0,0 @@
1
- import * as React from 'octane';
2
- import { PolarChartProps } from '../util/types';
3
- export declare const defaultRadialBarChartProps: {
4
- readonly layout: 'radial';
5
- readonly startAngle: 0;
6
- readonly endAngle: 360;
7
- readonly throttleDelay: number | 'raf';
8
- readonly throttledEvents: ReadonlyArray<keyof GlobalEventHandlersEventMap> | 'all';
9
- readonly accessibilityLayer: true;
10
- readonly stackOffset: 'none';
11
- readonly barCategoryGap: '10%';
12
- readonly barGap: 4;
13
- readonly margin: import('..').Margin;
14
- readonly reverseStackOrder: false;
15
- readonly syncMethod: 'index';
16
- readonly responsive: false;
17
- readonly cx: '50%';
18
- readonly cy: '50%';
19
- readonly innerRadius: 0;
20
- readonly outerRadius: '80%';
21
- };
22
- /**
23
- * @consumes ResponsiveContainerContext
24
- * @provides PolarViewBoxContext
25
- * @provides PolarChartContext
26
- */
27
- export declare const RadialBarChart: <DataPointType = any>(
28
- props: PolarChartProps<DataPointType> & {
29
- ref?: React.Ref<SVGSVGElement>;
30
- },
31
- ) => React.ReactElement;
@@ -1,253 +0,0 @@
1
- import * as React from 'octane';
2
- import { MouseEvent, ReactElement, ReactNode, SVGProps } from 'octane';
3
- import { Props as RectangleProps } from '../shape/Rectangle';
4
- import {
5
- DataKey,
6
- EventThrottlingProps,
7
- Margin,
8
- Percent,
9
- SankeyLink,
10
- SankeyNode,
11
- } from '../util/types';
12
- import { TooltipPayloadSearcher } from '../state/tooltipSlice';
13
- type SankeyVerticalAlign = 'justify' | 'top';
14
- export declare const computeData: ({
15
- data,
16
- width,
17
- height,
18
- iterations,
19
- nodeWidth,
20
- nodePadding,
21
- sort,
22
- verticalAlign,
23
- align,
24
- }: {
25
- data: SankeyData;
26
- width: number;
27
- height: number;
28
- iterations: number;
29
- nodeWidth: number;
30
- nodePadding: number;
31
- sort: boolean;
32
- verticalAlign: SankeyVerticalAlign;
33
- align: 'left' | 'justify';
34
- }) => {
35
- nodes: ReadonlyArray<SankeyNode>;
36
- links: ReadonlyArray<SankeyLink>;
37
- };
38
- export declare const sankeyPayloadSearcher: TooltipPayloadSearcher;
39
- interface LinkDataItem {
40
- source: number;
41
- target: number;
42
- value: number;
43
- }
44
- export interface NodeProps extends Omit<SVGProps<SVGRectElement>, 'height' | 'width'> {
45
- height: number;
46
- width: number;
47
- payload: SankeyNode;
48
- index: number;
49
- x: number;
50
- y: number;
51
- }
52
- export interface LinkProps extends SVGProps<SVGPathElement> {
53
- sourceX: number;
54
- targetX: number;
55
- sourceY: number;
56
- targetY: number;
57
- sourceControlX: number;
58
- targetControlX: number;
59
- sourceRelativeY: number;
60
- targetRelativeY: number;
61
- linkWidth: number;
62
- index: number;
63
- payload: Omit<SankeyLink, 'source' | 'target'> & {
64
- source: SankeyNode;
65
- target: SankeyNode;
66
- };
67
- }
68
- export interface SankeyData {
69
- nodes: any[];
70
- links: LinkDataItem[];
71
- }
72
- export type SankeyNodeOptions =
73
- ReactElement<SVGProps<SVGRectElement>> | ((props: NodeProps) => ReactNode) | RectangleProps;
74
- type SankeyLinkOptions =
75
- | ReactElement<SVGProps<SVGPathElement>>
76
- | ((props: LinkProps) => ReactElement<SVGProps<SVGPathElement>>)
77
- | SVGProps<SVGPathElement>;
78
- interface SankeyProps extends EventThrottlingProps {
79
- /**
80
- * Name represents each sector in the tooltip.
81
- * This allows you to extract the name from the data:
82
- *
83
- * - `string`: the name of the field in the data object;
84
- * - `number`: the index of the field in the data;
85
- * - `function`: a function that receives the data object and returns the name.
86
- *
87
- * @defaultValue name
88
- */
89
- nameKey?: DataKey<any>;
90
- /**
91
- * dataKey prop in Sankey defines which key in the link objects represents the value of the link _in Tooltip only_.
92
- *
93
- * Unlike other charts where dataKey is used to extract values from the data array, in Sankey charts,
94
- * the value of each link is directly taken from the 'value' property of the link objects.
95
- *
96
- * @default 'value'
97
- */
98
- dataKey?: DataKey<any>;
99
- /**
100
- * The width of chart container.
101
- * Can be a number or a percent string like "100%".
102
- *
103
- * @see {@link https://recharts.github.io/en-US/guide/sizes/ Chart sizing guide}
104
- */
105
- width?: number | Percent;
106
- /**
107
- * The height of chart container.
108
- * Can be a number or a percent string like "100%".
109
- *
110
- * @see {@link https://recharts.github.io/en-US/guide/sizes/ Chart sizing guide}
111
- */
112
- height?: number | Percent;
113
- /**
114
- * The source data, including the array of nodes, and the relationships, represented by links.
115
- *
116
- * Note that Sankey requires a specific data structure.
117
- * Each node should have a unique index in the nodes array, and each link should reference these nodes by their indices.
118
- * This is different from other chart types in Recharts, which accept arbitrary data.
119
- *
120
- * @example
121
- * nodes: [
122
- * { name: 'Visit' },
123
- * { name: 'Direct-Favourite' },
124
- * { name: 'Page-Click' },
125
- * { name: 'Detail-Favourite' },
126
- * { name: 'Lost' },
127
- * ],
128
- * links: [
129
- * { source: 0, target: 1, value: 3728.3 },
130
- * { source: 0, target: 2, value: 354170 },
131
- * { source: 2, target: 3, value: 62429 },
132
- * { source: 2, target: 4, value: 291741 },
133
- * ],
134
- */
135
- data: SankeyData;
136
- /**
137
- * The padding between the nodes
138
- * @default 10
139
- */
140
- nodePadding?: number;
141
- /**
142
- * The width of node
143
- * @default 10
144
- */
145
- nodeWidth?: number;
146
- /**
147
- * The curvature of width
148
- * @default 0.5
149
- */
150
- linkCurvature?: number;
151
- /**
152
- * The number of the iterations between the links
153
- * @default 32
154
- */
155
- iterations?: number;
156
- /**
157
- * If set an object, the option is the configuration of nodes.
158
- * If set a React element, the option is the custom react element of drawing the nodes.
159
- *
160
- * @example <Sankey node={MyCustomComponent} />
161
- * @example <Sankey node={{stroke: #77c878, strokeWidth: 2}} />
162
- */
163
- node?: SankeyNodeOptions;
164
- /**
165
- * If set an object, the option is the configuration of links.
166
- * If set a React element, the option is the custom react element of drawing the links.
167
- *
168
- * @example <Sankey link={MyCustomComponent} />
169
- * @example <Sankey link={{ fill: #77c878 }} />
170
- */
171
- link?: SankeyLinkOptions;
172
- style?: React.CSSProperties;
173
- className?: string;
174
- children?: ReactNode;
175
- /**
176
- * Empty space around the container.
177
- *
178
- * @defaultValue {"top":5,"right":5,"bottom":5,"left":5}
179
- */
180
- margin?: Partial<Margin>;
181
- /**
182
- * The customized event handler of click on the area in this group
183
- */
184
- onClick?: (
185
- item: NodeProps | LinkProps,
186
- type: SankeyElementType,
187
- e: MouseEvent<SVGGraphicsElement>,
188
- ) => void;
189
- /**
190
- * The customized event handler of mouseenter on the area in this group
191
- */
192
- onMouseEnter?: (
193
- item: NodeProps | LinkProps,
194
- type: SankeyElementType,
195
- e: MouseEvent<SVGGraphicsElement>,
196
- ) => void;
197
- /**
198
- * The customized event handler of mouseleave on the area in this group
199
- */
200
- onMouseLeave?: (
201
- item: NodeProps | LinkProps,
202
- type: SankeyElementType,
203
- e: MouseEvent<SVGGraphicsElement>,
204
- ) => void;
205
- /**
206
- * Whether to sort the nodes on the y axis, or to display them as user-defined.
207
- * @default true
208
- */
209
- sort?: boolean;
210
- /**
211
- * Controls the vertical spacing of nodes within a depth. 'justify' distributes nodes evenly and balances link paths, while 'top' positions the group starting from the top edge of the chart.
212
- * @default 'justify'
213
- */
214
- verticalAlign?: SankeyVerticalAlign;
215
- /**
216
- * If set to 'justify', the start nodes will be aligned to the left edge of the chart and the end nodes will be aligned to the right edge of the chart. If set to 'left', the start nodes will be aligned to the left edge of the chart.
217
- * @default 'justify'
218
- */
219
- align?: 'left' | 'justify';
220
- }
221
- export type Props = Omit<SVGProps<SVGSVGElement>, keyof SankeyProps> & SankeyProps;
222
- export type SankeyElementType = 'node' | 'link';
223
- export declare const sankeyDefaultProps: {
224
- readonly throttleDelay: number | 'raf';
225
- readonly throttledEvents: ReadonlyArray<keyof GlobalEventHandlersEventMap> | 'all';
226
- readonly align: 'justify';
227
- readonly dataKey: 'value';
228
- readonly iterations: 32;
229
- readonly linkCurvature: 0.5;
230
- readonly margin: {
231
- readonly top: 5;
232
- readonly right: 5;
233
- readonly bottom: 5;
234
- readonly left: 5;
235
- };
236
- readonly nameKey: 'name';
237
- readonly nodePadding: 10;
238
- readonly nodeWidth: 10;
239
- readonly sort: true;
240
- readonly verticalAlign: 'justify';
241
- };
242
- /**
243
- * Flow diagram in which the width of the arrows is proportional to the flow rate.
244
- * It is typically used to visualize energy or material or cost transfers between processes.
245
- *
246
- * @consumes ResponsiveContainerContext
247
- * @provides TooltipEntrySettings
248
- */
249
- export declare function Sankey(outsideProps: Props): React.JSX.Element;
250
- export declare namespace Sankey {
251
- var displayName: string;
252
- }
253
- export {};
@@ -1,12 +0,0 @@
1
- import * as React from 'octane';
2
- import { CartesianChartProps } from '../util/types';
3
- /**
4
- * @consumes ResponsiveContainerContext
5
- * @provides CartesianViewBoxContext
6
- * @provides CartesianChartContext
7
- */
8
- export declare const ScatterChart: <DataPointType = any>(
9
- props: CartesianChartProps<DataPointType> & {
10
- ref?: React.Ref<SVGSVGElement>;
11
- },
12
- ) => React.ReactElement;
@@ -1,146 +0,0 @@
1
- import * as React from 'octane';
2
- import { CSSProperties } from 'octane';
3
- import { Props as TextProps } from '../component/Text';
4
- import { TooltipIndex, TooltipPayloadSearcher } from '../state/tooltipSlice';
5
- import { DataKey, EventThrottlingProps, Percent } from '../util/types';
6
- export interface SunburstData {
7
- [key: string]: any;
8
- name: string;
9
- value?: number;
10
- fill?: string;
11
- tooltipIndex?: TooltipIndex;
12
- children?: SunburstData[];
13
- }
14
- export interface SunburstChartProps extends EventThrottlingProps {
15
- className?: string;
16
- /**
17
- * The source data. Each element should be an object.
18
- * The properties of each object represent the values of different data dimensions.
19
- *
20
- * Use the `dataKey` prop to specify which properties to use.
21
- *
22
- * @example data={[{ name: 'a', value: 12, fill: '#8884d8' }, { name: 'b', value: 5, fill: '#83a6ed' }]}
23
- */
24
- data: SunburstData;
25
- /**
26
- * The width of chart container.
27
- * Can be a number or a percent string like "100%".
28
- *
29
- * @see {@link https://recharts.github.io/en-US/guide/sizes/ Chart sizing guide}
30
- */
31
- width?: number | Percent;
32
- /**
33
- * The height of chart container.
34
- * Can be a number or a percent string like "100%".
35
- *
36
- * @see {@link https://recharts.github.io/en-US/guide/sizes/ Chart sizing guide}
37
- */
38
- height?: number | Percent;
39
- /**
40
- * If true, then it will listen to container size changes and adapt the SVG chart accordingly.
41
- * If false, then it renders the chart at the specified width and height and will stay that way
42
- * even if the container size changes.
43
- *
44
- * This is similar to ResponsiveContainer but without the need for an extra wrapper component.
45
- * The `responsive` prop also uses standard CSS sizing rules, instead of custom resolution logic (like ResponsiveContainer does).
46
- * @default false
47
- */
48
- responsive?: boolean;
49
- /**
50
- * Distance between sectors.
51
- *
52
- * @defaultValue 2
53
- */
54
- padding?: number;
55
- /**
56
- * Decides how to extract value from the data.
57
- *
58
- * @defaultValue value
59
- */
60
- dataKey?: string;
61
- /**
62
- * Name represents each sector in the tooltip.
63
- * This allows you to extract the name from the data:
64
- *
65
- * - `string`: the name of the field in the data object;
66
- * - `number`: the index of the field in the data;
67
- * - `function`: a function that receives the data object and returns the name.
68
- *
69
- * @defaultValue name
70
- */
71
- nameKey?: DataKey<any>;
72
- /**
73
- * Padding between each hierarchical level.
74
- */
75
- ringPadding?: number;
76
- /**
77
- * The radius of the inner circle at the center of the chart.
78
- *
79
- * @defaultValue 50
80
- */
81
- innerRadius?: number;
82
- /**
83
- * Outermost edge of the chart.
84
- * Defaults to the max possible radius for a circle inscribed in the chart container
85
- */
86
- outerRadius?: number;
87
- /**
88
- * The x-coordinate of center in pixels.
89
- * If undefined, it will be set to half of the chart width.
90
- */
91
- cx?: number;
92
- /**
93
- * The y-coordinate of center in pixels.
94
- * If undefined, it will be set to half of the chart height.
95
- */
96
- cy?: number;
97
- /** Angle in degrees from which the chart should start. */
98
- startAngle?: number;
99
- /** Angle, in degrees, at which the chart should end. */
100
- endAngle?: number;
101
- children?: React.ReactNode;
102
- fill?: string;
103
- stroke?: string;
104
- /**
105
- * An object with svg text options to control the appearance of the chart labels.
106
- */
107
- textOptions?: TextProps;
108
- onMouseEnter?: (node: SunburstData, e: React.MouseEvent) => void;
109
- onMouseLeave?: (node: SunburstData, e: React.MouseEvent) => void;
110
- onClick?: (node: SunburstData) => void;
111
- style?: CSSProperties;
112
- id?: string;
113
- }
114
- export declare const payloadSearcher: TooltipPayloadSearcher;
115
- export declare const defaultSunburstChartProps: {
116
- readonly throttleDelay: number | 'raf';
117
- readonly throttledEvents: ReadonlyArray<keyof GlobalEventHandlersEventMap> | 'all';
118
- readonly padding: 2;
119
- readonly dataKey: 'value';
120
- readonly nameKey: 'name';
121
- readonly ringPadding: 2;
122
- readonly innerRadius: 50;
123
- readonly fill: '#333';
124
- readonly stroke: '#FFF';
125
- readonly textOptions: {
126
- fontWeight: string;
127
- paintOrder: string;
128
- fontSize: string;
129
- stroke: string;
130
- fill: string;
131
- pointerEvents: string;
132
- };
133
- readonly startAngle: 0;
134
- readonly endAngle: 360;
135
- readonly responsive: false;
136
- };
137
- /**
138
- * The sunburst is a hierarchical chart, similar to a {@link Treemap}, plotted in polar coordinates.
139
- * Sunburst charts effectively convey the hierarchical relationships and proportions within each level.
140
- * It is easy to see all the middle layers in the hierarchy, which might get lost in other visualizations.
141
- * For some datasets, the radial layout may be more visually appealing and intuitive than a traditional {@link Treemap}.
142
- *
143
- * @consumes ResponsiveContainerContext
144
- * @provides TooltipEntrySettings
145
- */
146
- export declare const SunburstChart: (outsideProps: SunburstChartProps) => React.JSX.Element;
@@ -1,125 +0,0 @@
1
- import * as React from 'octane';
2
- import { ReactNode, MouseEvent, ReactElement, CSSProperties } from 'octane';
3
- import {
4
- DataKey,
5
- LegendType,
6
- PresentationAttributesAdaptChildEvent,
7
- CartesianLayout,
8
- } from '../util/types';
9
- export type ContentType = ReactElement | ((props: Props) => ReactNode);
10
- export type HorizontalAlignmentType = 'center' | 'left' | 'right';
11
- export type VerticalAlignmentType = 'top' | 'bottom' | 'middle';
12
- export type Formatter = (value: any, entry: LegendPayload, index: number) => ReactNode;
13
- export interface LegendPayload {
14
- /**
15
- * This is the text that will be displayed in the legend in the DOM.
16
- * If undefined, the text will not be displayed, so the icon will be rendered without text.
17
- */
18
- value: string | undefined;
19
- type?: LegendType;
20
- color?: string;
21
- /**
22
- * Different graphical items put different information in the payload object
23
- * so double check in runtime what are you getting here.
24
- */
25
- payload?: object;
26
- formatter?: Formatter;
27
- inactive?: boolean;
28
- legendIcon?: ReactElement<SVGElement>;
29
- dataKey?: DataKey<any>;
30
- }
31
- interface DefaultLegendContentProps {
32
- /**
33
- * The size of icon in each legend item.
34
- * @defaultValue 14
35
- */
36
- iconSize?: number;
37
- /**
38
- * The type of icon in each legend item.
39
- */
40
- iconType?: LegendType;
41
- /**
42
- * The layout of legend items inside the legend container.
43
- * @defaultValue horizontal
44
- */
45
- layout?: CartesianLayout;
46
- /**
47
- * Horizontal alignment of the whole Legend container:
48
- *
49
- * - `left`: shows the Legend to the left of the chart, and chart width reduces automatically to make space for it.
50
- * - `right` shows the Legend to the right of the chart, and chart width reduces automatically.
51
- * - `center` shows the Legend in the middle of chart, and chart width remains unchanged.
52
- *
53
- * The exact behavior changes depending on 'verticalAlign' prop.
54
- *
55
- * @defaultValue center
56
- */
57
- align?: HorizontalAlignmentType;
58
- /**
59
- * Vertical alignment of the whole Legend container:
60
- *
61
- * - `bottom`: shows the Legend below chart, and chart height reduces automatically to make space for it.
62
- * - `top`: shows the Legend above chart, and chart height reduces automatically.
63
- * - `middle`: shows the Legend in the middle of chart, covering other content, and chart height remains unchanged.
64
- * The exact behavior changes depending on `align` prop.
65
- *
66
- * @defaultValue middle
67
- */
68
- verticalAlign?: VerticalAlignmentType;
69
- /**
70
- * The color of the icon when the item is inactive.
71
- * @defaultValue #ccc
72
- */
73
- inactiveColor?: string;
74
- /**
75
- * Function to customize how content is serialized before rendering.
76
- *
77
- * This should return HTML elements, or strings.
78
- *
79
- * @example (value, entry, index) => <span style={{ color: 'red' }}>{value}</span>
80
- * @example https://codesandbox.io/s/legend-formatter-rmzp9
81
- */
82
- formatter?: Formatter;
83
- /**
84
- * The customized event handler of mouseenter on the items in this group
85
- * @example https://recharts.github.io/examples/LegendEffectOpacity
86
- */
87
- onMouseEnter?: (data: LegendPayload, index: number, event: MouseEvent<HTMLElement>) => void;
88
- /**
89
- * The customized event handler of mouseleave on the items in this group
90
- * @example https://recharts.github.io/examples/LegendEffectOpacity
91
- */
92
- onMouseLeave?: (data: LegendPayload, index: number, event: MouseEvent<HTMLElement>) => void;
93
- /**
94
- * The customized event handler of click on the items in this group
95
- */
96
- onClick?: (data: LegendPayload, index: number, event: MouseEvent<HTMLElement>) => void;
97
- /**
98
- * DefaultLegendContent.payload is omitted from Legend props.
99
- * A custom payload can be passed here if desired, or it can be passed from the Legend "content" callback.
100
- */
101
- payload?: ReadonlyArray<LegendPayload>;
102
- /**
103
- * The style of each text label which is a span element.
104
- * @defaultValue {}
105
- */
106
- labelStyle?: CSSProperties;
107
- }
108
- export type Props = DefaultLegendContentProps &
109
- Omit<PresentationAttributesAdaptChildEvent<any, ReactElement>, keyof DefaultLegendContentProps>;
110
- export declare const defaultLegendContentDefaultProps: {
111
- readonly align: 'center';
112
- readonly iconSize: 14;
113
- readonly inactiveColor: '#ccc';
114
- readonly layout: 'horizontal';
115
- readonly verticalAlign: 'middle';
116
- readonly labelStyle: {};
117
- };
118
- /**
119
- * This component is by default rendered inside the {@link Legend} component. You would not use it directly.
120
- *
121
- * You can use this component to customize the content of the legend,
122
- * or you can provide your own completely independent content.
123
- */
124
- export declare const DefaultLegendContent: (outsideProps: Props) => React.JSX.Element | null;
125
- export {};