@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,351 +0,0 @@
1
- import { ReactElement, ReactNode } from 'octane';
2
- import { ImplicitLabelListType } from '../component/LabelList';
3
- import { CurveType, Props as CurveProps } from '../shape/Curve';
4
- import {
5
- ActiveShape,
6
- AnimationDuration,
7
- EasingInput,
8
- Coordinate,
9
- DataConsumer,
10
- DataProvider,
11
- LegendType,
12
- PresentationAttributesAdaptChildEvent,
13
- SymbolType,
14
- TickItem,
15
- CartesianLayout,
16
- } from '../util/types';
17
- import { Formatter, TooltipType } from '../component/DefaultTooltipContent';
18
- import { ScatterShapeProps } from '../util/ScatterUtils';
19
- import { InnerSymbolsProp } from '../shape/Symbols';
20
- import { TooltipPayload } from '../state/tooltipSlice';
21
- import { AxisId } from '../state/cartesianAxisSlice';
22
- import { BaseAxisWithScale, ZAxisWithScale } from '../state/selectors/axisSelectors';
23
- import { ScatterSettings } from '../state/types/ScatterSettings';
24
- import { AnimationInterpolateFn } from '../animation/AnimatedItems';
25
- import { AnimationMatchByProp } from '../animation/matchBy';
26
- import { ZIndexable } from '../zIndex/ZIndexLayer';
27
- export interface ScatterPointNode {
28
- x?: number | string;
29
- y?: number | string;
30
- z?: number | string;
31
- }
32
- /**
33
- * Scatter coordinates are nullable because sometimes the point value is out of the domain,
34
- * and we can't compute a valid coordinate for it.
35
- *
36
- * Scatter -> Symbol ignores points with null cx or cy so those won't render if using the default shapes.
37
- * However: the points are exposed via various props and can be used in custom shapes so we keep them around.
38
- */
39
- export interface ScatterPointItem {
40
- /**
41
- * The x coordinate of the point center in pixels.
42
- */
43
- cx: number | undefined;
44
- /**
45
- * The y coordinate of the point center in pixels.
46
- */
47
- cy: number | undefined;
48
- /**
49
- * The x coordinate (in pixels) of the top-left corner of the rectangle that wraps the point.
50
- */
51
- x: number | undefined;
52
- /**
53
- * The y coordinate (in pixels) of the top-left corner of the rectangle that wraps the point.
54
- */
55
- y: number | undefined;
56
- /**
57
- * ScatterPointItem size is an abstract number that is used to calculate the radius of the point.
58
- * It's not the radius itself, but rather a value that is used to calculate the radius.
59
- * Interacts with the zAxis range.
60
- */
61
- size: number;
62
- /**
63
- * Width of the point in pixels.
64
- */
65
- width: number;
66
- /**
67
- * Height of the point in pixels.
68
- */
69
- height: number;
70
- node: ScatterPointNode;
71
- payload?: any;
72
- tooltipPayload?: TooltipPayload;
73
- tooltipPosition: Coordinate;
74
- }
75
- export type ScatterCustomizedShape =
76
- ActiveShape<ScatterShapeProps & InnerSymbolsProp, SVGPathElement> | SymbolType;
77
- /**
78
- * External props, intended for end users to fill in
79
- */
80
- interface ScatterProps<DataPointType = any, DataValueType = any>
81
- extends DataProvider<DataPointType>, DataConsumer<DataPointType, DataValueType>, ZIndexable {
82
- /**
83
- * Unique identifier of this component.
84
- * Used as an HTML attribute `id`, and also to identify this element internally.
85
- *
86
- * If undefined, Recharts will generate a unique ID automatically.
87
- */
88
- id?: string;
89
- /**
90
- * The id of XAxis which is corresponding to the data. Required when there are multiple XAxes.
91
- * @defaultValue 0
92
- */
93
- xAxisId?: AxisId;
94
- /**
95
- * The id of YAxis which is corresponding to the data. Required when there are multiple YAxes.
96
- * @defaultValue 0
97
- */
98
- yAxisId?: AxisId;
99
- /**
100
- * The id of ZAxis which is corresponding to the data. Required when there are multiple ZAxes.
101
- *
102
- * ZAxis does not render directly, has no ticks and no tick line.
103
- * It is used to control the size of each scatter point.
104
- *
105
- * @defaultValue 0
106
- * @see {@link https://recharts.github.io/en-US/examples/ThreeDimScatterChart/ Scatter chart with Z axis}
107
- */
108
- zAxisId?: AxisId;
109
- /**
110
- * Renders line connecting individual points.
111
- * Options:
112
- * - `false`: no line is drawn.
113
- * - `true`: a default line is drawn.
114
- * - `ReactElement`: the option is the custom line element.
115
- * - `function`: the function will be called to render customized line.
116
- * - `object`: the option is the props of Curve element.
117
- *
118
- * Also see the `lineType` prop which controls how is this line calculated.
119
- *
120
- * @defaultValue false
121
- * @example <Scatter line />
122
- * @example <Scatter line={CustomizedLineComponent} />
123
- * @example <Scatter line={{ strokeDasharray: '5 5' }} />
124
- *
125
- * @see {@link https://recharts.github.io/en-US/examples/JointLineScatterChart/ Scatter chart with joint line}
126
- */
127
- line?:
128
- ReactElement<SVGElement> | ((props: any) => ReactElement<SVGElement>) | CurveProps | boolean;
129
- /**
130
- * Determines calculation method of the line if the `line` prop is set.
131
- * Options:
132
- * - `'joint'`: line will be generated by connecting all the points.
133
- * - `'fitting'`: line will be generated by fitting algorithm (linear regression).
134
- *
135
- * Has no effect if `line` prop is not set or is false.
136
- *
137
- * @defaultValue joint
138
- * @example <Scatter line lineType="fitting" />
139
- * @see {@link https://recharts.github.io/en-US/examples/JointLineScatterChart/ Scatter chart with joint line}
140
- */
141
- lineType?: 'fitting' | 'joint';
142
- /**
143
- * Determines the shape of joint line.
144
- * Same as `type` prop on Curve, Line and Area components.
145
- *
146
- * Has no effect if `line` prop is not set or is false or if `lineType` is 'fitting'.
147
- *
148
- * @defaultValue linear
149
- * @see {@link https://recharts.github.io/en-US/examples/JointLineScatterChart/ Scatter chart with joint line}
150
- */
151
- lineJointType?: CurveType;
152
- /**
153
- * The type of icon in legend.
154
- * If set to 'none', no legend item will be rendered.
155
- *
156
- * @defaultValue 'circle'
157
- * @example <Scatter legendType="diamond" />
158
- */
159
- legendType?: LegendType;
160
- tooltipType?: TooltipType;
161
- /**
162
- * Formats the value displayed in the tooltip for this Scatter.
163
- * When set, takes precedence over the `formatter` prop on the Tooltip component.
164
- */
165
- formatter?: Formatter;
166
- className?: string;
167
- /**
168
- * The name of data.
169
- * This option will be used in tooltip and legend to represent this graphical item.
170
- * If no value was set to this option, the value of dataKey will be used alternatively.
171
- */
172
- name?: string;
173
- /**
174
- * This component is rendered when this graphical item is activated
175
- * (could be by mouse hover, touch, keyboard, programmatically).
176
- *
177
- * @see {@link https://recharts.github.io/en-US/examples/SimpleScatterChart/ Scatter chart with custom active shape}
178
- * @example <Scatter activeShape={{ fill: 'red' }} />
179
- */
180
- activeShape?: ScatterCustomizedShape;
181
- /**
182
- * Determines the shape of individual data points.
183
- * - Can be one of the predefined shapes as a string, which will be passed to {@link Symbols} component.
184
- * - If set a ReactElement, the shape of point can be customized.
185
- * - If set a function, the function will be called to render customized shape.
186
- * - During animations, the function shape also receives `animationElapsedTime`, `isAnimating`, and `isEntrance`.
187
- * @defaultValue circle
188
- *
189
- * @example <Scatter shape={CustomizedShapeComponent} />
190
- * @example <Scatter shape="diamond" />
191
- *
192
- * @see {@link https://recharts.github.io/en-US/examples/JointLineScatterChart/ Scatter chart with custom shapes}
193
- */
194
- shape?: ScatterCustomizedShape;
195
- /**
196
- * Hides the whole graphical element when true.
197
- *
198
- * Hiding an element is different from removing it from the chart:
199
- * Hidden graphical elements are still visible in Legend,
200
- * and can be included in axis domain calculations,
201
- * depending on `includeHidden` props of your XAxis/YAxis.
202
- *
203
- * @defaultValue false
204
- */
205
- hide?: boolean;
206
- /**
207
- * Renders one label for each data point. Options:
208
- * - `true`: renders default labels;
209
- * - `false`: no labels are rendered;
210
- * - `object`: the props of LabelList component;
211
- * - `ReactElement`: a custom SVG label element, such as `<text>` or `<g>`.
212
- * HTML elements such as `<div>` are not valid inside the chart SVG and may trigger React DOM warnings.
213
- * - `function`: a render function of custom label.
214
- *
215
- * @defaultValue false
216
- */
217
- label?: ImplicitLabelListType;
218
- /**
219
- * If set false, animation of Scatter points will be disabled.
220
- * If set "auto", the animation will be disabled in SSR and will respect the user's prefers-reduced-motion system preference for accessibility.
221
- * @defaultValue 'auto'
222
- */
223
- isAnimationActive?: boolean | 'auto';
224
- /**
225
- * Specifies when the animation should begin, the unit of this option is ms.
226
- * @defaultValue 0
227
- */
228
- animationBegin?: number;
229
- /**
230
- * Specifies the duration of animation, the unit of this option is ms.
231
- * @defaultValue 400
232
- */
233
- animationDuration?: AnimationDuration;
234
- /**
235
- * The type of easing function.
236
- * @defaultValue 'linear'
237
- */
238
- animationEasing?: EasingInput;
239
- /**
240
- * Custom animation function for interpolating data items.
241
- * When provided, this replaces the default animation interpolation.
242
- *
243
- * @param prevItems The items from the previous animation frame, or null on first render
244
- * @param nextItems The target items to animate towards
245
- * @param animationElapsedTime A normalized time value (0 = start, 1 = end)
246
- * @returns The interpolated items at time animationElapsedTime
247
- *
248
- * @since 3.9
249
- * @see {@link https://recharts.github.io/en-US/guide/animations/ Animations guide}
250
- */
251
- animationInterpolateFn?: AnimationInterpolateFn<ScatterPointItem, CartesianLayout>;
252
- /**
253
- * Strategy for matching previous items to next items during animation.
254
- * Determines how Recharts pairs old data points with new data points
255
- * to create smooth transitions.
256
- *
257
- * - `matchAppend` (default): match sequentially by index and treat newly appended items as new
258
- * - `matchByIndex`: match by array position with proportional stretching
259
- * - `matchByDataKey('someKey')`: match by a data key from the payload
260
- * - Custom function `(item, index) => key`: match by the returned key
261
- *
262
- * @defaultValue append
263
- * @see matchByIndex
264
- * @see matchByDataKey
265
- * @see matchAppend
266
- *
267
- * @since 3.9
268
- * @see {@link https://recharts.github.io/en-US/guide/animations/ Animations guide}
269
- */
270
- animationMatchBy?: AnimationMatchByProp<ScatterPointItem>;
271
- /**
272
- * Called when the Scatter animation starts.
273
- */
274
- onAnimationStart?: () => void;
275
- /**
276
- * Called when the Scatter animation finishes.
277
- */
278
- onAnimationEnd?: () => void;
279
- /**
280
- * Z-Index of this component and its children. The higher the value,
281
- * the more on top it will be rendered.
282
- * Components with higher zIndex will appear in front of components with lower zIndex.
283
- * If undefined or 0, the content is rendered in the default layer without portals.
284
- *
285
- * @since 3.4
286
- * @defaultValue 600
287
- * @see {@link https://recharts.github.io/en-US/guide/zIndex/ Z-Index and layers guide}
288
- */
289
- zIndex?: number;
290
- children?: ReactNode;
291
- }
292
- /**
293
- * Because of naming conflict, we are forced to ignore certain (valid) SVG attributes.
294
- */
295
- type BaseScatterSvgProps = Omit<
296
- PresentationAttributesAdaptChildEvent<ScatterPointItem, SVGGraphicsElement>,
297
- 'points' | 'ref' | 'children' | 'dangerouslySetInnerHTML'
298
- >;
299
- export type Props<DataPointType = any, ValueAxisType = any> = BaseScatterSvgProps &
300
- ScatterProps<DataPointType, ValueAxisType>;
301
- export declare function computeScatterPoints({
302
- displayedData,
303
- xAxis,
304
- yAxis,
305
- zAxis,
306
- scatterSettings,
307
- xAxisTicks,
308
- yAxisTicks,
309
- cells,
310
- }: {
311
- displayedData: ReadonlyArray<unknown>;
312
- xAxis: BaseAxisWithScale;
313
- yAxis: BaseAxisWithScale;
314
- zAxis: ZAxisWithScale | undefined;
315
- scatterSettings: ScatterSettings;
316
- xAxisTicks: ReadonlyArray<TickItem> | undefined;
317
- yAxisTicks: ReadonlyArray<TickItem> | undefined;
318
- cells: ReadonlyArray<ReactElement> | undefined;
319
- }): ReadonlyArray<ScatterPointItem>;
320
- export declare const defaultScatterProps: {
321
- readonly xAxisId: 0;
322
- readonly yAxisId: 0;
323
- readonly zAxisId: 0;
324
- readonly label: false;
325
- readonly line: false;
326
- readonly legendType: 'circle';
327
- readonly lineType: 'joint';
328
- readonly lineJointType: 'linear';
329
- readonly shape: 'circle';
330
- readonly hide: false;
331
- readonly isAnimationActive: 'auto';
332
- readonly animationBegin: 0;
333
- readonly animationDuration: 400;
334
- readonly animationEasing: 'linear';
335
- readonly animationMatchBy: 'append';
336
- readonly animationInterpolateFn: AnimationInterpolateFn<ScatterPointItem, CartesianLayout>;
337
- readonly zIndex: 600;
338
- };
339
- /**
340
- * @provides LabelListContext
341
- * @provides ErrorBarContext
342
- * @provides CellReader
343
- * @consumes CartesianChartContext
344
- */
345
- export declare const Scatter: {
346
- <DataPointType = any, ValueAxisType = any>(
347
- props: Props<DataPointType, ValueAxisType>,
348
- ): ReactElement;
349
- (props: Props<any, any>): ReactElement;
350
- };
351
- export {};
@@ -1,3 +0,0 @@
1
- // Type declaration for the .tsrx component (resolved by relative path).
2
- export declare const xAxisDefaultProps: Record<string, unknown>;
3
- export declare const XAxis: (props: Record<string, unknown>) => unknown;
@@ -1,3 +0,0 @@
1
- // Type declaration for the .tsrx component (resolved by relative path).
2
- export declare const yAxisDefaultProps: Record<string, unknown>;
3
- export declare const YAxis: (props: Record<string, unknown>) => unknown;
@@ -1,102 +0,0 @@
1
- import * as React from 'octane';
2
- import { AxisDomain, BaseAxisProps, ScaleType } from '../util/types';
3
- import { AxisId } from '../state/cartesianAxisSlice';
4
- import { AxisRange } from '../state/selectors/axisSelectors';
5
- import { CustomScaleDefinition } from '../util/scale/CustomScaleDefinition';
6
- export interface Props<DataPointType = any, DataValueType = any> extends Omit<
7
- BaseAxisProps<DataPointType, DataValueType>,
8
- 'domain'
9
- > {
10
- /**
11
- * The type of axis.
12
- *
13
- * `category`: Treats data as distinct values.
14
- * Each value is in the same distance from its neighbors, regardless of their actual numeric difference.
15
- *
16
- * `number`: Treats data as continuous range.
17
- * Values that are numerically closer are placed closer together on the axis.
18
- *
19
- * @defaultValue number
20
- */
21
- type?: 'number' | 'category';
22
- /**
23
- * The unique id of z-axis.
24
- *
25
- * @defaultValue 0
26
- */
27
- zAxisId?: AxisId;
28
- /**
29
- * The range of axis.
30
- * Unlike other axes, the range of z-axis is not informed by chart dimensions.
31
- *
32
- * @defaultValue [64,64]
33
- */
34
- range?: AxisRange;
35
- /**
36
- * Specify the domain of axis when the axis is a number axis.
37
- *
38
- * If undefined, then the domain is calculated based on the data and dataKeys.
39
- *
40
- * The length of domain should be 2, and we will validate the values in domain.
41
- *
42
- * Each element in the array can be a number, 'auto', 'dataMin', 'dataMax', a string like 'dataMin - 20', 'dataMax + 100',
43
- * or a function that accepts a single argument and returns a number.
44
- *
45
- * If any element of domain is set to be 'auto', comprehensible scale ticks will be calculated, and the final domain of axis is generated by the ticks.
46
- * If a function, receives '[dataMin, dataMax]', and must return a computed domain as '[min, max]'.
47
- *
48
- * @example <ZAxis type="number" domain={['dataMin', 'dataMax']} />
49
- * @example <ZAxis type="number" domain={[0, 'dataMax']} />
50
- * @example <ZAxis type="number" domain={['auto', 'auto']} />
51
- * @example <ZAxis type="number" domain={[0, 'dataMax + 1000']} />
52
- * @example <ZAxis type="number" domain={['dataMin - 100', 'dataMax + 100']} />
53
- * @example <ZAxis type="number" domain={[dataMin => (0 - Math.abs(dataMin)), dataMax => (dataMax * 2)]} />
54
- * @example <ZAxis type="number" domain={([dataMin, dataMax]) => { const absMax = Math.max(Math.abs(dataMin), Math.abs(dataMax)); return [-absMax, absMax]; }} />
55
- * @example <ZAxis type="number" domain={[0, 100]} allowDataOverflow />
56
- */
57
- domain?: AxisDomain;
58
- /**
59
- * Scale function determines how data values are mapped to visual values.
60
- * In other words, decided the mapping between data domain and coordinate range.
61
- *
62
- * If undefined, or 'auto', the scale function is created internally according to the type of axis and data.
63
- *
64
- * You can define a custom scale, either as a string shortcut to a d3 scale, or as a complete scale definition object.
65
- *
66
- * @defaultValue auto
67
- * @example <ZAxis scale="log" />
68
- * @example
69
- * import { scaleLog } from 'd3-scale';
70
- * const scale = scaleLog().base(Math.E);
71
- * <ZAxis scale={scale} />
72
- */
73
- scale?:
74
- | ScaleType
75
- | CustomScaleDefinition
76
- | CustomScaleDefinition<string>
77
- | CustomScaleDefinition<number>
78
- | CustomScaleDefinition<Date>;
79
- }
80
- export declare const zAxisDefaultProps: {
81
- readonly zAxisId: 0;
82
- readonly range: AxisRange;
83
- readonly scale:
84
- | ScaleType
85
- | CustomScaleDefinition<import('../util/types').CategoricalDomainItem>
86
- | CustomScaleDefinition<string>
87
- | CustomScaleDefinition<number>
88
- | CustomScaleDefinition<Date>;
89
- readonly type: import('../util/types').EvaluatedAxisDomainType;
90
- };
91
- /**
92
- * Virtual axis, does not render anything itself. Has no ticks, grid lines, or labels.
93
- * Useful for dynamically setting Scatter point size, based on data.
94
- *
95
- * @consumes CartesianViewBoxContext
96
- */
97
- export declare function ZAxis<DataPointType = any, DataValueType = any>(
98
- outsideProps: Props<DataPointType, DataValueType>,
99
- ): React.JSX.Element;
100
- export declare namespace ZAxis {
101
- var displayName: string;
102
- }