@octanejs/recharts 0.1.51 → 0.1.53

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 (168) hide show
  1. package/package.json +4 -4
  2. package/src/animation/AnimationController.ts +1 -1
  3. package/src/animation/AnimationControllerImpl.ts +2 -2
  4. package/src/animation/AnimationHandle.ts +1 -1
  5. package/src/animation/CSSTransitionAnimate.tsrx +1 -1
  6. package/src/animation/matchBy.ts +1 -1
  7. package/src/animation/useAnimationController.ts +1 -1
  8. package/src/cartesian/Area.tsrx +23 -19
  9. package/src/cartesian/AreaRevealShape.tsrx +2 -2
  10. package/src/cartesian/Bar.tsrx +2 -2
  11. package/src/cartesian/BarStack.tsrx +2 -2
  12. package/src/cartesian/CartesianGrid.tsrx +6 -6
  13. package/src/cartesian/ErrorBar.tsrx +5 -5
  14. package/src/cartesian/Funnel.tsrx +34 -31
  15. package/src/cartesian/ReferenceLine.tsrx +10 -7
  16. package/src/cartesian/Scatter.tsrx +44 -36
  17. package/src/cartesian/ZAxis.tsrx +4 -4
  18. package/src/cartesian/getCartesianPosition.ts +2 -2
  19. package/src/cartesian/getEquidistantTicks.ts +2 -2
  20. package/src/cartesian/getTicks.ts +2 -2
  21. package/src/chart/AreaChart.tsrx +1 -1
  22. package/src/chart/ComposedChart.tsrx +1 -1
  23. package/src/chart/FunnelChart.tsrx +1 -1
  24. package/src/chart/PieChart.tsrx +1 -1
  25. package/src/chart/PolarChart.tsrx +3 -3
  26. package/src/chart/RadarChart.tsrx +1 -1
  27. package/src/chart/RadialBarChart.tsrx +1 -1
  28. package/src/chart/RechartsWrapper.tsrx +4 -4
  29. package/src/chart/Sankey.tsrx +11 -11
  30. package/src/chart/ScatterChart.tsrx +1 -1
  31. package/src/chart/SunburstChart.tsrx +16 -10
  32. package/src/component/Cursor.tsrx +7 -7
  33. package/src/component/DefaultLegendContent.tsrx +5 -5
  34. package/src/component/DefaultTooltipContent.tsrx +2 -2
  35. package/src/component/Label.tsrx +2 -2
  36. package/src/component/LabelList.tsrx +2 -2
  37. package/src/component/Legend.tsrx +8 -8
  38. package/src/component/ResponsiveContainer.tsrx +1 -1
  39. package/src/component/Tooltip.tsrx +12 -12
  40. package/src/component/TooltipBoundingBox.tsrx +2 -2
  41. package/src/container/ClipPathProvider.tsrx +2 -2
  42. package/src/context/CellsContext.ts +1 -1
  43. package/src/context/ErrorBarContext.tsrx +1 -1
  44. package/src/context/RegisterGraphicalItemId.tsrx +1 -3
  45. package/src/context/legendPayloadContext.tsrx +1 -1
  46. package/src/context/tooltipContext.ts +2 -2
  47. package/src/context/useTooltipAxis.ts +1 -1
  48. package/src/hooks.ts +6 -6
  49. package/src/polar/Pie.tsrx +32 -32
  50. package/src/polar/PolarAngleAxis.tsrx +16 -16
  51. package/src/polar/PolarGrid.tsrx +3 -3
  52. package/src/polar/PolarRadiusAxis.tsrx +17 -17
  53. package/src/polar/Radar.tsrx +10 -10
  54. package/src/polar/RadialBar.tsrx +31 -31
  55. package/src/polar/defaultPolarAngleAxisProps.ts +1 -1
  56. package/src/polar/defaultPolarRadiusAxisProps.ts +1 -1
  57. package/src/state/ReportPolarOptions.tsrx +1 -1
  58. package/src/state/brushSlice.ts +2 -2
  59. package/src/state/cartesianAxisSlice.ts +4 -4
  60. package/src/state/chartDataSlice.ts +2 -2
  61. package/src/state/errorBarSlice.ts +4 -4
  62. package/src/state/eventSettingsSlice.ts +2 -2
  63. package/src/state/externalEventsMiddleware.ts +5 -5
  64. package/src/state/graphicalItemsSlice.ts +11 -11
  65. package/src/state/keyboardEventsMiddleware.ts +3 -3
  66. package/src/state/layoutSlice.ts +2 -2
  67. package/src/state/legendSlice.ts +3 -3
  68. package/src/state/mouseEventsMiddleware.ts +4 -4
  69. package/src/state/optionsSlice.ts +2 -2
  70. package/src/state/polarAxisSlice.ts +2 -2
  71. package/src/state/polarOptionsSlice.ts +1 -1
  72. package/src/state/referenceElementsSlice.ts +5 -5
  73. package/src/state/renderedTicksSlice.ts +4 -4
  74. package/src/state/rootPropsSlice.ts +4 -4
  75. package/src/state/selectors/areaSelectors.ts +7 -7
  76. package/src/state/selectors/axisSelectors.ts +22 -18
  77. package/src/state/selectors/barSelectors.ts +11 -11
  78. package/src/state/selectors/brushSelectors.ts +2 -2
  79. package/src/state/selectors/combiners/combineActiveLabel.ts +3 -3
  80. package/src/state/selectors/combiners/combineActiveTooltipIndex.ts +3 -3
  81. package/src/state/selectors/combiners/combineAllBarPositions.ts +3 -3
  82. package/src/state/selectors/combiners/combineAxisRangeWithReverse.ts +2 -2
  83. package/src/state/selectors/combiners/combineBarPosition.ts +3 -3
  84. package/src/state/selectors/combiners/combineBarSizeList.ts +5 -5
  85. package/src/state/selectors/combiners/combineCheckedDomain.ts +1 -1
  86. package/src/state/selectors/combiners/combineConfiguredScale.ts +4 -4
  87. package/src/state/selectors/combiners/combineCoordinateForDefaultIndex.ts +2 -2
  88. package/src/state/selectors/combiners/combineDisplayedStackedData.ts +4 -4
  89. package/src/state/selectors/combiners/combineInverseScaleFunction.ts +2 -2
  90. package/src/state/selectors/combiners/combineRealScaleType.ts +2 -2
  91. package/src/state/selectors/combiners/combineStackedData.ts +2 -2
  92. package/src/state/selectors/combiners/combineTooltipInteractionState.ts +5 -5
  93. package/src/state/selectors/combiners/combineTooltipPayload.ts +4 -4
  94. package/src/state/selectors/combiners/combineTooltipPayloadConfigurations.ts +4 -4
  95. package/src/state/selectors/containerSelectors.ts +2 -2
  96. package/src/state/selectors/dataSelectors.ts +2 -2
  97. package/src/state/selectors/funnelSelectors.ts +5 -5
  98. package/src/state/selectors/graphicalItemSelectors.ts +3 -3
  99. package/src/state/selectors/legendSelectors.ts +4 -4
  100. package/src/state/selectors/lineSelectors.ts +6 -6
  101. package/src/state/selectors/numberDomainEqualityCheck.ts +1 -1
  102. package/src/state/selectors/pickAxisId.ts +2 -2
  103. package/src/state/selectors/pickAxisType.ts +1 -1
  104. package/src/state/selectors/pieSelectors.ts +5 -5
  105. package/src/state/selectors/polarAxisSelectors.ts +6 -6
  106. package/src/state/selectors/polarGridSelectors.ts +3 -3
  107. package/src/state/selectors/polarScaleSelectors.ts +4 -4
  108. package/src/state/selectors/polarSelectors.ts +6 -6
  109. package/src/state/selectors/radarSelectors.ts +11 -11
  110. package/src/state/selectors/radialBarSelectors.ts +16 -16
  111. package/src/state/selectors/rootPropsSelectors.ts +4 -4
  112. package/src/state/selectors/scatterSelectors.ts +8 -8
  113. package/src/state/selectors/selectActivePropsFromChartPointer.ts +3 -3
  114. package/src/state/selectors/selectAllAxes.ts +2 -2
  115. package/src/state/selectors/selectChartOffset.ts +2 -2
  116. package/src/state/selectors/selectChartOffsetInternal.ts +4 -4
  117. package/src/state/selectors/selectTooltipAxisId.ts +2 -2
  118. package/src/state/selectors/selectTooltipAxisType.ts +1 -1
  119. package/src/state/selectors/selectTooltipEventType.ts +3 -3
  120. package/src/state/selectors/selectTooltipPayloadSearcher.ts +2 -2
  121. package/src/state/selectors/selectTooltipSettings.ts +2 -2
  122. package/src/state/selectors/selectTooltipState.ts +2 -2
  123. package/src/state/selectors/selectors.ts +5 -5
  124. package/src/state/selectors/tooltipSelectors.ts +16 -16
  125. package/src/state/selectors/touchSelectors.ts +4 -4
  126. package/src/state/store.ts +3 -3
  127. package/src/state/tooltipSlice.ts +5 -5
  128. package/src/state/touchEventsMiddleware.ts +4 -4
  129. package/src/state/types/AreaSettings.ts +5 -5
  130. package/src/state/types/BarSettings.ts +3 -3
  131. package/src/state/types/LineSettings.ts +3 -3
  132. package/src/state/types/PieSettings.ts +5 -5
  133. package/src/state/types/RadarSettings.ts +1 -1
  134. package/src/state/types/RadialBarSettings.ts +2 -2
  135. package/src/state/types/ScatterSettings.ts +4 -4
  136. package/src/state/types/StackedGraphicalItem.ts +3 -3
  137. package/src/state/zIndexSlice.ts +1 -1
  138. package/src/synchronisation/syncSelectors.ts +2 -2
  139. package/src/synchronisation/types.ts +2 -2
  140. package/src/util/CartesianUtils.ts +1 -1
  141. package/src/util/ChartUtils.ts +8 -8
  142. package/src/util/DOMUtils.ts +1 -1
  143. package/src/util/DataUtils.ts +1 -1
  144. package/src/util/Events.ts +3 -3
  145. package/src/util/FunnelUtils.tsrx +2 -2
  146. package/src/util/PolarUtils.ts +1 -1
  147. package/src/util/RadialBarUtils.tsrx +2 -2
  148. package/src/util/ScatterUtils.tsrx +4 -4
  149. package/src/util/TickUtils.ts +1 -1
  150. package/src/util/axisPropsAreEqual.ts +3 -3
  151. package/src/util/cursor/getCursorPoints.ts +6 -6
  152. package/src/util/cursor/getCursorRectangle.ts +1 -1
  153. package/src/util/cursor/getRadialCursorPoints.ts +1 -1
  154. package/src/util/getActiveCoordinate.ts +2 -2
  155. package/src/util/getAxisTypeBasedOnLayout.ts +1 -1
  156. package/src/util/getRadiusAndStrokeWidthFromDot.ts +1 -1
  157. package/src/util/getRelativeCoordinate.ts +1 -1
  158. package/src/util/isDomainSpecifiedByUser.ts +1 -1
  159. package/src/util/scale/CartesianScaleHelper.ts +2 -2
  160. package/src/util/scale/CustomScaleDefinition.ts +1 -1
  161. package/src/util/scale/RechartsScale.ts +2 -2
  162. package/src/util/scale/createCategoricalInverse.ts +2 -2
  163. package/src/util/scale/getNiceTickValues.ts +2 -2
  164. package/src/util/stacks/getStackSeriesIdentifier.ts +2 -2
  165. package/src/util/stacks/stackTypes.ts +4 -4
  166. package/src/util/tooltip/translate.ts +1 -1
  167. package/src/util/types.ts +12 -12
  168. package/src/zIndex/zIndexSelectors.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@octanejs/recharts",
3
- "version": "0.1.51",
3
+ "version": "0.1.53",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "engines": {
@@ -43,10 +43,10 @@
43
43
  "reselect": "5.2.0",
44
44
  "tiny-invariant": "^1.3.3",
45
45
  "victory-vendor": "^37.3.6",
46
- "@octanejs/redux": "0.1.50"
46
+ "@octanejs/redux": "0.1.51"
47
47
  },
48
48
  "peerDependencies": {
49
- "octane": "^0.1.51 || ^0.2.0"
49
+ "octane": "^0.1.51 || ^0.2.0 || ^0.3.0"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@tsrx/react": "^0.3.0",
@@ -55,7 +55,7 @@
55
55
  "react-dom": "19.2.7",
56
56
  "recharts": "3.9.2",
57
57
  "vitest": "^4.1.10",
58
- "octane": "0.2.12"
58
+ "octane": "0.3.0"
59
59
  },
60
60
  "scripts": {
61
61
  "test": "vitest run"
@@ -1,6 +1,6 @@
1
1
  // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
2
2
  import type { CancelableTimeout, TimeoutController } from './timeoutController';
3
- import { AnimationHandle } from './AnimationHandle';
3
+ import type { AnimationHandle } from './AnimationHandle';
4
4
 
5
5
  /**
6
6
  * JavaScript animations produce numbers and CSS transitions produce strings.
@@ -1,10 +1,10 @@
1
1
  // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
2
- import {
2
+ import type {
3
3
  AnimationController,
4
4
  AnimationControllerHandle,
5
5
  OnAnimationStateUpdate,
6
6
  } from './AnimationController';
7
- import { CancelableTimeout, TimeoutController } from './timeoutController';
7
+ import type { CancelableTimeout, TimeoutController } from './timeoutController';
8
8
 
9
9
  /**
10
10
  * JavaScript animations require trigger and repaint as soon as possible,
@@ -1,7 +1,7 @@
1
1
  // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
2
2
  // eslint-disable-next-line max-classes-per-file
3
3
  import { interpolate } from '../util/DataUtils';
4
- import { EasingFunction, NamedBezier } from './easing';
4
+ import type { EasingFunction, NamedBezier } from './easing';
5
5
 
6
6
  const INIT = 'init' as const;
7
7
  const PENDING = 'pending' as const;
@@ -10,7 +10,7 @@ import { Global } from '../util/Global';
10
10
  import { usePrefersReducedMotion } from '../util/usePrefersReducedMotion';
11
11
  import { CSSTransitionAnimation } from './AnimationHandle';
12
12
  import { RequestAnimationFrameTimeoutController } from './timeoutController';
13
- import { EasingInput, NamedBezier } from './easing';
13
+ import type { EasingInput, NamedBezier } from './easing';
14
14
  import type { AnimationController } from './AnimationController';
15
15
 
16
16
  type CSSTransitionAnimateProps = {
@@ -1,5 +1,5 @@
1
1
  // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
2
- import { DataKey } from '../util/types';
2
+ import type { DataKey } from '../util/types';
3
3
  import { getValueByDataKey } from '../util/ChartUtils';
4
4
 
5
5
  /**
@@ -12,7 +12,7 @@ const AnimationControllerContext = createContext(animationControllerImpl);
12
12
  * internally to drive animations.
13
13
  * @since 3.9
14
14
  */
15
- export const AnimationControllerProvider = AnimationControllerContext.Provider;
15
+ export const AnimationControllerProvider = AnimationControllerContext;
16
16
 
17
17
  export function useAnimationController(
18
18
  animationControllerFromProps?: AnimationController,
@@ -2,24 +2,24 @@ import type { MutableRefObject, OctaneElement, OctaneNode } from '../util/Octane
2
2
  import * as React from 'octane';
3
3
  import { useMemo, useRef } from 'octane';
4
4
  import { clsx } from 'clsx';
5
- import { BaseLineType, CurveType, Props as CurveProps } from '../shape/Curve.tsrx';
5
+ import type { BaseLineType, CurveType, Props as CurveProps } from '../shape/Curve.tsrx';
6
6
  import { Layer } from '../container/Layer.tsrx';
7
7
  import {
8
8
  CartesianLabelListContextProvider,
9
- CartesianLabelListEntry,
10
- ImplicitLabelListType,
9
+ type CartesianLabelListEntry,
10
+ type ImplicitLabelListType,
11
11
  LabelListFromLabelProp,
12
12
  } from '../component/LabelList.tsrx';
13
- import { Dots, DotsDotProps } from '../component/Dots.tsrx';
13
+ import { Dots, type DotsDotProps } from '../component/Dots.tsrx';
14
14
  import { interpolate, isNan, isNullish, isNumber, noop } from '../util/DataUtils';
15
15
  import {
16
16
  getCateCoordinateOfLine,
17
17
  getNormalizedStackId,
18
18
  getTooltipNameProp,
19
19
  getValueByDataKey,
20
- StackId,
20
+ type StackId,
21
21
  } from '../util/ChartUtils';
22
- import {
22
+ import type {
23
23
  ActiveDotType,
24
24
  ActiveShape,
25
25
  AnimationDuration,
@@ -37,14 +37,18 @@ import {
37
37
  } from '../util/types';
38
38
  import { isClipDot } from '../util/ReactUtils';
39
39
  import type { LegendPayload } from '../component/DefaultLegendContent.tsrx';
40
- import { Formatter } from '../component/DefaultTooltipContent.tsrx';
40
+ import type { Formatter } from '../component/DefaultTooltipContent.tsrx';
41
41
  import { ActivePoints } from '../component/ActivePoints.tsrx';
42
- import { TooltipPayloadConfiguration } from '../state/tooltipSlice';
42
+ import type { TooltipPayloadConfiguration } from '../state/tooltipSlice';
43
43
  import { SetTooltipEntrySettings } from '../state/SetTooltipEntrySettings';
44
44
  import { GraphicalItemClipPath, useNeedsClip } from './GraphicalItemClipPath.tsrx';
45
- import { BaseAxisWithScale } from '../state/selectors/axisSelectors';
46
- import { ChartData } from '../state/chartDataSlice';
47
- import { AreaPointItem, ComputedArea, selectArea } from '../state/selectors/areaSelectors';
45
+ import type { BaseAxisWithScale } from '../state/selectors/axisSelectors';
46
+ import type { ChartData } from '../state/chartDataSlice';
47
+ import {
48
+ type AreaPointItem,
49
+ type ComputedArea,
50
+ selectArea,
51
+ } from '../state/selectors/areaSelectors';
48
52
  import { useIsPanorama } from '../context/PanoramaContext';
49
53
  import { useCartesianChartLayout, useChartLayout } from '../context/chartLayoutContext';
50
54
  import { useChartName } from '../state/selectors/selectors';
@@ -52,19 +56,19 @@ import { SetLegendPayload } from '../state/SetLegendPayload';
52
56
  import { useAppSelector } from '../state/hooks';
53
57
  import {
54
58
  AnimatedItems,
55
- AnimationInterpolateFn,
59
+ type AnimationInterpolateFn,
56
60
  useAnimationCallbacks,
57
61
  } from '../animation/AnimatedItems.tsrx';
58
62
  import {
59
- AnimationItem,
60
- AnimationMatchByProp,
63
+ type AnimationItem,
64
+ type AnimationMatchByProp,
61
65
  matchAnimationItems,
62
66
  matchByIndex,
63
67
  } from '../animation/matchBy';
64
68
  import { useAnimationStartSnapshot } from '../animation/useAnimationStartSnapshot';
65
- import { RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
69
+ import { type RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
66
70
  import { usePlotArea } from '../hooks';
67
- import { WithIdRequired, WithoutId } from '../util/useUniqueId';
71
+ import type { WithIdRequired, WithoutId } from '../util/useUniqueId';
68
72
  import { RegisterGraphicalItemId } from '../context/RegisterGraphicalItemId.tsrx';
69
73
  import type { AreaSettings } from '../state/types/AreaSettings';
70
74
  import { SetCartesianGraphicalItem } from '../state/SetGraphicalItem';
@@ -72,12 +76,12 @@ import { svgPropertiesNoEvents } from '../util/svgPropertiesNoEvents';
72
76
  import { getRadiusAndStrokeWidthFromDot } from '../util/getRadiusAndStrokeWidthFromDot';
73
77
  import { svgPropertiesAndEvents } from '../util/svgPropertiesAndEvents';
74
78
  import { Shape } from '../util/ActiveShapeUtils.tsrx';
75
- import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
79
+ import { type ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
76
80
  import { DefaultZIndexes } from '../zIndex/DefaultZIndexes';
77
81
  import { propsAreEqual } from '../util/propsAreEqual';
78
- import { AxisId } from '../state/cartesianAxisSlice';
82
+ import type { AxisId } from '../state/cartesianAxisSlice';
79
83
  import type { StackDataPoint } from '../util/stacks/stackTypes';
80
- import { AreaRevealShape, AreaRevealShapeProps } from './AreaRevealShape.tsrx';
84
+ import { AreaRevealShape, type AreaRevealShapeProps } from './AreaRevealShape.tsrx';
81
85
 
82
86
  /**
83
87
  * @inline
@@ -1,8 +1,8 @@
1
1
  import type { OctaneElement } from '../util/OctaneTypes.ts';
2
2
  import * as React from 'octane';
3
3
  import { isNumber } from '../util/DataUtils';
4
- import { Curve, BaseLineType, Props as CurveProps } from '../shape/Curve.tsrx';
5
- import { CartesianLayout, LayoutType, ShapeAnimationProps } from '../util/types';
4
+ import { Curve, type BaseLineType, type Props as CurveProps } from '../shape/Curve.tsrx';
5
+ import type { CartesianLayout, LayoutType, ShapeAnimationProps } from '../util/types';
6
6
  import { isWellBehavedNumber } from '../util/isWellBehavedNumber';
7
7
  import { Layer } from '../container/Layer.tsrx';
8
8
  import { svgPropertiesNoEvents } from '../util/svgPropertiesNoEvents';
@@ -750,7 +750,7 @@ function BarImpl(props: BarImplProps) {
750
750
  dataPointFormatter={errorBarDataPointFormatter}
751
751
  errorBarOffset={errorBarOffset}
752
752
  >
753
- <CellsContext.Provider value={cellRegistry}>
753
+ <CellsContext value={cellRegistry}>
754
754
  <BarWithState
755
755
  {...props}
756
756
  layout={layout}
@@ -767,7 +767,7 @@ function BarImpl(props: BarImplProps) {
767
767
  animationEasing={animationEasing}
768
768
  isAnimationActive={isAnimationActive}
769
769
  />
770
- </CellsContext.Provider>
770
+ </CellsContext>
771
771
  </SetErrorBarContext>;
772
772
  }
773
773
 
@@ -106,10 +106,10 @@ function BarStackImpl(props: BarStackProps) @{
106
106
  resolvedStackId,
107
107
  radius,
108
108
  ]);
109
- <BarStackContext.Provider value={context}>
109
+ <BarStackContext value={context}>
110
110
  <BarStackClipPath stackId={resolvedStackId} radius={radius} />
111
111
  {children}
112
- </BarStackContext.Provider>
112
+ </BarStackContext>
113
113
  }
114
114
 
115
115
  /**
@@ -3,26 +3,26 @@ import * as React from 'octane';
3
3
 
4
4
  import { warn } from '../util/LogUtils';
5
5
  import { isNumber } from '../util/DataUtils';
6
- import { ChartOffsetInternal } from '../util/types';
6
+ import type { ChartOffsetInternal } from '../util/types';
7
7
 
8
8
  import {
9
- AxisPropsNeededForTicksGenerator,
9
+ type AxisPropsNeededForTicksGenerator,
10
10
  getCoordinatesOfGrid,
11
11
  getTicksOfAxis,
12
12
  } from '../util/ChartUtils';
13
- import { getTicks, GetTicksInput } from './getTicks';
13
+ import { getTicks, type GetTicksInput } from './getTicks';
14
14
  import { defaultCartesianAxisProps } from './CartesianAxis.tsrx';
15
15
  import { useChartHeight, useChartWidth, useOffsetInternal } from '../context/chartLayoutContext';
16
- import { AxisId } from '../state/cartesianAxisSlice';
16
+ import type { AxisId } from '../state/cartesianAxisSlice';
17
17
  import {
18
18
  selectAxisPropsNeededForCartesianGridTicksGenerator,
19
19
  } from '../state/selectors/axisSelectors';
20
20
  import { useAppSelector } from '../state/hooks';
21
21
  import { useIsPanorama } from '../context/PanoramaContext';
22
- import { RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
22
+ import { type RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
23
23
  import { svgPropertiesNoEvents } from '../util/svgPropertiesNoEvents';
24
24
  import { isPositiveNumber } from '../util/isWellBehavedNumber';
25
- import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
25
+ import { type ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
26
26
  import { DefaultZIndexes } from '../zIndex/DefaultZIndexes';
27
27
 
28
28
  /**
@@ -5,17 +5,17 @@ import type { SVGProps } from '../util/OctaneTypes.ts';
5
5
  import * as React from 'octane';
6
6
 
7
7
  import { Layer } from '../container/Layer.tsrx';
8
- import { EasingInput, DataKey, RectangleCoordinate } from '../util/types';
9
- import { BarRectangleItem } from './Bar';
10
- import { LinePointItem } from './Line';
11
- import { ScatterPointItem } from './Scatter.tsrx';
8
+ import type { EasingInput, DataKey, RectangleCoordinate } from '../util/types';
9
+ import type { BarRectangleItem } from './Bar';
10
+ import type { LinePointItem } from './Line';
11
+ import type { ScatterPointItem } from './Scatter.tsrx';
12
12
  import { ReportErrorBarSettings, useErrorBarContext } from '../context/ErrorBarContext.tsrx';
13
13
  import { useXAxis, useYAxis } from '../hooks';
14
14
  import { resolveDefaultProps } from '../util/resolveDefaultProps';
15
15
  import { svgPropertiesNoEvents } from '../util/svgPropertiesNoEvents';
16
16
  import { useChartLayout } from '../context/chartLayoutContext';
17
17
  import { CSSTransitionAnimate, extractCssEasing } from '../animation/CSSTransitionAnimate.tsrx';
18
- import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
18
+ import { type ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
19
19
  import { DefaultZIndexes } from '../zIndex/DefaultZIndexes';
20
20
 
21
21
  export interface ErrorBarDataItem {
@@ -8,60 +8,63 @@ import { clsx } from 'clsx';
8
8
  import { selectActiveIndex } from '../state/selectors/selectors';
9
9
  import { useAppSelector } from '../state/hooks';
10
10
  import { Layer } from '../container/Layer.tsrx';
11
- import { Props as TrapezoidProps } from '../shape/Trapezoid.tsrx';
11
+ import type { Props as TrapezoidProps } from '../shape/Trapezoid.tsrx';
12
12
  import {
13
13
  CartesianLabelListContextProvider,
14
- CartesianLabelListEntry,
15
- ImplicitLabelListType,
14
+ type CartesianLabelListEntry,
15
+ type ImplicitLabelListType,
16
16
  LabelListFromLabelProp,
17
17
  } from '../component/LabelList.tsrx';
18
18
  import { getPercentValue, interpolate } from '../util/DataUtils';
19
19
  import { getValueByDataKey } from '../util/ChartUtils';
20
20
  import {
21
- ActiveShape,
21
+ type ActiveShape,
22
22
  adaptEventsOfChild,
23
- AnimationDuration,
24
- EasingInput,
25
- CartesianViewBoxRequired,
26
- ChartOffsetInternal,
27
- Coordinate,
28
- DataConsumer,
29
- DataKey,
30
- DataProvider,
31
- LegendType,
32
- PresentationAttributesAdaptChildEvent,
33
- ShapeAnimationProps,
34
- TooltipType,
35
- TrapezoidViewBox,
36
- CartesianLayout,
23
+ type AnimationDuration,
24
+ type EasingInput,
25
+ type CartesianViewBoxRequired,
26
+ type ChartOffsetInternal,
27
+ type Coordinate,
28
+ type DataConsumer,
29
+ type DataKey,
30
+ type DataProvider,
31
+ type LegendType,
32
+ type PresentationAttributesAdaptChildEvent,
33
+ type ShapeAnimationProps,
34
+ type TooltipType,
35
+ type TrapezoidViewBox,
36
+ type CartesianLayout,
37
37
  } from '../util/types';
38
38
  import {
39
39
  defaultFunnelShape,
40
40
  FunnelTrapezoid,
41
- FunnelTrapezoidProps,
41
+ type FunnelTrapezoidProps,
42
42
  } from '../util/FunnelUtils.tsrx';
43
43
  import {
44
44
  useMouseClickItemDispatch,
45
45
  useMouseEnterItemDispatch,
46
46
  useMouseLeaveItemDispatch,
47
47
  } from '../context/tooltipContext';
48
- import { TooltipPayload, TooltipPayloadConfiguration } from '../state/tooltipSlice';
48
+ import type { TooltipPayload, TooltipPayloadConfiguration } from '../state/tooltipSlice';
49
49
  import { SetTooltipEntrySettings } from '../state/SetTooltipEntrySettings';
50
- import { Formatter } from '../component/DefaultTooltipContent.tsrx';
50
+ import type { Formatter } from '../component/DefaultTooltipContent.tsrx';
51
51
  import type { LegendPayload } from '../component/DefaultLegendContent.tsrx';
52
- import { ResolvedFunnelSettings, selectFunnelTrapezoids } from '../state/selectors/funnelSelectors';
53
- import { RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
52
+ import {
53
+ type ResolvedFunnelSettings,
54
+ selectFunnelTrapezoids,
55
+ } from '../state/selectors/funnelSelectors';
56
+ import { type RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
54
57
  import { usePlotArea } from '../hooks';
55
58
  import { svgPropertiesNoEvents } from '../util/svgPropertiesNoEvents';
56
59
  import {
57
60
  AnimatedItems,
58
- AnimationInterpolateFn,
61
+ type AnimationInterpolateFn,
59
62
  useAnimationCallbacks,
60
63
  } from '../animation/AnimatedItems.tsrx';
61
- import { AnimationMatchByProp, matchAppend } from '../animation/matchBy';
62
- import { GraphicalItemId } from '../state/graphicalItemsSlice';
64
+ import { type AnimationMatchByProp, matchAppend } from '../animation/matchBy';
65
+ import type { GraphicalItemId } from '../state/graphicalItemsSlice';
63
66
  import { RegisterGraphicalItemId } from '../context/RegisterGraphicalItemId.tsrx';
64
- import { WithIdRequired } from '../util/useUniqueId';
67
+ import type { WithIdRequired } from '../util/useUniqueId';
65
68
  import { SetLegendPayload } from '../state/SetLegendPayload';
66
69
  import { CellsContext, useCellRegistry } from '../context/CellsContext';
67
70
  import { useCartesianChartLayout } from '../context/chartLayoutContext';
@@ -611,7 +614,7 @@ function FunnelImpl(props: WithIdRequired<RequiresDefaultProps<Props, typeof def
611
614
  }, [fill, hide, legendType, props.dataKey, trapezoids]);
612
615
 
613
616
  if (hide || !trapezoids || !trapezoids.length || !plotArea) {
614
- return <CellsContext.Provider value={cellRegistry}>
617
+ return <CellsContext value={cellRegistry}>
615
618
  <SetLegendPayload legendPayload={legendPayload} />
616
619
  <SetFunnelTooltipEntrySettings
617
620
  dataKey={props.dataKey}
@@ -628,13 +631,13 @@ function FunnelImpl(props: WithIdRequired<RequiresDefaultProps<Props, typeof def
628
631
  id={id}
629
632
  />
630
633
  {props.children}
631
- </CellsContext.Provider>;
634
+ </CellsContext>;
632
635
  }
633
636
  const { height, width } = plotArea;
634
637
 
635
638
  const layerClass = clsx('recharts-trapezoids', props.className);
636
639
 
637
- return <CellsContext.Provider value={cellRegistry}>
640
+ return <CellsContext value={cellRegistry}>
638
641
  <SetLegendPayload legendPayload={legendPayload} />
639
642
  <SetFunnelTooltipEntrySettings
640
643
  dataKey={props.dataKey}
@@ -669,7 +672,7 @@ function FunnelImpl(props: WithIdRequired<RequiresDefaultProps<Props, typeof def
669
672
  trapezoids={trapezoids}
670
673
  />
671
674
  </Layer>
672
- </CellsContext.Provider>;
675
+ </CellsContext>;
673
676
  }
674
677
 
675
678
  function normalizeFunnelValue(value: unknown): {
@@ -9,14 +9,14 @@ import { Layer } from '../container/Layer.tsrx';
9
9
  import {
10
10
  CartesianLabelContextProvider,
11
11
  CartesianLabelFromLabelProp,
12
- ImplicitLabelType,
12
+ type ImplicitLabelType,
13
13
  } from '../component/Label.tsrx';
14
14
  import type { IfOverflow, Overflowable } from '../util/IfOverflow';
15
15
  import { isNumOrStr } from '../util/DataUtils';
16
16
  import { rectWithCoords } from '../util/CartesianUtils';
17
- import { CartesianViewBoxRequired, Coordinate } from '../util/types';
17
+ import type { CartesianViewBoxRequired, Coordinate } from '../util/types';
18
18
  import { useViewBox } from '../context/chartLayoutContext';
19
- import { addLine, ReferenceLineSettings, removeLine } from '../state/referenceElementsSlice';
19
+ import { addLine, type ReferenceLineSettings, removeLine } from '../state/referenceElementsSlice';
20
20
  import { useAppDispatch, useAppSelector } from '../state/hooks';
21
21
  import {
22
22
  selectAxisScale,
@@ -27,12 +27,15 @@ import { useIsPanorama } from '../context/PanoramaContext';
27
27
 
28
28
  import { useClipPathId } from '../container/ClipPathProvider.tsrx';
29
29
  import { svgPropertiesAndEvents } from '../util/svgPropertiesAndEvents';
30
- import { RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
31
- import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
30
+ import { type RequiresDefaultProps, resolveDefaultProps } from '../util/resolveDefaultProps';
31
+ import { type ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
32
32
  import { DefaultZIndexes } from '../zIndex/DefaultZIndexes';
33
33
  import { isWellBehavedNumber } from '../util/isWellBehavedNumber';
34
- import { BandPosition, RechartsScale } from '../util/scale/RechartsScale';
35
- import { CartesianScaleHelper, CartesianScaleHelperImpl } from '../util/scale/CartesianScaleHelper';
34
+ import type { BandPosition, RechartsScale } from '../util/scale/RechartsScale';
35
+ import {
36
+ type CartesianScaleHelper,
37
+ CartesianScaleHelperImpl,
38
+ } from '../util/scale/CartesianScaleHelper';
36
39
 
37
40
  /**
38
41
  * Single point that defines one end of a segment.
@@ -14,56 +14,64 @@ import { clsx } from 'clsx';
14
14
  import { Layer } from '../container/Layer.tsrx';
15
15
  import {
16
16
  CartesianLabelListContextProvider,
17
- CartesianLabelListEntry,
18
- ImplicitLabelListType,
17
+ type CartesianLabelListEntry,
18
+ type ImplicitLabelListType,
19
19
  LabelListFromLabelProp,
20
20
  } from '../component/LabelList.tsrx';
21
- import { Curve, CurveType, Props as CurveProps } from '../shape/Curve.tsrx';
22
- import { ErrorBarDataItem, ErrorBarDataPointFormatter, ErrorBarDirection } from './ErrorBar.tsrx';
21
+ import { Curve, type CurveType, type Props as CurveProps } from '../shape/Curve.tsrx';
22
+ import type {
23
+ ErrorBarDataItem,
24
+ ErrorBarDataPointFormatter,
25
+ ErrorBarDirection,
26
+ } from './ErrorBar.tsrx';
23
27
  import { getLinearRegression, interpolate, isNullish } from '../util/DataUtils';
24
28
  import { getCateCoordinateOfLine, getTooltipNameProp, getValueByDataKey } from '../util/ChartUtils';
25
29
  import {
26
- ActiveShape,
30
+ type ActiveShape,
27
31
  adaptEventsOfChild,
28
- AnimationDuration,
29
- EasingInput,
30
- Coordinate,
31
- DataConsumer,
32
- DataKey,
33
- DataProvider,
32
+ type AnimationDuration,
33
+ type EasingInput,
34
+ type Coordinate,
35
+ type DataConsumer,
36
+ type DataKey,
37
+ type DataProvider,
34
38
  isNonEmptyArray,
35
- LegendType,
36
- NonEmptyArray,
37
- NullableCoordinate,
38
- PresentationAttributesAdaptChildEvent,
39
- ShapeAnimationProps,
40
- SymbolType,
41
- TickItem,
42
- TrapezoidViewBox,
43
- CartesianLayout,
39
+ type LegendType,
40
+ type NonEmptyArray,
41
+ type NullableCoordinate,
42
+ type PresentationAttributesAdaptChildEvent,
43
+ type ShapeAnimationProps,
44
+ type SymbolType,
45
+ type TickItem,
46
+ type TrapezoidViewBox,
47
+ type CartesianLayout,
44
48
  } from '../util/types';
45
- import { Formatter, TooltipType } from '../component/DefaultTooltipContent.tsrx';
46
- import { ScatterShapeProps, ScatterSymbol } from '../util/ScatterUtils.tsrx';
47
- import { InnerSymbolsProp } from '../shape/Symbols.tsrx';
49
+ import type { Formatter, TooltipType } from '../component/DefaultTooltipContent.tsrx';
50
+ import { type ScatterShapeProps, ScatterSymbol } from '../util/ScatterUtils.tsrx';
51
+ import type { InnerSymbolsProp } from '../shape/Symbols.tsrx';
48
52
  import type { LegendPayload } from '../component/DefaultLegendContent.tsrx';
49
53
  import {
50
54
  useMouseClickItemDispatch,
51
55
  useMouseEnterItemDispatch,
52
56
  useMouseLeaveItemDispatch,
53
57
  } from '../context/tooltipContext';
54
- import {
58
+ import type {
55
59
  TooltipPayload,
56
60
  TooltipPayloadConfiguration,
57
61
  TooltipPayloadEntry,
58
62
  } from '../state/tooltipSlice';
59
63
  import { SetTooltipEntrySettings } from '../state/SetTooltipEntrySettings';
60
64
  import { SetErrorBarContext } from '../context/ErrorBarContext.tsrx';
61
- import { AxisId } from '../state/cartesianAxisSlice';
65
+ import type { AxisId } from '../state/cartesianAxisSlice';
62
66
  import { GraphicalItemClipPath, useNeedsClip } from './GraphicalItemClipPath.tsrx';
63
67
  import { selectScatterPoints } from '../state/selectors/scatterSelectors';
64
68
  import { useAppSelector } from '../state/hooks';
65
- import { RechartsRootState } from '../state/store';
66
- import { BaseAxisWithScale, implicitZAxis, ZAxisWithScale } from '../state/selectors/axisSelectors';
69
+ import type { RechartsRootState } from '../state/store';
70
+ import {
71
+ type BaseAxisWithScale,
72
+ implicitZAxis,
73
+ type ZAxisWithScale,
74
+ } from '../state/selectors/axisSelectors';
67
75
  import { useIsPanorama } from '../context/PanoramaContext';
68
76
  import { selectActiveTooltipIndex } from '../state/selectors/tooltipSelectors';
69
77
  import { SetLegendPayload } from '../state/SetLegendPayload';
@@ -79,16 +87,16 @@ import {
79
87
  import { useCartesianChartLayout, useViewBox } from '../context/chartLayoutContext';
80
88
  import {
81
89
  AnimatedItems,
82
- AnimationInterpolateFn,
90
+ type AnimationInterpolateFn,
83
91
  useAnimationCallbacks,
84
92
  } from '../animation/AnimatedItems.tsrx';
85
- import { AnimationMatchByProp, matchAppend } from '../animation/matchBy';
86
- import { WithIdRequired, WithoutId } from '../util/useUniqueId';
87
- import { GraphicalItemId } from '../state/graphicalItemsSlice';
88
- import { ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
93
+ import { type AnimationMatchByProp, matchAppend } from '../animation/matchBy';
94
+ import type { WithIdRequired, WithoutId } from '../util/useUniqueId';
95
+ import type { GraphicalItemId } from '../state/graphicalItemsSlice';
96
+ import { type ZIndexable, ZIndexLayer } from '../zIndex/ZIndexLayer.tsrx';
89
97
  import { DefaultZIndexes } from '../zIndex/DefaultZIndexes';
90
98
  import { propsAreEqual } from '../util/propsAreEqual';
91
- import { ChartData } from '../state/chartDataSlice';
99
+ import type { ChartData } from '../state/chartDataSlice';
92
100
  import { CellsContext, useCellRegistry } from '../context/CellsContext';
93
101
 
94
102
  export interface ScatterPointNode {
@@ -997,9 +1005,9 @@ function ScatterImpl(props: WithIdRequired<Props>) {
997
1005
  return selectScatterPoints(state, xAxisId, yAxisId, zAxisId, props.id, cells, isPanorama);
998
1006
  });
999
1007
  if (needClip == null || points == null) {
1000
- return <CellsContext.Provider value={cellRegistry}>{props.children}</CellsContext.Provider>;
1008
+ return <CellsContext value={cellRegistry}>{props.children}</CellsContext>;
1001
1009
  }
1002
- return <CellsContext.Provider value={cellRegistry}>
1010
+ return <CellsContext value={cellRegistry}>
1003
1011
  <SetScatterTooltipEntrySettings
1004
1012
  dataKey={props.dataKey}
1005
1013
  points={points}
@@ -1029,7 +1037,7 @@ function ScatterImpl(props: WithIdRequired<Props>) {
1029
1037
  points={points}
1030
1038
  needClip={needClip}
1031
1039
  />
1032
- </CellsContext.Provider>;
1040
+ </CellsContext>;
1033
1041
  }
1034
1042
 
1035
1043
  function ScatterFn<DataPointType = any, ValueAxisType = any>(
@@ -1,15 +1,15 @@
1
1
  import * as React from 'octane';
2
2
  import { useLayoutEffect, useRef } from 'octane';
3
- import { AxisDomain, BaseAxisProps, ScaleType } from '../util/types';
3
+ import type { AxisDomain, BaseAxisProps, ScaleType } from '../util/types';
4
4
  import {
5
5
  addZAxis,
6
- AxisId,
6
+ type AxisId,
7
7
  removeZAxis,
8
8
  replaceZAxis,
9
- ZAxisSettings,
9
+ type ZAxisSettings,
10
10
  } from '../state/cartesianAxisSlice';
11
11
  import { useAppDispatch } from '../state/hooks';
12
- import { AxisRange, implicitZAxis } from '../state/selectors/axisSelectors';
12
+ import { type AxisRange, implicitZAxis } from '../state/selectors/axisSelectors';
13
13
  import { resolveDefaultProps } from '../util/resolveDefaultProps';
14
14
  import type { CustomScaleDefinition } from '../util/scale/CustomScaleDefinition';
15
15
 
@@ -1,7 +1,7 @@
1
1
  // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
2
2
  import { getPercentValue, isNumber, isPercent } from '../util/DataUtils';
3
- import { CartesianViewBoxRequired, TrapezoidViewBox } from '../util/types';
4
- import { TextAnchor, TextVerticalAnchor } from '../component/Text.tsrx';
3
+ import type { CartesianViewBoxRequired, TrapezoidViewBox } from '../util/types';
4
+ import type { TextAnchor, TextVerticalAnchor } from '../component/Text.tsrx';
5
5
  import { cartesianViewBoxToTrapezoid } from '../context/chartLayoutContext';
6
6
 
7
7
  export type CartesianLabelPosition =
@@ -1,8 +1,8 @@
1
1
  // Adapted from recharts@3.9.2, commit b3451050c027a23957ffa50a2665c9119df21e47.
2
2
  import { isVisible } from '../util/TickUtils';
3
- import { CartesianTickItem } from '../util/types';
3
+ import type { CartesianTickItem } from '../util/types';
4
4
  import { getEveryNth } from '../util/getEveryNth';
5
- import { Sign } from './getTicks';
5
+ import type { Sign } from './getTicks';
6
6
 
7
7
  export function getEquidistantTicks(
8
8
  sign: Sign,