@octanejs/recharts 0.1.40 → 0.1.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/{LICENSE → LICENSE.recharts} +3 -2
  2. package/README.md +12 -0
  3. package/package.json +10 -9
  4. package/src/animation/AnimatedItems.tsrx +36 -3
  5. package/src/animation/AnimationController.ts +17 -65
  6. package/src/animation/{AnimationControllerImpl.js → AnimationControllerImpl.ts} +19 -12
  7. package/src/animation/{AnimationHandle.js → AnimationHandle.ts} +82 -65
  8. package/src/animation/CSSTransitionAnimate.tsrx +3 -2
  9. package/src/animation/JavascriptAnimate.tsrx +18 -2
  10. package/src/animation/easing.ts +235 -0
  11. package/src/animation/{matchBy.js → matchBy.ts} +76 -120
  12. package/src/animation/timeoutController.ts +71 -0
  13. package/src/animation/useAnimationController.ts +4 -1
  14. package/src/animation/useAnimationStartSnapshot.ts +3 -3
  15. package/src/animation/util.ts +12 -0
  16. package/src/cartesian/Area.tsrx +33 -31
  17. package/src/cartesian/AreaRevealShape.tsrx +4 -3
  18. package/src/cartesian/Bar.ts +1 -0
  19. package/src/cartesian/Bar.tsrx +293 -39
  20. package/src/cartesian/BarStack.tsrx +31 -9
  21. package/src/cartesian/CartesianAxis.tsrx +154 -22
  22. package/src/cartesian/CartesianGrid.tsrx +5 -6
  23. package/src/cartesian/ErrorBar.tsrx +9 -8
  24. package/src/cartesian/Funnel.tsrx +40 -37
  25. package/src/cartesian/GraphicalItemClipPath.tsrx +11 -4
  26. package/src/cartesian/Line.ts +1 -0
  27. package/src/cartesian/Line.tsrx +206 -28
  28. package/src/cartesian/LineDrawShape.tsrx +23 -10
  29. package/src/cartesian/ReferenceLine.tsrx +8 -8
  30. package/src/cartesian/Scatter.tsrx +61 -66
  31. package/src/cartesian/XAxis.tsrx +78 -9
  32. package/src/cartesian/YAxis.tsrx +85 -12
  33. package/src/cartesian/getCartesianPosition.ts +265 -0
  34. package/src/cartesian/getEquidistantTicks.ts +144 -0
  35. package/src/cartesian/getTicks.ts +221 -0
  36. package/src/chart/AreaChart.tsrx +5 -1
  37. package/src/chart/BarChart.tsrx +8 -2
  38. package/src/chart/CartesianChart.tsrx +17 -4
  39. package/src/chart/CategoricalChart.tsrx +4 -1
  40. package/src/chart/ComposedChart.tsrx +5 -1
  41. package/src/chart/FunnelChart.tsrx +5 -1
  42. package/src/chart/LineChart.tsrx +8 -2
  43. package/src/chart/PieChart.tsrx +6 -2
  44. package/src/chart/PolarChart.tsrx +5 -4
  45. package/src/chart/RadarChart.tsrx +6 -2
  46. package/src/chart/RadialBarChart.tsrx +6 -2
  47. package/src/chart/RechartsWrapper.tsrx +57 -21
  48. package/src/chart/Sankey.tsrx +89 -91
  49. package/src/chart/ScatterChart.tsrx +5 -1
  50. package/src/chart/SunburstChart.tsrx +21 -14
  51. package/src/chart/types.ts +0 -1
  52. package/src/component/ActivePoints.tsrx +30 -5
  53. package/src/component/Cell.ts +19 -1
  54. package/src/component/Cursor.tsrx +11 -10
  55. package/src/component/DefaultLegendContent.tsrx +15 -10
  56. package/src/component/DefaultTooltipContent.tsrx +11 -9
  57. package/src/component/Dots.tsrx +37 -6
  58. package/src/component/Label.tsrx +99 -19
  59. package/src/component/LabelList.tsrx +54 -5
  60. package/src/component/Legend.tsrx +9 -5
  61. package/src/component/ResponsiveContainer.tsrx +13 -10
  62. package/src/component/Text.tsrx +95 -32
  63. package/src/component/Tooltip.tsrx +11 -10
  64. package/src/component/TooltipBoundingBox.tsrx +4 -5
  65. package/src/component/{responsiveContainerUtils.js → responsiveContainerUtils.ts} +59 -36
  66. package/src/container/ClipPathProvider.tsrx +6 -2
  67. package/src/container/Layer.tsrx +8 -1
  68. package/src/container/RootSurface.tsrx +15 -4
  69. package/src/container/Surface.tsrx +15 -1
  70. package/src/context/CellsContext.ts +6 -5
  71. package/src/context/ErrorBarContext.tsrx +23 -4
  72. package/src/context/RegisterGraphicalItemId.tsrx +10 -2
  73. package/src/context/accessibilityContext.ts +5 -0
  74. package/src/context/brushUpdateContext.ts +11 -0
  75. package/src/context/chartDataContext.ts +5 -4
  76. package/src/context/chartLayoutContext.ts +22 -8
  77. package/src/context/legendPayloadContext.tsrx +1 -1
  78. package/src/context/tooltipContext.ts +83 -0
  79. package/src/{hooks.js → hooks.ts} +88 -66
  80. package/src/index.ts +37 -37
  81. package/src/internal.ts +4 -20
  82. package/src/legacy-props.ts +129 -0
  83. package/src/polar/Pie.tsrx +91 -69
  84. package/src/polar/PolarAngleAxis.tsrx +47 -47
  85. package/src/polar/PolarGrid.tsrx +7 -6
  86. package/src/polar/PolarRadiusAxis.tsrx +29 -21
  87. package/src/polar/Radar.tsrx +26 -19
  88. package/src/polar/RadialBar.tsrx +59 -42
  89. package/src/polar/{defaultPolarAngleAxisProps.js → defaultPolarAngleAxisProps.ts} +6 -6
  90. package/src/polar/{defaultPolarRadiusAxisProps.js → defaultPolarRadiusAxisProps.ts} +5 -4
  91. package/src/shape/Cross.tsrx +14 -2
  92. package/src/shape/Curve.tsrx +111 -23
  93. package/src/shape/Dot.tsrx +12 -1
  94. package/src/shape/Polygon.tsrx +28 -6
  95. package/src/shape/Rectangle.tsrx +30 -3
  96. package/src/shape/Sector.tsrx +48 -6
  97. package/src/shape/Symbols.tsrx +24 -6
  98. package/src/shape/Trapezoid.tsrx +33 -3
  99. package/src/state/RechartsStoreProvider.tsrx +11 -2
  100. package/src/state/ReportChartProps.ts +2 -2
  101. package/src/state/ReportMainChartProps.ts +2 -1
  102. package/src/state/SetGraphicalItem.ts +6 -4
  103. package/src/state/SetLegendPayload.ts +7 -4
  104. package/src/state/SetTooltipEntrySettings.ts +5 -2
  105. package/src/state/brushSlice.ts +40 -0
  106. package/src/state/cartesianAxisSlice.ts +291 -0
  107. package/src/state/chartDataSlice.ts +87 -0
  108. package/src/state/errorBarSlice.ts +78 -0
  109. package/src/state/eventSettingsSlice.ts +30 -0
  110. package/src/state/{externalEventsMiddleware.js → externalEventsMiddleware.ts} +55 -34
  111. package/src/state/graphicalItemsSlice.ts +180 -0
  112. package/src/state/{keyboardEventsMiddleware.js → keyboardEventsMiddleware.ts} +72 -57
  113. package/src/state/layoutSlice.ts +50 -0
  114. package/src/state/legendSlice.ts +109 -0
  115. package/src/state/{mouseEventsMiddleware.js → mouseEventsMiddleware.ts} +45 -35
  116. package/src/state/optionsSlice.ts +65 -0
  117. package/src/state/polarAxisSlice.ts +42 -0
  118. package/src/state/polarOptionsSlice.ts +43 -0
  119. package/src/state/reduxDevtoolsJsonStringifyReplacer.ts +13 -0
  120. package/src/state/referenceElementsSlice.ts +100 -0
  121. package/src/state/renderedTicksSlice.ts +60 -0
  122. package/src/state/rootPropsSlice.ts +72 -0
  123. package/src/state/selectors/areaSelectors.ts +1 -2
  124. package/src/state/selectors/{arrayEqualityCheck.js → arrayEqualityCheck.ts} +4 -5
  125. package/src/state/selectors/axisSelectors.ts +2502 -0
  126. package/src/state/selectors/barSelectors.ts +373 -0
  127. package/src/state/selectors/barStackSelectors.ts +99 -0
  128. package/src/state/selectors/brushSelectors.ts +28 -0
  129. package/src/state/selectors/combiners/combineActiveLabel.ts +16 -0
  130. package/src/state/selectors/combiners/{combineActiveTooltipIndex.js → combineActiveTooltipIndex.ts} +45 -23
  131. package/src/state/selectors/combiners/combineAllBarPositions.ts +130 -0
  132. package/src/state/selectors/combiners/combineAxisRangeWithReverse.ts +16 -0
  133. package/src/state/selectors/combiners/combineBarPosition.ts +23 -0
  134. package/src/state/selectors/combiners/combineBarSizeList.ts +79 -0
  135. package/src/state/selectors/combiners/{combineCheckedDomain.js → combineCheckedDomain.ts} +9 -6
  136. package/src/state/selectors/combiners/combineConfiguredScale.ts +100 -0
  137. package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.ts +46 -0
  138. package/src/state/selectors/combiners/{combineDisplayedStackedData.js → combineDisplayedStackedData.ts} +23 -19
  139. package/src/state/selectors/combiners/combineInverseScaleFunction.ts +16 -0
  140. package/src/state/selectors/combiners/{combineRealScaleType.js → combineRealScaleType.ts} +16 -8
  141. package/src/state/selectors/combiners/combineStackedData.ts +27 -0
  142. package/src/state/selectors/combiners/combineTooltipInteractionState.ts +86 -0
  143. package/src/state/selectors/combiners/combineTooltipPayload.ts +201 -0
  144. package/src/state/selectors/combiners/{combineTooltipPayloadConfigurations.js → combineTooltipPayloadConfigurations.ts} +17 -18
  145. package/src/state/selectors/containerSelectors.ts +12 -0
  146. package/src/state/selectors/{dataSelectors.js → dataSelectors.ts} +43 -41
  147. package/src/state/selectors/funnelSelectors.ts +5 -5
  148. package/src/state/selectors/graphicalItemSelectors.ts +22 -0
  149. package/src/state/selectors/legendSelectors.ts +25 -0
  150. package/src/state/selectors/lineSelectors.ts +159 -0
  151. package/src/state/selectors/numberDomainEqualityCheck.ts +15 -0
  152. package/src/state/selectors/pickAxisId.ts +6 -0
  153. package/src/state/selectors/pickAxisType.ts +4 -0
  154. package/src/state/selectors/pieSelectors.ts +14 -13
  155. package/src/state/selectors/polarAxisSelectors.ts +223 -0
  156. package/src/state/selectors/polarSelectors.ts +1 -1
  157. package/src/state/selectors/radarSelectors.ts +1 -1
  158. package/src/state/selectors/radialBarSelectors.ts +17 -16
  159. package/src/state/selectors/rootPropsSelectors.ts +26 -0
  160. package/src/state/selectors/scatterSelectors.ts +11 -10
  161. package/src/state/selectors/{selectActivePropsFromChartPointer.js → selectActivePropsFromChartPointer.ts} +11 -4
  162. package/src/state/selectors/selectAllAxes.ts +20 -0
  163. package/src/state/selectors/selectChartOffset.ts +17 -0
  164. package/src/state/selectors/selectChartOffsetInternal.ts +147 -0
  165. package/src/state/selectors/{selectPlotArea.js → selectPlotArea.ts} +4 -3
  166. package/src/state/selectors/selectTooltipAxisId.ts +6 -0
  167. package/src/state/selectors/{selectTooltipAxisType.js → selectTooltipAxisType.ts} +10 -4
  168. package/src/state/selectors/selectTooltipEventType.ts +39 -0
  169. package/src/state/selectors/selectTooltipPayloadSearcher.ts +6 -0
  170. package/src/state/selectors/selectTooltipSettings.ts +6 -0
  171. package/src/state/selectors/selectTooltipState.ts +5 -0
  172. package/src/state/selectors/selectors.ts +315 -0
  173. package/src/state/selectors/tooltipSelectors.ts +611 -0
  174. package/src/state/selectors/touchSelectors.ts +52 -0
  175. package/src/state/{store.js → store.ts} +46 -36
  176. package/src/state/tooltipSlice.ts +507 -0
  177. package/src/state/{touchEventsMiddleware.js → touchEventsMiddleware.ts} +54 -42
  178. package/src/state/types/AreaSettings.ts +15 -0
  179. package/src/state/types/BarSettings.ts +15 -0
  180. package/src/state/types/LineSettings.ts +10 -0
  181. package/src/state/types/PieSettings.ts +32 -0
  182. package/src/state/types/RadarSettings.ts +6 -0
  183. package/src/state/types/RadialBarSettings.ts +10 -0
  184. package/src/state/types/ScatterSettings.ts +13 -0
  185. package/src/state/types/StackedGraphicalItem.ts +34 -0
  186. package/src/state/zIndexSlice.ts +137 -0
  187. package/src/synchronisation/syncSelectors.ts +7 -0
  188. package/src/synchronisation/types.ts +42 -0
  189. package/src/synchronisation/useChartSynchronisation.tsrx +26 -11
  190. package/src/types.ts +55 -0
  191. package/src/util/ActiveShapeUtils.tsrx +34 -10
  192. package/src/util/BarUtils.tsrx +43 -3
  193. package/src/util/{CartesianUtils.js → CartesianUtils.ts} +22 -39
  194. package/src/util/ChartUtils.ts +759 -0
  195. package/src/util/{Constants.js → Constants.ts} +6 -6
  196. package/src/util/DOMUtils.ts +135 -0
  197. package/src/util/{DataUtils.js → DataUtils.ts} +120 -47
  198. package/src/util/Events.ts +22 -0
  199. package/src/util/FunnelUtils.tsrx +3 -3
  200. package/src/util/Global.ts +13 -0
  201. package/src/util/IfOverflow.ts +16 -0
  202. package/src/util/LRUCache.ts +42 -0
  203. package/src/util/{LogUtils.js → LogUtils.ts} +7 -12
  204. package/src/util/OctaneTypes.ts +51 -0
  205. package/src/util/PolarUtils.ts +132 -0
  206. package/src/util/RadialBarUtils.tsrx +3 -3
  207. package/src/util/ReduceCSSCalc.ts +186 -0
  208. package/src/util/ScatterUtils.tsrx +9 -7
  209. package/src/util/{TickUtils.js → TickUtils.ts} +30 -13
  210. package/src/util/{YAxisUtils.js → YAxisUtils.ts} +27 -17
  211. package/src/util/axisPropsAreEqual.ts +49 -0
  212. package/src/util/createEventProxy.ts +20 -0
  213. package/src/util/{excludeEventProps.js → excludeEventProps.ts} +8 -6
  214. package/src/util/getActiveCoordinate.ts +210 -0
  215. package/src/util/{getAxisTypeBasedOnLayout.js → getAxisTypeBasedOnLayout.ts} +7 -3
  216. package/src/util/getClassNameFromUnknown.ts +7 -0
  217. package/src/util/{getEveryNth.js → getEveryNth.ts} +5 -6
  218. package/src/util/getRadiusAndStrokeWidthFromDot.ts +31 -0
  219. package/src/util/{getRelativeCoordinate.js → getRelativeCoordinate.ts} +26 -9
  220. package/src/util/getSliced.ts +14 -0
  221. package/src/util/{isDomainSpecifiedByUser.js → isDomainSpecifiedByUser.ts} +46 -100
  222. package/src/util/isWellBehavedNumber.ts +8 -0
  223. package/src/util/payload/getUniqPayload.ts +1 -1
  224. package/src/util/{propsAreEqual.js → propsAreEqual.ts} +10 -8
  225. package/src/util/{resolveDefaultProps.js → resolveDefaultProps.ts} +35 -57
  226. package/src/util/round.ts +33 -0
  227. package/src/util/scale/CustomScaleDefinition.ts +82 -0
  228. package/src/util/scale/RechartsScale.ts +131 -0
  229. package/src/util/scale/{createCategoricalInverse.js → createCategoricalInverse.ts} +24 -29
  230. package/src/util/scale/{getNiceTickValues.js → getNiceTickValues.ts} +125 -146
  231. package/src/util/scale/index.ts +2 -0
  232. package/src/util/scale/util/{arithmetic.js → arithmetic.ts} +12 -8
  233. package/src/util/stacks/getStackSeriesIdentifier.ts +21 -0
  234. package/src/util/stacks/stackTypes.ts +58 -0
  235. package/src/util/{svgPropertiesNoEvents.js → svgPropertiesNoEvents.ts} +52 -27
  236. package/src/util/tooltip/translate.ts +2 -1
  237. package/src/util/typedDataKey.ts +49 -0
  238. package/src/util/types.ts +1265 -7
  239. package/src/util/{useUniqueId.js → useUniqueId.ts} +9 -5
  240. package/src/zIndex/{DefaultZIndexes.js → DefaultZIndexes.ts} +13 -4
  241. package/src/zIndex/ZIndexLayer.tsrx +13 -4
  242. package/src/zIndex/ZIndexPortal.tsrx +14 -4
  243. package/src/zIndex/{getZIndexFromUnknown.js → getZIndexFromUnknown.ts} +3 -3
  244. package/src/zIndex/{zIndexSelectors.js → zIndexSelectors.ts} +17 -11
  245. package/src/animation/easing.js +0 -193
  246. package/src/animation/timeoutController.js +0 -49
  247. package/src/animation/util.js +0 -11
  248. package/src/cartesian/Area.tsrx.d.ts +0 -340
  249. package/src/cartesian/Bar.tsrx.d.ts +0 -4
  250. package/src/cartesian/BarStack.tsrx.d.ts +0 -6
  251. package/src/cartesian/CartesianAxis.tsrx.d.ts +0 -3
  252. package/src/cartesian/CartesianGrid.tsrx.d.ts +0 -219
  253. package/src/cartesian/ErrorBar.tsrx.d.ts +0 -131
  254. package/src/cartesian/Funnel.tsrx.d.ts +0 -274
  255. package/src/cartesian/Line.tsrx.d.ts +0 -4
  256. package/src/cartesian/LineDrawShape.tsrx.d.ts +0 -2
  257. package/src/cartesian/ReferenceLine.tsrx.d.ts +0 -178
  258. package/src/cartesian/Scatter.tsrx.d.ts +0 -351
  259. package/src/cartesian/XAxis.tsrx.d.ts +0 -3
  260. package/src/cartesian/YAxis.tsrx.d.ts +0 -3
  261. package/src/cartesian/ZAxis.tsrx.d.ts +0 -102
  262. package/src/cartesian/getCartesianPosition.js +0 -277
  263. package/src/cartesian/getEquidistantTicks.js +0 -133
  264. package/src/cartesian/getTicks.js +0 -280
  265. package/src/chart/AreaChart.tsrx.d.ts +0 -12
  266. package/src/chart/BarChart.tsrx.d.ts +0 -2
  267. package/src/chart/CartesianChart.tsrx.d.ts +0 -10
  268. package/src/chart/ComposedChart.tsrx.d.ts +0 -12
  269. package/src/chart/FunnelChart.tsrx.d.ts +0 -12
  270. package/src/chart/LineChart.tsrx.d.ts +0 -2
  271. package/src/chart/PieChart.tsrx.d.ts +0 -31
  272. package/src/chart/RadarChart.tsrx.d.ts +0 -31
  273. package/src/chart/RadialBarChart.tsrx.d.ts +0 -31
  274. package/src/chart/Sankey.tsrx.d.ts +0 -253
  275. package/src/chart/ScatterChart.tsrx.d.ts +0 -12
  276. package/src/chart/SunburstChart.tsrx.d.ts +0 -146
  277. package/src/component/DefaultLegendContent.tsrx.d.ts +0 -125
  278. package/src/component/DefaultTooltipContent.tsrx.d.ts +0 -87
  279. package/src/component/Label.tsrx.d.ts +0 -12
  280. package/src/component/LabelList.tsrx.d.ts +0 -8
  281. package/src/component/Legend.tsrx.d.ts +0 -88
  282. package/src/component/ResponsiveContainer.tsrx.d.ts +0 -81
  283. package/src/component/Text.tsrx.d.ts +0 -9
  284. package/src/component/Tooltip.tsrx.d.ts +0 -246
  285. package/src/container/Layer.tsrx.d.ts +0 -6
  286. package/src/container/Surface.tsrx.d.ts +0 -12
  287. package/src/context/accessibilityContext.js +0 -10
  288. package/src/context/tooltipContext.js +0 -55
  289. package/src/index.d.ts +0 -281
  290. package/src/polar/Pie.tsrx.d.ts +0 -436
  291. package/src/polar/PolarAngleAxis.tsrx.d.ts +0 -215
  292. package/src/polar/PolarGrid.tsrx.d.ts +0 -117
  293. package/src/polar/PolarRadiusAxis.tsrx.d.ts +0 -209
  294. package/src/polar/Radar.tsrx.d.ts +0 -215
  295. package/src/polar/RadialBar.tsrx.d.ts +0 -340
  296. package/src/shape/Cross.tsrx.d.ts +0 -12
  297. package/src/shape/Curve.tsrx.d.ts +0 -42
  298. package/src/shape/Dot.tsrx.d.ts +0 -9
  299. package/src/shape/Polygon.tsrx.d.ts +0 -13
  300. package/src/shape/Rectangle.tsrx.d.ts +0 -31
  301. package/src/shape/Sector.tsrx.d.ts +0 -29
  302. package/src/shape/Symbols.tsrx.d.ts +0 -15
  303. package/src/shape/Trapezoid.tsrx.d.ts +0 -29
  304. package/src/state/brushSlice.js +0 -36
  305. package/src/state/cartesianAxisSlice.js +0 -256
  306. package/src/state/chartDataSlice.js +0 -67
  307. package/src/state/errorBarSlice.js +0 -53
  308. package/src/state/eventSettingsSlice.js +0 -25
  309. package/src/state/graphicalItemsSlice.js +0 -91
  310. package/src/state/layoutSlice.js +0 -57
  311. package/src/state/legendSlice.js +0 -83
  312. package/src/state/optionsSlice.js +0 -45
  313. package/src/state/polarAxisSlice.js +0 -33
  314. package/src/state/polarOptionsSlice.js +0 -26
  315. package/src/state/reduxDevtoolsJsonStringifyReplacer.js +0 -14
  316. package/src/state/referenceElementsSlice.js +0 -51
  317. package/src/state/renderedTicksSlice.js +0 -41
  318. package/src/state/rootPropsSlice.js +0 -48
  319. package/src/state/selectors/axisSelectors.js +0 -2113
  320. package/src/state/selectors/barSelectors.js +0 -263
  321. package/src/state/selectors/barStackSelectors.js +0 -65
  322. package/src/state/selectors/brushSelectors.js +0 -21
  323. package/src/state/selectors/combiners/combineActiveLabel.js +0 -18
  324. package/src/state/selectors/combiners/combineAllBarPositions.js +0 -169
  325. package/src/state/selectors/combiners/combineAxisRangeWithReverse.js +0 -11
  326. package/src/state/selectors/combiners/combineBarPosition.js +0 -17
  327. package/src/state/selectors/combiners/combineBarSizeList.js +0 -115
  328. package/src/state/selectors/combiners/combineConfiguredScale.js +0 -46
  329. package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.js +0 -48
  330. package/src/state/selectors/combiners/combineInverseScaleFunction.js +0 -12
  331. package/src/state/selectors/combiners/combineStackedData.js +0 -22
  332. package/src/state/selectors/combiners/combineTooltipInteractionState.js +0 -121
  333. package/src/state/selectors/combiners/combineTooltipPayload.js +0 -248
  334. package/src/state/selectors/containerSelectors.js +0 -6
  335. package/src/state/selectors/graphicalItemSelectors.js +0 -25
  336. package/src/state/selectors/legendSelectors.js +0 -18
  337. package/src/state/selectors/lineSelectors.js +0 -106
  338. package/src/state/selectors/numberDomainEqualityCheck.js +0 -11
  339. package/src/state/selectors/pickAxisId.js +0 -3
  340. package/src/state/selectors/pickAxisType.js +0 -3
  341. package/src/state/selectors/polarAxisSelectors.js +0 -237
  342. package/src/state/selectors/rootPropsSelectors.js +0 -13
  343. package/src/state/selectors/selectAllAxes.js +0 -15
  344. package/src/state/selectors/selectChartOffset.js +0 -12
  345. package/src/state/selectors/selectChartOffsetInternal.js +0 -174
  346. package/src/state/selectors/selectTooltipAxisId.js +0 -3
  347. package/src/state/selectors/selectTooltipEventType.js +0 -27
  348. package/src/state/selectors/selectTooltipPayloadSearcher.js +0 -3
  349. package/src/state/selectors/selectTooltipSettings.js +0 -3
  350. package/src/state/selectors/selectTooltipState.js +0 -3
  351. package/src/state/selectors/selectors.js +0 -222
  352. package/src/state/selectors/tooltipSelectors.js +0 -471
  353. package/src/state/selectors/touchSelectors.js +0 -31
  354. package/src/state/tooltipSlice.js +0 -237
  355. package/src/state/types/StackedGraphicalItem.js +0 -18
  356. package/src/state/zIndexSlice.js +0 -167
  357. package/src/synchronisation/syncSelectors.js +0 -5
  358. package/src/util/ChartUtils.js +0 -630
  359. package/src/util/DOMUtils.js +0 -180
  360. package/src/util/Events.js +0 -7
  361. package/src/util/Global.js +0 -13
  362. package/src/util/LRUCache.js +0 -58
  363. package/src/util/PolarUtils.js +0 -190
  364. package/src/util/ReduceCSSCalc.js +0 -260
  365. package/src/util/axisPropsAreEqual.js +0 -63
  366. package/src/util/createEventProxy.js +0 -18
  367. package/src/util/getActiveCoordinate.js +0 -253
  368. package/src/util/getClassNameFromUnknown.js +0 -8
  369. package/src/util/getRadiusAndStrokeWidthFromDot.js +0 -28
  370. package/src/util/getSliced.js +0 -11
  371. package/src/util/isWellBehavedNumber.js +0 -8
  372. package/src/util/round.js +0 -39
  373. package/src/util/scale/RechartsScale.js +0 -68
  374. package/src/util/scale/index.js +0 -3
  375. package/src/util/stacks/getStackSeriesIdentifier.js +0 -10
  376. package/src/zIndex/ZIndexLayer.tsrx.d.ts +0 -2
@@ -1,46 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/combiners/combineConfiguredScale.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- import * as d3Scales from 'victory-vendor/d3-scale';
4
- import { upperFirst } from '../../../util/DataUtils';
5
- function getD3ScaleFromType(realScaleType) {
6
- var scales = d3Scales;
7
- if (realScaleType in scales && typeof scales[realScaleType] === 'function') {
8
- return scales[realScaleType]();
9
- }
10
- var name = 'scale'.concat(upperFirst(realScaleType));
11
- if (name in scales && typeof scales[name] === 'function') {
12
- return scales[name]();
13
- }
14
- return undefined;
15
- }
16
-
17
- /**
18
- * Converts external scale definition into internal RechartsScale definition.
19
- * @param scale custom function scale - if you have the `string` from outside, use `combineRealScaleType` first which will validate it and return RechartsScaleType or undefined
20
- * @param axisDomain
21
- * @param axisRange
22
- */
23
-
24
- export function combineConfiguredScaleInternal(scale, axisDomain, axisRange) {
25
- if (typeof scale === 'function') {
26
- return scale.copy().domain(axisDomain).range(axisRange);
27
- }
28
- if (scale == null) {
29
- return undefined;
30
- }
31
- var d3ScaleFunction = getD3ScaleFromType(scale);
32
- if (d3ScaleFunction == null) {
33
- return undefined;
34
- }
35
- d3ScaleFunction.domain(axisDomain).range(axisRange);
36
- return d3ScaleFunction;
37
- }
38
- export function combineConfiguredScale(axis, realScaleType, axisDomain, axisRange) {
39
- if (axisDomain == null || axisRange == null) {
40
- return undefined;
41
- }
42
- if (typeof axis.scale === 'function') {
43
- return combineConfiguredScaleInternal(axis.scale, axisDomain, axisRange);
44
- }
45
- return combineConfiguredScaleInternal(realScaleType, axisDomain, axisRange);
46
- }
@@ -1,48 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/combiners/combineCoordinateForDefaultIndex.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- export var combineCoordinateForDefaultIndex = (
4
- width,
5
- height,
6
- layout,
7
- offset,
8
- tooltipTicks,
9
- defaultIndex,
10
- tooltipConfigurations,
11
- ) => {
12
- if (defaultIndex == null) {
13
- return undefined;
14
- }
15
- /*
16
- * With defaultIndex alone, we don't have enough information to decide _which_ of the multiple tooltips to display.
17
- * Maybe one day we could add new prop `activeGraphicalItemId` to the chart to help with that.
18
- * Until then, we choose the first one.
19
- */
20
- var firstConfiguration = tooltipConfigurations[0];
21
- var maybePosition =
22
- firstConfiguration === null || firstConfiguration === void 0
23
- ? void 0
24
- : firstConfiguration.getPosition(defaultIndex);
25
- if (maybePosition != null) {
26
- return maybePosition;
27
- }
28
- var tick =
29
- tooltipTicks === null || tooltipTicks === void 0 ? void 0 : tooltipTicks[Number(defaultIndex)];
30
- if (!tick) {
31
- return undefined;
32
- }
33
- switch (layout) {
34
- case 'horizontal': {
35
- return {
36
- x: tick.coordinate,
37
- y: (offset.top + height) / 2,
38
- };
39
- }
40
- default: {
41
- // This logic is not super sound - it conflates vertical, radial, centric layouts into just one. TODO improve!
42
- return {
43
- x: (offset.left + width) / 2,
44
- y: tick.coordinate,
45
- };
46
- }
47
- }
48
- };
@@ -1,12 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/combiners/combineInverseScaleFunction.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- import { createCategoricalInverse } from '../../../util/scale/createCategoricalInverse';
4
- export function combineInverseScaleFunction(configuredScale) {
5
- if (configuredScale == null) {
6
- return undefined;
7
- }
8
- if ('invert' in configuredScale && typeof configuredScale.invert === 'function') {
9
- return configuredScale.invert.bind(configuredScale);
10
- }
11
- return createCategoricalInverse(configuredScale, undefined);
12
- }
@@ -1,22 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/combiners/combineStackedData.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- import { getStackSeriesIdentifier } from '../../../util/stacks/getStackSeriesIdentifier';
4
- export var combineStackedData = (stackGroups, barSettings) => {
5
- var stackSeriesIdentifier = getStackSeriesIdentifier(barSettings);
6
- if (!stackGroups || stackSeriesIdentifier == null || barSettings == null) {
7
- return undefined;
8
- }
9
- var stackId = barSettings.stackId;
10
- if (stackId == null) {
11
- return undefined;
12
- }
13
- var stackGroup = stackGroups[stackId];
14
- if (!stackGroup) {
15
- return undefined;
16
- }
17
- var stackedData = stackGroup.stackedData;
18
- if (!stackedData) {
19
- return undefined;
20
- }
21
- return stackedData.find((sd) => sd.key === stackSeriesIdentifier);
22
- };
@@ -1,121 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/combiners/combineTooltipInteractionState.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- function ownKeys(e, r) {
4
- var t = Object.keys(e);
5
- if (Object.getOwnPropertySymbols) {
6
- var o = Object.getOwnPropertySymbols(e);
7
- (r &&
8
- (o = o.filter(function (r) {
9
- return Object.getOwnPropertyDescriptor(e, r).enumerable;
10
- })),
11
- t.push.apply(t, o));
12
- }
13
- return t;
14
- }
15
- function _objectSpread(e) {
16
- for (var r = 1; r < arguments.length; r++) {
17
- var t = null != arguments[r] ? arguments[r] : {};
18
- r % 2
19
- ? ownKeys(Object(t), !0).forEach(function (r) {
20
- _defineProperty(e, r, t[r]);
21
- })
22
- : Object.getOwnPropertyDescriptors
23
- ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t))
24
- : ownKeys(Object(t)).forEach(function (r) {
25
- Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
26
- });
27
- }
28
- return e;
29
- }
30
- function _defineProperty(e, r, t) {
31
- return (
32
- (r = _toPropertyKey(r)) in e
33
- ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 })
34
- : (e[r] = t),
35
- e
36
- );
37
- }
38
- function _toPropertyKey(t) {
39
- var i = _toPrimitive(t, 'string');
40
- return 'symbol' == typeof i ? i : i + '';
41
- }
42
- function _toPrimitive(t, r) {
43
- if ('object' != typeof t || !t) return t;
44
- var e = t[Symbol.toPrimitive];
45
- if (void 0 !== e) {
46
- var i = e.call(t, r || 'default');
47
- if ('object' != typeof i) return i;
48
- throw new TypeError('@@toPrimitive must return a primitive value.');
49
- }
50
- return ('string' === r ? String : Number)(t);
51
- }
52
- import { noInteraction } from '../../tooltipSlice';
53
- function chooseAppropriateMouseInteraction(tooltipState, tooltipEventType, trigger) {
54
- if (tooltipEventType === 'axis') {
55
- if (trigger === 'click') {
56
- return tooltipState.axisInteraction.click;
57
- }
58
- return tooltipState.axisInteraction.hover;
59
- }
60
- if (trigger === 'click') {
61
- return tooltipState.itemInteraction.click;
62
- }
63
- return tooltipState.itemInteraction.hover;
64
- }
65
- function hasBeenActivePreviously(tooltipInteractionState) {
66
- return tooltipInteractionState.index != null;
67
- }
68
- export var combineTooltipInteractionState = (
69
- tooltipState,
70
- tooltipEventType,
71
- trigger,
72
- defaultIndex,
73
- ) => {
74
- if (tooltipEventType == null) {
75
- return noInteraction;
76
- }
77
- var appropriateMouseInteraction = chooseAppropriateMouseInteraction(
78
- tooltipState,
79
- tooltipEventType,
80
- trigger,
81
- );
82
- if (appropriateMouseInteraction == null) {
83
- return noInteraction;
84
- }
85
- if (appropriateMouseInteraction.active) {
86
- return appropriateMouseInteraction;
87
- }
88
- if (tooltipState.keyboardInteraction.active) {
89
- return tooltipState.keyboardInteraction;
90
- }
91
- if (tooltipState.syncInteraction.active && tooltipState.syncInteraction.index != null) {
92
- return tooltipState.syncInteraction;
93
- }
94
- var activeFromProps = tooltipState.settings.active === true;
95
- if (hasBeenActivePreviously(appropriateMouseInteraction)) {
96
- if (activeFromProps) {
97
- return _objectSpread(
98
- _objectSpread({}, appropriateMouseInteraction),
99
- {},
100
- {
101
- active: true,
102
- },
103
- );
104
- }
105
- } else if (defaultIndex != null) {
106
- return {
107
- active: true,
108
- coordinate: undefined,
109
- dataKey: undefined,
110
- index: defaultIndex,
111
- graphicalItemId: undefined,
112
- };
113
- }
114
- return _objectSpread(
115
- _objectSpread({}, noInteraction),
116
- {},
117
- {
118
- coordinate: appropriateMouseInteraction.coordinate,
119
- },
120
- );
121
- };
@@ -1,248 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/combiners/combineTooltipPayload.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- function ownKeys(e, r) {
4
- var t = Object.keys(e);
5
- if (Object.getOwnPropertySymbols) {
6
- var o = Object.getOwnPropertySymbols(e);
7
- (r &&
8
- (o = o.filter(function (r) {
9
- return Object.getOwnPropertyDescriptor(e, r).enumerable;
10
- })),
11
- t.push.apply(t, o));
12
- }
13
- return t;
14
- }
15
- function _objectSpread(e) {
16
- for (var r = 1; r < arguments.length; r++) {
17
- var t = null != arguments[r] ? arguments[r] : {};
18
- r % 2
19
- ? ownKeys(Object(t), !0).forEach(function (r) {
20
- _defineProperty(e, r, t[r]);
21
- })
22
- : Object.getOwnPropertyDescriptors
23
- ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t))
24
- : ownKeys(Object(t)).forEach(function (r) {
25
- Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
26
- });
27
- }
28
- return e;
29
- }
30
- function _defineProperty(e, r, t) {
31
- return (
32
- (r = _toPropertyKey(r)) in e
33
- ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 })
34
- : (e[r] = t),
35
- e
36
- );
37
- }
38
- function _toPropertyKey(t) {
39
- var i = _toPrimitive(t, 'string');
40
- return 'symbol' == typeof i ? i : i + '';
41
- }
42
- function _toPrimitive(t, r) {
43
- if ('object' != typeof t || !t) return t;
44
- var e = t[Symbol.toPrimitive];
45
- if (void 0 !== e) {
46
- var i = e.call(t, r || 'default');
47
- if ('object' != typeof i) return i;
48
- throw new TypeError('@@toPrimitive must return a primitive value.');
49
- }
50
- return ('string' === r ? String : Number)(t);
51
- }
52
- import { findEntryInArray } from '../../../util/DataUtils';
53
- import { getTooltipEntry, getValueByDataKey } from '../../../util/ChartUtils';
54
- import { getSliced } from '../../../util/getSliced';
55
- function parseName(value) {
56
- if (typeof value === 'string' || typeof value === 'number') {
57
- return value;
58
- }
59
- return undefined;
60
- }
61
- function parseUnit(value) {
62
- if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
63
- return value;
64
- }
65
- return undefined;
66
- }
67
- function parseDataKey(value) {
68
- if (typeof value === 'string' || typeof value === 'number') {
69
- return value;
70
- }
71
- if (typeof value === 'function') {
72
- return (obj) => value(obj);
73
- }
74
- return undefined;
75
- }
76
- function parseColor(value) {
77
- if (typeof value === 'string') {
78
- return value;
79
- }
80
- return undefined;
81
- }
82
- function parseTooltipPayloadItem(item) {
83
- if (item == null || typeof item !== 'object') {
84
- return undefined;
85
- }
86
- var name = 'name' in item ? parseName(item.name) : undefined;
87
- var unit = 'unit' in item ? parseUnit(item.unit) : undefined;
88
- var dataKey = 'dataKey' in item ? parseDataKey(item.dataKey) : undefined;
89
- var payload = 'payload' in item ? item.payload : undefined;
90
- var color = 'color' in item ? parseColor(item.color) : undefined;
91
- var fill = 'fill' in item ? parseColor(item.fill) : undefined;
92
- return {
93
- name,
94
- unit,
95
- dataKey,
96
- payload,
97
- color,
98
- fill,
99
- };
100
- }
101
- function selectFinalData(dataDefinedOnItem, dataDefinedOnChart) {
102
- /*
103
- * If a payload has data specified directly from the graphical item, prefer that.
104
- * Otherwise, fill in data from the chart level, using the same index.
105
- */
106
- if (dataDefinedOnItem != null) {
107
- return dataDefinedOnItem;
108
- }
109
- return dataDefinedOnChart;
110
- }
111
- export var combineTooltipPayload = (
112
- tooltipPayloadConfigurations,
113
- activeIndex,
114
- chartDataState,
115
- tooltipAxisDataKey,
116
- activeLabel,
117
- tooltipPayloadSearcher,
118
- tooltipEventType,
119
- ) => {
120
- if (activeIndex == null || tooltipPayloadSearcher == null) {
121
- return undefined;
122
- }
123
- var chartData = chartDataState.chartData,
124
- computedData = chartDataState.computedData,
125
- dataStartIndex = chartDataState.dataStartIndex,
126
- dataEndIndex = chartDataState.dataEndIndex;
127
- var init = [];
128
- return tooltipPayloadConfigurations.reduce((agg, _ref) => {
129
- var _settings$dataKey;
130
- var dataDefinedOnItem = _ref.dataDefinedOnItem,
131
- settings = _ref.settings;
132
- var finalData = selectFinalData(dataDefinedOnItem, chartData);
133
- var sliced = Array.isArray(finalData)
134
- ? getSliced(finalData, dataStartIndex, dataEndIndex)
135
- : finalData;
136
- var finalDataKey =
137
- (_settings$dataKey = settings === null || settings === void 0 ? void 0 : settings.dataKey) !==
138
- null && _settings$dataKey !== void 0
139
- ? _settings$dataKey
140
- : tooltipAxisDataKey;
141
- // BaseAxisProps does not support nameKey but it could!
142
- var finalNameKey = settings === null || settings === void 0 ? void 0 : settings.nameKey; // ?? tooltipAxis?.nameKey;
143
- var tooltipPayload;
144
- if (
145
- tooltipAxisDataKey &&
146
- Array.isArray(sliced) &&
147
- /*
148
- * findEntryInArray won't work for Scatter because Scatter provides an array of arrays
149
- * as tooltip payloads and findEntryInArray is not prepared to handle that.
150
- * Sad but also ScatterChart only allows 'item' tooltipEventType
151
- * and also this is only a problem if there are multiple Scatters and each has its own data array
152
- * so let's fix that some other time.
153
- */
154
- !Array.isArray(sliced[0]) &&
155
- /*
156
- * If the tooltipEventType is 'axis', we should search for the dataKey in the sliced data
157
- * because thanks to allowDuplicatedCategory=false, the order of elements in the array
158
- * no longer matches the order of elements in the original data
159
- * and so we need to search by the active dataKey + label rather than by index.
160
- *
161
- * The same happens if multiple graphical items are present in the chart
162
- * and each of them has its own data array. Those arrays get concatenated
163
- * and again the tooltip index no longer matches the original data.
164
- *
165
- * On the other hand the tooltipEventType 'item' should always search by index
166
- * because we get the index from interacting over the individual elements
167
- * which is always accurate, irrespective of the allowDuplicatedCategory setting.
168
- */
169
- tooltipEventType === 'axis'
170
- ) {
171
- tooltipPayload = findEntryInArray(sliced, tooltipAxisDataKey, activeLabel);
172
- } else {
173
- /*
174
- * This is a problem because it assumes that the index is pointing to the displayed data
175
- * which it isn't because the index is pointing to the tooltip ticks array.
176
- * The above approach (with findEntryInArray) is the correct one, but it only works
177
- * if the axis dataKey is defined explicitly, and if the data is an array of objects.
178
- */
179
- tooltipPayload = tooltipPayloadSearcher(sliced, activeIndex, computedData, finalNameKey);
180
- }
181
- if (Array.isArray(tooltipPayload)) {
182
- tooltipPayload.forEach((item) => {
183
- var _parsedItem$color, _parsedItem$fill;
184
- var parsedItem = parseTooltipPayloadItem(item);
185
- var itemName = parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.name;
186
- var itemDataKey =
187
- parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.dataKey;
188
- var itemPayload =
189
- parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.payload;
190
- var newSettings = _objectSpread(
191
- _objectSpread({}, settings),
192
- {},
193
- {
194
- name: itemName,
195
- unit: parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.unit,
196
- // Preserve item-level color/fill from graphical items.
197
- color:
198
- (_parsedItem$color =
199
- parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.color) !==
200
- null && _parsedItem$color !== void 0
201
- ? _parsedItem$color
202
- : settings === null || settings === void 0
203
- ? void 0
204
- : settings.color,
205
- fill:
206
- (_parsedItem$fill =
207
- parsedItem === null || parsedItem === void 0 ? void 0 : parsedItem.fill) !== null &&
208
- _parsedItem$fill !== void 0
209
- ? _parsedItem$fill
210
- : settings === null || settings === void 0
211
- ? void 0
212
- : settings.fill,
213
- },
214
- );
215
- agg.push(
216
- getTooltipEntry({
217
- tooltipEntrySettings: newSettings,
218
- dataKey: itemDataKey,
219
- payload: itemPayload,
220
- value: getValueByDataKey(itemPayload, itemDataKey),
221
- name: itemName == null ? undefined : String(itemName),
222
- }),
223
- );
224
- });
225
- } else {
226
- var _getValueByDataKey;
227
- // I am not quite sure why these two branches (Array vs Array of Arrays) have to behave differently - I imagine we should unify these. 3.x breaking change?
228
- agg.push(
229
- getTooltipEntry({
230
- tooltipEntrySettings: settings,
231
- dataKey: finalDataKey,
232
- payload: tooltipPayload,
233
- // getValueByDataKey does not validate the output type
234
- value: getValueByDataKey(tooltipPayload, finalDataKey),
235
- // getValueByDataKey does not validate the output type
236
- name:
237
- (_getValueByDataKey = getValueByDataKey(tooltipPayload, finalNameKey)) !== null &&
238
- _getValueByDataKey !== void 0
239
- ? _getValueByDataKey
240
- : settings === null || settings === void 0
241
- ? void 0
242
- : settings.name,
243
- }),
244
- );
245
- }
246
- return agg;
247
- }, init);
248
- };
@@ -1,6 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/containerSelectors.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- export var selectChartWidth = (state) => state.layout.width;
4
- export var selectChartHeight = (state) => state.layout.height;
5
- export var selectContainerScale = (state) => state.layout.scale;
6
- export var selectMargin = (state) => state.layout.margin;
@@ -1,25 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/graphicalItemSelectors.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- import { defaultAxisId } from '../cartesianAxisSlice';
4
- export function selectXAxisIdFromGraphicalItemId(state, id) {
5
- var _state$graphicalItems, _state$graphicalItems2;
6
- return (_state$graphicalItems =
7
- (_state$graphicalItems2 = state.graphicalItems.cartesianItems.find(
8
- (item) => item.id === id,
9
- )) === null || _state$graphicalItems2 === void 0
10
- ? void 0
11
- : _state$graphicalItems2.xAxisId) !== null && _state$graphicalItems !== void 0
12
- ? _state$graphicalItems
13
- : defaultAxisId;
14
- }
15
- export function selectYAxisIdFromGraphicalItemId(state, id) {
16
- var _state$graphicalItems3, _state$graphicalItems4;
17
- return (_state$graphicalItems3 =
18
- (_state$graphicalItems4 = state.graphicalItems.cartesianItems.find(
19
- (item) => item.id === id,
20
- )) === null || _state$graphicalItems4 === void 0
21
- ? void 0
22
- : _state$graphicalItems4.yAxisId) !== null && _state$graphicalItems3 !== void 0
23
- ? _state$graphicalItems3
24
- : defaultAxisId;
25
- }
@@ -1,18 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/legendSelectors.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- // Sanctioned deviation: es-toolkit compat imports normalized to the ESM barrel
4
- // ('es-toolkit/compat') — the per-function subpaths are CJS-only and break
5
- // consumers that compile this binding from source (vite dev prebundle).
6
- import { createSelector } from 'reselect';
7
- import { sortBy } from 'es-toolkit/compat';
8
- export var selectLegendSettings = (state) => state.legend.settings;
9
- export var selectLegendSize = (state) => state.legend.size;
10
- var selectAllLegendPayload2DArray = (state) => state.legend.payload;
11
- export var selectLegendPayload = createSelector(
12
- [selectAllLegendPayload2DArray, selectLegendSettings],
13
- (payloads, _ref) => {
14
- var itemSorter = _ref.itemSorter;
15
- var flat = payloads.flat(1);
16
- return itemSorter ? sortBy(flat, itemSorter) : flat;
17
- },
18
- );
@@ -1,106 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/lineSelectors.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- import { createSelector } from 'reselect';
4
- import { computeLinePoints } from '../../cartesian/Line';
5
- import { selectChartDataWithIndexesIfNotInPanoramaPosition4 } from './dataSelectors';
6
- import { selectChartLayout } from '../../context/chartLayoutContext';
7
- import {
8
- selectAxisWithScale,
9
- selectTicksOfGraphicalItem,
10
- selectUnfilteredCartesianItems,
11
- } from './axisSelectors';
12
- import { getBandSizeOfAxis, isCategoricalAxis } from '../../util/ChartUtils';
13
- var selectXAxisWithScale = (state, xAxisId, _yAxisId, isPanorama) =>
14
- selectAxisWithScale(state, 'xAxis', xAxisId, isPanorama);
15
- var selectXAxisTicks = (state, xAxisId, _yAxisId, isPanorama) =>
16
- selectTicksOfGraphicalItem(state, 'xAxis', xAxisId, isPanorama);
17
- var selectYAxisWithScale = (state, _xAxisId, yAxisId, isPanorama) =>
18
- selectAxisWithScale(state, 'yAxis', yAxisId, isPanorama);
19
- var selectYAxisTicks = (state, _xAxisId, yAxisId, isPanorama) =>
20
- selectTicksOfGraphicalItem(state, 'yAxis', yAxisId, isPanorama);
21
- var selectBandSize = createSelector(
22
- [
23
- selectChartLayout,
24
- selectXAxisWithScale,
25
- selectYAxisWithScale,
26
- selectXAxisTicks,
27
- selectYAxisTicks,
28
- ],
29
- (layout, xAxis, yAxis, xAxisTicks, yAxisTicks) => {
30
- if (isCategoricalAxis(layout, 'xAxis')) {
31
- return getBandSizeOfAxis(xAxis, xAxisTicks, false);
32
- }
33
- return getBandSizeOfAxis(yAxis, yAxisTicks, false);
34
- },
35
- );
36
- var pickLineId = (_state, _xAxisId, _yAxisId, _isPanorama, id) => id;
37
- function isLineSettings(item) {
38
- return item.type === 'line';
39
- }
40
-
41
- /*
42
- * There is a race condition problem because we read some data from props and some from the state.
43
- * The state is updated through a dispatch and is one render behind,
44
- * and so we have this weird one tick render where the displayedData in one selector have the old dataKey
45
- * but the new dataKey in another selector.
46
- *
47
- * So here instead of reading the dataKey from the props, we always read it from the state.
48
- */
49
- var selectSynchronisedLineSettings = createSelector(
50
- [selectUnfilteredCartesianItems, pickLineId],
51
- (graphicalItems, id) => graphicalItems.filter(isLineSettings).find((x) => x.id === id),
52
- );
53
- export var selectLinePoints = createSelector(
54
- [
55
- selectChartLayout,
56
- selectXAxisWithScale,
57
- selectYAxisWithScale,
58
- selectXAxisTicks,
59
- selectYAxisTicks,
60
- selectSynchronisedLineSettings,
61
- selectBandSize,
62
- selectChartDataWithIndexesIfNotInPanoramaPosition4,
63
- ],
64
- (layout, xAxis, yAxis, xAxisTicks, yAxisTicks, lineSettings, bandSize, _ref) => {
65
- var chartData = _ref.chartData,
66
- dataStartIndex = _ref.dataStartIndex,
67
- dataEndIndex = _ref.dataEndIndex;
68
- if (
69
- lineSettings == null ||
70
- xAxis == null ||
71
- yAxis == null ||
72
- xAxisTicks == null ||
73
- yAxisTicks == null ||
74
- xAxisTicks.length === 0 ||
75
- yAxisTicks.length === 0 ||
76
- bandSize == null ||
77
- (layout !== 'horizontal' && layout !== 'vertical')
78
- ) {
79
- return undefined;
80
- }
81
- var dataKey = lineSettings.dataKey,
82
- data = lineSettings.data;
83
- var displayedData;
84
- if (data != null && data.length > 0) {
85
- displayedData = data;
86
- } else {
87
- displayedData =
88
- chartData === null || chartData === void 0
89
- ? void 0
90
- : chartData.slice(dataStartIndex, dataEndIndex + 1);
91
- }
92
- if (displayedData == null) {
93
- return undefined;
94
- }
95
- return computeLinePoints({
96
- layout,
97
- xAxis,
98
- yAxis,
99
- xAxisTicks,
100
- yAxisTicks,
101
- dataKey,
102
- bandSize,
103
- displayedData,
104
- });
105
- },
106
- );
@@ -1,11 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/numberDomainEqualityCheck.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- export var numberDomainEqualityCheck = (a, b) => {
4
- if (a === b) {
5
- return true;
6
- }
7
- if (a == null || b == null) {
8
- return false;
9
- }
10
- return a[0] === b[0] && a[1] === b[1];
11
- };
@@ -1,3 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/pickAxisId.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- export var pickAxisId = (_state, _axisType, axisId) => axisId;
@@ -1,3 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/pickAxisType.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- export var pickAxisType = (_state, axisType) => axisType;