@elliemae/ds-dataviz 3.9.0 → 3.10.0-next.0
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/dist/cjs/graphs/Chart/Chart.js +1 -4
- package/dist/cjs/graphs/Chart/Chart.js.map +2 -2
- package/dist/cjs/graphs/Chart/ChartContext.js +1 -4
- package/dist/cjs/graphs/Chart/ChartContext.js.map +2 -2
- package/dist/cjs/graphs/Chart/config/useChart.js +26 -22
- package/dist/cjs/graphs/Chart/config/useChart.js.map +2 -2
- package/dist/cjs/graphs/Chart/config/useGetters.js +90 -0
- package/dist/cjs/graphs/Chart/config/useGetters.js.map +7 -0
- package/dist/cjs/graphs/Chart/config/useInternalMargins.js +1 -1
- package/dist/cjs/graphs/Chart/config/useInternalMargins.js.map +1 -1
- package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js +42 -13
- package/dist/cjs/graphs/Chart/config/useKeyboardNavigation.js.map +2 -2
- package/dist/cjs/graphs/Chart/config/useScales.js +67 -41
- package/dist/cjs/graphs/Chart/config/useScales.js.map +2 -2
- package/dist/cjs/graphs/Chart/helpers/colorPallet.js +1 -1
- package/dist/cjs/graphs/Chart/helpers/colorPallet.js.map +1 -1
- package/dist/cjs/graphs/Chart/helpers/index.js +4 -4
- package/dist/cjs/graphs/Chart/helpers/index.js.map +2 -2
- package/dist/cjs/graphs/Chart/helpers/useUniqueData.js +124 -0
- package/dist/cjs/graphs/Chart/helpers/useUniqueData.js.map +7 -0
- package/dist/cjs/graphs/Chart/helpers/useVirtualizedSeries.js +42 -11
- package/dist/cjs/graphs/Chart/helpers/useVirtualizedSeries.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Axis/Axes.js +13 -2
- package/dist/cjs/graphs/Chart/parts/Axis/Axes.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Axis/AxisBottom.js +72 -23
- package/dist/cjs/graphs/Chart/parts/Axis/AxisBottom.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Axis/AxisLeft.js +36 -16
- package/dist/cjs/graphs/Chart/parts/Axis/AxisLeft.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Axis/AxisRight.js +10 -8
- package/dist/cjs/graphs/Chart/parts/Axis/AxisRight.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/ChartContainer.js +60 -60
- package/dist/cjs/graphs/Chart/parts/ChartContainer.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/ClipPaths.js +85 -0
- package/dist/cjs/graphs/Chart/parts/ClipPaths.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/Labels/BottomLabel.js +2 -2
- package/dist/cjs/graphs/Chart/parts/Labels/BottomLabel.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Labels/LeftLabel.js +7 -14
- package/dist/cjs/graphs/Chart/parts/Labels/LeftLabel.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Legend/BottomLegend.js +4 -4
- package/dist/cjs/graphs/Chart/parts/Legend/BottomLegend.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Legend/LegendItem.js +1 -1
- package/dist/cjs/graphs/Chart/parts/Legend/LegendItem.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Scrapper/ScrapperLine.js +6 -2
- package/dist/cjs/graphs/Chart/parts/Scrapper/ScrapperLine.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapper.js +2 -77
- package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapper.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js +3 -3
- package/dist/cjs/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js.map +3 -3
- package/dist/cjs/graphs/Chart/parts/Scroller/BlurMask.js +112 -0
- package/dist/cjs/graphs/Chart/parts/Scroller/BlurMask.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarX.js +4 -7
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarX.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarY.js +114 -0
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollBarY.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerX.js +14 -29
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerX.js.map +2 -2
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerY.js +84 -0
- package/dist/cjs/graphs/Chart/parts/Scroller/ScrollableContainerY.js.map +7 -0
- package/dist/cjs/graphs/Chart/parts/SeriesFactory.js +4 -9
- package/dist/cjs/graphs/Chart/parts/SeriesFactory.js.map +2 -2
- package/dist/cjs/graphs/Chart/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/graphs/Chart/series/Area.js +1 -3
- package/dist/cjs/graphs/Chart/series/Area.js.map +2 -2
- package/dist/cjs/graphs/Chart/series/Bars.js.map +2 -2
- package/dist/cjs/graphs/Chart/series/HorizontalBars.js +4 -24
- package/dist/cjs/graphs/Chart/series/HorizontalBars.js.map +2 -2
- package/dist/cjs/graphs/Chart/series/HorizontalStackedBars.js +2 -2
- package/dist/cjs/graphs/Chart/series/HorizontalStackedBars.js.map +2 -2
- package/dist/cjs/graphs/Chart/series/StackedBar.js +3 -2
- package/dist/cjs/graphs/Chart/series/StackedBar.js.map +2 -2
- package/dist/cjs/graphs/Chart/styles.js +12 -11
- package/dist/cjs/graphs/Chart/styles.js.map +2 -2
- package/dist/cjs/graphs/constants.js +6 -5
- package/dist/cjs/graphs/constants.js.map +2 -2
- package/dist/esm/graphs/Chart/Chart.js +1 -4
- package/dist/esm/graphs/Chart/Chart.js.map +2 -2
- package/dist/esm/graphs/Chart/ChartContext.js +1 -4
- package/dist/esm/graphs/Chart/ChartContext.js.map +2 -2
- package/dist/esm/graphs/Chart/config/useChart.js +27 -23
- package/dist/esm/graphs/Chart/config/useChart.js.map +2 -2
- package/dist/esm/graphs/Chart/config/useGetters.js +64 -0
- package/dist/esm/graphs/Chart/config/useGetters.js.map +7 -0
- package/dist/esm/graphs/Chart/config/useInternalMargins.js +1 -1
- package/dist/esm/graphs/Chart/config/useInternalMargins.js.map +1 -1
- package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js +42 -13
- package/dist/esm/graphs/Chart/config/useKeyboardNavigation.js.map +2 -2
- package/dist/esm/graphs/Chart/config/useScales.js +67 -41
- package/dist/esm/graphs/Chart/config/useScales.js.map +2 -2
- package/dist/esm/graphs/Chart/helpers/colorPallet.js +1 -1
- package/dist/esm/graphs/Chart/helpers/colorPallet.js.map +1 -1
- package/dist/esm/graphs/Chart/helpers/index.js +4 -4
- package/dist/esm/graphs/Chart/helpers/index.js.map +2 -2
- package/dist/esm/graphs/Chart/helpers/useUniqueData.js +98 -0
- package/dist/esm/graphs/Chart/helpers/useUniqueData.js.map +7 -0
- package/dist/esm/graphs/Chart/helpers/useVirtualizedSeries.js +42 -11
- package/dist/esm/graphs/Chart/helpers/useVirtualizedSeries.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Axis/Axes.js +13 -2
- package/dist/esm/graphs/Chart/parts/Axis/Axes.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Axis/AxisBottom.js +72 -23
- package/dist/esm/graphs/Chart/parts/Axis/AxisBottom.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Axis/AxisLeft.js +36 -16
- package/dist/esm/graphs/Chart/parts/Axis/AxisLeft.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Axis/AxisRight.js +10 -8
- package/dist/esm/graphs/Chart/parts/Axis/AxisRight.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/ChartContainer.js +60 -60
- package/dist/esm/graphs/Chart/parts/ChartContainer.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/ClipPaths.js +59 -0
- package/dist/esm/graphs/Chart/parts/ClipPaths.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/Labels/BottomLabel.js +2 -2
- package/dist/esm/graphs/Chart/parts/Labels/BottomLabel.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Labels/LeftLabel.js +8 -15
- package/dist/esm/graphs/Chart/parts/Labels/LeftLabel.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Legend/BottomLegend.js +5 -5
- package/dist/esm/graphs/Chart/parts/Legend/BottomLegend.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Legend/LegendItem.js +1 -1
- package/dist/esm/graphs/Chart/parts/Legend/LegendItem.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Scrapper/ScrapperLine.js +6 -2
- package/dist/esm/graphs/Chart/parts/Scrapper/ScrapperLine.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapper.js +3 -78
- package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapper.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js +3 -3
- package/dist/esm/graphs/Chart/parts/Scrapper/VerticalScrapperLine.js.map +3 -3
- package/dist/esm/graphs/Chart/parts/Scroller/BlurMask.js +86 -0
- package/dist/esm/graphs/Chart/parts/Scroller/BlurMask.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarX.js +4 -7
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarX.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarY.js +88 -0
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollBarY.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerX.js +14 -29
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerX.js.map +2 -2
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerY.js +58 -0
- package/dist/esm/graphs/Chart/parts/Scroller/ScrollableContainerY.js.map +7 -0
- package/dist/esm/graphs/Chart/parts/SeriesFactory.js +5 -10
- package/dist/esm/graphs/Chart/parts/SeriesFactory.js.map +2 -2
- package/dist/esm/graphs/Chart/react-desc-prop-types.js.map +2 -2
- package/dist/esm/graphs/Chart/series/Area.js +1 -3
- package/dist/esm/graphs/Chart/series/Area.js.map +2 -2
- package/dist/esm/graphs/Chart/series/Bars.js.map +2 -2
- package/dist/esm/graphs/Chart/series/HorizontalBars.js +4 -24
- package/dist/esm/graphs/Chart/series/HorizontalBars.js.map +2 -2
- package/dist/esm/graphs/Chart/series/HorizontalStackedBars.js +2 -2
- package/dist/esm/graphs/Chart/series/HorizontalStackedBars.js.map +2 -2
- package/dist/esm/graphs/Chart/series/StackedBar.js +3 -2
- package/dist/esm/graphs/Chart/series/StackedBar.js.map +2 -2
- package/dist/esm/graphs/Chart/styles.js +13 -12
- package/dist/esm/graphs/Chart/styles.js.map +2 -2
- package/dist/esm/graphs/constants.js +7 -6
- package/dist/esm/graphs/constants.js.map +2 -2
- package/package.json +8 -8
- package/dist/cjs/graphs/Chart/Pie.js +0 -49
- package/dist/cjs/graphs/Chart/Pie.js.map +0 -7
- package/dist/cjs/graphs/Chart/parts/ActivePoint.js +0 -83
- package/dist/cjs/graphs/Chart/parts/ActivePoint.js.map +0 -7
- package/dist/esm/graphs/Chart/Pie.js +0 -23
- package/dist/esm/graphs/Chart/Pie.js.map +0 -7
- package/dist/esm/graphs/Chart/parts/ActivePoint.js +0 -57
- package/dist/esm/graphs/Chart/parts/ActivePoint.js.map +0 -7
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useCallback, useMemo } from "react";
|
|
4
|
+
import { ChartContext } from "../../ChartContext";
|
|
5
|
+
const ScrollBarY = () => {
|
|
6
|
+
const {
|
|
7
|
+
setIsGrabbed,
|
|
8
|
+
setStartPosition,
|
|
9
|
+
innerWidth,
|
|
10
|
+
xScrollbarPosition,
|
|
11
|
+
activePoint,
|
|
12
|
+
setXScrollbarPosition,
|
|
13
|
+
innerHeight,
|
|
14
|
+
isGrabbed,
|
|
15
|
+
containerRatio,
|
|
16
|
+
setScrapperPosX,
|
|
17
|
+
setScrapperPosY,
|
|
18
|
+
isScrollbarVisible,
|
|
19
|
+
oldLastPosition
|
|
20
|
+
} = useContext(ChartContext);
|
|
21
|
+
const barHeight = useMemo(() => parseInt(innerHeight / containerRatio, 10), [containerRatio, innerHeight]);
|
|
22
|
+
const handleMouseDown = useCallback(
|
|
23
|
+
(e) => {
|
|
24
|
+
setScrapperPosX("");
|
|
25
|
+
setScrapperPosY("");
|
|
26
|
+
setIsGrabbed(true);
|
|
27
|
+
setStartPosition(e.clientY);
|
|
28
|
+
e.preventDefault();
|
|
29
|
+
},
|
|
30
|
+
[setIsGrabbed, setScrapperPosY, setScrapperPosX, setStartPosition]
|
|
31
|
+
);
|
|
32
|
+
const handleMouseEnter = useCallback(
|
|
33
|
+
(e) => {
|
|
34
|
+
setScrapperPosX("");
|
|
35
|
+
},
|
|
36
|
+
[setScrapperPosX]
|
|
37
|
+
);
|
|
38
|
+
const handleClickFullBar = useCallback(
|
|
39
|
+
(e) => {
|
|
40
|
+
let newPosition = 0;
|
|
41
|
+
const bar = e.target;
|
|
42
|
+
const bounds = bar.getBoundingClientRect();
|
|
43
|
+
const top = e.clientY - bounds.top;
|
|
44
|
+
if (top + barHeight / 2 > innerHeight) {
|
|
45
|
+
newPosition = innerHeight - barHeight;
|
|
46
|
+
} else if (top - barHeight / 2 > 0) {
|
|
47
|
+
newPosition = top - barHeight / 2;
|
|
48
|
+
}
|
|
49
|
+
setXScrollbarPosition(newPosition);
|
|
50
|
+
oldLastPosition.current = newPosition;
|
|
51
|
+
e.preventDefault();
|
|
52
|
+
},
|
|
53
|
+
[barHeight, innerHeight, oldLastPosition, setXScrollbarPosition]
|
|
54
|
+
);
|
|
55
|
+
const isBarVisible = useMemo(
|
|
56
|
+
() => (isScrollbarVisible || activePoint) && containerRatio > 1,
|
|
57
|
+
[activePoint, containerRatio, isScrollbarVisible]
|
|
58
|
+
);
|
|
59
|
+
return /* @__PURE__ */ jsxs("g", {
|
|
60
|
+
className: "scrollbary",
|
|
61
|
+
transform: "translate(-6,0)",
|
|
62
|
+
style: { visibility: isBarVisible ? "visible" : "hidden" },
|
|
63
|
+
onMouseEnter: handleMouseEnter,
|
|
64
|
+
children: [
|
|
65
|
+
/* @__PURE__ */ jsx("rect", {
|
|
66
|
+
style: { cursor: "pointer" },
|
|
67
|
+
width: "6",
|
|
68
|
+
height: innerHeight,
|
|
69
|
+
fill: "#ebecf0c5",
|
|
70
|
+
onClick: handleClickFullBar
|
|
71
|
+
}),
|
|
72
|
+
/* @__PURE__ */ jsx("g", {
|
|
73
|
+
transform: `translate(0,${xScrollbarPosition})`,
|
|
74
|
+
children: /* @__PURE__ */ jsx("rect", {
|
|
75
|
+
style: { cursor: isGrabbed ? "grabbing" : "grab" },
|
|
76
|
+
width: "6",
|
|
77
|
+
height: barHeight,
|
|
78
|
+
fill: "grey",
|
|
79
|
+
onMouseDown: handleMouseDown
|
|
80
|
+
})
|
|
81
|
+
})
|
|
82
|
+
]
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
export {
|
|
86
|
+
ScrollBarY
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=ScrollBarY.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/graphs/Chart/parts/Scroller/ScrollBarY.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useCallback, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext';\n\nexport const ScrollBarY = () => {\n const {\n setIsGrabbed,\n setStartPosition,\n innerWidth,\n xScrollbarPosition,\n activePoint,\n setXScrollbarPosition,\n innerHeight,\n isGrabbed,\n containerRatio,\n setScrapperPosX,\n setScrapperPosY,\n isScrollbarVisible,\n oldLastPosition,\n } = useContext(ChartContext);\n\n const barHeight = useMemo(() => parseInt(innerHeight / containerRatio, 10), [containerRatio, innerHeight]);\n\n const handleMouseDown = useCallback(\n (e: React.MouseEvent) => {\n setScrapperPosX('');\n setScrapperPosY('');\n setIsGrabbed(true);\n setStartPosition(e.clientY);\n e.preventDefault();\n },\n [setIsGrabbed, setScrapperPosY, setScrapperPosX, setStartPosition],\n );\n\n const handleMouseEnter = useCallback(\n (e: React.MouseEvent) => {\n setScrapperPosX('');\n },\n [setScrapperPosX],\n );\n\n const handleClickFullBar = useCallback(\n (e: React.MouseEvent) => {\n let newPosition = 0;\n const bar = e.target;\n const bounds = bar.getBoundingClientRect();\n const top = e.clientY - bounds.top;\n if (top + barHeight / 2 > innerHeight) {\n newPosition = innerHeight - barHeight;\n } else if (top - barHeight / 2 > 0) {\n newPosition = top - barHeight / 2;\n }\n\n setXScrollbarPosition(newPosition);\n oldLastPosition.current = newPosition;\n e.preventDefault();\n },\n [barHeight, innerHeight, oldLastPosition, setXScrollbarPosition],\n );\n\n const isBarVisible = useMemo(\n () => (isScrollbarVisible || activePoint) && containerRatio > 1,\n [activePoint, containerRatio, isScrollbarVisible],\n );\n\n return (\n <g\n className=\"scrollbary\"\n transform=\"translate(-6,0)\"\n style={{ visibility: isBarVisible ? 'visible' : 'hidden' }}\n onMouseEnter={handleMouseEnter}\n >\n <rect\n style={{ cursor: 'pointer' }}\n width=\"6\"\n height={innerHeight}\n fill=\"#ebecf0c5\"\n onClick={handleClickFullBar}\n />\n <g transform={`translate(0,${xScrollbarPosition})`}>\n <rect\n style={{ cursor: isGrabbed ? 'grabbing' : 'grab' }}\n width=\"6\"\n height={barHeight}\n fill=\"grey\"\n onMouseDown={handleMouseDown}\n />\n </g>\n </g>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAgB,YAAY,aAAa,eAAe;AACxD,SAAS,oBAAoB;AAEtB,MAAM,aAAa,MAAM;AAC9B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,YAAY,QAAQ,MAAM,SAAS,cAAc,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,WAAW,CAAC;AAEzG,QAAM,kBAAkB;AAAA,IACtB,CAAC,MAAwB;AACvB,sBAAgB,EAAE;AAClB,sBAAgB,EAAE;AAClB,mBAAa,IAAI;AACjB,uBAAiB,EAAE,OAAO;AAC1B,QAAE,eAAe;AAAA,IACnB;AAAA,IACA,CAAC,cAAc,iBAAiB,iBAAiB,gBAAgB;AAAA,EACnE;AAEA,QAAM,mBAAmB;AAAA,IACvB,CAAC,MAAwB;AACvB,sBAAgB,EAAE;AAAA,IACpB;AAAA,IACA,CAAC,eAAe;AAAA,EAClB;AAEA,QAAM,qBAAqB;AAAA,IACzB,CAAC,MAAwB;AACvB,UAAI,cAAc;AAClB,YAAM,MAAM,EAAE;AACd,YAAM,SAAS,IAAI,sBAAsB;AACzC,YAAM,MAAM,EAAE,UAAU,OAAO;AAC/B,UAAI,MAAM,YAAY,IAAI,aAAa;AACrC,sBAAc,cAAc;AAAA,MAC9B,WAAW,MAAM,YAAY,IAAI,GAAG;AAClC,sBAAc,MAAM,YAAY;AAAA,MAClC;AAEA,4BAAsB,WAAW;AACjC,sBAAgB,UAAU;AAC1B,QAAE,eAAe;AAAA,IACnB;AAAA,IACA,CAAC,WAAW,aAAa,iBAAiB,qBAAqB;AAAA,EACjE;AAEA,QAAM,eAAe;AAAA,IACnB,OAAO,sBAAsB,gBAAgB,iBAAiB;AAAA,IAC9D,CAAC,aAAa,gBAAgB,kBAAkB;AAAA,EAClD;AAEA,SACE,qBAAC;AAAA,IACC,WAAU;AAAA,IACV,WAAU;AAAA,IACV,OAAO,EAAE,YAAY,eAAe,YAAY,SAAS;AAAA,IACzD,cAAc;AAAA,IAEd;AAAA,0BAAC;AAAA,QACC,OAAO,EAAE,QAAQ,UAAU;AAAA,QAC3B,OAAM;AAAA,QACN,QAAQ;AAAA,QACR,MAAK;AAAA,QACL,SAAS;AAAA,OACX;AAAA,MACA,oBAAC;AAAA,QAAE,WAAW,eAAe;AAAA,QAC3B,8BAAC;AAAA,UACC,OAAO,EAAE,QAAQ,YAAY,aAAa,OAAO;AAAA,UACjD,OAAM;AAAA,UACN,QAAQ;AAAA,UACR,MAAK;AAAA,UACL,aAAa;AAAA,SACf;AAAA,OACF;AAAA;AAAA,GACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -9,48 +9,33 @@ import { Scrapper } from "../Scrapper/Scrapper";
|
|
|
9
9
|
import { VerticalScrapper } from "../Scrapper/VerticalScrapper";
|
|
10
10
|
const ScrollableContainerX = () => {
|
|
11
11
|
const {
|
|
12
|
-
props: { scrapper
|
|
12
|
+
props: { scrapper },
|
|
13
13
|
xScrollbarPosition,
|
|
14
14
|
containerRatio,
|
|
15
|
-
|
|
16
|
-
innerWidth
|
|
15
|
+
chartId
|
|
17
16
|
} = useContext(ChartContext);
|
|
18
17
|
const Scrappers = useMemo(() => {
|
|
19
18
|
if (scrapper?.type === "horizontal")
|
|
20
19
|
return /* @__PURE__ */ jsx(Scrapper, {});
|
|
21
|
-
|
|
20
|
+
if (scrapper?.type === "vertical")
|
|
22
21
|
return /* @__PURE__ */ jsx(VerticalScrapper, {});
|
|
23
22
|
return null;
|
|
24
23
|
}, [scrapper?.type]);
|
|
25
24
|
return /* @__PURE__ */ jsxs("g", {
|
|
26
25
|
className: "scrollable-container-x",
|
|
27
|
-
clipPath: "url(#myClip)",
|
|
28
26
|
children: [
|
|
29
|
-
/* @__PURE__ */
|
|
30
|
-
|
|
31
|
-
children:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
/* @__PURE__ */ jsx("defs", {
|
|
39
|
-
children: /* @__PURE__ */ jsx("clipPath", {
|
|
40
|
-
id: "myClip",
|
|
41
|
-
children: /* @__PURE__ */ jsx("path", {
|
|
42
|
-
d: `M 0 -10
|
|
43
|
-
H ${innerWidth}
|
|
44
|
-
V ${innerHeight + 2}
|
|
45
|
-
L ${innerWidth + 10} ${innerHeight + 2}
|
|
46
|
-
L ${innerWidth + 10} ${height}
|
|
47
|
-
L -10 ${height}
|
|
48
|
-
L -10 ${innerHeight}
|
|
49
|
-
L 0 ${innerHeight}
|
|
50
|
-
L 0 -10`
|
|
51
|
-
})
|
|
27
|
+
/* @__PURE__ */ jsx("g", {
|
|
28
|
+
mask: `url(#mask-${chartId})`,
|
|
29
|
+
children: /* @__PURE__ */ jsxs("g", {
|
|
30
|
+
transform: `translate(${-xScrollbarPosition * containerRatio},0)`,
|
|
31
|
+
children: [
|
|
32
|
+
/* @__PURE__ */ jsx(SeriesFactory, {}),
|
|
33
|
+
Scrappers,
|
|
34
|
+
/* @__PURE__ */ jsx(AxisBottom, {})
|
|
35
|
+
]
|
|
52
36
|
})
|
|
53
|
-
})
|
|
37
|
+
}),
|
|
38
|
+
/* @__PURE__ */ jsx(ScrollBarX, {})
|
|
54
39
|
]
|
|
55
40
|
});
|
|
56
41
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/graphs/Chart/parts/Scroller/ScrollableContainerX.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext';\nimport { AxisBottom } from '../Axis/AxisBottom';\nimport { SeriesFactory } from '../SeriesFactory';\nimport { ScrollBarX } from './ScrollBarX';\nimport { Scrapper } from '../Scrapper/Scrapper';\nimport { VerticalScrapper } from '../Scrapper/VerticalScrapper';\nexport const ScrollableContainerX = () => {\n const {\n props: { scrapper
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AAC1B,MAAM,uBAAuB,MAAM;AACxC,QAAM;AAAA,IACJ,OAAO,EAAE,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext';\nimport { AxisBottom } from '../Axis/AxisBottom';\nimport { SeriesFactory } from '../SeriesFactory';\nimport { ScrollBarX } from './ScrollBarX';\nimport { Scrapper } from '../Scrapper/Scrapper';\nimport { VerticalScrapper } from '../Scrapper/VerticalScrapper';\nexport const ScrollableContainerX = () => {\n const {\n props: { scrapper },\n xScrollbarPosition,\n containerRatio,\n chartId,\n } = useContext(ChartContext);\n\n const Scrappers = useMemo(() => {\n if (scrapper?.type === 'horizontal') return <Scrapper />;\n if (scrapper?.type === 'vertical') return <VerticalScrapper />;\n return null;\n }, [scrapper?.type]);\n\n return (\n <g className=\"scrollable-container-x\">\n <g mask={`url(#mask-${chartId})`}>\n <g transform={`translate(${-xScrollbarPosition * containerRatio},0)`}>\n <SeriesFactory />\n {Scrappers}\n <AxisBottom />\n </g>\n </g>\n <ScrollBarX />\n {/* <defs>\n <clipPath id={`scroll-clip-x-${chartId}`}>\n <path\n d={`M 0 -10 \n H ${innerWidth} \n V ${innerHeight + 2} \n L ${innerWidth + 10} ${innerHeight + 2} \n L ${innerWidth + 10} ${height} \n L -10 ${height} \n L -10 ${innerHeight} \n L 0 ${innerHeight} \n L 0 -10`}\n />\n </clipPath>\n </defs> */}\n </g>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AAC1B,MAAM,uBAAuB,MAAM;AACxC,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,YAAY,QAAQ,MAAM;AAC9B,QAAI,UAAU,SAAS;AAAc,aAAO,oBAAC,YAAS;AACtD,QAAI,UAAU,SAAS;AAAY,aAAO,oBAAC,oBAAiB;AAC5D,WAAO;AAAA,EACT,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,SACE,qBAAC;AAAA,IAAE,WAAU;AAAA,IACX;AAAA,0BAAC;AAAA,QAAE,MAAM,aAAa;AAAA,QACpB,+BAAC;AAAA,UAAE,WAAW,aAAa,CAAC,qBAAqB;AAAA,UAC/C;AAAA,gCAAC,iBAAc;AAAA,YACd;AAAA,YACD,oBAAC,cAAW;AAAA;AAAA,SACd;AAAA,OACF;AAAA,MACA,oBAAC,cAAW;AAAA;AAAA,GAgBd;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useMemo } from "react";
|
|
4
|
+
import { ChartContext } from "../../ChartContext";
|
|
5
|
+
import { SeriesFactory } from "../SeriesFactory";
|
|
6
|
+
import { ScrollBarY } from "./ScrollBarY";
|
|
7
|
+
import { Scrapper } from "../Scrapper/Scrapper";
|
|
8
|
+
import { VerticalScrapper } from "../Scrapper/VerticalScrapper";
|
|
9
|
+
import { AxisLeft } from "../Axis/AxisLeft";
|
|
10
|
+
const ScrollableContainerY = () => {
|
|
11
|
+
const {
|
|
12
|
+
props: { scrapper, height, width },
|
|
13
|
+
xScrollbarPosition,
|
|
14
|
+
containerRatio,
|
|
15
|
+
innerHeight,
|
|
16
|
+
innerWidth,
|
|
17
|
+
internalMargin,
|
|
18
|
+
chartId
|
|
19
|
+
} = useContext(ChartContext);
|
|
20
|
+
const Scrappers = useMemo(() => {
|
|
21
|
+
if (scrapper?.type === "horizontal")
|
|
22
|
+
return /* @__PURE__ */ jsx(Scrapper, {});
|
|
23
|
+
else if (scrapper?.type === "vertical")
|
|
24
|
+
return /* @__PURE__ */ jsx(VerticalScrapper, {});
|
|
25
|
+
return null;
|
|
26
|
+
}, [scrapper?.type]);
|
|
27
|
+
return /* @__PURE__ */ jsxs("g", {
|
|
28
|
+
className: "scrollable-container-x",
|
|
29
|
+
clipPath: `url(#scroll-clip-y-${chartId})`,
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ jsxs("g", {
|
|
32
|
+
transform: `translate(0,${-xScrollbarPosition * containerRatio})`,
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ jsx(AxisLeft, {}),
|
|
35
|
+
/* @__PURE__ */ jsx(SeriesFactory, {}),
|
|
36
|
+
Scrappers
|
|
37
|
+
]
|
|
38
|
+
}),
|
|
39
|
+
/* @__PURE__ */ jsx(ScrollBarY, {}),
|
|
40
|
+
/* @__PURE__ */ jsx("defs", {
|
|
41
|
+
children: /* @__PURE__ */ jsx("clipPath", {
|
|
42
|
+
id: `scroll-clip-y-${chartId}`,
|
|
43
|
+
children: /* @__PURE__ */ jsx("path", {
|
|
44
|
+
d: `M ${-internalMargin.left} 0
|
|
45
|
+
H ${width}
|
|
46
|
+
V ${innerHeight - 1}
|
|
47
|
+
L ${-internalMargin.left} ${innerHeight - 1}
|
|
48
|
+
L ${-internalMargin.left} 0`
|
|
49
|
+
})
|
|
50
|
+
})
|
|
51
|
+
})
|
|
52
|
+
]
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
export {
|
|
56
|
+
ScrollableContainerY
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=ScrollableContainerY.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/graphs/Chart/parts/Scroller/ScrollableContainerY.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../../ChartContext';\nimport { SeriesFactory } from '../SeriesFactory';\nimport { ScrollBarY } from './ScrollBarY';\nimport { Scrapper } from '../Scrapper/Scrapper';\nimport { VerticalScrapper } from '../Scrapper/VerticalScrapper';\nimport { AxisLeft } from '../Axis/AxisLeft';\nexport const ScrollableContainerY = () => {\n const {\n props: { scrapper, height, width },\n xScrollbarPosition,\n containerRatio,\n innerHeight,\n innerWidth,\n internalMargin,\n chartId,\n } = useContext(ChartContext);\n\n const Scrappers = useMemo(() => {\n if (scrapper?.type === 'horizontal') return <Scrapper />;\n else if (scrapper?.type === 'vertical') return <VerticalScrapper />;\n return null;\n }, [scrapper?.type]);\n\n return (\n <g className=\"scrollable-container-x\" clipPath={`url(#scroll-clip-y-${chartId})`}>\n <g transform={`translate(0,${-xScrollbarPosition * containerRatio})`}>\n <AxisLeft />\n <SeriesFactory />\n {Scrappers}\n </g>\n <ScrollBarY />\n\n <defs>\n <clipPath id={`scroll-clip-y-${chartId}`}>\n <path\n d={`M ${-internalMargin.left} 0 \n H ${width} \n V ${innerHeight - 1} \n L ${-internalMargin.left} ${innerHeight - 1}\n L ${-internalMargin.left} 0`}\n />\n </clipPath>\n </defs>\n </g>\n );\n};\n\n// L ${innerWidth + 10} ${innerHeight + 2}\n// L ${innerWidth + 10} ${height}\n// L -10 ${height}\n// L -10 ${innerHeight}\n// L 0 ${innerHeight}\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAEA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AAClB,MAAM,uBAAuB,MAAM;AACxC,QAAM;AAAA,IACJ,OAAO,EAAE,UAAU,QAAQ,MAAM;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,YAAY,QAAQ,MAAM;AAC9B,QAAI,UAAU,SAAS;AAAc,aAAO,oBAAC,YAAS;AAAA,aAC7C,UAAU,SAAS;AAAY,aAAO,oBAAC,oBAAiB;AACjE,WAAO;AAAA,EACT,GAAG,CAAC,UAAU,IAAI,CAAC;AAEnB,SACE,qBAAC;AAAA,IAAE,WAAU;AAAA,IAAyB,UAAU,sBAAsB;AAAA,IACpE;AAAA,2BAAC;AAAA,QAAE,WAAW,eAAe,CAAC,qBAAqB;AAAA,QACjD;AAAA,8BAAC,YAAS;AAAA,UACV,oBAAC,iBAAc;AAAA,UACd;AAAA;AAAA,OACH;AAAA,MACA,oBAAC,cAAW;AAAA,MAEZ,oBAAC;AAAA,QACC,8BAAC;AAAA,UAAS,IAAI,iBAAiB;AAAA,UAC7B,8BAAC;AAAA,YACC,GAAG,KAAK,CAAC,eAAe;AAAA,gBACpB;AAAA,gBACA,cAAc;AAAA,gBACd,CAAC,eAAe,QAAQ,cAAc;AAAA,gBACtC,CAAC,eAAe;AAAA,WACtB;AAAA,SACF;AAAA,OACF;AAAA;AAAA,GACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useContext, useMemo } from "react";
|
|
4
4
|
import { ChartContext } from "../ChartContext";
|
|
5
5
|
import { Line, Points, Bars, StackedBar, Area, HorizontalBars, HorizontalStackedBars } from "../series";
|
|
@@ -7,13 +7,8 @@ import { getStackedIndex } from "../helpers";
|
|
|
7
7
|
import { useVirtualizedSeries } from "../helpers/useVirtualizedSeries";
|
|
8
8
|
const SeriesFactory = () => {
|
|
9
9
|
const {
|
|
10
|
-
props: {
|
|
11
|
-
|
|
12
|
-
innerWidth,
|
|
13
|
-
xScale,
|
|
14
|
-
containerRatio,
|
|
15
|
-
isHorizontal,
|
|
16
|
-
currentData: data
|
|
10
|
+
props: { groups, types },
|
|
11
|
+
isHorizontal
|
|
17
12
|
} = useContext(ChartContext);
|
|
18
13
|
const virtualizedSeries = useVirtualizedSeries();
|
|
19
14
|
return useMemo(
|
|
@@ -59,10 +54,10 @@ const SeriesFactory = () => {
|
|
|
59
54
|
...serieProps
|
|
60
55
|
});
|
|
61
56
|
}
|
|
62
|
-
return
|
|
57
|
+
return null;
|
|
63
58
|
})
|
|
64
59
|
}),
|
|
65
|
-
[
|
|
60
|
+
[groups, isHorizontal, types, virtualizedSeries]
|
|
66
61
|
);
|
|
67
62
|
};
|
|
68
63
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/parts/SeriesFactory.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../ChartContext';\nimport { Line, Points, Bars, StackedBar, Area, HorizontalBars, HorizontalStackedBars } from '../series';\nimport { getStackedIndex } from '../helpers';\nimport { useVirtualizedSeries } from '../helpers/useVirtualizedSeries';\n\nexport const SeriesFactory = () => {\n const {\n props: {
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAGA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,gBAAgB,6BAA6B;AAC5F,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AAE9B,MAAM,gBAAgB,MAAM;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable arrow-body-style */\n/* eslint-disable indent */\nimport React, { useContext, useMemo } from 'react';\nimport { ChartContext } from '../ChartContext';\nimport { Line, Points, Bars, StackedBar, Area, HorizontalBars, HorizontalStackedBars } from '../series';\nimport { getStackedIndex } from '../helpers';\nimport { useVirtualizedSeries } from '../helpers/useVirtualizedSeries';\n\nexport const SeriesFactory = () => {\n const {\n props: { groups, types },\n isHorizontal,\n } = useContext(ChartContext);\n\n const virtualizedSeries = useVirtualizedSeries();\n return useMemo(\n () => (\n <g className=\"content\">\n {/* <g className=\"content\"> */}\n {virtualizedSeries.map((serie) => {\n const serieProps = {\n key: serie.key,\n serie,\n };\n if (serie.type === 'bar' && groups && getStackedIndex(groups, serie.name) > -1 && isHorizontal) {\n return <HorizontalStackedBars {...serieProps} />;\n }\n if (serie.type === 'bar' && groups && getStackedIndex(groups, serie.name) > -1) {\n return <StackedBar {...serieProps} />;\n }\n if (serie.type === 'bar' && isHorizontal) {\n return <HorizontalBars {...serieProps} />;\n }\n if (serie.type === 'bar') {\n return <Bars {...serieProps} />;\n }\n if ((types === 'scatter' && !serie.type) || serie.type === 'point') {\n return <Points {...serieProps} />;\n }\n if (serie.type === 'line') {\n return <Line {...serieProps} />;\n }\n if (serie.type === 'area') {\n return <Area {...serieProps} />;\n }\n return null;\n })}\n </g>\n ),\n [groups, isHorizontal, types, virtualizedSeries],\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAGA,SAAgB,YAAY,eAAe;AAC3C,SAAS,oBAAoB;AAC7B,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,gBAAgB,6BAA6B;AAC5F,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AAE9B,MAAM,gBAAgB,MAAM;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ,MAAM;AAAA,IACvB;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,oBAAoB,qBAAqB;AAC/C,SAAO;AAAA,IACL,MACE,oBAAC;AAAA,MAAE,WAAU;AAAA,MAEV,4BAAkB,IAAI,CAAC,UAAU;AAChC,cAAM,aAAa;AAAA,UACjB,KAAK,MAAM;AAAA,UACX;AAAA,QACF;AACA,YAAI,MAAM,SAAS,SAAS,UAAU,gBAAgB,QAAQ,MAAM,IAAI,IAAI,MAAM,cAAc;AAC9F,iBAAO,oBAAC;AAAA,YAAuB,GAAG;AAAA,WAAY;AAAA,QAChD;AACA,YAAI,MAAM,SAAS,SAAS,UAAU,gBAAgB,QAAQ,MAAM,IAAI,IAAI,IAAI;AAC9E,iBAAO,oBAAC;AAAA,YAAY,GAAG;AAAA,WAAY;AAAA,QACrC;AACA,YAAI,MAAM,SAAS,SAAS,cAAc;AACxC,iBAAO,oBAAC;AAAA,YAAgB,GAAG;AAAA,WAAY;AAAA,QACzC;AACA,YAAI,MAAM,SAAS,OAAO;AACxB,iBAAO,oBAAC;AAAA,YAAM,GAAG;AAAA,WAAY;AAAA,QAC/B;AACA,YAAK,UAAU,aAAa,CAAC,MAAM,QAAS,MAAM,SAAS,SAAS;AAClE,iBAAO,oBAAC;AAAA,YAAQ,GAAG;AAAA,WAAY;AAAA,QACjC;AACA,YAAI,MAAM,SAAS,QAAQ;AACzB,iBAAO,oBAAC;AAAA,YAAM,GAAG;AAAA,WAAY;AAAA,QAC/B;AACA,YAAI,MAAM,SAAS,QAAQ;AACzB,iBAAO,oBAAC;AAAA,YAAM,GAAG;AAAA,WAAY;AAAA,QAC/B;AACA,eAAO;AAAA,MACT,CAAC;AAAA,KACH;AAAA,IAEF,CAAC,QAAQ,cAAc,OAAO,iBAAiB;AAAA,EACjD;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/graphs/Chart/react-desc-prop-types.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { globalAttributesPropTypes, PropTypes } from '@elliemae/ds-utilities';\
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,2BAA2B,iBAAiB;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { globalAttributesPropTypes, PropTypes } from '@elliemae/ds-utilities';\nimport { Series, ScaleLinear, ScaleBand } from 'd3';\nexport declare namespace DSChartT {\n export type SerieTypeT = 'line' | 'bar' | 'area' | 'point';\n export type AxisTypeT = 'log' | 'band' | 'time' | 'linear';\n\n export type LinearScale = ScaleLinear<number, number, never>;\n export type BandScale = ScaleBand<string>;\n\n export type Scales = LinearScale | BandScale;\n export interface SeriesT {\n name: string;\n data: Array<number | null | { x: number; y: number }>;\n type: SerieTypeT;\n scale?: string;\n color?: string;\n // line\n dashStyle?: string;\n pointRadius?: number;\n }\n\n export interface ScrapperT {\n type: 'horizontal' | 'vertical';\n color: string;\n tooltipPreference: string;\n }\n\n export interface SerieComponentT {\n serie: InternalSerie;\n }\n\n export interface AxisTickT {\n tickValues: number[] | Date[];\n tickFormat: () => void | string;\n tickCount: number;\n tickRotation: number;\n overwriteTicks: boolean;\n color: string;\n }\n\n export interface AxisT {\n showGrid: boolean;\n color: string;\n label: string;\n type: AxisTypeT;\n cols?: string[];\n domainPadding: number;\n hideAxis: boolean;\n beginAtZero?: boolean;\n advanced: {\n pointSpacing: {\n type: 'string';\n value: number;\n };\n };\n tick: AxisTickT;\n }\n\n export interface InternalDatum {\n key: string;\n value: number | { x: number; y: number };\n position: number;\n serie: string;\n }\n\n export interface InternalSerie {\n key: string;\n data: InternalDatum[];\n name: string;\n type: DSChartT.SerieTypeT;\n scale?: string | undefined;\n color?: string;\n dashStyle?: string;\n pointRadius?: number;\n }\n\n export type InternalData = InternalSerie[];\n\n export interface OptionalProps {\n y2Axis?: AxisT;\n groups?: string[][];\n types?: 'scatter';\n scrapper: ScrapperT;\n }\n\n export interface DefaultProps {}\n\n export interface RequiredProps {\n series: SeriesT[];\n height: number;\n width: number;\n yAxis: AxisT;\n xAxis: AxisT;\n }\n\n export interface Props extends OptionalProps, DefaultProps, RequiredProps {}\n\n export type StackedSeriesByGroupT = Series<\n {\n [key: string]: number;\n },\n string\n >[][];\n}\n\nexport const defaultProps: DSChartT.DefaultProps = {};\n\nexport const propTypes = {\n ...globalAttributesPropTypes,\n height: PropTypes.number.isRequired.description('height').defaultValue(''),\n width: PropTypes.number.isRequired.description('height').defaultValue(''),\n margin: PropTypes.shape({\n top: PropTypes.number,\n bottom: PropTypes.number,\n left: PropTypes.number,\n right: PropTypes.number,\n })\n .isRequired.description('margin')\n .defaultValue(''),\n series: PropTypes.arrayOf(PropTypes.object).description('yValue').defaultValue(''),\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,2BAA2B,iBAAiB;AAyG9C,MAAM,eAAsC,CAAC;AAE7C,MAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,QAAQ,UAAU,OAAO,WAAW,YAAY,QAAQ,EAAE,aAAa,EAAE;AAAA,EACzE,OAAO,UAAU,OAAO,WAAW,YAAY,QAAQ,EAAE,aAAa,EAAE;AAAA,EACxE,QAAQ,UAAU,MAAM;AAAA,IACtB,KAAK,UAAU;AAAA,IACf,QAAQ,UAAU;AAAA,IAClB,MAAM,UAAU;AAAA,IAChB,OAAO,UAAU;AAAA,EACnB,CAAC,EACE,WAAW,YAAY,QAAQ,EAC/B,aAAa,EAAE;AAAA,EAClB,QAAQ,UAAU,QAAQ,UAAU,MAAM,EAAE,YAAY,QAAQ,EAAE,aAAa,EAAE;AACnF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -29,7 +29,7 @@ const Area = ({ serie }) => {
|
|
|
29
29
|
if (serieWithStackedValues) {
|
|
30
30
|
return area().x((_, i) => {
|
|
31
31
|
return xScale(typeof serie.data[i]?.value === "number" ? xAxis.cols[i] : serie.data[i]?.value?.x);
|
|
32
|
-
}).y0(([y1]) => finalYScale(
|
|
32
|
+
}).y0(([y1, y2]) => finalYScale(y2)).y1(([y1, y2]) => finalYScale(y1)).curve(curveStyle)(serieWithStackedValues);
|
|
33
33
|
}
|
|
34
34
|
return area().x((d) => xScale(d.value.x ?? xAxis?.cols?.[d.position] ?? d.position)).y0(innerHeight).y1((d) => finalYScale(d.value.y ?? d.value)).curve(curveStyle)(serie.data);
|
|
35
35
|
}, [stackedData, serie, innerHeight, finalYScale, xScale, xAxis?.cols]);
|
|
@@ -46,8 +46,6 @@ const Area = ({ serie }) => {
|
|
|
46
46
|
return /* @__PURE__ */ jsx("g", {
|
|
47
47
|
children: /* @__PURE__ */ jsxs("g", {
|
|
48
48
|
transform: `translate(${xTranslate}, 0)`,
|
|
49
|
-
onMouseEnter: () => setActiveSerie(serie.key),
|
|
50
|
-
onMouseLeave: () => setActiveSerie(""),
|
|
51
49
|
children: [
|
|
52
50
|
/* @__PURE__ */ jsx(Points, {
|
|
53
51
|
serie
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/series/Area.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { area, line } from 'd3';\nimport { StyledArea } from '../styles';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData } from '../helpers';\nimport { Points } from './Points';\nimport { LINE, curveStyleMap } from '../../constants';\n\nexport const Area = ({ serie }) => {\n const {\n props: { xAxis },\n xScale,\n yScale,\n innerHeight,\n y2Scale,\n colorScale,\n activeSerie,\n stackedData,\n setActiveSerie,\n } = useContext(ChartContext);\n\n const finalYScale = serie.scale === 'y2' ? y2Scale : yScale;\n\n const curveStyle = useMemo(\n () => curveStyleMap[serie.curveStyle] ?? curveStyleMap[LINE.CURVE_STYLE.LINEAR],\n [curveStyleMap, serie.curveStyle],\n );\n const areaD3 = useMemo(() => {\n const serieWithStackedValues = getStackedData(stackedData, serie);\n if (serieWithStackedValues) {\n return area()\n .x((_, i) => {\n return xScale(typeof serie.data[i]?.value === 'number' ? xAxis.cols[i] : serie.data[i]?.value?.x);\n })\n .y0(([y1]) => finalYScale(
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,YAAY,eAAe;AAC3C,SAAS,MAAM,YAAY;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,SAAS,MAAM,qBAAqB;AAE7B,MAAM,OAAO,CAAC,EAAE,MAAM,MAAM;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,MAAM;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,cAAc,MAAM,UAAU,OAAO,UAAU;AAErD,QAAM,aAAa;AAAA,IACjB,MAAM,cAAc,MAAM,eAAe,cAAc,KAAK,YAAY;AAAA,IACxE,CAAC,eAAe,MAAM,UAAU;AAAA,EAClC;AACA,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,aAAO,KAAK,EACT,EAAE,CAAC,GAAG,MAAM;AACX,eAAO,OAAO,OAAO,MAAM,KAAK,IAAI,UAAU,WAAW,MAAM,KAAK,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC;AAAA,MAClG,CAAC,EACA,GAAG,CAAC,CAAC,EAAE,MAAM,YAAY,EAAE,CAAC,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { area, line } from 'd3';\nimport { StyledArea } from '../styles';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData } from '../helpers';\nimport { Points } from './Points';\nimport { LINE, curveStyleMap } from '../../constants';\n\nexport const Area = ({ serie }) => {\n const {\n props: { xAxis },\n xScale,\n yScale,\n innerHeight,\n y2Scale,\n colorScale,\n activeSerie,\n stackedData,\n setActiveSerie,\n } = useContext(ChartContext);\n\n const finalYScale = serie.scale === 'y2' ? y2Scale : yScale;\n\n const curveStyle = useMemo(\n () => curveStyleMap[serie.curveStyle] ?? curveStyleMap[LINE.CURVE_STYLE.LINEAR],\n [curveStyleMap, serie.curveStyle],\n );\n const areaD3 = useMemo(() => {\n const serieWithStackedValues = getStackedData(stackedData, serie);\n if (serieWithStackedValues) {\n return area()\n .x((_, i) => {\n return xScale(typeof serie.data[i]?.value === 'number' ? xAxis.cols[i] : serie.data[i]?.value?.x);\n })\n .y0(([y1, y2]) => finalYScale(y2))\n .y1(([y1, y2]) => finalYScale(y1))\n .curve(curveStyle)(serieWithStackedValues);\n }\n return area()\n .x((d) => xScale(d.value.x ?? xAxis?.cols?.[d.position] ?? d.position))\n .y0(innerHeight)\n .y1((d) => finalYScale(d.value.y ?? d.value))\n .curve(curveStyle)(serie.data);\n }, [stackedData, serie, innerHeight, finalYScale, xScale, xAxis?.cols]);\n\n const lineD3 = useMemo(() => {\n const serieWithStackedValues = getStackedData(stackedData, serie);\n if (serieWithStackedValues) {\n return (\n line()\n .x((_, i) => {\n return xScale(typeof serie.data[i]?.value === 'number' ? xAxis.cols[i] : serie.data[i]?.value?.x);\n })\n // .y0(([y1]) => finalYScale(y1))\n .y(([, y2]) => finalYScale(y2))\n .curve(curveStyle)(serieWithStackedValues)\n );\n }\n return (\n line()\n .x((d) => xScale(d.value.x ?? xAxis?.cols?.[d.position] ?? d.position))\n // .y0(innerHeight)\n .y((d) => finalYScale(d.value.y ?? d.value))\n .curve(curveStyle)(serie.data)\n );\n }, [stackedData, serie, curveStyle, xScale, xAxis.cols, finalYScale]);\n\n const xTranslate = (xScale?.bandwidth?.() ?? 0) / 2;\n\n return (\n <g>\n <g transform={`translate(${xTranslate}, 0)`}>\n <Points serie={serie} />\n <path d={lineD3} fill=\"none\" strokeWidth={2} stroke={colorScale(serie.name)} />\n <StyledArea d={areaD3} isActiveArea={activeSerie === serie.key} fill={colorScale(serie.name)} />\n </g>\n </g>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,YAAY,eAAe;AAC3C,SAAS,MAAM,YAAY;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AACvB,SAAS,MAAM,qBAAqB;AAE7B,MAAM,OAAO,CAAC,EAAE,MAAM,MAAM;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,MAAM;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,cAAc,MAAM,UAAU,OAAO,UAAU;AAErD,QAAM,aAAa;AAAA,IACjB,MAAM,cAAc,MAAM,eAAe,cAAc,KAAK,YAAY;AAAA,IACxE,CAAC,eAAe,MAAM,UAAU;AAAA,EAClC;AACA,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,aAAO,KAAK,EACT,EAAE,CAAC,GAAG,MAAM;AACX,eAAO,OAAO,OAAO,MAAM,KAAK,IAAI,UAAU,WAAW,MAAM,KAAK,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC;AAAA,MAClG,CAAC,EACA,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,YAAY,EAAE,CAAC,EAChC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,YAAY,EAAE,CAAC,EAChC,MAAM,UAAU,EAAE,sBAAsB;AAAA,IAC7C;AACA,WAAO,KAAK,EACT,EAAE,CAAC,MAAM,OAAO,EAAE,MAAM,KAAK,OAAO,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EACrE,GAAG,WAAW,EACd,GAAG,CAAC,MAAM,YAAY,EAAE,MAAM,KAAK,EAAE,KAAK,CAAC,EAC3C,MAAM,UAAU,EAAE,MAAM,IAAI;AAAA,EACjC,GAAG,CAAC,aAAa,OAAO,aAAa,aAAa,QAAQ,OAAO,IAAI,CAAC;AAEtE,QAAM,SAAS,QAAQ,MAAM;AAC3B,UAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAI,wBAAwB;AAC1B,aACE,KAAK,EACF,EAAE,CAAC,GAAG,MAAM;AACX,eAAO,OAAO,OAAO,MAAM,KAAK,IAAI,UAAU,WAAW,MAAM,KAAK,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC;AAAA,MAClG,CAAC,EAEA,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,YAAY,EAAE,CAAC,EAC7B,MAAM,UAAU,EAAE,sBAAsB;AAAA,IAE/C;AACA,WACE,KAAK,EACF,EAAE,CAAC,MAAM,OAAO,EAAE,MAAM,KAAK,OAAO,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAErE,EAAE,CAAC,MAAM,YAAY,EAAE,MAAM,KAAK,EAAE,KAAK,CAAC,EAC1C,MAAM,UAAU,EAAE,MAAM,IAAI;AAAA,EAEnC,GAAG,CAAC,aAAa,OAAO,YAAY,QAAQ,MAAM,MAAM,WAAW,CAAC;AAEpE,QAAM,cAAc,QAAQ,YAAY,KAAK,KAAK;AAElD,SACE,oBAAC;AAAA,IACC,+BAAC;AAAA,MAAE,WAAW,aAAa;AAAA,MACzB;AAAA,4BAAC;AAAA,UAAO;AAAA,SAAc;AAAA,QACtB,oBAAC;AAAA,UAAK,GAAG;AAAA,UAAQ,MAAK;AAAA,UAAO,aAAa;AAAA,UAAG,QAAQ,WAAW,MAAM,IAAI;AAAA,SAAG;AAAA,QAC7E,oBAAC;AAAA,UAAW,GAAG;AAAA,UAAQ,cAAc,gBAAgB,MAAM;AAAA,UAAK,MAAM,WAAW,MAAM,IAAI;AAAA,SAAG;AAAA;AAAA,KAChG;AAAA,GACF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/series/Bars.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\nimport { ScaleBand } from 'd3';\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { DSChartT } from '../react-desc-prop-types';\n\nexport const Bars = ({ serie }) => {\n const {\n props: { yAxis, TooltipRenderer },\n innerHeight,\n xScale,\n yScale,\n y2Scale,\n subGroupScale,\n colorScale,\n getXValue,\n getYValue,\n chartId,\n } = useContext(ChartContext);\n const finalYScale = serie.scale === 'y2' ? y2Scale : yScale;\n\n const negativeSize = innerHeight - finalYScale(0);\n const positiveSize = innerHeight - negativeSize;\n\n return (\n <g fill={colorScale(serie.name)} clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serie.data.map((bar, i) => {\n const x = getXValue(bar);\n const y = getYValue(bar);\n\n const width = subGroupScale?.bandwidth();\n const height = y > 0 ? positiveSize - finalYScale(y) : finalYScale(y) - finalYScale(0);\n\n const transformX = subGroupScale(serie.name) + xScale(x);\n\n // @todo find a way to create bars with linear\n // scale here is something but conflict with bars like {x: 'Monday', y: 10}\n // const transformX = isHorizontal\n // ? 0\n // : subGroupScale(serie.name) + xScale(x) - (bar.value.x ? (width / 2) * subGroupScale.domain().length : 0);\n\n const transformY = y > 0 ? finalYScale(0) - height : finalYScale(0);\n\n return (\n <g id={`${serie.name}-rects`} key={bar.key} transform={`translate(${transformX},0)`}>\n <Rect\n name={serie.name}\n xValue={x}\n yValue={y}\n width={width}\n height={height}\n id={bar.key}\n y={transformY}\n isNegative={y < 0}\n />\n {/* {TooltipRenderer && (\n <FocusableRegion\n transform={`scale(1,-1) translate(0,${-height})`}\n y={-transformY}\n id={bar.key}\n width={width}\n height={height}\n content={<TooltipRenderer data={[{ name: serie.name, yValue: y, xValue: x }]} />}\n />\n )} */}\n </g>\n );\n })}\n </g>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAElC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAGtB,MAAM,OAAO,CAAC,EAAE,MAAM,MAAM;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO,gBAAgB;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAC3B,QAAM,cAAc,MAAM,UAAU,OAAO,UAAU;AAErD,QAAM,eAAe,cAAc,YAAY,CAAC;AAChD,QAAM,eAAe,cAAc;AAEnC,SACE,oBAAC;AAAA,IAAE,MAAM,WAAW,MAAM,IAAI;AAAA,IAAG,UAAU,wBAAwB;AAAA,IAChE,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,YAAM,IAAI,UAAU,GAAG;AACvB,YAAM,IAAI,UAAU,GAAG;AAEvB,YAAM,QAAQ,eAAe,UAAU;AACvC,YAAM,SAAS,IAAI,IAAI,eAAe,YAAY,CAAC,IAAI,YAAY,CAAC,IAAI,YAAY,CAAC;AAErF,YAAM,aAAa,cAAc,MAAM,IAAI,IAAI,OAAO,CAAC;AAQvD,YAAM,aAAa,IAAI,IAAI,YAAY,CAAC,IAAI,SAAS,YAAY,CAAC;AAElE,aACE,oBAAC;AAAA,QAAE,IAAI,GAAG,MAAM;AAAA,QAA4B,WAAW,aAAa;AAAA,QAClE,8BAAC;AAAA,UACC,MAAM,MAAM;AAAA,UACZ,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA,IAAI,IAAI;AAAA,UACR,GAAG;AAAA,UACH,YAAY,IAAI;AAAA,SAClB;AAAA,SAViC,IAAI,GAqBvC;AAAA,IAEJ,CAAC;AAAA,GACH;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,17 +4,7 @@ import { useContext, useMemo } from "react";
|
|
|
4
4
|
import { Rect } from "./Rect";
|
|
5
5
|
import { ChartContext } from "../ChartContext";
|
|
6
6
|
const HorizontalBars = ({ serie }) => {
|
|
7
|
-
const {
|
|
8
|
-
props: { yAxis },
|
|
9
|
-
xScale,
|
|
10
|
-
yScale,
|
|
11
|
-
y2Scale,
|
|
12
|
-
subGroupScale,
|
|
13
|
-
colorScale,
|
|
14
|
-
getXValue,
|
|
15
|
-
getYValue,
|
|
16
|
-
chartId
|
|
17
|
-
} = useContext(ChartContext);
|
|
7
|
+
const { xScale, yScale, y2Scale, subGroupScale, colorScale, getXValue, getYValue, chartId } = useContext(ChartContext);
|
|
18
8
|
const finalYScale = serie.scale === "y2" ? y2Scale : yScale;
|
|
19
9
|
return useMemo(
|
|
20
10
|
() => /* @__PURE__ */ jsx("g", {
|
|
@@ -25,10 +15,11 @@ const HorizontalBars = ({ serie }) => {
|
|
|
25
15
|
const y = getYValue(bar);
|
|
26
16
|
const width = xScale(x);
|
|
27
17
|
const height = subGroupScale?.bandwidth();
|
|
28
|
-
const transformY = subGroupScale(serie.name) + finalYScale(
|
|
18
|
+
const transformY = subGroupScale(serie.name) + finalYScale(y);
|
|
29
19
|
return /* @__PURE__ */ jsx("g", {
|
|
30
20
|
transform: `translate(0,${transformY})`,
|
|
31
21
|
children: /* @__PURE__ */ jsx(Rect, {
|
|
22
|
+
name: serie.name,
|
|
32
23
|
width,
|
|
33
24
|
height,
|
|
34
25
|
id: bar.key,
|
|
@@ -39,18 +30,7 @@ const HorizontalBars = ({ serie }) => {
|
|
|
39
30
|
}, bar.key);
|
|
40
31
|
})
|
|
41
32
|
}),
|
|
42
|
-
[
|
|
43
|
-
chartId,
|
|
44
|
-
colorScale,
|
|
45
|
-
finalYScale,
|
|
46
|
-
getXValue,
|
|
47
|
-
getYValue,
|
|
48
|
-
serie.data,
|
|
49
|
-
serie.name,
|
|
50
|
-
subGroupScale,
|
|
51
|
-
xScale,
|
|
52
|
-
yAxis?.cols
|
|
53
|
-
]
|
|
33
|
+
[chartId, colorScale, finalYScale, getXValue, getYValue, serie.data, serie.name, subGroupScale, xScale]
|
|
54
34
|
);
|
|
55
35
|
};
|
|
56
36
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/series/HorizontalBars.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext, useMemo } from 'react';\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { DSChartT } from '../react-desc-prop-types';\
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,YAAY,eAAe;AAC3C,SAAS,YAAY;AACrB,SAAS,oBAAoB;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext, useMemo } from 'react';\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { DSChartT } from '../react-desc-prop-types';\n\nexport const HorizontalBars = ({ serie }: DSChartT.SerieComponentT) => {\n const { xScale, yScale, y2Scale, subGroupScale, colorScale, getXValue, getYValue, chartId } =\n useContext(ChartContext);\n const finalYScale = serie.scale === 'y2' ? y2Scale : yScale;\n\n return useMemo(\n () => (\n <g fill={colorScale(serie.name)} clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serie.data.map((bar, i) => {\n const x = getXValue(bar);\n const y = getYValue(bar);\n\n const width = xScale(x);\n const height = subGroupScale?.bandwidth();\n\n const transformY = subGroupScale(serie.name) + finalYScale(y);\n\n return (\n <g key={bar.key} transform={`translate(0,${transformY})`}>\n <Rect name={serie.name} width={width} height={height} id={bar.key} x={0} xValue={x} yValue={y} />\n </g>\n );\n })}\n </g>\n ),\n [chartId, colorScale, finalYScale, getXValue, getYValue, serie.data, serie.name, subGroupScale, xScale],\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,YAAY,eAAe;AAC3C,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAGtB,MAAM,iBAAiB,CAAC,EAAE,MAAM,MAAgC;AACrE,QAAM,EAAE,QAAQ,QAAQ,SAAS,eAAe,YAAY,WAAW,WAAW,QAAQ,IACxF,WAAW,YAAY;AACzB,QAAM,cAAc,MAAM,UAAU,OAAO,UAAU;AAErD,SAAO;AAAA,IACL,MACE,oBAAC;AAAA,MAAE,MAAM,WAAW,MAAM,IAAI;AAAA,MAAG,UAAU,wBAAwB;AAAA,MAChE,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,cAAM,IAAI,UAAU,GAAG;AACvB,cAAM,IAAI,UAAU,GAAG;AAEvB,cAAM,QAAQ,OAAO,CAAC;AACtB,cAAM,SAAS,eAAe,UAAU;AAExC,cAAM,aAAa,cAAc,MAAM,IAAI,IAAI,YAAY,CAAC;AAE5D,eACE,oBAAC;AAAA,UAAgB,WAAW,eAAe;AAAA,UACzC,8BAAC;AAAA,YAAK,MAAM,MAAM;AAAA,YAAM;AAAA,YAAc;AAAA,YAAgB,IAAI,IAAI;AAAA,YAAK,GAAG;AAAA,YAAG,QAAQ;AAAA,YAAG,QAAQ;AAAA,WAAG;AAAA,WADzF,IAAI,GAEZ;AAAA,MAEJ,CAAC;AAAA,KACH;AAAA,IAEF,CAAC,SAAS,YAAY,aAAa,WAAW,WAAW,MAAM,MAAM,MAAM,MAAM,eAAe,MAAM;AAAA,EACxG;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -6,7 +6,7 @@ import { ChartContext } from "../ChartContext";
|
|
|
6
6
|
import { getStackedData, getStackedIndex } from "../helpers";
|
|
7
7
|
const HorizontalStackedBars = ({ serie }) => {
|
|
8
8
|
const {
|
|
9
|
-
props: {
|
|
9
|
+
props: { groups },
|
|
10
10
|
xScale,
|
|
11
11
|
yScale,
|
|
12
12
|
stackedData,
|
|
@@ -25,7 +25,7 @@ const HorizontalStackedBars = ({ serie }) => {
|
|
|
25
25
|
const width = xScale(sequence[1]) - xScale(sequence[0]) - (!isFloorStack ? 1 : 0);
|
|
26
26
|
const height = subGroupScale?.bandwidth();
|
|
27
27
|
const transformX = xScale(sequence[0]) + (!isFloorStack ? 1 : 0);
|
|
28
|
-
const transformY = subGroupScale(`stacked-data-${stackIndex}`) + yScale(
|
|
28
|
+
const transformY = subGroupScale(`stacked-data-${stackIndex}`) + yScale(yValue);
|
|
29
29
|
return /* @__PURE__ */ jsx("g", {
|
|
30
30
|
clipPath: `url(#rect-focus-ring-${chartId})`,
|
|
31
31
|
children: /* @__PURE__ */ jsx("g", {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/series/HorizontalStackedBars.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\n\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData, getStackedIndex } from '../helpers';\n\nexport const HorizontalStackedBars = ({ serie }) => {\n const {\n props: {
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAElC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB,uBAAuB;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\n\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData, getStackedIndex } from '../helpers';\nimport { DSChartT } from '../react-desc-prop-types';\n\nexport const HorizontalStackedBars = ({ serie }: DSChartT.SerieComponentT) => {\n const {\n props: { groups },\n xScale,\n yScale,\n stackedData,\n subGroupScale,\n colorScale,\n chartId,\n getYValue,\n } = useContext(ChartContext);\n const serieWithStackedValues = getStackedData(stackedData, serie);\n const stackIndex = getStackedIndex(groups, serie.name);\n return (\n <g>\n {serieWithStackedValues.map((sequence, i) => {\n const isFloorStack = sequence[0] === 0;\n const xValue = sequence[1] - sequence[0];\n const yValue = getYValue(serie.data[i]);\n\n const width = xScale(sequence[1]) - xScale(sequence[0]) - (!isFloorStack ? 1 : 0);\n\n const height = subGroupScale?.bandwidth();\n\n const transformX = xScale(sequence[0]) + (!isFloorStack ? 1 : 0);\n const transformY = subGroupScale(`stacked-data-${stackIndex}`) + yScale(yValue);\n\n return (\n <g key={serie.data[i].key} clipPath={`url(#rect-focus-ring-${chartId})`}>\n <g fill={colorScale(serie.name)} transform={`translate(0, ${transformY})`}>\n <Rect\n width={width}\n height={height}\n x={transformX}\n xValue={xValue}\n yValue={yValue}\n id={serie.data[i].key}\n name={serie.name}\n />\n </g>\n </g>\n );\n })}\n </g>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAElC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB,uBAAuB;AAGzC,MAAM,wBAAwB,CAAC,EAAE,MAAM,MAAgC;AAC5E,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAC3B,QAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAM,aAAa,gBAAgB,QAAQ,MAAM,IAAI;AACrD,SACE,oBAAC;AAAA,IACE,iCAAuB,IAAI,CAAC,UAAU,MAAM;AAC3C,YAAM,eAAe,SAAS,OAAO;AACrC,YAAM,SAAS,SAAS,KAAK,SAAS;AACtC,YAAM,SAAS,UAAU,MAAM,KAAK,EAAE;AAEtC,YAAM,QAAQ,OAAO,SAAS,EAAE,IAAI,OAAO,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI;AAE/E,YAAM,SAAS,eAAe,UAAU;AAExC,YAAM,aAAa,OAAO,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI;AAC9D,YAAM,aAAa,cAAc,gBAAgB,YAAY,IAAI,OAAO,MAAM;AAE9E,aACE,oBAAC;AAAA,QAA0B,UAAU,wBAAwB;AAAA,QAC3D,8BAAC;AAAA,UAAE,MAAM,WAAW,MAAM,IAAI;AAAA,UAAG,WAAW,gBAAgB;AAAA,UAC1D,8BAAC;AAAA,YACC;AAAA,YACA;AAAA,YACA,GAAG;AAAA,YACH;AAAA,YACA;AAAA,YACA,IAAI,MAAM,KAAK,GAAG;AAAA,YAClB,MAAM,MAAM;AAAA,WACd;AAAA,SACF;AAAA,SAXM,MAAM,KAAK,GAAG,GAYtB;AAAA,IAEJ,CAAC;AAAA,GACH;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -19,9 +19,10 @@ const StackedBar = ({ serie }) => {
|
|
|
19
19
|
const stackIndex = getStackedIndex(groups, serie.name);
|
|
20
20
|
return /* @__PURE__ */ jsx("g", {
|
|
21
21
|
clipPath: `url(#rect-focus-ring-${chartId})`,
|
|
22
|
-
children:
|
|
22
|
+
children: serie.data.map((bar, i) => {
|
|
23
|
+
const sequence = serieWithStackedValues[bar.position];
|
|
23
24
|
const isFloorStack = sequence[0] === 0;
|
|
24
|
-
const xValue = getXValue(
|
|
25
|
+
const xValue = getXValue(bar);
|
|
25
26
|
const yValue = sequence[0] - sequence[1];
|
|
26
27
|
const width = subGroupScale?.bandwidth();
|
|
27
28
|
const height = yScale(sequence[0]) - yScale(sequence[1]) - (!isFloorStack ? 1 : 0);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/graphs/Chart/series/StackedBar.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\n\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData, getStackedIndex } from '../helpers';\n\nexport const StackedBar = ({ serie }) => {\n const {\n props: { groups },\n xScale,\n yScale,\n stackedData,\n subGroupScale,\n colorScale,\n chartId,\n getXValue,\n } = useContext(ChartContext);\n\n const serieWithStackedValues = getStackedData(stackedData, serie);\n const stackIndex = getStackedIndex(groups, serie.name);\n return (\n <g clipPath={`url(#rect-focus-ring-${chartId})`}>\n {
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAElC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB,uBAAuB;AAEzC,MAAM,aAAa,CAAC,EAAE,MAAM,MAAM;AACvC,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAM,aAAa,gBAAgB,QAAQ,MAAM,IAAI;AACrD,SACE,oBAAC;AAAA,IAAE,UAAU,wBAAwB;AAAA,IAClC,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\n\nimport { Rect } from './Rect';\nimport { ChartContext } from '../ChartContext';\nimport { getStackedData, getStackedIndex } from '../helpers';\n\nexport const StackedBar = ({ serie }) => {\n const {\n props: { groups },\n xScale,\n yScale,\n stackedData,\n subGroupScale,\n colorScale,\n chartId,\n getXValue,\n } = useContext(ChartContext);\n\n const serieWithStackedValues = getStackedData(stackedData, serie);\n const stackIndex = getStackedIndex(groups, serie.name);\n return (\n <g clipPath={`url(#rect-focus-ring-${chartId})`}>\n {serie.data.map((bar, i) => {\n const sequence = serieWithStackedValues[bar.position];\n const isFloorStack = sequence[0] === 0;\n\n const xValue = getXValue(bar);\n const yValue = sequence[0] - sequence[1];\n const width = subGroupScale?.bandwidth();\n const height = yScale(sequence[0]) - yScale(sequence[1]) - (!isFloorStack ? 1 : 0);\n const transformX = xScale(xValue) + subGroupScale(`stacked-data-${stackIndex}`);\n const transformY = yScale(sequence[1]);\n\n return (\n <g key={serie.data[i].key} fill={colorScale(serie.name)} transform={`translate(${transformX},0)`}>\n <Rect\n width={width}\n height={height}\n xValue={xValue}\n yValue={yValue}\n y={transformY}\n id={serie.data[i].key}\n name={serie.name}\n />\n </g>\n );\n })}\n </g>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACAvB;AACA,SAAgB,kBAAkB;AAElC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB,uBAAuB;AAEzC,MAAM,aAAa,CAAC,EAAE,MAAM,MAAM;AACvC,QAAM;AAAA,IACJ,OAAO,EAAE,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,YAAY;AAE3B,QAAM,yBAAyB,eAAe,aAAa,KAAK;AAChE,QAAM,aAAa,gBAAgB,QAAQ,MAAM,IAAI;AACrD,SACE,oBAAC;AAAA,IAAE,UAAU,wBAAwB;AAAA,IAClC,gBAAM,KAAK,IAAI,CAAC,KAAK,MAAM;AAC1B,YAAM,WAAW,uBAAuB,IAAI;AAC5C,YAAM,eAAe,SAAS,OAAO;AAErC,YAAM,SAAS,UAAU,GAAG;AAC5B,YAAM,SAAS,SAAS,KAAK,SAAS;AACtC,YAAM,QAAQ,eAAe,UAAU;AACvC,YAAM,SAAS,OAAO,SAAS,EAAE,IAAI,OAAO,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI;AAChF,YAAM,aAAa,OAAO,MAAM,IAAI,cAAc,gBAAgB,YAAY;AAC9E,YAAM,aAAa,OAAO,SAAS,EAAE;AAErC,aACE,oBAAC;AAAA,QAA0B,MAAM,WAAW,MAAM,IAAI;AAAA,QAAG,WAAW,aAAa;AAAA,QAC/E,8BAAC;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,GAAG;AAAA,UACH,IAAI,MAAM,KAAK,GAAG;AAAA,UAClB,MAAM,MAAM;AAAA,SACd;AAAA,SATM,MAAM,KAAK,GAAG,GAUtB;AAAA,IAEJ,CAAC;AAAA,GACH;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|