@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.
- 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/internal.ts +4 -20
- 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,277 +0,0 @@
|
|
|
1
|
-
// Vendored verbatim from recharts@3.9.2 es6/cartesian/getCartesianPosition.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 { getPercentValue, isNumber, isPercent } from '../util/DataUtils';
|
|
53
|
-
import { cartesianViewBoxToTrapezoid } from '../context/chartLayoutContext';
|
|
54
|
-
/**
|
|
55
|
-
* Calculates the position and alignment for a generic element in a Cartesian coordinate system.
|
|
56
|
-
*
|
|
57
|
-
* @param options - The options including viewBox, position, and offset.
|
|
58
|
-
* @returns The calculated x, y, alignment and size.
|
|
59
|
-
*/
|
|
60
|
-
export var getCartesianPosition = (options) => {
|
|
61
|
-
var viewBox = options.viewBox,
|
|
62
|
-
position = options.position,
|
|
63
|
-
_options$offset = options.offset,
|
|
64
|
-
offset = _options$offset === void 0 ? 0 : _options$offset,
|
|
65
|
-
parentViewBoxFromOptions = options.parentViewBox,
|
|
66
|
-
clamp = options.clamp;
|
|
67
|
-
var _cartesianViewBoxToTr = cartesianViewBoxToTrapezoid(viewBox),
|
|
68
|
-
x = _cartesianViewBoxToTr.x,
|
|
69
|
-
y = _cartesianViewBoxToTr.y,
|
|
70
|
-
height = _cartesianViewBoxToTr.height,
|
|
71
|
-
upperWidth = _cartesianViewBoxToTr.upperWidth,
|
|
72
|
-
lowerWidth = _cartesianViewBoxToTr.lowerWidth;
|
|
73
|
-
|
|
74
|
-
// Funnel.tsx provides a viewBox where `x` is the top-left of the trapezoid shape.
|
|
75
|
-
var upperX = x;
|
|
76
|
-
// The trapezoid is centered, so we can calculate the other corners from the top-left.
|
|
77
|
-
var lowerX = x + (upperWidth - lowerWidth) / 2;
|
|
78
|
-
// middleX is the x-coordinate of the left edge at the vertical midpoint of the trapezoid.
|
|
79
|
-
var middleX = (upperX + lowerX) / 2;
|
|
80
|
-
// The width of the trapezoid at its vertical midpoint.
|
|
81
|
-
var midHeightWidth = (upperWidth + lowerWidth) / 2;
|
|
82
|
-
// The center x-coordinate is constant for the entire height of the trapezoid.
|
|
83
|
-
var centerX = upperX + upperWidth / 2;
|
|
84
|
-
|
|
85
|
-
// Define vertical offsets and position inverts based on the value being positive or negative.
|
|
86
|
-
// This allows labels to be positioned correctly for bars with negative height.
|
|
87
|
-
var verticalSign = height >= 0 ? 1 : -1;
|
|
88
|
-
var verticalOffset = verticalSign * offset;
|
|
89
|
-
var verticalEnd = verticalSign > 0 ? 'end' : 'start';
|
|
90
|
-
var verticalStart = verticalSign > 0 ? 'start' : 'end';
|
|
91
|
-
|
|
92
|
-
// Define horizontal offsets and position inverts based on the value being positive or negative.
|
|
93
|
-
// This allows labels to be positioned correctly for bars with negative width.
|
|
94
|
-
var horizontalSign = upperWidth >= 0 ? 1 : -1;
|
|
95
|
-
var horizontalOffset = horizontalSign * offset;
|
|
96
|
-
var horizontalEnd = horizontalSign > 0 ? 'end' : 'start';
|
|
97
|
-
var horizontalStart = horizontalSign > 0 ? 'start' : 'end';
|
|
98
|
-
|
|
99
|
-
// We assume parentViewBox is generic if provided.
|
|
100
|
-
// The user has asserted that parentViewBox will be CartesianViewBoxRequired if present.
|
|
101
|
-
var parentViewBox = parentViewBoxFromOptions;
|
|
102
|
-
if (position === 'top') {
|
|
103
|
-
var result = {
|
|
104
|
-
x: upperX + upperWidth / 2,
|
|
105
|
-
y: y - verticalOffset,
|
|
106
|
-
horizontalAnchor: 'middle',
|
|
107
|
-
verticalAnchor: verticalEnd,
|
|
108
|
-
};
|
|
109
|
-
if (clamp && parentViewBox) {
|
|
110
|
-
result.height = Math.max(y - parentViewBox.y, 0);
|
|
111
|
-
result.width = upperWidth;
|
|
112
|
-
}
|
|
113
|
-
return result;
|
|
114
|
-
}
|
|
115
|
-
if (position === 'bottom') {
|
|
116
|
-
var _result = {
|
|
117
|
-
x: lowerX + lowerWidth / 2,
|
|
118
|
-
y: y + height + verticalOffset,
|
|
119
|
-
horizontalAnchor: 'middle',
|
|
120
|
-
verticalAnchor: verticalStart,
|
|
121
|
-
};
|
|
122
|
-
if (clamp && parentViewBox) {
|
|
123
|
-
_result.height = Math.max(parentViewBox.y + parentViewBox.height - (y + height), 0);
|
|
124
|
-
_result.width = lowerWidth;
|
|
125
|
-
}
|
|
126
|
-
return _result;
|
|
127
|
-
}
|
|
128
|
-
if (position === 'left') {
|
|
129
|
-
var _result2 = {
|
|
130
|
-
x: middleX - horizontalOffset,
|
|
131
|
-
y: y + height / 2,
|
|
132
|
-
horizontalAnchor: horizontalEnd,
|
|
133
|
-
verticalAnchor: 'middle',
|
|
134
|
-
};
|
|
135
|
-
if (clamp && parentViewBox) {
|
|
136
|
-
_result2.width = Math.max(_result2.x - parentViewBox.x, 0);
|
|
137
|
-
_result2.height = height;
|
|
138
|
-
}
|
|
139
|
-
return _result2;
|
|
140
|
-
}
|
|
141
|
-
if (position === 'right') {
|
|
142
|
-
var _result3 = {
|
|
143
|
-
x: middleX + midHeightWidth + horizontalOffset,
|
|
144
|
-
y: y + height / 2,
|
|
145
|
-
horizontalAnchor: horizontalStart,
|
|
146
|
-
verticalAnchor: 'middle',
|
|
147
|
-
};
|
|
148
|
-
if (clamp && parentViewBox) {
|
|
149
|
-
_result3.width = Math.max(parentViewBox.x + parentViewBox.width - _result3.x, 0);
|
|
150
|
-
_result3.height = height;
|
|
151
|
-
}
|
|
152
|
-
return _result3;
|
|
153
|
-
}
|
|
154
|
-
var sizeAttrs =
|
|
155
|
-
clamp && parentViewBox
|
|
156
|
-
? {
|
|
157
|
-
width: midHeightWidth,
|
|
158
|
-
height,
|
|
159
|
-
}
|
|
160
|
-
: {};
|
|
161
|
-
if (position === 'insideLeft') {
|
|
162
|
-
return _objectSpread(
|
|
163
|
-
{
|
|
164
|
-
x: middleX + horizontalOffset,
|
|
165
|
-
y: y + height / 2,
|
|
166
|
-
horizontalAnchor: horizontalStart,
|
|
167
|
-
verticalAnchor: 'middle',
|
|
168
|
-
},
|
|
169
|
-
sizeAttrs,
|
|
170
|
-
);
|
|
171
|
-
}
|
|
172
|
-
if (position === 'insideRight') {
|
|
173
|
-
return _objectSpread(
|
|
174
|
-
{
|
|
175
|
-
x: middleX + midHeightWidth - horizontalOffset,
|
|
176
|
-
y: y + height / 2,
|
|
177
|
-
horizontalAnchor: horizontalEnd,
|
|
178
|
-
verticalAnchor: 'middle',
|
|
179
|
-
},
|
|
180
|
-
sizeAttrs,
|
|
181
|
-
);
|
|
182
|
-
}
|
|
183
|
-
if (position === 'insideTop') {
|
|
184
|
-
return _objectSpread(
|
|
185
|
-
{
|
|
186
|
-
x: upperX + upperWidth / 2,
|
|
187
|
-
y: y + verticalOffset,
|
|
188
|
-
horizontalAnchor: 'middle',
|
|
189
|
-
verticalAnchor: verticalStart,
|
|
190
|
-
},
|
|
191
|
-
sizeAttrs,
|
|
192
|
-
);
|
|
193
|
-
}
|
|
194
|
-
if (position === 'insideBottom') {
|
|
195
|
-
return _objectSpread(
|
|
196
|
-
{
|
|
197
|
-
x: lowerX + lowerWidth / 2,
|
|
198
|
-
y: y + height - verticalOffset,
|
|
199
|
-
horizontalAnchor: 'middle',
|
|
200
|
-
verticalAnchor: verticalEnd,
|
|
201
|
-
},
|
|
202
|
-
sizeAttrs,
|
|
203
|
-
);
|
|
204
|
-
}
|
|
205
|
-
if (position === 'insideTopLeft') {
|
|
206
|
-
return _objectSpread(
|
|
207
|
-
{
|
|
208
|
-
x: upperX + horizontalOffset,
|
|
209
|
-
y: y + verticalOffset,
|
|
210
|
-
horizontalAnchor: horizontalStart,
|
|
211
|
-
verticalAnchor: verticalStart,
|
|
212
|
-
},
|
|
213
|
-
sizeAttrs,
|
|
214
|
-
);
|
|
215
|
-
}
|
|
216
|
-
if (position === 'insideTopRight') {
|
|
217
|
-
return _objectSpread(
|
|
218
|
-
{
|
|
219
|
-
x: upperX + upperWidth - horizontalOffset,
|
|
220
|
-
y: y + verticalOffset,
|
|
221
|
-
horizontalAnchor: horizontalEnd,
|
|
222
|
-
verticalAnchor: verticalStart,
|
|
223
|
-
},
|
|
224
|
-
sizeAttrs,
|
|
225
|
-
);
|
|
226
|
-
}
|
|
227
|
-
if (position === 'insideBottomLeft') {
|
|
228
|
-
return _objectSpread(
|
|
229
|
-
{
|
|
230
|
-
x: lowerX + horizontalOffset,
|
|
231
|
-
y: y + height - verticalOffset,
|
|
232
|
-
horizontalAnchor: horizontalStart,
|
|
233
|
-
verticalAnchor: verticalEnd,
|
|
234
|
-
},
|
|
235
|
-
sizeAttrs,
|
|
236
|
-
);
|
|
237
|
-
}
|
|
238
|
-
if (position === 'insideBottomRight') {
|
|
239
|
-
return _objectSpread(
|
|
240
|
-
{
|
|
241
|
-
x: lowerX + lowerWidth - horizontalOffset,
|
|
242
|
-
y: y + height - verticalOffset,
|
|
243
|
-
horizontalAnchor: horizontalEnd,
|
|
244
|
-
verticalAnchor: verticalEnd,
|
|
245
|
-
},
|
|
246
|
-
sizeAttrs,
|
|
247
|
-
);
|
|
248
|
-
}
|
|
249
|
-
if (
|
|
250
|
-
!!position &&
|
|
251
|
-
typeof position === 'object' &&
|
|
252
|
-
(isNumber(position.x) || isPercent(position.x)) &&
|
|
253
|
-
(isNumber(position.y) || isPercent(position.y))
|
|
254
|
-
) {
|
|
255
|
-
// TODO: This is not quite right. The width of the trapezoid changes with y.
|
|
256
|
-
// A percentage-based x should be relative to the width at that y.
|
|
257
|
-
// For now, we use the mid-height width as a reasonable approximation.
|
|
258
|
-
return _objectSpread(
|
|
259
|
-
{
|
|
260
|
-
x: x + getPercentValue(position.x, midHeightWidth),
|
|
261
|
-
y: y + getPercentValue(position.y, height),
|
|
262
|
-
horizontalAnchor: 'end',
|
|
263
|
-
verticalAnchor: 'end',
|
|
264
|
-
},
|
|
265
|
-
sizeAttrs,
|
|
266
|
-
);
|
|
267
|
-
}
|
|
268
|
-
return _objectSpread(
|
|
269
|
-
{
|
|
270
|
-
x: centerX,
|
|
271
|
-
y: y + height / 2,
|
|
272
|
-
horizontalAnchor: 'middle',
|
|
273
|
-
verticalAnchor: 'middle',
|
|
274
|
-
},
|
|
275
|
-
sizeAttrs,
|
|
276
|
-
);
|
|
277
|
-
};
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
// Vendored verbatim from recharts@3.9.2 es6/cartesian/getEquidistantTicks.js (framework-agnostic).
|
|
2
|
-
// Do not edit — update by re-vendoring when the recharts devDependency moves.
|
|
3
|
-
import { isVisible } from '../util/TickUtils';
|
|
4
|
-
import { getEveryNth } from '../util/getEveryNth';
|
|
5
|
-
export function getEquidistantTicks(sign, boundaries, getTickSize, ticks, minTickGap) {
|
|
6
|
-
// If the ticks are readonly, then the slice might not be necessary
|
|
7
|
-
var result = (ticks || []).slice();
|
|
8
|
-
var initialStart = boundaries.start,
|
|
9
|
-
end = boundaries.end;
|
|
10
|
-
var index = 0;
|
|
11
|
-
// Premature optimisation idea 1: Estimate a lower bound, and start from there.
|
|
12
|
-
// For now, start from every tick
|
|
13
|
-
var stepsize = 1;
|
|
14
|
-
var start = initialStart;
|
|
15
|
-
var _loop = function _loop() {
|
|
16
|
-
// Given stepsize, evaluate whether every stepsize-th tick can be shown.
|
|
17
|
-
// If it can not, then increase the stepsize by 1, and try again.
|
|
18
|
-
|
|
19
|
-
var entry = ticks === null || ticks === void 0 ? void 0 : ticks[index];
|
|
20
|
-
|
|
21
|
-
// Break condition - If we have evaluated all the ticks, then we are done.
|
|
22
|
-
if (entry === undefined) {
|
|
23
|
-
return {
|
|
24
|
-
v: getEveryNth(ticks, stepsize),
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// Check if the element collides with the next element
|
|
29
|
-
var i = index;
|
|
30
|
-
var size;
|
|
31
|
-
var getSize = () => {
|
|
32
|
-
if (size === undefined) {
|
|
33
|
-
size = getTickSize(entry, i);
|
|
34
|
-
}
|
|
35
|
-
return size;
|
|
36
|
-
};
|
|
37
|
-
var tickCoord = entry.coordinate;
|
|
38
|
-
// We will always show the first tick.
|
|
39
|
-
var isShow = index === 0 || isVisible(sign, tickCoord, getSize, start, end);
|
|
40
|
-
if (!isShow) {
|
|
41
|
-
// Start all over with a larger stepsize
|
|
42
|
-
index = 0;
|
|
43
|
-
start = initialStart;
|
|
44
|
-
stepsize += 1;
|
|
45
|
-
}
|
|
46
|
-
if (isShow) {
|
|
47
|
-
// If it can be shown, update the start
|
|
48
|
-
start = tickCoord + sign * (getSize() / 2 + minTickGap);
|
|
49
|
-
index += stepsize;
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
_ret;
|
|
53
|
-
while (stepsize <= result.length) {
|
|
54
|
-
_ret = _loop();
|
|
55
|
-
if (_ret) return _ret.v;
|
|
56
|
-
}
|
|
57
|
-
return [];
|
|
58
|
-
}
|
|
59
|
-
export function getEquidistantPreserveEndTicks(sign, boundaries, getTickSize, ticks, minTickGap) {
|
|
60
|
-
// If the ticks are readonly, then the slice might not be necessary
|
|
61
|
-
// Reworked logic for getEquidistantPreserveEndTicks
|
|
62
|
-
var result = (ticks || []).slice();
|
|
63
|
-
var len = result.length;
|
|
64
|
-
if (len === 0) {
|
|
65
|
-
return [];
|
|
66
|
-
}
|
|
67
|
-
var initialStart = boundaries.start,
|
|
68
|
-
end = boundaries.end;
|
|
69
|
-
|
|
70
|
-
// Start with stepsize = 1 (every tick) up to the maximum possible stepsize (len)
|
|
71
|
-
for (var stepsize = 1; stepsize <= len; stepsize++) {
|
|
72
|
-
// 1. Calculate the offset so the last tick (index len - 1) is always included in the sequence.
|
|
73
|
-
var offset = (len - 1) % stepsize;
|
|
74
|
-
var start = initialStart; // `start` tracks the coordinate of the last successfully drawn tick + gap
|
|
75
|
-
var ok = true;
|
|
76
|
-
|
|
77
|
-
// 2. Iterate through the end-anchored sequence: offset, offset + stepsize, ..., len - 1
|
|
78
|
-
var _loop2 = function _loop2() {
|
|
79
|
-
var entry = ticks[index];
|
|
80
|
-
if (entry == null) {
|
|
81
|
-
return 0; // continue
|
|
82
|
-
}
|
|
83
|
-
var i = index;
|
|
84
|
-
var size;
|
|
85
|
-
|
|
86
|
-
// Use a function to get size, as in the original code
|
|
87
|
-
var getSize = () => {
|
|
88
|
-
if (size === undefined) {
|
|
89
|
-
size = getTickSize(entry, i);
|
|
90
|
-
}
|
|
91
|
-
return size;
|
|
92
|
-
};
|
|
93
|
-
var tickCoord = entry.coordinate;
|
|
94
|
-
|
|
95
|
-
// 3. Apply visibility logic (including the first tick special case)
|
|
96
|
-
// The reviewer says *not* to unconditionally bypass checks for the last tick.
|
|
97
|
-
var isShow = index === offset || isVisible(sign, tickCoord, getSize, start, end);
|
|
98
|
-
if (!isShow) {
|
|
99
|
-
// If any tick in this end-anchored sequence fails visibility/collision,
|
|
100
|
-
// reject this stepsize and move to the next iteration (larger stepsize).
|
|
101
|
-
ok = false;
|
|
102
|
-
return 1; // break
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// 4. If showable, update the 'start' coordinate for the next collision check
|
|
106
|
-
if (isShow) {
|
|
107
|
-
start = tickCoord + sign * (getSize() / 2 + minTickGap);
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
_ret2;
|
|
111
|
-
for (var index = offset; index < len; index += stepsize) {
|
|
112
|
-
_ret2 = _loop2();
|
|
113
|
-
if (_ret2 === 0) continue;
|
|
114
|
-
if (_ret2 === 1) break;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// 5. If the entire sequence for this stepsize passed the visibility check, return the result
|
|
118
|
-
if (ok) {
|
|
119
|
-
// Build the final result array explicitly using the validated stepsize and offset.
|
|
120
|
-
var finalTicks = [];
|
|
121
|
-
for (var _index = offset; _index < len; _index += stepsize) {
|
|
122
|
-
var tick = ticks[_index];
|
|
123
|
-
if (tick != null) {
|
|
124
|
-
finalTicks.push(tick);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return finalTicks;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// If no stepsize works (this shouldn't happen unless minTickGap is huge), return an empty array.
|
|
132
|
-
return [];
|
|
133
|
-
}
|
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
// Vendored verbatim from recharts@3.9.2 es6/cartesian/getTicks.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 { mathSign, isNumber } from '../util/DataUtils';
|
|
53
|
-
import { getStringSize } from '../util/DOMUtils';
|
|
54
|
-
import { Global } from '../util/Global';
|
|
55
|
-
import {
|
|
56
|
-
isVisible,
|
|
57
|
-
getTickBoundaries,
|
|
58
|
-
getNumberIntervalTicks,
|
|
59
|
-
getAngledTickWidth,
|
|
60
|
-
} from '../util/TickUtils';
|
|
61
|
-
import { getEquidistantTicks, getEquidistantPreserveEndTicks } from './getEquidistantTicks';
|
|
62
|
-
function getTicksEnd(sign, boundaries, getTickSize, ticks, minTickGap) {
|
|
63
|
-
var result = (ticks || []).slice();
|
|
64
|
-
var len = result.length;
|
|
65
|
-
var start = boundaries.start;
|
|
66
|
-
var end = boundaries.end;
|
|
67
|
-
var _loop = function _loop(i) {
|
|
68
|
-
var initialEntry = result[i];
|
|
69
|
-
if (initialEntry == null) {
|
|
70
|
-
return 1; // continue
|
|
71
|
-
}
|
|
72
|
-
var entry = initialEntry;
|
|
73
|
-
var size;
|
|
74
|
-
var getSize = () => {
|
|
75
|
-
if (size === undefined) {
|
|
76
|
-
size = getTickSize(initialEntry, i);
|
|
77
|
-
}
|
|
78
|
-
return size;
|
|
79
|
-
};
|
|
80
|
-
if (i === len - 1) {
|
|
81
|
-
var gap = sign * (entry.coordinate + (sign * getSize()) / 2 - end);
|
|
82
|
-
result[i] = entry = _objectSpread(
|
|
83
|
-
_objectSpread({}, entry),
|
|
84
|
-
{},
|
|
85
|
-
{
|
|
86
|
-
tickCoord: gap > 0 ? entry.coordinate - gap * sign : entry.coordinate,
|
|
87
|
-
},
|
|
88
|
-
);
|
|
89
|
-
} else {
|
|
90
|
-
result[i] = entry = _objectSpread(
|
|
91
|
-
_objectSpread({}, entry),
|
|
92
|
-
{},
|
|
93
|
-
{
|
|
94
|
-
tickCoord: entry.coordinate,
|
|
95
|
-
},
|
|
96
|
-
);
|
|
97
|
-
}
|
|
98
|
-
if (entry.tickCoord != null) {
|
|
99
|
-
var isShow = isVisible(sign, entry.tickCoord, getSize, start, end);
|
|
100
|
-
if (isShow) {
|
|
101
|
-
end = entry.tickCoord - sign * (getSize() / 2 + minTickGap);
|
|
102
|
-
result[i] = _objectSpread(
|
|
103
|
-
_objectSpread({}, entry),
|
|
104
|
-
{},
|
|
105
|
-
{
|
|
106
|
-
isShow: true,
|
|
107
|
-
},
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
for (var i = len - 1; i >= 0; i--) {
|
|
113
|
-
if (_loop(i)) continue;
|
|
114
|
-
}
|
|
115
|
-
return result;
|
|
116
|
-
}
|
|
117
|
-
function getTicksStart(sign, boundaries, getTickSize, ticks, minTickGap, preserveEnd) {
|
|
118
|
-
// This method is mutating the array so clone is indeed necessary here
|
|
119
|
-
var result = (ticks || []).slice();
|
|
120
|
-
var len = result.length;
|
|
121
|
-
var start = boundaries.start,
|
|
122
|
-
end = boundaries.end;
|
|
123
|
-
if (preserveEnd) {
|
|
124
|
-
// Try to guarantee the tail to be displayed
|
|
125
|
-
var tail = ticks[len - 1];
|
|
126
|
-
if (tail != null) {
|
|
127
|
-
var tailSize = getTickSize(tail, len - 1);
|
|
128
|
-
var tailGap = sign * (tail.coordinate + (sign * tailSize) / 2 - end);
|
|
129
|
-
result[len - 1] = tail = _objectSpread(
|
|
130
|
-
_objectSpread({}, tail),
|
|
131
|
-
{},
|
|
132
|
-
{
|
|
133
|
-
tickCoord: tailGap > 0 ? tail.coordinate - tailGap * sign : tail.coordinate,
|
|
134
|
-
},
|
|
135
|
-
);
|
|
136
|
-
if (tail.tickCoord != null) {
|
|
137
|
-
var isTailShow = isVisible(sign, tail.tickCoord, () => tailSize, start, end);
|
|
138
|
-
if (isTailShow) {
|
|
139
|
-
end = tail.tickCoord - sign * (tailSize / 2 + minTickGap);
|
|
140
|
-
result[len - 1] = _objectSpread(
|
|
141
|
-
_objectSpread({}, tail),
|
|
142
|
-
{},
|
|
143
|
-
{
|
|
144
|
-
isShow: true,
|
|
145
|
-
},
|
|
146
|
-
);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
var count = preserveEnd ? len - 1 : len;
|
|
152
|
-
var _loop2 = function _loop2(i) {
|
|
153
|
-
var initialEntry = result[i];
|
|
154
|
-
if (initialEntry == null) {
|
|
155
|
-
return 1; // continue
|
|
156
|
-
}
|
|
157
|
-
var entry = initialEntry;
|
|
158
|
-
var size;
|
|
159
|
-
var getSize = () => {
|
|
160
|
-
if (size === undefined) {
|
|
161
|
-
size = getTickSize(initialEntry, i);
|
|
162
|
-
}
|
|
163
|
-
return size;
|
|
164
|
-
};
|
|
165
|
-
if (i === 0) {
|
|
166
|
-
var gap = sign * (entry.coordinate - (sign * getSize()) / 2 - start);
|
|
167
|
-
result[i] = entry = _objectSpread(
|
|
168
|
-
_objectSpread({}, entry),
|
|
169
|
-
{},
|
|
170
|
-
{
|
|
171
|
-
tickCoord: gap < 0 ? entry.coordinate - gap * sign : entry.coordinate,
|
|
172
|
-
},
|
|
173
|
-
);
|
|
174
|
-
} else {
|
|
175
|
-
result[i] = entry = _objectSpread(
|
|
176
|
-
_objectSpread({}, entry),
|
|
177
|
-
{},
|
|
178
|
-
{
|
|
179
|
-
tickCoord: entry.coordinate,
|
|
180
|
-
},
|
|
181
|
-
);
|
|
182
|
-
}
|
|
183
|
-
if (entry.tickCoord != null) {
|
|
184
|
-
var isShow = isVisible(sign, entry.tickCoord, getSize, start, end);
|
|
185
|
-
if (isShow) {
|
|
186
|
-
start = entry.tickCoord + sign * (getSize() / 2 + minTickGap);
|
|
187
|
-
result[i] = _objectSpread(
|
|
188
|
-
_objectSpread({}, entry),
|
|
189
|
-
{},
|
|
190
|
-
{
|
|
191
|
-
isShow: true,
|
|
192
|
-
},
|
|
193
|
-
);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
for (var i = 0; i < count; i++) {
|
|
198
|
-
if (_loop2(i)) continue;
|
|
199
|
-
}
|
|
200
|
-
return result;
|
|
201
|
-
}
|
|
202
|
-
export function getTicks(props, fontSize, letterSpacing) {
|
|
203
|
-
var tick = props.tick,
|
|
204
|
-
ticks = props.ticks,
|
|
205
|
-
viewBox = props.viewBox,
|
|
206
|
-
minTickGap = props.minTickGap,
|
|
207
|
-
orientation = props.orientation,
|
|
208
|
-
interval = props.interval,
|
|
209
|
-
tickFormatter = props.tickFormatter,
|
|
210
|
-
unit = props.unit,
|
|
211
|
-
angle = props.angle;
|
|
212
|
-
if (!ticks || !ticks.length || !tick) {
|
|
213
|
-
return [];
|
|
214
|
-
}
|
|
215
|
-
if (isNumber(interval) || Global.isSsr) {
|
|
216
|
-
var _getNumberIntervalTic;
|
|
217
|
-
return (_getNumberIntervalTic = getNumberIntervalTicks(
|
|
218
|
-
ticks,
|
|
219
|
-
isNumber(interval) ? interval : 0,
|
|
220
|
-
)) !== null && _getNumberIntervalTic !== void 0
|
|
221
|
-
? _getNumberIntervalTic
|
|
222
|
-
: [];
|
|
223
|
-
}
|
|
224
|
-
var candidates = [];
|
|
225
|
-
var sizeKey = orientation === 'top' || orientation === 'bottom' ? 'width' : 'height';
|
|
226
|
-
var unitSize =
|
|
227
|
-
unit && sizeKey === 'width'
|
|
228
|
-
? getStringSize(unit, {
|
|
229
|
-
fontSize,
|
|
230
|
-
letterSpacing,
|
|
231
|
-
})
|
|
232
|
-
: {
|
|
233
|
-
width: 0,
|
|
234
|
-
height: 0,
|
|
235
|
-
};
|
|
236
|
-
var getTickSize = (content, index) => {
|
|
237
|
-
var value =
|
|
238
|
-
typeof tickFormatter === 'function' ? tickFormatter(content.value, index) : content.value;
|
|
239
|
-
// Recharts only supports angles when sizeKey === 'width'
|
|
240
|
-
return sizeKey === 'width'
|
|
241
|
-
? getAngledTickWidth(
|
|
242
|
-
getStringSize(value, {
|
|
243
|
-
fontSize,
|
|
244
|
-
letterSpacing,
|
|
245
|
-
}),
|
|
246
|
-
unitSize,
|
|
247
|
-
angle,
|
|
248
|
-
)
|
|
249
|
-
: getStringSize(value, {
|
|
250
|
-
fontSize,
|
|
251
|
-
letterSpacing,
|
|
252
|
-
})[sizeKey];
|
|
253
|
-
};
|
|
254
|
-
var tick0 = ticks[0];
|
|
255
|
-
var tick1 = ticks[1];
|
|
256
|
-
var sign =
|
|
257
|
-
ticks.length >= 2 && tick0 != null && tick1 != null
|
|
258
|
-
? mathSign(tick1.coordinate - tick0.coordinate)
|
|
259
|
-
: 1;
|
|
260
|
-
var boundaries = getTickBoundaries(viewBox, sign, sizeKey);
|
|
261
|
-
if (interval === 'equidistantPreserveStart') {
|
|
262
|
-
return getEquidistantTicks(sign, boundaries, getTickSize, ticks, minTickGap);
|
|
263
|
-
}
|
|
264
|
-
if (interval === 'equidistantPreserveEnd') {
|
|
265
|
-
return getEquidistantPreserveEndTicks(sign, boundaries, getTickSize, ticks, minTickGap);
|
|
266
|
-
}
|
|
267
|
-
if (interval === 'preserveStart' || interval === 'preserveStartEnd') {
|
|
268
|
-
candidates = getTicksStart(
|
|
269
|
-
sign,
|
|
270
|
-
boundaries,
|
|
271
|
-
getTickSize,
|
|
272
|
-
ticks,
|
|
273
|
-
minTickGap,
|
|
274
|
-
interval === 'preserveStartEnd',
|
|
275
|
-
);
|
|
276
|
-
} else {
|
|
277
|
-
candidates = getTicksEnd(sign, boundaries, getTickSize, ticks, minTickGap);
|
|
278
|
-
}
|
|
279
|
-
return candidates.filter((entry) => entry.isShow);
|
|
280
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as React from 'octane';
|
|
2
|
-
import { CartesianChartProps } from '../util/types';
|
|
3
|
-
/**
|
|
4
|
-
* @consumes ResponsiveContainerContext
|
|
5
|
-
* @provides CartesianViewBoxContext
|
|
6
|
-
* @provides CartesianChartContext
|
|
7
|
-
*/
|
|
8
|
-
export declare const AreaChart: <DataPointType = any>(
|
|
9
|
-
props: CartesianChartProps<DataPointType> & {
|
|
10
|
-
ref?: React.Ref<SVGSVGElement>;
|
|
11
|
-
},
|
|
12
|
-
) => React.ReactElement;
|