@coinbase/cds-web-visualization 3.4.0-beta.24 → 3.4.0-beta.25
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/CHANGELOG.md +10 -0
- package/dts/chart/Path.d.ts +4 -2
- package/dts/chart/Path.d.ts.map +1 -1
- package/dts/chart/PeriodSelector.d.ts +1 -1
- package/dts/chart/bar/Bar.d.ts +18 -54
- package/dts/chart/bar/Bar.d.ts.map +1 -1
- package/dts/chart/bar/BarPlot.d.ts.map +1 -1
- package/dts/chart/bar/BarStack.d.ts +4 -4
- package/dts/chart/bar/BarStack.d.ts.map +1 -1
- package/dts/chart/bar/DefaultBar.d.ts.map +1 -1
- package/dts/chart/bar/DefaultBarStack.d.ts.map +1 -1
- package/dts/chart/point/Point.d.ts +2 -1
- package/dts/chart/point/Point.d.ts.map +1 -1
- package/dts/chart/scrubber/Scrubber.d.ts +4 -2
- package/dts/chart/scrubber/Scrubber.d.ts.map +1 -1
- package/dts/chart/utils/bar.d.ts +153 -0
- package/dts/chart/utils/bar.d.ts.map +1 -1
- package/dts/chart/utils/chart.d.ts +2 -1
- package/dts/chart/utils/chart.d.ts.map +1 -1
- package/dts/chart/utils/path.d.ts.map +1 -1
- package/dts/sparkline/Sparkline.d.ts +2 -1
- package/dts/sparkline/Sparkline.d.ts.map +1 -1
- package/dts/sparkline/SparklineArea.d.ts +2 -1
- package/dts/sparkline/SparklineArea.d.ts.map +1 -1
- package/dts/sparkline/SparklineGradient.d.ts +2 -1
- package/dts/sparkline/SparklineGradient.d.ts.map +1 -1
- package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts +2 -1
- package/dts/sparkline/sparkline-interactive/SparklineInteractive.d.ts.map +1 -1
- package/esm/chart/Path.js +2 -1
- package/esm/chart/bar/Bar.js +4 -6
- package/esm/chart/bar/BarChart.js +7 -7
- package/esm/chart/bar/BarPlot.js +17 -27
- package/esm/chart/bar/BarStack.js +90 -295
- package/esm/chart/bar/DefaultBar.js +13 -19
- package/esm/chart/bar/DefaultBarStack.js +12 -19
- package/esm/chart/utils/bar.js +813 -0
- package/esm/chart/utils/chart.js +2 -1
- package/esm/chart/utils/path.js +5 -13
- package/esm/sparkline/Sparkline.js +2 -1
- package/esm/sparkline/SparklineArea.js +2 -1
- package/esm/sparkline/SparklineGradient.js +2 -1
- package/esm/sparkline/sparkline-interactive/SparklineInteractive.js +2 -1
- package/package.json +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { memo, useId, useMemo } from 'react';
|
|
2
2
|
import { m as motion } from 'framer-motion';
|
|
3
3
|
import { useCartesianChartContext } from '../ChartProvider';
|
|
4
|
-
import { defaultBarEnterTransition, defaultTransition, getBarPath, getTransition, withStaggerDelayTransition } from '../utils';
|
|
4
|
+
import { defaultBarEnterTransition, defaultTransition, getBarPath, getNormalizedStagger, getStackInitialClipRect, getTransition, withStaggerDelayTransition } from '../utils';
|
|
5
5
|
import { usePathTransition } from '../utils/transition';
|
|
6
6
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
7
|
/**
|
|
@@ -19,7 +19,7 @@ export const DefaultBarStack = /*#__PURE__*/memo(_ref => {
|
|
|
19
19
|
borderRadius = 4,
|
|
20
20
|
roundTop = true,
|
|
21
21
|
roundBottom = true,
|
|
22
|
-
|
|
22
|
+
origin,
|
|
23
23
|
transitions,
|
|
24
24
|
transition
|
|
25
25
|
} = _ref;
|
|
@@ -29,29 +29,22 @@ export const DefaultBarStack = /*#__PURE__*/memo(_ref => {
|
|
|
29
29
|
layout
|
|
30
30
|
} = useCartesianChartContext();
|
|
31
31
|
const clipPathId = useId();
|
|
32
|
-
|
|
33
|
-
// For vertical layout, stagger by x (category axis). For horizontal, stagger by y (category axis).
|
|
34
|
-
const normalizedStagger = useMemo(() => {
|
|
35
|
-
const barsGrowVertically = layout !== 'horizontal';
|
|
36
|
-
if (barsGrowVertically) {
|
|
37
|
-
return drawingArea.width > 0 ? (x - drawingArea.x) / drawingArea.width : 0;
|
|
38
|
-
}
|
|
39
|
-
return drawingArea.height > 0 ? (y - drawingArea.y) / drawingArea.height : 0;
|
|
40
|
-
}, [layout, x, y, drawingArea.x, drawingArea.y, drawingArea.width, drawingArea.height]);
|
|
32
|
+
const normalizedStagger = useMemo(() => getNormalizedStagger(layout, x, y, drawingArea), [layout, x, y, drawingArea]);
|
|
41
33
|
const enterTransition = useMemo(() => withStaggerDelayTransition(getTransition(transitions === null || transitions === void 0 ? void 0 : transitions.enter, animate, defaultBarEnterTransition), normalizedStagger), [transitions === null || transitions === void 0 ? void 0 : transitions.enter, animate, normalizedStagger]);
|
|
42
34
|
const updateTransition = useMemo(() => withStaggerDelayTransition(getTransition((transitions === null || transitions === void 0 ? void 0 : transitions.update) !== undefined ? transitions.update : transition, animate, defaultTransition), normalizedStagger), [transitions === null || transitions === void 0 ? void 0 : transitions.update, transition, animate, normalizedStagger]);
|
|
43
35
|
const clipPathData = useMemo(() => {
|
|
44
36
|
return getBarPath(x, y, width, height, borderRadius, roundTop, roundBottom, layout);
|
|
45
37
|
}, [x, y, width, height, borderRadius, roundTop, roundBottom, layout]);
|
|
46
38
|
const initialClipPathData = useMemo(() => {
|
|
47
|
-
if (!animate) return
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
39
|
+
if (!animate) return;
|
|
40
|
+
const initialClipRect = getStackInitialClipRect({
|
|
41
|
+
x,
|
|
42
|
+
y,
|
|
43
|
+
width,
|
|
44
|
+
height
|
|
45
|
+
}, layout, origin);
|
|
46
|
+
return getBarPath(initialClipRect.x, initialClipRect.y, initialClipRect.width, initialClipRect.height, borderRadius, roundTop, roundBottom, layout);
|
|
47
|
+
}, [animate, layout, x, y, height, width, borderRadius, roundTop, roundBottom, origin]);
|
|
55
48
|
const animatedClipPath = usePathTransition({
|
|
56
49
|
currentPath: clipPathData,
|
|
57
50
|
initialPath: initialClipPathData,
|