@octanejs/recharts 0.1.41 → 0.1.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{LICENSE → LICENSE.recharts} +3 -2
- package/README.md +12 -0
- package/package.json +10 -9
- package/src/animation/AnimatedItems.tsrx +36 -3
- package/src/animation/AnimationController.ts +17 -65
- package/src/animation/{AnimationControllerImpl.js → AnimationControllerImpl.ts} +19 -12
- package/src/animation/{AnimationHandle.js → AnimationHandle.ts} +82 -65
- package/src/animation/CSSTransitionAnimate.tsrx +3 -2
- package/src/animation/JavascriptAnimate.tsrx +18 -2
- package/src/animation/easing.ts +235 -0
- package/src/animation/{matchBy.js → matchBy.ts} +76 -120
- package/src/animation/timeoutController.ts +71 -0
- package/src/animation/useAnimationController.ts +4 -1
- package/src/animation/useAnimationStartSnapshot.ts +3 -3
- package/src/animation/util.ts +12 -0
- package/src/cartesian/Area.tsrx +33 -31
- package/src/cartesian/AreaRevealShape.tsrx +4 -3
- package/src/cartesian/Bar.ts +1 -0
- package/src/cartesian/Bar.tsrx +293 -39
- package/src/cartesian/BarStack.tsrx +31 -9
- package/src/cartesian/CartesianAxis.tsrx +154 -22
- package/src/cartesian/CartesianGrid.tsrx +5 -6
- package/src/cartesian/ErrorBar.tsrx +9 -8
- package/src/cartesian/Funnel.tsrx +40 -37
- package/src/cartesian/GraphicalItemClipPath.tsrx +11 -4
- package/src/cartesian/Line.ts +1 -0
- package/src/cartesian/Line.tsrx +206 -28
- package/src/cartesian/LineDrawShape.tsrx +23 -10
- package/src/cartesian/ReferenceLine.tsrx +8 -8
- package/src/cartesian/Scatter.tsrx +61 -66
- package/src/cartesian/XAxis.tsrx +78 -9
- package/src/cartesian/YAxis.tsrx +85 -12
- package/src/cartesian/getCartesianPosition.ts +265 -0
- package/src/cartesian/getEquidistantTicks.ts +144 -0
- package/src/cartesian/getTicks.ts +221 -0
- package/src/chart/AreaChart.tsrx +5 -1
- package/src/chart/BarChart.tsrx +8 -2
- package/src/chart/CartesianChart.tsrx +17 -4
- package/src/chart/CategoricalChart.tsrx +4 -1
- package/src/chart/ComposedChart.tsrx +5 -1
- package/src/chart/FunnelChart.tsrx +5 -1
- package/src/chart/LineChart.tsrx +8 -2
- package/src/chart/PieChart.tsrx +6 -2
- package/src/chart/PolarChart.tsrx +5 -4
- package/src/chart/RadarChart.tsrx +6 -2
- package/src/chart/RadialBarChart.tsrx +6 -2
- package/src/chart/RechartsWrapper.tsrx +57 -21
- package/src/chart/Sankey.tsrx +89 -91
- package/src/chart/ScatterChart.tsrx +5 -1
- package/src/chart/SunburstChart.tsrx +21 -14
- package/src/chart/types.ts +0 -1
- package/src/component/ActivePoints.tsrx +30 -5
- package/src/component/Cell.ts +19 -1
- package/src/component/Cursor.tsrx +11 -10
- package/src/component/DefaultLegendContent.tsrx +15 -10
- package/src/component/DefaultTooltipContent.tsrx +11 -9
- package/src/component/Dots.tsrx +37 -6
- package/src/component/Label.tsrx +99 -19
- package/src/component/LabelList.tsrx +54 -5
- package/src/component/Legend.tsrx +9 -5
- package/src/component/ResponsiveContainer.tsrx +13 -10
- package/src/component/Text.tsrx +95 -32
- package/src/component/Tooltip.tsrx +11 -10
- package/src/component/TooltipBoundingBox.tsrx +4 -5
- package/src/component/{responsiveContainerUtils.js → responsiveContainerUtils.ts} +59 -36
- package/src/container/ClipPathProvider.tsrx +6 -2
- package/src/container/Layer.tsrx +8 -1
- package/src/container/RootSurface.tsrx +15 -4
- package/src/container/Surface.tsrx +15 -1
- package/src/context/CellsContext.ts +6 -5
- package/src/context/ErrorBarContext.tsrx +23 -4
- package/src/context/RegisterGraphicalItemId.tsrx +10 -2
- package/src/context/accessibilityContext.ts +5 -0
- package/src/context/brushUpdateContext.ts +11 -0
- package/src/context/chartDataContext.ts +5 -4
- package/src/context/chartLayoutContext.ts +22 -8
- package/src/context/legendPayloadContext.tsrx +1 -1
- package/src/context/tooltipContext.ts +83 -0
- package/src/{hooks.js → hooks.ts} +88 -66
- package/src/index.ts +37 -37
- package/src/legacy-props.ts +129 -0
- package/src/polar/Pie.tsrx +91 -69
- package/src/polar/PolarAngleAxis.tsrx +47 -47
- package/src/polar/PolarGrid.tsrx +7 -6
- package/src/polar/PolarRadiusAxis.tsrx +29 -21
- package/src/polar/Radar.tsrx +26 -19
- package/src/polar/RadialBar.tsrx +59 -42
- package/src/polar/{defaultPolarAngleAxisProps.js → defaultPolarAngleAxisProps.ts} +6 -6
- package/src/polar/{defaultPolarRadiusAxisProps.js → defaultPolarRadiusAxisProps.ts} +5 -4
- package/src/shape/Cross.tsrx +14 -2
- package/src/shape/Curve.tsrx +111 -23
- package/src/shape/Dot.tsrx +12 -1
- package/src/shape/Polygon.tsrx +28 -6
- package/src/shape/Rectangle.tsrx +30 -3
- package/src/shape/Sector.tsrx +48 -6
- package/src/shape/Symbols.tsrx +24 -6
- package/src/shape/Trapezoid.tsrx +33 -3
- package/src/state/RechartsStoreProvider.tsrx +11 -2
- package/src/state/ReportChartProps.ts +2 -2
- package/src/state/ReportMainChartProps.ts +2 -1
- package/src/state/SetGraphicalItem.ts +6 -4
- package/src/state/SetLegendPayload.ts +7 -4
- package/src/state/SetTooltipEntrySettings.ts +5 -2
- package/src/state/brushSlice.ts +40 -0
- package/src/state/cartesianAxisSlice.ts +291 -0
- package/src/state/chartDataSlice.ts +87 -0
- package/src/state/errorBarSlice.ts +78 -0
- package/src/state/eventSettingsSlice.ts +30 -0
- package/src/state/{externalEventsMiddleware.js → externalEventsMiddleware.ts} +55 -34
- package/src/state/graphicalItemsSlice.ts +180 -0
- package/src/state/{keyboardEventsMiddleware.js → keyboardEventsMiddleware.ts} +72 -57
- package/src/state/layoutSlice.ts +50 -0
- package/src/state/legendSlice.ts +109 -0
- package/src/state/{mouseEventsMiddleware.js → mouseEventsMiddleware.ts} +45 -35
- package/src/state/optionsSlice.ts +65 -0
- package/src/state/polarAxisSlice.ts +42 -0
- package/src/state/polarOptionsSlice.ts +43 -0
- package/src/state/reduxDevtoolsJsonStringifyReplacer.ts +13 -0
- package/src/state/referenceElementsSlice.ts +100 -0
- package/src/state/renderedTicksSlice.ts +60 -0
- package/src/state/rootPropsSlice.ts +72 -0
- package/src/state/selectors/areaSelectors.ts +1 -2
- package/src/state/selectors/{arrayEqualityCheck.js → arrayEqualityCheck.ts} +4 -5
- package/src/state/selectors/axisSelectors.ts +2502 -0
- package/src/state/selectors/barSelectors.ts +373 -0
- package/src/state/selectors/barStackSelectors.ts +99 -0
- package/src/state/selectors/brushSelectors.ts +28 -0
- package/src/state/selectors/combiners/combineActiveLabel.ts +16 -0
- package/src/state/selectors/combiners/{combineActiveTooltipIndex.js → combineActiveTooltipIndex.ts} +45 -23
- package/src/state/selectors/combiners/combineAllBarPositions.ts +130 -0
- package/src/state/selectors/combiners/combineAxisRangeWithReverse.ts +16 -0
- package/src/state/selectors/combiners/combineBarPosition.ts +23 -0
- package/src/state/selectors/combiners/combineBarSizeList.ts +79 -0
- package/src/state/selectors/combiners/{combineCheckedDomain.js → combineCheckedDomain.ts} +9 -6
- package/src/state/selectors/combiners/combineConfiguredScale.ts +100 -0
- package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.ts +46 -0
- package/src/state/selectors/combiners/{combineDisplayedStackedData.js → combineDisplayedStackedData.ts} +23 -19
- package/src/state/selectors/combiners/combineInverseScaleFunction.ts +16 -0
- package/src/state/selectors/combiners/{combineRealScaleType.js → combineRealScaleType.ts} +16 -8
- package/src/state/selectors/combiners/combineStackedData.ts +27 -0
- package/src/state/selectors/combiners/combineTooltipInteractionState.ts +86 -0
- package/src/state/selectors/combiners/combineTooltipPayload.ts +201 -0
- package/src/state/selectors/combiners/{combineTooltipPayloadConfigurations.js → combineTooltipPayloadConfigurations.ts} +17 -18
- package/src/state/selectors/containerSelectors.ts +12 -0
- package/src/state/selectors/{dataSelectors.js → dataSelectors.ts} +43 -41
- package/src/state/selectors/funnelSelectors.ts +5 -5
- package/src/state/selectors/graphicalItemSelectors.ts +22 -0
- package/src/state/selectors/legendSelectors.ts +25 -0
- package/src/state/selectors/lineSelectors.ts +159 -0
- package/src/state/selectors/numberDomainEqualityCheck.ts +15 -0
- package/src/state/selectors/pickAxisId.ts +6 -0
- package/src/state/selectors/pickAxisType.ts +4 -0
- package/src/state/selectors/pieSelectors.ts +14 -13
- package/src/state/selectors/polarAxisSelectors.ts +223 -0
- package/src/state/selectors/polarSelectors.ts +1 -1
- package/src/state/selectors/radarSelectors.ts +1 -1
- package/src/state/selectors/radialBarSelectors.ts +17 -16
- package/src/state/selectors/rootPropsSelectors.ts +26 -0
- package/src/state/selectors/scatterSelectors.ts +11 -10
- package/src/state/selectors/{selectActivePropsFromChartPointer.js → selectActivePropsFromChartPointer.ts} +11 -4
- package/src/state/selectors/selectAllAxes.ts +20 -0
- package/src/state/selectors/selectChartOffset.ts +17 -0
- package/src/state/selectors/selectChartOffsetInternal.ts +147 -0
- package/src/state/selectors/{selectPlotArea.js → selectPlotArea.ts} +4 -3
- package/src/state/selectors/selectTooltipAxisId.ts +6 -0
- package/src/state/selectors/{selectTooltipAxisType.js → selectTooltipAxisType.ts} +10 -4
- package/src/state/selectors/selectTooltipEventType.ts +39 -0
- package/src/state/selectors/selectTooltipPayloadSearcher.ts +6 -0
- package/src/state/selectors/selectTooltipSettings.ts +6 -0
- package/src/state/selectors/selectTooltipState.ts +5 -0
- package/src/state/selectors/selectors.ts +315 -0
- package/src/state/selectors/tooltipSelectors.ts +611 -0
- package/src/state/selectors/touchSelectors.ts +52 -0
- package/src/state/{store.js → store.ts} +46 -36
- package/src/state/tooltipSlice.ts +507 -0
- package/src/state/{touchEventsMiddleware.js → touchEventsMiddleware.ts} +54 -42
- package/src/state/types/AreaSettings.ts +15 -0
- package/src/state/types/BarSettings.ts +15 -0
- package/src/state/types/LineSettings.ts +10 -0
- package/src/state/types/PieSettings.ts +32 -0
- package/src/state/types/RadarSettings.ts +6 -0
- package/src/state/types/RadialBarSettings.ts +10 -0
- package/src/state/types/ScatterSettings.ts +13 -0
- package/src/state/types/StackedGraphicalItem.ts +34 -0
- package/src/state/zIndexSlice.ts +137 -0
- package/src/synchronisation/syncSelectors.ts +7 -0
- package/src/synchronisation/types.ts +42 -0
- package/src/synchronisation/useChartSynchronisation.tsrx +26 -11
- package/src/types.ts +55 -0
- package/src/util/ActiveShapeUtils.tsrx +34 -10
- package/src/util/BarUtils.tsrx +43 -3
- package/src/util/{CartesianUtils.js → CartesianUtils.ts} +22 -39
- package/src/util/ChartUtils.ts +759 -0
- package/src/util/{Constants.js → Constants.ts} +6 -6
- package/src/util/DOMUtils.ts +135 -0
- package/src/util/{DataUtils.js → DataUtils.ts} +120 -47
- package/src/util/Events.ts +22 -0
- package/src/util/FunnelUtils.tsrx +3 -3
- package/src/util/Global.ts +13 -0
- package/src/util/IfOverflow.ts +16 -0
- package/src/util/LRUCache.ts +42 -0
- package/src/util/{LogUtils.js → LogUtils.ts} +7 -12
- package/src/util/OctaneTypes.ts +51 -0
- package/src/util/PolarUtils.ts +132 -0
- package/src/util/RadialBarUtils.tsrx +3 -3
- package/src/util/ReduceCSSCalc.ts +186 -0
- package/src/util/ScatterUtils.tsrx +9 -7
- package/src/util/{TickUtils.js → TickUtils.ts} +30 -13
- package/src/util/{YAxisUtils.js → YAxisUtils.ts} +27 -17
- package/src/util/axisPropsAreEqual.ts +49 -0
- package/src/util/createEventProxy.ts +20 -0
- package/src/util/{excludeEventProps.js → excludeEventProps.ts} +8 -6
- package/src/util/getActiveCoordinate.ts +210 -0
- package/src/util/{getAxisTypeBasedOnLayout.js → getAxisTypeBasedOnLayout.ts} +7 -3
- package/src/util/getClassNameFromUnknown.ts +7 -0
- package/src/util/{getEveryNth.js → getEveryNth.ts} +5 -6
- package/src/util/getRadiusAndStrokeWidthFromDot.ts +31 -0
- package/src/util/{getRelativeCoordinate.js → getRelativeCoordinate.ts} +26 -9
- package/src/util/getSliced.ts +14 -0
- package/src/util/{isDomainSpecifiedByUser.js → isDomainSpecifiedByUser.ts} +46 -100
- package/src/util/isWellBehavedNumber.ts +8 -0
- package/src/util/payload/getUniqPayload.ts +1 -1
- package/src/util/{propsAreEqual.js → propsAreEqual.ts} +10 -8
- package/src/util/{resolveDefaultProps.js → resolveDefaultProps.ts} +35 -57
- package/src/util/round.ts +33 -0
- package/src/util/scale/CustomScaleDefinition.ts +82 -0
- package/src/util/scale/RechartsScale.ts +131 -0
- package/src/util/scale/{createCategoricalInverse.js → createCategoricalInverse.ts} +24 -29
- package/src/util/scale/{getNiceTickValues.js → getNiceTickValues.ts} +125 -146
- package/src/util/scale/index.ts +2 -0
- package/src/util/scale/util/{arithmetic.js → arithmetic.ts} +12 -8
- package/src/util/stacks/getStackSeriesIdentifier.ts +21 -0
- package/src/util/stacks/stackTypes.ts +58 -0
- package/src/util/{svgPropertiesNoEvents.js → svgPropertiesNoEvents.ts} +52 -27
- package/src/util/tooltip/translate.ts +2 -1
- package/src/util/typedDataKey.ts +49 -0
- package/src/util/types.ts +1265 -7
- package/src/util/{useUniqueId.js → useUniqueId.ts} +9 -5
- package/src/zIndex/{DefaultZIndexes.js → DefaultZIndexes.ts} +13 -4
- package/src/zIndex/ZIndexLayer.tsrx +13 -4
- package/src/zIndex/ZIndexPortal.tsrx +14 -4
- package/src/zIndex/{getZIndexFromUnknown.js → getZIndexFromUnknown.ts} +3 -3
- package/src/zIndex/{zIndexSelectors.js → zIndexSelectors.ts} +17 -11
- package/src/animation/easing.js +0 -193
- package/src/animation/timeoutController.js +0 -49
- package/src/animation/util.js +0 -11
- package/src/cartesian/Area.tsrx.d.ts +0 -340
- package/src/cartesian/Bar.tsrx.d.ts +0 -4
- package/src/cartesian/BarStack.tsrx.d.ts +0 -6
- package/src/cartesian/CartesianAxis.tsrx.d.ts +0 -3
- package/src/cartesian/CartesianGrid.tsrx.d.ts +0 -219
- package/src/cartesian/ErrorBar.tsrx.d.ts +0 -131
- package/src/cartesian/Funnel.tsrx.d.ts +0 -274
- package/src/cartesian/Line.tsrx.d.ts +0 -4
- package/src/cartesian/LineDrawShape.tsrx.d.ts +0 -2
- package/src/cartesian/ReferenceLine.tsrx.d.ts +0 -178
- package/src/cartesian/Scatter.tsrx.d.ts +0 -351
- package/src/cartesian/XAxis.tsrx.d.ts +0 -3
- package/src/cartesian/YAxis.tsrx.d.ts +0 -3
- package/src/cartesian/ZAxis.tsrx.d.ts +0 -102
- package/src/cartesian/getCartesianPosition.js +0 -277
- package/src/cartesian/getEquidistantTicks.js +0 -133
- package/src/cartesian/getTicks.js +0 -280
- package/src/chart/AreaChart.tsrx.d.ts +0 -12
- package/src/chart/BarChart.tsrx.d.ts +0 -2
- package/src/chart/CartesianChart.tsrx.d.ts +0 -10
- package/src/chart/ComposedChart.tsrx.d.ts +0 -12
- package/src/chart/FunnelChart.tsrx.d.ts +0 -12
- package/src/chart/LineChart.tsrx.d.ts +0 -2
- package/src/chart/PieChart.tsrx.d.ts +0 -31
- package/src/chart/RadarChart.tsrx.d.ts +0 -31
- package/src/chart/RadialBarChart.tsrx.d.ts +0 -31
- package/src/chart/Sankey.tsrx.d.ts +0 -253
- package/src/chart/ScatterChart.tsrx.d.ts +0 -12
- package/src/chart/SunburstChart.tsrx.d.ts +0 -146
- package/src/component/DefaultLegendContent.tsrx.d.ts +0 -125
- package/src/component/DefaultTooltipContent.tsrx.d.ts +0 -87
- package/src/component/Label.tsrx.d.ts +0 -12
- package/src/component/LabelList.tsrx.d.ts +0 -8
- package/src/component/Legend.tsrx.d.ts +0 -88
- package/src/component/ResponsiveContainer.tsrx.d.ts +0 -81
- package/src/component/Text.tsrx.d.ts +0 -9
- package/src/component/Tooltip.tsrx.d.ts +0 -246
- package/src/container/Layer.tsrx.d.ts +0 -6
- package/src/container/Surface.tsrx.d.ts +0 -12
- package/src/context/accessibilityContext.js +0 -10
- package/src/context/tooltipContext.js +0 -55
- package/src/index.d.ts +0 -281
- package/src/polar/Pie.tsrx.d.ts +0 -436
- package/src/polar/PolarAngleAxis.tsrx.d.ts +0 -215
- package/src/polar/PolarGrid.tsrx.d.ts +0 -117
- package/src/polar/PolarRadiusAxis.tsrx.d.ts +0 -209
- package/src/polar/Radar.tsrx.d.ts +0 -215
- package/src/polar/RadialBar.tsrx.d.ts +0 -340
- package/src/shape/Cross.tsrx.d.ts +0 -12
- package/src/shape/Curve.tsrx.d.ts +0 -42
- package/src/shape/Dot.tsrx.d.ts +0 -9
- package/src/shape/Polygon.tsrx.d.ts +0 -13
- package/src/shape/Rectangle.tsrx.d.ts +0 -31
- package/src/shape/Sector.tsrx.d.ts +0 -29
- package/src/shape/Symbols.tsrx.d.ts +0 -15
- package/src/shape/Trapezoid.tsrx.d.ts +0 -29
- package/src/state/brushSlice.js +0 -36
- package/src/state/cartesianAxisSlice.js +0 -256
- package/src/state/chartDataSlice.js +0 -67
- package/src/state/errorBarSlice.js +0 -53
- package/src/state/eventSettingsSlice.js +0 -25
- package/src/state/graphicalItemsSlice.js +0 -91
- package/src/state/layoutSlice.js +0 -57
- package/src/state/legendSlice.js +0 -83
- package/src/state/optionsSlice.js +0 -45
- package/src/state/polarAxisSlice.js +0 -33
- package/src/state/polarOptionsSlice.js +0 -26
- package/src/state/reduxDevtoolsJsonStringifyReplacer.js +0 -14
- package/src/state/referenceElementsSlice.js +0 -51
- package/src/state/renderedTicksSlice.js +0 -41
- package/src/state/rootPropsSlice.js +0 -48
- package/src/state/selectors/axisSelectors.js +0 -2113
- package/src/state/selectors/barSelectors.js +0 -263
- package/src/state/selectors/barStackSelectors.js +0 -65
- package/src/state/selectors/brushSelectors.js +0 -21
- package/src/state/selectors/combiners/combineActiveLabel.js +0 -18
- package/src/state/selectors/combiners/combineAllBarPositions.js +0 -169
- package/src/state/selectors/combiners/combineAxisRangeWithReverse.js +0 -11
- package/src/state/selectors/combiners/combineBarPosition.js +0 -17
- package/src/state/selectors/combiners/combineBarSizeList.js +0 -115
- package/src/state/selectors/combiners/combineConfiguredScale.js +0 -46
- package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.js +0 -48
- package/src/state/selectors/combiners/combineInverseScaleFunction.js +0 -12
- package/src/state/selectors/combiners/combineStackedData.js +0 -22
- package/src/state/selectors/combiners/combineTooltipInteractionState.js +0 -121
- package/src/state/selectors/combiners/combineTooltipPayload.js +0 -248
- package/src/state/selectors/containerSelectors.js +0 -6
- package/src/state/selectors/graphicalItemSelectors.js +0 -25
- package/src/state/selectors/legendSelectors.js +0 -18
- package/src/state/selectors/lineSelectors.js +0 -106
- package/src/state/selectors/numberDomainEqualityCheck.js +0 -11
- package/src/state/selectors/pickAxisId.js +0 -3
- package/src/state/selectors/pickAxisType.js +0 -3
- package/src/state/selectors/polarAxisSelectors.js +0 -237
- package/src/state/selectors/rootPropsSelectors.js +0 -13
- package/src/state/selectors/selectAllAxes.js +0 -15
- package/src/state/selectors/selectChartOffset.js +0 -12
- package/src/state/selectors/selectChartOffsetInternal.js +0 -174
- package/src/state/selectors/selectTooltipAxisId.js +0 -3
- package/src/state/selectors/selectTooltipEventType.js +0 -27
- package/src/state/selectors/selectTooltipPayloadSearcher.js +0 -3
- package/src/state/selectors/selectTooltipSettings.js +0 -3
- package/src/state/selectors/selectTooltipState.js +0 -3
- package/src/state/selectors/selectors.js +0 -222
- package/src/state/selectors/tooltipSelectors.js +0 -471
- package/src/state/selectors/touchSelectors.js +0 -31
- package/src/state/tooltipSlice.js +0 -237
- package/src/state/types/StackedGraphicalItem.js +0 -18
- package/src/state/zIndexSlice.js +0 -167
- package/src/synchronisation/syncSelectors.js +0 -5
- package/src/util/ChartUtils.js +0 -630
- package/src/util/DOMUtils.js +0 -180
- package/src/util/Events.js +0 -7
- package/src/util/Global.js +0 -13
- package/src/util/LRUCache.js +0 -58
- package/src/util/PolarUtils.js +0 -190
- package/src/util/ReduceCSSCalc.js +0 -260
- package/src/util/axisPropsAreEqual.js +0 -63
- package/src/util/createEventProxy.js +0 -18
- package/src/util/getActiveCoordinate.js +0 -253
- package/src/util/getClassNameFromUnknown.js +0 -8
- package/src/util/getRadiusAndStrokeWidthFromDot.js +0 -28
- package/src/util/getSliced.js +0 -11
- package/src/util/isWellBehavedNumber.js +0 -8
- package/src/util/round.js +0 -39
- package/src/util/scale/RechartsScale.js +0 -68
- package/src/util/scale/index.js +0 -3
- package/src/util/stacks/getStackSeriesIdentifier.js +0 -10
- package/src/zIndex/ZIndexLayer.tsrx.d.ts +0 -2
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Do not edit — update by re-vendoring when the recharts devDependency moves.
|
|
1
|
+
// Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
|
|
3
2
|
import { useId } from './useId';
|
|
4
3
|
|
|
5
4
|
/**
|
|
@@ -12,12 +11,12 @@ import { useId } from './useId';
|
|
|
12
11
|
* @param [customId] - An optional custom ID to override the generated one.
|
|
13
12
|
* @returns The unique ID.
|
|
14
13
|
*/
|
|
15
|
-
export function useUniqueId(prefix, customId) {
|
|
14
|
+
export function useUniqueId(prefix?: string, customId?: string): string {
|
|
16
15
|
/*
|
|
17
16
|
* We have to call this hook here even if we don't use the result because
|
|
18
17
|
* rules of hooks demand that hooks are never called conditionally.
|
|
19
18
|
*/
|
|
20
|
-
|
|
19
|
+
const generatedId = useId();
|
|
21
20
|
|
|
22
21
|
// If a custom ID is provided, it always takes precedence.
|
|
23
22
|
if (customId) {
|
|
@@ -25,10 +24,15 @@ export function useUniqueId(prefix, customId) {
|
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
// Apply the prefix if one was provided.
|
|
28
|
-
return prefix ?
|
|
27
|
+
return prefix ? `${prefix}-${generatedId}` : generatedId;
|
|
29
28
|
}
|
|
30
29
|
|
|
31
30
|
/**
|
|
32
31
|
* The useUniqueId hook returns a unique ID that is either reused from external props or generated internally.
|
|
33
32
|
* Either way the ID is now guaranteed to be present so no more nulls or undefined.
|
|
34
33
|
*/
|
|
34
|
+
export type WithIdRequired<T> = T & {
|
|
35
|
+
id: string;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export type WithoutId<T> = Omit<T, 'id'>;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Do not edit — update by re-vendoring when the recharts devDependency moves.
|
|
1
|
+
// Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
|
|
3
2
|
/**
|
|
4
3
|
* A collection of all default zIndex values used by Recharts.
|
|
5
4
|
*
|
|
6
5
|
* You can reuse these, or you can define your own.
|
|
7
6
|
*/
|
|
8
|
-
export
|
|
7
|
+
export const DefaultZIndexes = {
|
|
9
8
|
/**
|
|
10
9
|
* CartesianGrid and PolarGrid
|
|
11
10
|
*/
|
|
@@ -15,6 +14,7 @@ export var DefaultZIndexes = {
|
|
|
15
14
|
* This is not visible by default but can be enabled by setting background={true} on Bar or RadialBar.
|
|
16
15
|
*/
|
|
17
16
|
barBackground: -50,
|
|
17
|
+
|
|
18
18
|
/*
|
|
19
19
|
* other chart elements or custom elements without specific zIndex
|
|
20
20
|
* render in here, at zIndex 0
|
|
@@ -24,6 +24,7 @@ export var DefaultZIndexes = {
|
|
|
24
24
|
* Area, Pie, Radar, and ReferenceArea
|
|
25
25
|
*/
|
|
26
26
|
area: 100,
|
|
27
|
+
|
|
27
28
|
/**
|
|
28
29
|
* Cursor is embedded inside Tooltip and controlled by it.
|
|
29
30
|
* The Tooltip itself has a separate portal and is not included in the zIndex system;
|
|
@@ -31,27 +32,33 @@ export var DefaultZIndexes = {
|
|
|
31
32
|
* It renders below bar so that in a stacked bar chart the cursor rectangle does not hide the other bars.
|
|
32
33
|
*/
|
|
33
34
|
cursorRectangle: 200,
|
|
35
|
+
|
|
34
36
|
/**
|
|
35
37
|
* Bar and RadialBar
|
|
36
38
|
*/
|
|
37
39
|
bar: 300,
|
|
40
|
+
|
|
38
41
|
/**
|
|
39
42
|
* Line and ReferenceLine, and ErrorBor
|
|
40
43
|
*/
|
|
41
44
|
line: 400,
|
|
45
|
+
|
|
42
46
|
/**
|
|
43
47
|
* XAxis and YAxis and PolarAngleAxis and PolarRadiusAxis ticks and lines and children
|
|
44
48
|
*/
|
|
45
49
|
axis: 500,
|
|
50
|
+
|
|
46
51
|
/**
|
|
47
52
|
* Scatter and ReferenceDot,
|
|
48
53
|
* and Dots of Line and Area and Radar if they have dot=true
|
|
49
54
|
*/
|
|
50
55
|
scatter: 600,
|
|
56
|
+
|
|
51
57
|
/**
|
|
52
58
|
* Hovering over a Bar or RadialBar renders a highlight rectangle
|
|
53
59
|
*/
|
|
54
60
|
activeBar: 1000,
|
|
61
|
+
|
|
55
62
|
/**
|
|
56
63
|
* Cursor is embedded inside Tooltip and controlled by it.
|
|
57
64
|
* The Tooltip itself has a separate portal and is not included in the zIndex system;
|
|
@@ -64,12 +71,14 @@ export var DefaultZIndexes = {
|
|
|
64
71
|
* This also applies to the radial cursor in RadialBarChart.
|
|
65
72
|
*/
|
|
66
73
|
cursorLine: 1100,
|
|
74
|
+
|
|
67
75
|
/**
|
|
68
76
|
* Hovering over a Point in Line, Area, Scatter, Radar renders a highlight dot
|
|
69
77
|
*/
|
|
70
78
|
activeDot: 1200,
|
|
79
|
+
|
|
71
80
|
/**
|
|
72
81
|
* LabelList and Label, including Axis labels
|
|
73
82
|
*/
|
|
74
83
|
label: 2000,
|
|
75
|
-
}
|
|
84
|
+
} as const satisfies Record<string, number>;
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import type { OctaneNode } from '../util/OctaneTypes.ts';
|
|
2
|
+
|
|
3
|
+
export interface ZIndexable {
|
|
4
|
+
zIndex?: number;
|
|
5
|
+
}
|
|
6
|
+
type ZIndexLayerProps = {
|
|
7
|
+
zIndex: number | undefined;
|
|
8
|
+
children?: OctaneNode;
|
|
9
|
+
};
|
|
1
10
|
// Port of zIndex/ZIndexLayer.tsx — renders children into the redux-registered
|
|
2
11
|
// <g> for the given zIndex via an octane portal (SVG has no CSS z-index).
|
|
3
12
|
// Registration is deferred-cleanup: while a zIndex changes, the old portal
|
|
@@ -10,7 +19,7 @@ import { useIsInChartContext } from '../context/chartLayoutContext.ts';
|
|
|
10
19
|
import { useIsPanorama } from '../context/PanoramaContext.ts';
|
|
11
20
|
|
|
12
21
|
/** @since 3.4 */
|
|
13
|
-
export function ZIndexLayer(props) {
|
|
22
|
+
export function ZIndexLayer(props: ZIndexLayerProps) {
|
|
14
23
|
const { zIndex, children } = props;
|
|
15
24
|
// Outside a chart there is no zIndex portal state — render normally.
|
|
16
25
|
const isInChartContext = useIsInChartContext();
|
|
@@ -20,10 +29,10 @@ export function ZIndexLayer(props) {
|
|
|
20
29
|
|
|
21
30
|
// Deferred-cleanup bookkeeping: every registered zIndex, plus the last valid
|
|
22
31
|
// portal node to keep rendering into during a zIndex transition.
|
|
23
|
-
const lastPortalElementRef = useRef(undefined);
|
|
24
|
-
const registeredZIndexesRef = useRef(new Set());
|
|
32
|
+
const lastPortalElementRef = useRef<Element | undefined>(undefined);
|
|
33
|
+
const registeredZIndexesRef = useRef(new Set<number>());
|
|
25
34
|
const dispatch = useAppDispatch();
|
|
26
|
-
const portalElement = useAppSelector(
|
|
35
|
+
const portalElement: Element | undefined = useAppSelector(
|
|
27
36
|
(state) => selectZIndexPortalElement(state, zIndex, isPanorama),
|
|
28
37
|
);
|
|
29
38
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { OctaneNode } from '../util/OctaneTypes.ts';
|
|
2
|
+
|
|
1
3
|
// Port of zIndex/ZIndexPortal.tsx — SVG cannot use CSS z-index, so recharts
|
|
2
4
|
// renders one <g> per registered zIndex (negatives before the default layer,
|
|
3
5
|
// positives after) and ZIndexLayer portals content into them.
|
|
@@ -6,9 +8,12 @@ import { useAppDispatch, useAppSelector } from '../state/hooks';
|
|
|
6
8
|
import { registerZIndexPortalElement, unregisterZIndexPortalElement } from '../state/zIndexSlice';
|
|
7
9
|
import { selectAllRegisteredZIndexes } from './zIndexSelectors';
|
|
8
10
|
|
|
9
|
-
function ZIndexSvgPortal(props
|
|
11
|
+
function ZIndexSvgPortal(props: {
|
|
12
|
+
zIndex: number;
|
|
13
|
+
isPanorama: boolean;
|
|
14
|
+
}) {
|
|
10
15
|
const { zIndex, isPanorama } = props;
|
|
11
|
-
const ref = useRef(null);
|
|
16
|
+
const ref = useRef<SVGGElement | null>(null);
|
|
12
17
|
const dispatch = useAppDispatch();
|
|
13
18
|
useLayoutEffect(() => {
|
|
14
19
|
if (ref.current) {
|
|
@@ -22,9 +27,14 @@ function ZIndexSvgPortal(props) {
|
|
|
22
27
|
return <g tabIndex={-1} ref={ref} className={'recharts-zIndex-layer_' + zIndex}></g>;
|
|
23
28
|
}
|
|
24
29
|
|
|
25
|
-
export function AllZIndexPortals(props
|
|
30
|
+
export function AllZIndexPortals(props: {
|
|
31
|
+
children?: OctaneNode;
|
|
32
|
+
isPanorama: boolean;
|
|
33
|
+
}) @{
|
|
26
34
|
const { children, isPanorama } = props;
|
|
27
|
-
const allRegisteredZIndexes = useAppSelector(
|
|
35
|
+
const allRegisteredZIndexes: ReadonlyArray<number> | undefined = useAppSelector(
|
|
36
|
+
selectAllRegisteredZIndexes,
|
|
37
|
+
);
|
|
28
38
|
if (!allRegisteredZIndexes || allRegisteredZIndexes.length === 0) {
|
|
29
39
|
return children;
|
|
30
40
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Do not edit — update by re-vendoring when the recharts devDependency moves.
|
|
1
|
+
// Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
|
|
3
2
|
import { isWellBehavedNumber } from '../util/isWellBehavedNumber';
|
|
4
|
-
|
|
3
|
+
|
|
4
|
+
export function getZIndexFromUnknown(input: unknown, defaultZIndex: number): number {
|
|
5
5
|
if (
|
|
6
6
|
input &&
|
|
7
7
|
typeof input === 'object' &&
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Do not edit — update by re-vendoring when the recharts devDependency moves.
|
|
1
|
+
// Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
|
|
3
2
|
import { createSelector } from 'reselect';
|
|
3
|
+
import { RechartsRootState } from '../state/store';
|
|
4
4
|
import { arrayContentsAreEqualCheck } from '../state/selectors/arrayEqualityCheck';
|
|
5
|
+
|
|
5
6
|
import { DefaultZIndexes } from './DefaultZIndexes';
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -10,15 +11,19 @@ import { DefaultZIndexes } from './DefaultZIndexes';
|
|
|
10
11
|
*
|
|
11
12
|
* It also returns undefined in case the z-index portal has not been rendered yet.
|
|
12
13
|
*/
|
|
13
|
-
export
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
export const selectZIndexPortalElement: (
|
|
15
|
+
state: RechartsRootState,
|
|
16
|
+
zIndex: number | undefined,
|
|
17
|
+
isPanorama: boolean,
|
|
18
|
+
) => Element | undefined = createSelector(
|
|
19
|
+
(state: RechartsRootState) => state.zIndex.zIndexMap,
|
|
20
|
+
(_: RechartsRootState, zIndex: number | undefined) => zIndex,
|
|
21
|
+
(_: RechartsRootState, _zIndex: number | undefined, isPanorama: boolean) => isPanorama,
|
|
17
22
|
(zIndexMap, zIndex, isPanorama) => {
|
|
18
23
|
if (zIndex == null) {
|
|
19
24
|
return undefined;
|
|
20
25
|
}
|
|
21
|
-
|
|
26
|
+
const entry = zIndexMap[zIndex];
|
|
22
27
|
if (entry == null) {
|
|
23
28
|
return undefined;
|
|
24
29
|
}
|
|
@@ -28,13 +33,14 @@ export var selectZIndexPortalElement = createSelector(
|
|
|
28
33
|
return entry.element;
|
|
29
34
|
},
|
|
30
35
|
);
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
|
|
37
|
+
export const selectAllRegisteredZIndexes = createSelector(
|
|
38
|
+
(state: RechartsRootState) => state.zIndex.zIndexMap,
|
|
33
39
|
(zIndexMap) => {
|
|
34
|
-
|
|
40
|
+
const allNumbers = Object.keys(zIndexMap)
|
|
35
41
|
.map((zIndexStr) => parseInt(zIndexStr, 10))
|
|
36
42
|
.concat(Object.values(DefaultZIndexes));
|
|
37
|
-
|
|
43
|
+
const uniqueNumbers = Array.from(new Set(allNumbers));
|
|
38
44
|
return uniqueNumbers.sort((a, b) => a - b);
|
|
39
45
|
},
|
|
40
46
|
{
|
package/src/animation/easing.js
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
// Vendored verbatim from recharts@3.9.2 es6/animation/easing.js (framework-agnostic).
|
|
2
|
-
// Do not edit — update by re-vendoring when the recharts devDependency moves.
|
|
3
|
-
export var ACCURACY = 1e-4;
|
|
4
|
-
var cubicBezierFactor = (c1, c2) => [0, 3 * c1, 3 * c2 - 6 * c1, 3 * c1 - 3 * c2 + 1];
|
|
5
|
-
var evaluatePolynomial = (params, animationElapsedTime) =>
|
|
6
|
-
params.map((param, i) => param * animationElapsedTime ** i).reduce((pre, curr) => pre + curr);
|
|
7
|
-
var cubicBezier = (c1, c2) => (animationElapsedTime) => {
|
|
8
|
-
var params = cubicBezierFactor(c1, c2);
|
|
9
|
-
return evaluatePolynomial(params, animationElapsedTime);
|
|
10
|
-
};
|
|
11
|
-
var derivativeCubicBezier = (c1, c2) => (animationElapsedTime) => {
|
|
12
|
-
var params = cubicBezierFactor(c1, c2);
|
|
13
|
-
var newParams = [...params.map((param, i) => param * i).slice(1), 0];
|
|
14
|
-
return evaluatePolynomial(newParams, animationElapsedTime);
|
|
15
|
-
};
|
|
16
|
-
var parseCubicBezier = (easing) => {
|
|
17
|
-
var _easingParts$;
|
|
18
|
-
var easingParts = easing.split('(');
|
|
19
|
-
if (easingParts.length !== 2 || easingParts[0] !== 'cubic-bezier') {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
var numbers =
|
|
23
|
-
(_easingParts$ = easingParts[1]) === null ||
|
|
24
|
-
_easingParts$ === void 0 ||
|
|
25
|
-
(_easingParts$ = _easingParts$.split(')')[0]) === null ||
|
|
26
|
-
_easingParts$ === void 0
|
|
27
|
-
? void 0
|
|
28
|
-
: _easingParts$.split(',');
|
|
29
|
-
if (numbers == null || numbers.length !== 4) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
var coords = numbers.map((x) => parseFloat(x));
|
|
33
|
-
return [coords[0], coords[1], coords[2], coords[3]];
|
|
34
|
-
};
|
|
35
|
-
var getBezierCoordinates = function getBezierCoordinates() {
|
|
36
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
37
|
-
args[_key] = arguments[_key];
|
|
38
|
-
}
|
|
39
|
-
if (args.length === 1) {
|
|
40
|
-
switch (args[0]) {
|
|
41
|
-
case 'linear':
|
|
42
|
-
return [0.0, 0.0, 1.0, 1.0];
|
|
43
|
-
case 'ease':
|
|
44
|
-
return [0.25, 0.1, 0.25, 1.0];
|
|
45
|
-
case 'ease-in':
|
|
46
|
-
return [0.42, 0.0, 1.0, 1.0];
|
|
47
|
-
case 'ease-out':
|
|
48
|
-
return [0.42, 0.0, 0.58, 1.0];
|
|
49
|
-
case 'ease-in-out':
|
|
50
|
-
return [0.0, 0.0, 0.58, 1.0];
|
|
51
|
-
default: {
|
|
52
|
-
var easing = parseCubicBezier(args[0]);
|
|
53
|
-
if (easing) {
|
|
54
|
-
return easing;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (args.length === 4) {
|
|
60
|
-
return args;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// Fallback for invalid inputs. The previous implementation was buggy and would lead to NaN.
|
|
64
|
-
// Returning linear easing is a safe default.
|
|
65
|
-
return [0.0, 0.0, 1.0, 1.0];
|
|
66
|
-
};
|
|
67
|
-
var createBezierEasing = (x1, y1, x2, y2) => {
|
|
68
|
-
var curveX = cubicBezier(x1, x2);
|
|
69
|
-
var curveY = cubicBezier(y1, y2);
|
|
70
|
-
var derCurveX = derivativeCubicBezier(x1, x2);
|
|
71
|
-
var rangeValue = (value) => {
|
|
72
|
-
if (value > 1) {
|
|
73
|
-
return 1;
|
|
74
|
-
}
|
|
75
|
-
if (value < 0) {
|
|
76
|
-
return 0;
|
|
77
|
-
}
|
|
78
|
-
return value;
|
|
79
|
-
};
|
|
80
|
-
var bezier = (_animationElapsedTime) => {
|
|
81
|
-
var animationElapsedTime = _animationElapsedTime > 1 ? 1 : _animationElapsedTime;
|
|
82
|
-
var x = animationElapsedTime;
|
|
83
|
-
for (var i = 0; i < 8; ++i) {
|
|
84
|
-
var evalT = curveX(x) - animationElapsedTime;
|
|
85
|
-
var derVal = derCurveX(x);
|
|
86
|
-
if (Math.abs(evalT - animationElapsedTime) < ACCURACY || derVal < ACCURACY) {
|
|
87
|
-
return curveY(x);
|
|
88
|
-
}
|
|
89
|
-
x = rangeValue(x - evalT / derVal);
|
|
90
|
-
}
|
|
91
|
-
return curveY(x);
|
|
92
|
-
};
|
|
93
|
-
bezier.isStepper = false;
|
|
94
|
-
return bezier;
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
// calculate cubic-bezier using Newton's method
|
|
98
|
-
export var configBezier = function configBezier() {
|
|
99
|
-
return createBezierEasing(...getBezierCoordinates(...arguments));
|
|
100
|
-
};
|
|
101
|
-
/**
|
|
102
|
-
* Creates a performance-optimized, progress-based spring easing function.
|
|
103
|
-
* It pre-calculates ("bakes") spring physics frames upfront based on a fixed duration,
|
|
104
|
-
* then returns a pure, lightweight function mapping progress (0 to 1) to the animated position.
|
|
105
|
-
* This approach is ideal for low-power devices because it removes heavy physics math from the frame loop.
|
|
106
|
-
*/
|
|
107
|
-
export var createSpringEasing = function createSpringEasing() {
|
|
108
|
-
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
109
|
-
var _config$stiff = config.stiff,
|
|
110
|
-
stiff = _config$stiff === void 0 ? 100 : _config$stiff,
|
|
111
|
-
_config$damping = config.damping,
|
|
112
|
-
damping = _config$damping === void 0 ? 8 : _config$damping,
|
|
113
|
-
_config$dt = config.dt,
|
|
114
|
-
dt = _config$dt === void 0 ? 16.67 : _config$dt;
|
|
115
|
-
var destX = 1;
|
|
116
|
-
var positions = [0];
|
|
117
|
-
var currX = 0;
|
|
118
|
-
var currV = 0;
|
|
119
|
-
|
|
120
|
-
// Safety valve to prevent accidental infinite loops if physics config is extreme
|
|
121
|
-
var maxIterations = 10000;
|
|
122
|
-
var iterations = 0;
|
|
123
|
-
|
|
124
|
-
// 1. Run the simulation until the spring completely stops moving
|
|
125
|
-
while (iterations < maxIterations) {
|
|
126
|
-
var FSpring = -(currX - destX) * stiff;
|
|
127
|
-
var FDamping = currV * damping;
|
|
128
|
-
currV += ((FSpring - FDamping) * dt) / 1000;
|
|
129
|
-
currX += (currV * dt) / 1000;
|
|
130
|
-
positions.push(currX);
|
|
131
|
-
|
|
132
|
-
// Stop only when position is essentially at 1.0 AND bounce velocity has died down
|
|
133
|
-
if (Math.abs(currX - destX) < ACCURACY && Math.abs(currV) < ACCURACY) {
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
iterations++;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
// Force the absolute final element to be exactly 1.0 for a perfect finish
|
|
140
|
-
positions[positions.length - 1] = destX;
|
|
141
|
-
var maxIndex = positions.length - 1;
|
|
142
|
-
|
|
143
|
-
// 2. The ultra-smooth runtime function mapping your 0..1 progress
|
|
144
|
-
return (t) => {
|
|
145
|
-
var _positions$index, _positions, _positions$index2;
|
|
146
|
-
if (t <= 0) return 0;
|
|
147
|
-
if (t >= 1) return destX;
|
|
148
|
-
|
|
149
|
-
// Scale t (0..1) proportionally across our entire pre-calculated array
|
|
150
|
-
var exactFrame = t * maxIndex;
|
|
151
|
-
var index = Math.floor(exactFrame);
|
|
152
|
-
var fraction = exactFrame - index;
|
|
153
|
-
|
|
154
|
-
// Blend between the two closest frames
|
|
155
|
-
return (
|
|
156
|
-
((_positions$index = positions[index]) !== null && _positions$index !== void 0
|
|
157
|
-
? _positions$index
|
|
158
|
-
: 0) +
|
|
159
|
-
(((_positions = positions[index + 1]) !== null && _positions !== void 0 ? _positions : 0) -
|
|
160
|
-
((_positions$index2 = positions[index]) !== null && _positions$index2 !== void 0
|
|
161
|
-
? _positions$index2
|
|
162
|
-
: 0)) *
|
|
163
|
-
fraction
|
|
164
|
-
);
|
|
165
|
-
};
|
|
166
|
-
};
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* @inline
|
|
170
|
-
*/
|
|
171
|
-
|
|
172
|
-
export var createEasingFunction = (easing) => {
|
|
173
|
-
if (typeof easing === 'string') {
|
|
174
|
-
switch (easing) {
|
|
175
|
-
case 'ease':
|
|
176
|
-
case 'ease-in-out':
|
|
177
|
-
case 'ease-out':
|
|
178
|
-
case 'ease-in':
|
|
179
|
-
case 'linear':
|
|
180
|
-
return configBezier(easing);
|
|
181
|
-
case 'spring':
|
|
182
|
-
return createSpringEasing();
|
|
183
|
-
default:
|
|
184
|
-
if (easing.split('(')[0] === 'cubic-bezier') {
|
|
185
|
-
return configBezier(easing);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
if (typeof easing === 'function') {
|
|
190
|
-
return easing;
|
|
191
|
-
}
|
|
192
|
-
return null;
|
|
193
|
-
};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
// Vendored verbatim from recharts@3.9.2 es6/animation/timeoutController.js (framework-agnostic).
|
|
2
|
-
// Do not edit — update by re-vendoring when the recharts devDependency moves.
|
|
3
|
-
/**
|
|
4
|
-
* Callback type for the timeout function.
|
|
5
|
-
* Receives current time as an argument.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* A function that, when called, cancels the timeout.
|
|
10
|
-
*
|
|
11
|
-
* @since 3.9
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* TimeoutController is responsible for controlling the movement of time.
|
|
16
|
-
* Think of it as a clock.
|
|
17
|
-
*
|
|
18
|
-
* Recharts default implementation uses requestAnimationFrame which works great in a browser.
|
|
19
|
-
* You may choose to override this which is especially useful if you want to control animations.
|
|
20
|
-
*
|
|
21
|
-
* Why would you want to do this?
|
|
22
|
-
* - unit tests
|
|
23
|
-
* - animations based on something other than time: UI controls, page scroll, mouse movement ...
|
|
24
|
-
*
|
|
25
|
-
* @see {@link https://recharts.github.io/en-US/guide/animations/ Animation guide}
|
|
26
|
-
*
|
|
27
|
-
* @since 3.9
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
export class RequestAnimationFrameTimeoutController {
|
|
31
|
-
setTimeout(callback) {
|
|
32
|
-
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
33
|
-
var startTime = performance.now();
|
|
34
|
-
var requestId = null;
|
|
35
|
-
var executeCallback = (now) => {
|
|
36
|
-
if (now - startTime >= delay) {
|
|
37
|
-
callback(now);
|
|
38
|
-
} else {
|
|
39
|
-
requestId = requestAnimationFrame(executeCallback);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
requestId = requestAnimationFrame(executeCallback);
|
|
43
|
-
return () => {
|
|
44
|
-
if (requestId != null) {
|
|
45
|
-
cancelAnimationFrame(requestId);
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
}
|
package/src/animation/util.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
// Vendored verbatim from recharts@3.9.2 es6/animation/util.js (framework-agnostic).
|
|
2
|
-
// Do not edit — update by re-vendoring when the recharts devDependency moves.
|
|
3
|
-
/*
|
|
4
|
-
* @description: convert camel case to dash case
|
|
5
|
-
* string => string
|
|
6
|
-
*/
|
|
7
|
-
export var getDashCase = (name) => name.replace(/([A-Z])/g, (v) => '-'.concat(v.toLowerCase()));
|
|
8
|
-
export var getTransitionVal = (props, duration, easing) =>
|
|
9
|
-
props
|
|
10
|
-
.map((prop) => ''.concat(getDashCase(prop), ' ').concat(duration, 'ms ').concat(easing))
|
|
11
|
-
.join(',');
|