@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,222 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/selectors.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
- import { useAppSelector } from '../hooks';
9
- import { calculateCartesianTooltipPos, calculatePolarTooltipPos } from '../../util/ChartUtils';
10
- import { selectChartDataWithIndexes } from './dataSelectors';
11
- import {
12
- selectTooltipAxisDomain,
13
- selectTooltipAxisTicks,
14
- selectTooltipDisplayedData,
15
- } from './tooltipSelectors';
16
- import { selectTooltipAxisDataKey } from './axisSelectors';
17
- import { selectChartName } from './rootPropsSelectors';
18
- import { selectChartLayout } from '../../context/chartLayoutContext';
19
- import { selectChartOffsetInternal } from './selectChartOffsetInternal';
20
- import { selectChartHeight, selectChartWidth } from './containerSelectors';
21
- import { combineActiveLabel } from './combiners/combineActiveLabel';
22
- import { combineTooltipInteractionState } from './combiners/combineTooltipInteractionState';
23
- import { combineActiveTooltipIndex } from './combiners/combineActiveTooltipIndex';
24
- import { combineCoordinateForDefaultIndex } from './combiners/combineCoordinateForDefaultIndex';
25
- import { combineTooltipPayloadConfigurations } from './combiners/combineTooltipPayloadConfigurations';
26
- import { selectTooltipPayloadSearcher } from './selectTooltipPayloadSearcher';
27
- import { selectTooltipState } from './selectTooltipState';
28
- import { combineTooltipPayload } from './combiners/combineTooltipPayload';
29
- import {
30
- calculateActiveTickIndex,
31
- getActiveCartesianCoordinate,
32
- getActivePolarCoordinate,
33
- isInCartesianRange,
34
- } from '../../util/getActiveCoordinate';
35
- import { inRangeOfSector } from '../../util/PolarUtils';
36
- export var useChartName = () => {
37
- return useAppSelector(selectChartName);
38
- };
39
- var pickTooltipEventType = (_state, tooltipEventType) => tooltipEventType;
40
- var pickTrigger = (_state, _tooltipEventType, trigger) => trigger;
41
- var pickDefaultIndex = (_state, _tooltipEventType, _trigger, defaultIndex) => defaultIndex;
42
- export var selectOrderedTooltipTicks = createSelector(selectTooltipAxisTicks, (ticks) =>
43
- sortBy(ticks, (o) => o.coordinate),
44
- );
45
- export var selectTooltipInteractionState = createSelector(
46
- [selectTooltipState, pickTooltipEventType, pickTrigger, pickDefaultIndex],
47
- combineTooltipInteractionState,
48
- );
49
- export var selectActiveIndex = createSelector(
50
- [
51
- selectTooltipInteractionState,
52
- selectTooltipDisplayedData,
53
- selectTooltipAxisDataKey,
54
- selectTooltipAxisDomain,
55
- ],
56
- combineActiveTooltipIndex,
57
- );
58
- export var selectTooltipDataKey = (state, tooltipEventType, trigger) => {
59
- if (tooltipEventType == null) {
60
- return undefined;
61
- }
62
- var tooltipState = selectTooltipState(state);
63
- if (tooltipEventType === 'axis') {
64
- if (trigger === 'hover') {
65
- return tooltipState.axisInteraction.hover.dataKey;
66
- }
67
- return tooltipState.axisInteraction.click.dataKey;
68
- }
69
- if (trigger === 'hover') {
70
- return tooltipState.itemInteraction.hover.dataKey;
71
- }
72
- return tooltipState.itemInteraction.click.dataKey;
73
- };
74
- export var selectTooltipPayloadConfigurations = createSelector(
75
- [selectTooltipState, pickTooltipEventType, pickTrigger, pickDefaultIndex],
76
- combineTooltipPayloadConfigurations,
77
- );
78
- export var selectCoordinateForDefaultIndex = createSelector(
79
- [
80
- selectChartWidth,
81
- selectChartHeight,
82
- selectChartLayout,
83
- selectChartOffsetInternal,
84
- selectTooltipAxisTicks,
85
- pickDefaultIndex,
86
- selectTooltipPayloadConfigurations,
87
- ],
88
- combineCoordinateForDefaultIndex,
89
- );
90
- export var selectActiveCoordinate = createSelector(
91
- [selectTooltipInteractionState, selectCoordinateForDefaultIndex],
92
- (tooltipInteractionState, defaultIndexCoordinate) => {
93
- var _tooltipInteractionSt;
94
- return (_tooltipInteractionSt = tooltipInteractionState.coordinate) !== null &&
95
- _tooltipInteractionSt !== void 0
96
- ? _tooltipInteractionSt
97
- : defaultIndexCoordinate;
98
- },
99
- );
100
- export var selectActiveLabel = createSelector(
101
- [selectTooltipAxisTicks, selectActiveIndex],
102
- combineActiveLabel,
103
- );
104
- export var selectTooltipPayload = createSelector(
105
- [
106
- selectTooltipPayloadConfigurations,
107
- selectActiveIndex,
108
- selectChartDataWithIndexes,
109
- selectTooltipAxisDataKey,
110
- selectActiveLabel,
111
- selectTooltipPayloadSearcher,
112
- pickTooltipEventType,
113
- ],
114
- combineTooltipPayload,
115
- );
116
- export var selectIsTooltipActive = createSelector(
117
- [selectTooltipInteractionState, selectActiveIndex],
118
- (tooltipInteractionState, activeIndex) => {
119
- return {
120
- isActive: tooltipInteractionState.active && activeIndex != null,
121
- activeIndex,
122
- };
123
- },
124
- );
125
- var combineActiveCartesianProps = (
126
- chartEvent,
127
- layout,
128
- tooltipAxisType,
129
- tooltipAxisRange,
130
- tooltipTicks,
131
- orderedTooltipTicks,
132
- offset,
133
- ) => {
134
- if (!chartEvent || !tooltipAxisType || !tooltipAxisRange || !tooltipTicks) {
135
- return undefined;
136
- }
137
- if (!isInCartesianRange(chartEvent, offset)) {
138
- return undefined;
139
- }
140
- var pos = calculateCartesianTooltipPos(chartEvent, layout);
141
- var activeIndex = calculateActiveTickIndex(
142
- pos,
143
- orderedTooltipTicks,
144
- tooltipTicks,
145
- tooltipAxisType,
146
- tooltipAxisRange,
147
- );
148
- var activeCoordinate = getActiveCartesianCoordinate(
149
- layout,
150
- tooltipTicks,
151
- activeIndex,
152
- chartEvent,
153
- );
154
- return {
155
- activeIndex: String(activeIndex),
156
- activeCoordinate,
157
- };
158
- };
159
- var combineActivePolarProps = (
160
- chartEvent,
161
- layout,
162
- polarViewBox,
163
- tooltipAxisType,
164
- tooltipAxisRange,
165
- tooltipTicks,
166
- orderedTooltipTicks,
167
- ) => {
168
- if (!chartEvent || !tooltipAxisType || !tooltipAxisRange || !tooltipTicks || !polarViewBox) {
169
- return undefined;
170
- }
171
- var rangeObj = inRangeOfSector(chartEvent, polarViewBox);
172
- if (!rangeObj) {
173
- return undefined;
174
- }
175
- var pos = calculatePolarTooltipPos(rangeObj, layout);
176
- var activeIndex = calculateActiveTickIndex(
177
- pos,
178
- orderedTooltipTicks,
179
- tooltipTicks,
180
- tooltipAxisType,
181
- tooltipAxisRange,
182
- );
183
- var activeCoordinate = getActivePolarCoordinate(layout, tooltipTicks, activeIndex, rangeObj);
184
- return {
185
- activeIndex: String(activeIndex),
186
- activeCoordinate,
187
- };
188
- };
189
- export var combineActiveProps = (
190
- chartEvent,
191
- layout,
192
- polarViewBox,
193
- tooltipAxisType,
194
- tooltipAxisRange,
195
- tooltipTicks,
196
- orderedTooltipTicks,
197
- offset,
198
- ) => {
199
- if (!chartEvent || !layout || !tooltipAxisType || !tooltipAxisRange || !tooltipTicks) {
200
- return undefined;
201
- }
202
- if (layout === 'horizontal' || layout === 'vertical') {
203
- return combineActiveCartesianProps(
204
- chartEvent,
205
- layout,
206
- tooltipAxisType,
207
- tooltipAxisRange,
208
- tooltipTicks,
209
- orderedTooltipTicks,
210
- offset,
211
- );
212
- }
213
- return combineActivePolarProps(
214
- chartEvent,
215
- layout,
216
- polarViewBox,
217
- tooltipAxisType,
218
- tooltipAxisRange,
219
- tooltipTicks,
220
- orderedTooltipTicks,
221
- );
222
- };
@@ -1,471 +0,0 @@
1
- // Vendored verbatim from recharts@3.9.2 es6/state/selectors/tooltipSelectors.js (framework-agnostic).
2
- // Do not edit — update by re-vendoring when the recharts devDependency moves.
3
- import { createSelector } from 'reselect';
4
- import {
5
- combineAllAppliedValues,
6
- combineAreasDomain,
7
- combineAxisDomain,
8
- combineAxisDomainWithNiceTicks,
9
- combineCategoricalDomain,
10
- combineDisplayedData,
11
- combineDomainOfAllAppliedNumericalValuesIncludingErrorValues,
12
- combineDomainOfStackGroups,
13
- combineDotsDomain,
14
- combineDuplicateDomain,
15
- combineGraphicalItemsData,
16
- combineGraphicalItemsSettings,
17
- combineLinesDomain,
18
- combineNiceTicks,
19
- combineNumericalDomain,
20
- combineStackGroups,
21
- filterGraphicalNotStackedItems,
22
- filterReferenceElements,
23
- getDomainDefinition,
24
- itemAxisPredicate,
25
- mergeDomains,
26
- selectAllErrorBarSettings,
27
- selectAxisRange,
28
- selectHasBar,
29
- selectReferenceAreas,
30
- selectReferenceDots,
31
- selectReferenceLines,
32
- selectTooltipAxis,
33
- selectTooltipAxisDataKey,
34
- } from './axisSelectors';
35
- import { selectChartLayout } from '../../context/chartLayoutContext';
36
- import { isCategoricalAxis } from '../../util/ChartUtils';
37
- import { selectChartDataWithIndexes, selectChartDataSliceWithIndexes } from './dataSelectors';
38
- import {
39
- selectChartName,
40
- selectReverseStackOrder,
41
- selectStackOffsetType,
42
- } from './rootPropsSelectors';
43
- import { isNotNil, mathSign } from '../../util/DataUtils';
44
- import { combineAxisRangeWithReverse } from './combiners/combineAxisRangeWithReverse';
45
- import {
46
- combineTooltipEventType,
47
- selectDefaultTooltipEventType,
48
- selectValidateTooltipEventTypes,
49
- } from './selectTooltipEventType';
50
- import { combineActiveLabel } from './combiners/combineActiveLabel';
51
- import { selectTooltipSettings } from './selectTooltipSettings';
52
- import { combineTooltipInteractionState } from './combiners/combineTooltipInteractionState';
53
- import { combineActiveTooltipIndex } from './combiners/combineActiveTooltipIndex';
54
- import { combineCoordinateForDefaultIndex } from './combiners/combineCoordinateForDefaultIndex';
55
- import { selectChartHeight, selectChartWidth } from './containerSelectors';
56
- import { selectChartOffsetInternal } from './selectChartOffsetInternal';
57
- import { combineTooltipPayloadConfigurations } from './combiners/combineTooltipPayloadConfigurations';
58
- import { selectTooltipPayloadSearcher } from './selectTooltipPayloadSearcher';
59
- import { selectTooltipState } from './selectTooltipState';
60
- import { combineTooltipPayload } from './combiners/combineTooltipPayload';
61
- import { selectTooltipAxisId } from './selectTooltipAxisId';
62
- import { selectTooltipAxisType } from './selectTooltipAxisType';
63
- import { combineDisplayedStackedData } from './combiners/combineDisplayedStackedData';
64
- import { isStacked } from '../types/StackedGraphicalItem';
65
- import { numericalDomainSpecifiedWithoutRequiringData } from '../../util/isDomainSpecifiedByUser';
66
- import { numberDomainEqualityCheck } from './numberDomainEqualityCheck';
67
- import { emptyArraysAreEqualCheck } from './arrayEqualityCheck';
68
- import { rechartsScaleFactory } from '../../util/scale/RechartsScale';
69
- import { isWellBehavedNumber } from '../../util/isWellBehavedNumber';
70
- import { combineRealScaleType } from './combiners/combineRealScaleType';
71
- import { combineConfiguredScale } from './combiners/combineConfiguredScale';
72
- export var selectTooltipAxisRealScaleType = createSelector(
73
- [selectTooltipAxis, selectHasBar, selectChartName],
74
- combineRealScaleType,
75
- );
76
- export var selectAllUnfilteredGraphicalItems = createSelector(
77
- [(state) => state.graphicalItems.cartesianItems, (state) => state.graphicalItems.polarItems],
78
- (cartesianItems, polarItems) => [...cartesianItems, ...polarItems],
79
- );
80
- var selectTooltipAxisPredicate = createSelector(
81
- [selectTooltipAxisType, selectTooltipAxisId],
82
- itemAxisPredicate,
83
- );
84
- export var selectAllGraphicalItemsSettings = createSelector(
85
- [selectAllUnfilteredGraphicalItems, selectTooltipAxis, selectTooltipAxisPredicate],
86
- combineGraphicalItemsSettings,
87
- {
88
- memoizeOptions: {
89
- resultEqualityCheck: emptyArraysAreEqualCheck,
90
- },
91
- },
92
- );
93
- var selectAllStackedGraphicalItemsSettings = createSelector(
94
- [selectAllGraphicalItemsSettings],
95
- (graphicalItems) => graphicalItems.filter(isStacked),
96
- );
97
- export var selectTooltipGraphicalItemsData = createSelector(
98
- [selectAllGraphicalItemsSettings],
99
- combineGraphicalItemsData,
100
- {
101
- memoizeOptions: {
102
- resultEqualityCheck: emptyArraysAreEqualCheck,
103
- },
104
- },
105
- );
106
- var selectAnyTooltipItemUsesChartData = createSelector([selectAllGraphicalItemsSettings], (items) =>
107
- items.some((item) => !item.data),
108
- );
109
-
110
- /**
111
- * Data for tooltip always use the data with indexes set by a Brush,
112
- * and never accept the isPanorama flag:
113
- * because Tooltip never displays inside the panorama anyway
114
- * so we don't need to worry what would happen there.
115
- */
116
- export var selectTooltipDisplayedData = createSelector(
117
- [selectTooltipGraphicalItemsData, selectChartDataWithIndexes],
118
- combineDisplayedData,
119
- );
120
- var selectTooltipStackedData = createSelector(
121
- [selectAllStackedGraphicalItemsSettings, selectChartDataWithIndexes, selectTooltipAxis],
122
- combineDisplayedStackedData,
123
- );
124
- var selectAllTooltipAppliedValues = createSelector(
125
- [
126
- selectTooltipDisplayedData,
127
- selectTooltipAxis,
128
- selectAllGraphicalItemsSettings,
129
- selectChartDataWithIndexes,
130
- selectAnyTooltipItemUsesChartData,
131
- selectTooltipGraphicalItemsData,
132
- ],
133
- combineAllAppliedValues,
134
- );
135
- var selectTooltipAxisDomainDefinition = createSelector([selectTooltipAxis], getDomainDefinition);
136
- var selectTooltipDataOverflow = createSelector(
137
- [selectTooltipAxis],
138
- (axisSettings) => axisSettings.allowDataOverflow,
139
- );
140
- var selectTooltipDomainFromUserPreferences = createSelector(
141
- [selectTooltipAxisDomainDefinition, selectTooltipDataOverflow],
142
- numericalDomainSpecifiedWithoutRequiringData,
143
- );
144
- var selectAllStackedGraphicalItems = createSelector(
145
- [selectAllGraphicalItemsSettings],
146
- (graphicalItems) => graphicalItems.filter(isStacked),
147
- );
148
- var selectTooltipStackGroups = createSelector(
149
- [
150
- selectTooltipStackedData,
151
- selectAllStackedGraphicalItems,
152
- selectStackOffsetType,
153
- selectReverseStackOrder,
154
- ],
155
- combineStackGroups,
156
- );
157
- var selectTooltipDomainOfStackGroups = createSelector(
158
- [
159
- selectTooltipStackGroups,
160
- selectChartDataWithIndexes,
161
- selectTooltipAxisType,
162
- selectTooltipDomainFromUserPreferences,
163
- ],
164
- combineDomainOfStackGroups,
165
- );
166
- var selectTooltipItemsSettingsExceptStacked = createSelector(
167
- [selectAllGraphicalItemsSettings],
168
- filterGraphicalNotStackedItems,
169
- );
170
- var selectDomainOfAllAppliedNumericalValuesIncludingErrorValues = createSelector(
171
- [
172
- selectTooltipDisplayedData,
173
- selectTooltipAxis,
174
- selectTooltipItemsSettingsExceptStacked,
175
- selectAllErrorBarSettings,
176
- selectTooltipAxisType,
177
- selectChartDataSliceWithIndexes,
178
- ],
179
- combineDomainOfAllAppliedNumericalValuesIncludingErrorValues,
180
- {
181
- memoizeOptions: {
182
- resultEqualityCheck: numberDomainEqualityCheck,
183
- },
184
- },
185
- );
186
- var selectReferenceDotsByTooltipAxis = createSelector(
187
- [selectReferenceDots, selectTooltipAxisType, selectTooltipAxisId],
188
- filterReferenceElements,
189
- );
190
- var selectTooltipReferenceDotsDomain = createSelector(
191
- [selectReferenceDotsByTooltipAxis, selectTooltipAxisType],
192
- combineDotsDomain,
193
- );
194
- var selectReferenceAreasByTooltipAxis = createSelector(
195
- [selectReferenceAreas, selectTooltipAxisType, selectTooltipAxisId],
196
- filterReferenceElements,
197
- );
198
- var selectTooltipReferenceAreasDomain = createSelector(
199
- [selectReferenceAreasByTooltipAxis, selectTooltipAxisType],
200
- combineAreasDomain,
201
- );
202
- var selectReferenceLinesByTooltipAxis = createSelector(
203
- [selectReferenceLines, selectTooltipAxisType, selectTooltipAxisId],
204
- filterReferenceElements,
205
- );
206
- var selectTooltipReferenceLinesDomain = createSelector(
207
- [selectReferenceLinesByTooltipAxis, selectTooltipAxisType],
208
- combineLinesDomain,
209
- );
210
- var selectTooltipReferenceElementsDomain = createSelector(
211
- [
212
- selectTooltipReferenceDotsDomain,
213
- selectTooltipReferenceLinesDomain,
214
- selectTooltipReferenceAreasDomain,
215
- ],
216
- mergeDomains,
217
- );
218
- var selectTooltipNumericalDomain = createSelector(
219
- [
220
- selectTooltipAxis,
221
- selectTooltipAxisDomainDefinition,
222
- selectTooltipDomainFromUserPreferences,
223
- selectTooltipDomainOfStackGroups,
224
- selectDomainOfAllAppliedNumericalValuesIncludingErrorValues,
225
- selectTooltipReferenceElementsDomain,
226
- selectChartLayout,
227
- selectTooltipAxisType,
228
- ],
229
- combineNumericalDomain,
230
- );
231
- export var selectTooltipAxisDomain = createSelector(
232
- [
233
- selectTooltipAxis,
234
- selectChartLayout,
235
- selectTooltipDisplayedData,
236
- selectAllTooltipAppliedValues,
237
- selectStackOffsetType,
238
- selectTooltipAxisType,
239
- selectTooltipNumericalDomain,
240
- ],
241
- combineAxisDomain,
242
- );
243
- var selectTooltipNiceTicks = createSelector(
244
- [selectTooltipAxisDomain, selectTooltipAxis, selectTooltipAxisRealScaleType],
245
- combineNiceTicks,
246
- );
247
- export var selectTooltipAxisDomainIncludingNiceTicks = createSelector(
248
- [selectTooltipAxis, selectTooltipAxisDomain, selectTooltipNiceTicks, selectTooltipAxisType],
249
- combineAxisDomainWithNiceTicks,
250
- );
251
- var selectTooltipAxisRange = (state) => {
252
- var axisType = selectTooltipAxisType(state);
253
- var axisId = selectTooltipAxisId(state);
254
- var isPanorama = false; // Tooltip never displays in panorama so this is safe to assume
255
- return selectAxisRange(state, axisType, axisId, isPanorama);
256
- };
257
- export var selectTooltipAxisRangeWithReverse = createSelector(
258
- [selectTooltipAxis, selectTooltipAxisRange],
259
- combineAxisRangeWithReverse,
260
- );
261
- var selectTooltipConfiguredScale = createSelector(
262
- [
263
- selectTooltipAxis,
264
- selectTooltipAxisRealScaleType,
265
- selectTooltipAxisDomainIncludingNiceTicks,
266
- selectTooltipAxisRangeWithReverse,
267
- ],
268
- combineConfiguredScale,
269
- );
270
- export var selectTooltipAxisScale = createSelector(
271
- [selectTooltipConfiguredScale],
272
- rechartsScaleFactory,
273
- );
274
- var selectTooltipDuplicateDomain = createSelector(
275
- [selectChartLayout, selectAllTooltipAppliedValues, selectTooltipAxis, selectTooltipAxisType],
276
- combineDuplicateDomain,
277
- );
278
- export var selectTooltipCategoricalDomain = createSelector(
279
- [selectChartLayout, selectAllTooltipAppliedValues, selectTooltipAxis, selectTooltipAxisType],
280
- combineCategoricalDomain,
281
- );
282
- var combineTicksOfTooltipAxis = (
283
- layout,
284
- axis,
285
- realScaleType,
286
- scale,
287
- range,
288
- duplicateDomain,
289
- categoricalDomain,
290
- axisType,
291
- ) => {
292
- if (!axis) {
293
- return undefined;
294
- }
295
- var type = axis.type;
296
- var isCategorical = isCategoricalAxis(layout, axisType);
297
- if (!scale) {
298
- return undefined;
299
- }
300
- var offsetForBand = realScaleType === 'scaleBand' && scale.bandwidth ? scale.bandwidth() / 2 : 2;
301
- var offset = type === 'category' && scale.bandwidth ? scale.bandwidth() / offsetForBand : 0;
302
- offset =
303
- axisType === 'angleAxis' &&
304
- range != null &&
305
- (range === null || range === void 0 ? void 0 : range.length) >= 2
306
- ? mathSign(range[0] - range[1]) * 2 * offset
307
- : offset;
308
-
309
- // When axis is a categorical axis, but the type of axis is number or the scale of axis is not "auto"
310
- if (isCategorical && categoricalDomain) {
311
- return categoricalDomain
312
- .map((entry, index) => {
313
- var scaled = scale.map(entry);
314
- if (!isWellBehavedNumber(scaled)) {
315
- return null;
316
- }
317
- return {
318
- coordinate: scaled + offset,
319
- value: entry,
320
- index,
321
- offset,
322
- };
323
- })
324
- .filter(isNotNil);
325
- }
326
-
327
- // When axis has duplicated text, serial numbers are used to generate scale
328
- return scale
329
- .domain()
330
- .map((entry, index) => {
331
- var scaled = scale.map(entry);
332
- if (!isWellBehavedNumber(scaled)) {
333
- return null;
334
- }
335
- return {
336
- coordinate: scaled + offset,
337
- // @ts-expect-error can't use Date as an index
338
- value: duplicateDomain ? duplicateDomain[entry] : entry,
339
- index,
340
- offset,
341
- };
342
- })
343
- .filter(isNotNil);
344
- };
345
-
346
- /**
347
- * Of on four almost identical implementations of tick generation.
348
- * The four horsemen of tick generation are:
349
- * - {@link selectTooltipAxisTicks}
350
- * - {@link combineAxisTicks}
351
- * - {@link getTicksOfAxis}.
352
- * - {@link combineGraphicalItemTicks}
353
- */
354
- export var selectTooltipAxisTicks = createSelector(
355
- [
356
- selectChartLayout,
357
- selectTooltipAxis,
358
- selectTooltipAxisRealScaleType,
359
- selectTooltipAxisScale,
360
- selectTooltipAxisRange,
361
- selectTooltipDuplicateDomain,
362
- selectTooltipCategoricalDomain,
363
- selectTooltipAxisType,
364
- ],
365
- combineTicksOfTooltipAxis,
366
- );
367
- var selectTooltipEventType = createSelector(
368
- [selectDefaultTooltipEventType, selectValidateTooltipEventTypes, selectTooltipSettings],
369
- (defaultTooltipEventType, validateTooltipEventType, settings) =>
370
- combineTooltipEventType(settings.shared, defaultTooltipEventType, validateTooltipEventType),
371
- );
372
- var selectTooltipTrigger = (state) => state.tooltip.settings.trigger;
373
- var selectDefaultIndex = (state) => state.tooltip.settings.defaultIndex;
374
- var selectTooltipInteractionState = createSelector(
375
- [selectTooltipState, selectTooltipEventType, selectTooltipTrigger, selectDefaultIndex],
376
- combineTooltipInteractionState,
377
- );
378
- export var selectActiveTooltipIndex = createSelector(
379
- [
380
- selectTooltipInteractionState,
381
- selectTooltipDisplayedData,
382
- selectTooltipAxisDataKey,
383
- selectTooltipAxisDomain,
384
- ],
385
- combineActiveTooltipIndex,
386
- );
387
- export var selectActiveLabel = createSelector(
388
- [selectTooltipAxisTicks, selectActiveTooltipIndex],
389
- combineActiveLabel,
390
- );
391
- export var selectActiveTooltipDataKey = createSelector(
392
- [selectTooltipInteractionState],
393
- (tooltipInteraction) => {
394
- if (!tooltipInteraction) {
395
- return undefined;
396
- }
397
- return tooltipInteraction.dataKey;
398
- },
399
- );
400
- export var selectActiveTooltipGraphicalItemId = createSelector(
401
- [selectTooltipInteractionState],
402
- (tooltipInteraction) => {
403
- if (!tooltipInteraction) {
404
- return undefined;
405
- }
406
- return tooltipInteraction.graphicalItemId;
407
- },
408
- );
409
- var selectTooltipPayloadConfigurations = createSelector(
410
- [selectTooltipState, selectTooltipEventType, selectTooltipTrigger, selectDefaultIndex],
411
- combineTooltipPayloadConfigurations,
412
- );
413
- var selectTooltipCoordinateForDefaultIndex = createSelector(
414
- [
415
- selectChartWidth,
416
- selectChartHeight,
417
- selectChartLayout,
418
- selectChartOffsetInternal,
419
- selectTooltipAxisTicks,
420
- selectDefaultIndex,
421
- selectTooltipPayloadConfigurations,
422
- ],
423
- combineCoordinateForDefaultIndex,
424
- );
425
- export var selectActiveTooltipCoordinate = createSelector(
426
- [selectTooltipInteractionState, selectTooltipCoordinateForDefaultIndex],
427
- (tooltipInteractionState, defaultIndexCoordinate) => {
428
- if (
429
- tooltipInteractionState !== null &&
430
- tooltipInteractionState !== void 0 &&
431
- tooltipInteractionState.coordinate
432
- ) {
433
- return tooltipInteractionState.coordinate;
434
- }
435
- return defaultIndexCoordinate;
436
- },
437
- );
438
- export var selectIsTooltipActive = createSelector(
439
- [selectTooltipInteractionState],
440
- (tooltipInteractionState) => {
441
- var _tooltipInteractionSt;
442
- return (_tooltipInteractionSt =
443
- tooltipInteractionState === null || tooltipInteractionState === void 0
444
- ? void 0
445
- : tooltipInteractionState.active) !== null && _tooltipInteractionSt !== void 0
446
- ? _tooltipInteractionSt
447
- : false;
448
- },
449
- );
450
- export var selectActiveTooltipPayload = createSelector(
451
- [
452
- selectTooltipPayloadConfigurations,
453
- selectActiveTooltipIndex,
454
- selectChartDataWithIndexes,
455
- selectTooltipAxisDataKey,
456
- selectActiveLabel,
457
- selectTooltipPayloadSearcher,
458
- selectTooltipEventType,
459
- ],
460
- combineTooltipPayload,
461
- );
462
- export var selectActiveTooltipDataPoints = createSelector(
463
- [selectActiveTooltipPayload],
464
- (payload) => {
465
- if (payload == null) {
466
- return undefined;
467
- }
468
- var dataPoints = payload.map((p) => p.payload).filter((p) => p != null);
469
- return Array.from(new Set(dataPoints));
470
- },
471
- );