@hitachivantara/uikit-react-viz 5.16.7 → 6.0.0-next.2
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/{esm/BaseChart → BaseChart}/BaseChart.js +1 -1
- package/dist/{types/index.d.ts → index.d.ts} +6 -4
- package/dist/{esm/index.js → index.js} +3 -2
- package/dist/{esm/providers → providers}/Provider.js +9 -5
- package/dist/{esm/utils → utils}/registerTheme.js +1 -1
- package/package.json +12 -12
- package/dist/cjs/BarChart/BarChart.cjs +0 -138
- package/dist/cjs/BaseChart/BaseChart.cjs +0 -77
- package/dist/cjs/Boxplot/Boxplot.cjs +0 -116
- package/dist/cjs/Boxplot/Boxplot.styles.cjs +0 -26
- package/dist/cjs/Boxplot/useBoxplot.cjs +0 -72
- package/dist/cjs/Boxplot/useBoxplotData.cjs +0 -40
- package/dist/cjs/ConfusionMatrix/ConfusionMatrix.cjs +0 -182
- package/dist/cjs/ConfusionMatrix/ConfusionMatrix.styles.cjs +0 -29
- package/dist/cjs/ConfusionMatrix/utils.cjs +0 -142
- package/dist/cjs/DonutChart/DonutChart.cjs +0 -111
- package/dist/cjs/Heatmap/Heatmap.cjs +0 -127
- package/dist/cjs/Heatmap/Heatmap.styles.cjs +0 -26
- package/dist/cjs/LineChart/LineChart.cjs +0 -136
- package/dist/cjs/ScatterPlot/ScatterPlot.cjs +0 -128
- package/dist/cjs/Treemap/Treemap.cjs +0 -72
- package/dist/cjs/hooks/tooltip/styles.cjs +0 -80
- package/dist/cjs/hooks/tooltip/useTooltip.cjs +0 -116
- package/dist/cjs/hooks/useData.cjs +0 -164
- package/dist/cjs/hooks/useDataZoom.cjs +0 -27
- package/dist/cjs/hooks/useDataset.cjs +0 -16
- package/dist/cjs/hooks/useGrid.cjs +0 -39
- package/dist/cjs/hooks/useLegend.cjs +0 -46
- package/dist/cjs/hooks/useOption.cjs +0 -20
- package/dist/cjs/hooks/useSeries.cjs +0 -119
- package/dist/cjs/hooks/useVisualMap.cjs +0 -57
- package/dist/cjs/hooks/useVizTheme.cjs +0 -8
- package/dist/cjs/hooks/useXAxis.cjs +0 -64
- package/dist/cjs/hooks/useYAxis.cjs +0 -58
- package/dist/cjs/index.cjs +0 -25
- package/dist/cjs/providers/Provider.cjs +0 -20
- package/dist/cjs/utils/index.cjs +0 -193
- package/dist/cjs/utils/registerTheme.cjs +0 -142
- package/dist/esm/hooks/useVizTheme.js +0 -8
- /package/dist/{esm/BarChart → BarChart}/BarChart.js +0 -0
- /package/dist/{esm/Boxplot → Boxplot}/Boxplot.js +0 -0
- /package/dist/{esm/Boxplot → Boxplot}/Boxplot.styles.js +0 -0
- /package/dist/{esm/Boxplot → Boxplot}/useBoxplot.js +0 -0
- /package/dist/{esm/Boxplot → Boxplot}/useBoxplotData.js +0 -0
- /package/dist/{esm/ConfusionMatrix → ConfusionMatrix}/ConfusionMatrix.js +0 -0
- /package/dist/{esm/ConfusionMatrix → ConfusionMatrix}/ConfusionMatrix.styles.js +0 -0
- /package/dist/{esm/ConfusionMatrix → ConfusionMatrix}/utils.js +0 -0
- /package/dist/{esm/DonutChart → DonutChart}/DonutChart.js +0 -0
- /package/dist/{esm/Heatmap → Heatmap}/Heatmap.js +0 -0
- /package/dist/{esm/Heatmap → Heatmap}/Heatmap.styles.js +0 -0
- /package/dist/{esm/LineChart → LineChart}/LineChart.js +0 -0
- /package/dist/{esm/ScatterPlot → ScatterPlot}/ScatterPlot.js +0 -0
- /package/dist/{esm/Treemap → Treemap}/Treemap.js +0 -0
- /package/dist/{esm/hooks → hooks}/tooltip/styles.js +0 -0
- /package/dist/{esm/hooks → hooks}/tooltip/useTooltip.js +0 -0
- /package/dist/{esm/hooks → hooks}/useData.js +0 -0
- /package/dist/{esm/hooks → hooks}/useDataZoom.js +0 -0
- /package/dist/{esm/hooks → hooks}/useDataset.js +0 -0
- /package/dist/{esm/hooks → hooks}/useGrid.js +0 -0
- /package/dist/{esm/hooks → hooks}/useLegend.js +0 -0
- /package/dist/{esm/hooks → hooks}/useOption.js +0 -0
- /package/dist/{esm/hooks → hooks}/useSeries.js +0 -0
- /package/dist/{esm/hooks → hooks}/useVisualMap.js +0 -0
- /package/dist/{esm/hooks → hooks}/useXAxis.js +0 -0
- /package/dist/{esm/hooks → hooks}/useYAxis.js +0 -0
- /package/dist/{esm/utils → utils}/index.js +0 -0
|
@@ -5,7 +5,7 @@ import ReactECharts from "echarts-for-react/lib/core";
|
|
|
5
5
|
import { AriaComponent } from "echarts/components";
|
|
6
6
|
import * as echarts from "echarts/core";
|
|
7
7
|
import { CanvasRenderer } from "echarts/renderers";
|
|
8
|
-
import { useVizTheme } from "../
|
|
8
|
+
import { useVizTheme } from "../providers/Provider.js";
|
|
9
9
|
echarts.use([CanvasRenderer, AriaComponent]);
|
|
10
10
|
const HvBaseChart = forwardRef(
|
|
11
11
|
function HvBaseChart2(props, ref) {
|
|
@@ -98,11 +98,11 @@ export declare const HvBarChart: ForwardRefExoticComponent<HvBarChartProps & Ref
|
|
|
98
98
|
export declare interface HvBarChartClasses extends HvChartTooltipClasses {
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
export declare type
|
|
101
|
+
export declare type HvBarChartMeasure = string | BarFullMeasure;
|
|
102
102
|
|
|
103
103
|
export declare interface HvBarChartProps extends HvAxisChartCommonProps, HvChartCommonProps {
|
|
104
104
|
/** Columns to measure on the chart. */
|
|
105
|
-
measures: Arrayable<
|
|
105
|
+
measures: Arrayable<HvBarChartMeasure>;
|
|
106
106
|
/** Whether the bar chart should be horizontal. Defaults to `false`. */
|
|
107
107
|
horizontal?: boolean;
|
|
108
108
|
/** A Jss Object used to override or extend the styles applied to the component. */
|
|
@@ -446,11 +446,11 @@ export declare const HvLineChart: ForwardRefExoticComponent<HvLineChartProps & R
|
|
|
446
446
|
export declare interface HvLineChartClasses extends HvChartTooltipClasses {
|
|
447
447
|
}
|
|
448
448
|
|
|
449
|
-
export declare type
|
|
449
|
+
export declare type HvLineChartMeasure = string | LineFullMeasure;
|
|
450
450
|
|
|
451
451
|
export declare interface HvLineChartProps extends HvAxisChartCommonProps, HvChartCommonProps {
|
|
452
452
|
/** Columns to measure on the chart. */
|
|
453
|
-
measures: Arrayable<
|
|
453
|
+
measures: Arrayable<HvLineChartMeasure>;
|
|
454
454
|
/** Strategy to use when there are empty cells. Defaults to `void`. */
|
|
455
455
|
emptyCellMode?: HvChartEmptyCellMode;
|
|
456
456
|
/** Whether the area under the lines should be filled. Defaults to `false`. */
|
|
@@ -611,6 +611,8 @@ declare const useClasses_4: (classesProp?: Partial<Record<"tooltipRoot" | "toolt
|
|
|
611
611
|
readonly cx: (...args: any) => string;
|
|
612
612
|
};
|
|
613
613
|
|
|
614
|
+
export declare const useVizTheme: () => HvVizContextValue;
|
|
615
|
+
|
|
614
616
|
declare interface XAxis extends HvChartXAxis {
|
|
615
617
|
data?: string[];
|
|
616
618
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HvVizContext, HvVizProvider } from "./providers/Provider.js";
|
|
1
|
+
import { HvVizContext, HvVizProvider, useVizTheme } from "./providers/Provider.js";
|
|
2
2
|
import { getHvArqueroCombinedFilters } from "./utils/index.js";
|
|
3
3
|
import { HvBaseChart } from "./BaseChart/BaseChart.js";
|
|
4
4
|
import { HvBarChart } from "./BarChart/BarChart.js";
|
|
@@ -21,5 +21,6 @@ export {
|
|
|
21
21
|
HvTreemapChart,
|
|
22
22
|
HvVizContext,
|
|
23
23
|
HvVizProvider,
|
|
24
|
-
getHvArqueroCombinedFilters
|
|
24
|
+
getHvArqueroCombinedFilters,
|
|
25
|
+
useVizTheme
|
|
25
26
|
};
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createContext, useMemo } from "react";
|
|
2
|
+
import { createContext, useMemo, useContext } from "react";
|
|
3
3
|
import { useTheme } from "@hitachivantara/uikit-react-utils";
|
|
4
4
|
import { registerTheme } from "../utils/registerTheme.js";
|
|
5
5
|
const HvVizContext = createContext({
|
|
6
6
|
theme: void 0
|
|
7
7
|
});
|
|
8
8
|
const HvVizProvider = ({ children }) => {
|
|
9
|
-
const { activeTheme, selectedMode
|
|
9
|
+
const { activeTheme, selectedMode } = useTheme();
|
|
10
10
|
const value = useMemo(() => {
|
|
11
|
-
const themeName = `${
|
|
11
|
+
const themeName = `${activeTheme?.name}-${selectedMode}`;
|
|
12
12
|
registerTheme(themeName, selectedMode, activeTheme);
|
|
13
13
|
return { theme: themeName, activeTheme };
|
|
14
|
-
}, [
|
|
14
|
+
}, [selectedMode, activeTheme]);
|
|
15
15
|
return /* @__PURE__ */ jsx(HvVizContext.Provider, { value, children });
|
|
16
16
|
};
|
|
17
|
+
const useVizTheme = () => {
|
|
18
|
+
return useContext(HvVizContext);
|
|
19
|
+
};
|
|
17
20
|
export {
|
|
18
21
|
HvVizContext,
|
|
19
|
-
HvVizProvider
|
|
22
|
+
HvVizProvider,
|
|
23
|
+
useVizTheme
|
|
20
24
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as echarts from "echarts/core";
|
|
2
2
|
const registerTheme = (themeName, mode, themeStructure) => {
|
|
3
|
-
const colors = themeStructure?.colors
|
|
3
|
+
const colors = themeStructure?.colors[mode];
|
|
4
4
|
if (!colors) return;
|
|
5
5
|
const baseText = {
|
|
6
6
|
color: colors?.text,
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/uikit-react-viz",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-next.2",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"private": false,
|
|
5
6
|
"author": "Hitachi Vantara UI Kit Team",
|
|
6
7
|
"description": "Contributed React visualization components for the NEXT UI Kit.",
|
|
@@ -25,16 +26,16 @@
|
|
|
25
26
|
"peerDependencies": {
|
|
26
27
|
"@emotion/react": "^11.11.1",
|
|
27
28
|
"@emotion/styled": "^11.11.0",
|
|
28
|
-
"@mui/material": "^
|
|
29
|
+
"@mui/material": "^7.0.2",
|
|
29
30
|
"arquero": "^5.2.0",
|
|
30
31
|
"echarts": "^5.4.2",
|
|
31
32
|
"echarts-for-react": "^3.0.2",
|
|
32
|
-
"react": ">=
|
|
33
|
-
"react-dom": ">=
|
|
33
|
+
"react": ">=18.0.0",
|
|
34
|
+
"react-dom": ">=18.0.0"
|
|
34
35
|
},
|
|
35
36
|
"dependencies": {
|
|
36
|
-
"@hitachivantara/uikit-react-utils": "^0.2
|
|
37
|
-
"@hitachivantara/uikit-styles": "^
|
|
37
|
+
"@hitachivantara/uikit-react-utils": "^6.0.0-next.2",
|
|
38
|
+
"@hitachivantara/uikit-styles": "^6.0.0-next.2"
|
|
38
39
|
},
|
|
39
40
|
"files": [
|
|
40
41
|
"dist"
|
|
@@ -43,14 +44,13 @@
|
|
|
43
44
|
"access": "public",
|
|
44
45
|
"directory": "package"
|
|
45
46
|
},
|
|
46
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "0b07240fb2ef75e046d8e6aaf0ff71bf2415c73f",
|
|
47
48
|
"exports": {
|
|
48
49
|
".": {
|
|
49
|
-
"types": "./dist/
|
|
50
|
-
"
|
|
51
|
-
"import": "./dist/esm/index.js"
|
|
50
|
+
"types": "./dist/index.d.ts",
|
|
51
|
+
"import": "./dist/index.js"
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
|
-
"types": "dist/
|
|
55
|
-
"module": "dist/
|
|
54
|
+
"types": "dist/index.d.ts",
|
|
55
|
+
"module": "dist/index.js"
|
|
56
56
|
}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const react = require("react");
|
|
5
|
-
const charts = require("echarts/charts");
|
|
6
|
-
const components = require("echarts/components");
|
|
7
|
-
const echarts = require("echarts/core");
|
|
8
|
-
const useData = require("../hooks/useData.cjs");
|
|
9
|
-
const useDataset = require("../hooks/useDataset.cjs");
|
|
10
|
-
const useYAxis = require("../hooks/useYAxis.cjs");
|
|
11
|
-
const useXAxis = require("../hooks/useXAxis.cjs");
|
|
12
|
-
const useDataZoom = require("../hooks/useDataZoom.cjs");
|
|
13
|
-
const useGrid = require("../hooks/useGrid.cjs");
|
|
14
|
-
const useSeries = require("../hooks/useSeries.cjs");
|
|
15
|
-
const useLegend = require("../hooks/useLegend.cjs");
|
|
16
|
-
const useTooltip = require("../hooks/tooltip/useTooltip.cjs");
|
|
17
|
-
const useOption = require("../hooks/useOption.cjs");
|
|
18
|
-
const BaseChart = require("../BaseChart/BaseChart.cjs");
|
|
19
|
-
function _interopNamespace(e) {
|
|
20
|
-
if (e && e.__esModule) return e;
|
|
21
|
-
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
22
|
-
if (e) {
|
|
23
|
-
for (const k in e) {
|
|
24
|
-
if (k !== "default") {
|
|
25
|
-
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
26
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
27
|
-
enumerable: true,
|
|
28
|
-
get: () => e[k]
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
n.default = e;
|
|
34
|
-
return Object.freeze(n);
|
|
35
|
-
}
|
|
36
|
-
const echarts__namespace = /* @__PURE__ */ _interopNamespace(echarts);
|
|
37
|
-
echarts__namespace.use([
|
|
38
|
-
charts.BarChart,
|
|
39
|
-
components.DatasetComponent,
|
|
40
|
-
components.GridComponent,
|
|
41
|
-
components.TooltipComponent,
|
|
42
|
-
components.LegendComponent,
|
|
43
|
-
components.DataZoomSliderComponent,
|
|
44
|
-
components.DataZoomInsideComponent,
|
|
45
|
-
components.MarkLineComponent
|
|
46
|
-
]);
|
|
47
|
-
const HvBarChart = react.forwardRef(
|
|
48
|
-
function HvBarChart2(props, ref) {
|
|
49
|
-
const {
|
|
50
|
-
yAxis,
|
|
51
|
-
xAxis,
|
|
52
|
-
horizontal = false,
|
|
53
|
-
horizontalRangeSlider,
|
|
54
|
-
grid,
|
|
55
|
-
data,
|
|
56
|
-
groupBy,
|
|
57
|
-
splitBy,
|
|
58
|
-
sortBy,
|
|
59
|
-
filters,
|
|
60
|
-
stack,
|
|
61
|
-
seriesNameFormatter,
|
|
62
|
-
measures,
|
|
63
|
-
legend,
|
|
64
|
-
tooltip,
|
|
65
|
-
classes,
|
|
66
|
-
height,
|
|
67
|
-
width,
|
|
68
|
-
onOptionChange,
|
|
69
|
-
...others
|
|
70
|
-
} = props;
|
|
71
|
-
const { data: chartData, mapping: measuresMapping } = useData.useData({
|
|
72
|
-
data,
|
|
73
|
-
groupBy,
|
|
74
|
-
sortBy,
|
|
75
|
-
splitBy,
|
|
76
|
-
measures,
|
|
77
|
-
filters
|
|
78
|
-
});
|
|
79
|
-
const chartDataset = useDataset.useDataset(chartData);
|
|
80
|
-
const chartYAxis = useYAxis.useYAxis({
|
|
81
|
-
axes: Array.isArray(yAxis) || yAxis == null ? yAxis : [yAxis],
|
|
82
|
-
defaultType: horizontal ? "categorical" : "continuous"
|
|
83
|
-
});
|
|
84
|
-
const chartXAxis = useXAxis.useXAxis({
|
|
85
|
-
type: horizontal ? "continuous" : "categorical",
|
|
86
|
-
...xAxis
|
|
87
|
-
});
|
|
88
|
-
const chartSlider = useDataZoom.useDataZoom({
|
|
89
|
-
showHorizontal: horizontalRangeSlider?.show
|
|
90
|
-
});
|
|
91
|
-
const chartGrid = useGrid.useGrid({ ...grid });
|
|
92
|
-
const chartSeries = useSeries.useSeries({
|
|
93
|
-
type: "bar",
|
|
94
|
-
data: chartData,
|
|
95
|
-
groupBy,
|
|
96
|
-
measuresMapping,
|
|
97
|
-
stack,
|
|
98
|
-
nameFormatter: seriesNameFormatter,
|
|
99
|
-
horizontal
|
|
100
|
-
});
|
|
101
|
-
const chartLegend = useLegend.useLegend({
|
|
102
|
-
...legend,
|
|
103
|
-
series: chartSeries.series,
|
|
104
|
-
icon: "square"
|
|
105
|
-
});
|
|
106
|
-
const chartTooltip = useTooltip.useTooltip({
|
|
107
|
-
...tooltip,
|
|
108
|
-
trigger: "axis",
|
|
109
|
-
measuresMapping,
|
|
110
|
-
classes,
|
|
111
|
-
horizontal
|
|
112
|
-
});
|
|
113
|
-
const option = useOption.useOption({
|
|
114
|
-
option: {
|
|
115
|
-
...chartYAxis,
|
|
116
|
-
...chartXAxis,
|
|
117
|
-
...chartSlider,
|
|
118
|
-
...chartGrid,
|
|
119
|
-
...chartDataset,
|
|
120
|
-
...chartSeries,
|
|
121
|
-
...chartLegend,
|
|
122
|
-
...chartTooltip
|
|
123
|
-
},
|
|
124
|
-
onOptionChange
|
|
125
|
-
});
|
|
126
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
127
|
-
BaseChart.HvBaseChart,
|
|
128
|
-
{
|
|
129
|
-
ref,
|
|
130
|
-
option,
|
|
131
|
-
width,
|
|
132
|
-
height,
|
|
133
|
-
...others
|
|
134
|
-
}
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
);
|
|
138
|
-
exports.HvBarChart = HvBarChart;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const react = require("react");
|
|
5
|
-
const utils = require("@mui/material/utils");
|
|
6
|
-
const ReactECharts = require("echarts-for-react/lib/core");
|
|
7
|
-
const components = require("echarts/components");
|
|
8
|
-
const echarts = require("echarts/core");
|
|
9
|
-
const renderers = require("echarts/renderers");
|
|
10
|
-
const useVizTheme = require("../hooks/useVizTheme.cjs");
|
|
11
|
-
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
12
|
-
function _interopNamespace(e) {
|
|
13
|
-
if (e && e.__esModule) return e;
|
|
14
|
-
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
15
|
-
if (e) {
|
|
16
|
-
for (const k in e) {
|
|
17
|
-
if (k !== "default") {
|
|
18
|
-
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
19
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
get: () => e[k]
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
n.default = e;
|
|
27
|
-
return Object.freeze(n);
|
|
28
|
-
}
|
|
29
|
-
const ReactECharts__default = /* @__PURE__ */ _interopDefault(ReactECharts);
|
|
30
|
-
const echarts__namespace = /* @__PURE__ */ _interopNamespace(echarts);
|
|
31
|
-
echarts__namespace.use([renderers.CanvasRenderer, components.AriaComponent]);
|
|
32
|
-
const HvBaseChart = react.forwardRef(
|
|
33
|
-
function HvBaseChart2(props, ref) {
|
|
34
|
-
const { option, width, height, onEvents, ...others } = props;
|
|
35
|
-
const { theme, activeTheme } = useVizTheme.useVizTheme();
|
|
36
|
-
const currentTheme = react.useRef(theme);
|
|
37
|
-
const chartRef = react.useRef(null);
|
|
38
|
-
const forkedRef = utils.useForkRef(ref, chartRef);
|
|
39
|
-
const [initialOption, setInitialOption] = react.useState(option);
|
|
40
|
-
react.useEffect(() => {
|
|
41
|
-
const instance = chartRef.current?.getEchartsInstance();
|
|
42
|
-
if (!instance) return;
|
|
43
|
-
return () => {
|
|
44
|
-
instance.dispose();
|
|
45
|
-
};
|
|
46
|
-
}, [activeTheme]);
|
|
47
|
-
react.useEffect(() => {
|
|
48
|
-
if (theme !== currentTheme.current) {
|
|
49
|
-
setInitialOption(option);
|
|
50
|
-
currentTheme.current = theme;
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const instance = chartRef.current?.getEchartsInstance();
|
|
54
|
-
if (!instance) return;
|
|
55
|
-
instance.setOption(option, {
|
|
56
|
-
replaceMerge: ["xAxis", "yAxis", "series", "dataset", "dataZoom"]
|
|
57
|
-
});
|
|
58
|
-
}, [theme, option]);
|
|
59
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
60
|
-
ReactECharts__default.default,
|
|
61
|
-
{
|
|
62
|
-
ref: forkedRef,
|
|
63
|
-
echarts: echarts__namespace,
|
|
64
|
-
option: initialOption,
|
|
65
|
-
theme,
|
|
66
|
-
notMerge: true,
|
|
67
|
-
style: {
|
|
68
|
-
width: width ?? "100%",
|
|
69
|
-
height: height ?? "100%"
|
|
70
|
-
},
|
|
71
|
-
onEvents,
|
|
72
|
-
...others
|
|
73
|
-
}
|
|
74
|
-
);
|
|
75
|
-
}
|
|
76
|
-
);
|
|
77
|
-
exports.HvBaseChart = HvBaseChart;
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const react = require("react");
|
|
5
|
-
const charts = require("echarts/charts");
|
|
6
|
-
const components = require("echarts/components");
|
|
7
|
-
const echarts = require("echarts/core");
|
|
8
|
-
const Boxplot_styles = require("./Boxplot.styles.cjs");
|
|
9
|
-
const useBoxplot = require("./useBoxplot.cjs");
|
|
10
|
-
const useTooltip = require("../hooks/tooltip/useTooltip.cjs");
|
|
11
|
-
const useGrid = require("../hooks/useGrid.cjs");
|
|
12
|
-
const useLegend = require("../hooks/useLegend.cjs");
|
|
13
|
-
const useXAxis = require("../hooks/useXAxis.cjs");
|
|
14
|
-
const useYAxis = require("../hooks/useYAxis.cjs");
|
|
15
|
-
const useOption = require("../hooks/useOption.cjs");
|
|
16
|
-
const BaseChart = require("../BaseChart/BaseChart.cjs");
|
|
17
|
-
function _interopNamespace(e) {
|
|
18
|
-
if (e && e.__esModule) return e;
|
|
19
|
-
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
20
|
-
if (e) {
|
|
21
|
-
for (const k in e) {
|
|
22
|
-
if (k !== "default") {
|
|
23
|
-
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
24
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: () => e[k]
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
n.default = e;
|
|
32
|
-
return Object.freeze(n);
|
|
33
|
-
}
|
|
34
|
-
const echarts__namespace = /* @__PURE__ */ _interopNamespace(echarts);
|
|
35
|
-
echarts__namespace.use([charts.BoxplotChart, components.TooltipComponent, components.VisualMapComponent]);
|
|
36
|
-
const HvBoxplot = react.forwardRef(
|
|
37
|
-
function HvBoxplot2(props, ref) {
|
|
38
|
-
const {
|
|
39
|
-
name,
|
|
40
|
-
data,
|
|
41
|
-
xAxis,
|
|
42
|
-
yAxis,
|
|
43
|
-
grid,
|
|
44
|
-
legend,
|
|
45
|
-
measures,
|
|
46
|
-
groupBy,
|
|
47
|
-
tooltip,
|
|
48
|
-
width,
|
|
49
|
-
height,
|
|
50
|
-
filters,
|
|
51
|
-
classes: classesProp,
|
|
52
|
-
onOptionChange,
|
|
53
|
-
...others
|
|
54
|
-
} = props;
|
|
55
|
-
const { classes } = Boxplot_styles.useClasses(classesProp);
|
|
56
|
-
const chartTooltip = useTooltip.useTooltip({
|
|
57
|
-
component: (params) => {
|
|
58
|
-
const title = params?.title;
|
|
59
|
-
const upper = params?.value?.[5];
|
|
60
|
-
const q3 = params?.value?.[4];
|
|
61
|
-
const median = params?.value?.[3];
|
|
62
|
-
const q1 = params?.value?.[2];
|
|
63
|
-
const lower = params?.value?.[1];
|
|
64
|
-
return `
|
|
65
|
-
<div class="${classes.tooltipRoot}">
|
|
66
|
-
<div class="${classes.tooltipContainer}">
|
|
67
|
-
<div>
|
|
68
|
-
<p class="${classes.tooltipText}">${title}</p>
|
|
69
|
-
<p class="${classes.tooltipText}">Upper: ${upper}</p>
|
|
70
|
-
<p class="${classes.tooltipText}">Q3: ${q3}</p>
|
|
71
|
-
<p class="${classes.tooltipText}">Median: ${median}</p>
|
|
72
|
-
<p class="${classes.tooltipText}">Q1: ${q1}</p>
|
|
73
|
-
<p class="${classes.tooltipText}">Lower: ${lower}</p>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
</div>`;
|
|
77
|
-
},
|
|
78
|
-
...tooltip
|
|
79
|
-
});
|
|
80
|
-
const chartGrid = useGrid.useGrid({ ...grid });
|
|
81
|
-
const chartLegend = useLegend.useLegend({
|
|
82
|
-
...legend,
|
|
83
|
-
icon: "square"
|
|
84
|
-
});
|
|
85
|
-
const chartXAxis = useXAxis.useXAxis({
|
|
86
|
-
...xAxis
|
|
87
|
-
});
|
|
88
|
-
const chartYAxis = useYAxis.useYAxis({
|
|
89
|
-
axes: Array.isArray(yAxis) || yAxis == null ? yAxis : [yAxis],
|
|
90
|
-
defaultType: "continuous",
|
|
91
|
-
...yAxis
|
|
92
|
-
});
|
|
93
|
-
const chartBoxplot = useBoxplot.useBoxplot({ data, groupBy, measures, filters });
|
|
94
|
-
const chartOption = useOption.useOption({
|
|
95
|
-
option: {
|
|
96
|
-
...chartBoxplot,
|
|
97
|
-
...chartGrid,
|
|
98
|
-
...chartLegend,
|
|
99
|
-
...chartTooltip,
|
|
100
|
-
...chartXAxis,
|
|
101
|
-
...chartYAxis
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
105
|
-
BaseChart.HvBaseChart,
|
|
106
|
-
{
|
|
107
|
-
ref,
|
|
108
|
-
option: chartOption,
|
|
109
|
-
width,
|
|
110
|
-
height,
|
|
111
|
-
...others
|
|
112
|
-
}
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
);
|
|
116
|
-
exports.HvBoxplot = HvBoxplot;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
|
|
4
|
-
const uikitStyles = require("@hitachivantara/uikit-styles");
|
|
5
|
-
const { useClasses, staticClasses } = uikitReactUtils.createClasses("HvBoxplot", {
|
|
6
|
-
tooltipRoot: {
|
|
7
|
-
backgroundColor: uikitStyles.theme.colors.bgContainer,
|
|
8
|
-
width: "fit-content",
|
|
9
|
-
minWidth: 150,
|
|
10
|
-
boxShadow: uikitStyles.theme.colors.shadow,
|
|
11
|
-
zIndex: uikitStyles.theme.zIndices.sticky
|
|
12
|
-
},
|
|
13
|
-
tooltipContainer: {
|
|
14
|
-
padding: uikitStyles.theme.spacing("15px", "sm"),
|
|
15
|
-
display: "flex",
|
|
16
|
-
flexDirection: "column"
|
|
17
|
-
},
|
|
18
|
-
tooltipText: {
|
|
19
|
-
fontFamily: uikitStyles.theme.fontFamily.body,
|
|
20
|
-
fontWeight: uikitStyles.theme.fontWeights.normal,
|
|
21
|
-
fontSize: uikitStyles.theme.fontSizes.sm,
|
|
22
|
-
color: uikitStyles.theme.colors.text
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
exports.staticClasses = staticClasses;
|
|
26
|
-
exports.useClasses = useClasses;
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const react = require("react");
|
|
4
|
-
const useBoxplotData = require("./useBoxplotData.cjs");
|
|
5
|
-
const useBoxplot = ({
|
|
6
|
-
data,
|
|
7
|
-
groupBy,
|
|
8
|
-
measures,
|
|
9
|
-
filters
|
|
10
|
-
}) => {
|
|
11
|
-
const measuresFields = react.useMemo(() => {
|
|
12
|
-
if (measures == null) return {};
|
|
13
|
-
if (typeof measures === "string") return { [measures]: void 0 };
|
|
14
|
-
if (Array.isArray(measures)) {
|
|
15
|
-
return measures.reduce(
|
|
16
|
-
(acc, value) => {
|
|
17
|
-
const field = typeof value === "string" ? value : value.field;
|
|
18
|
-
acc[field] = typeof value === "string" ? void 0 : value.yAxis;
|
|
19
|
-
return acc;
|
|
20
|
-
},
|
|
21
|
-
{}
|
|
22
|
-
);
|
|
23
|
-
}
|
|
24
|
-
return { [measures.field]: measures.yAxis };
|
|
25
|
-
}, [measures]);
|
|
26
|
-
const chartData = useBoxplotData.useBoxplotData({
|
|
27
|
-
data,
|
|
28
|
-
groupBy,
|
|
29
|
-
measures: measuresFields,
|
|
30
|
-
filters
|
|
31
|
-
});
|
|
32
|
-
const boxplotData = react.useMemo(() => {
|
|
33
|
-
const setData = {};
|
|
34
|
-
Object.keys(measuresFields).forEach((m) => {
|
|
35
|
-
setData[m] = [];
|
|
36
|
-
Object.keys(chartData).forEach((key) => {
|
|
37
|
-
setData[m].push(chartData[key][m]);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
const sources = [];
|
|
41
|
-
const transforms = [];
|
|
42
|
-
const series = [];
|
|
43
|
-
Object.keys(measuresFields).forEach((m, index) => {
|
|
44
|
-
sources.push({
|
|
45
|
-
source: setData[m],
|
|
46
|
-
id: m
|
|
47
|
-
});
|
|
48
|
-
transforms.push({
|
|
49
|
-
fromDatasetId: m,
|
|
50
|
-
transform: {
|
|
51
|
-
type: "boxplot",
|
|
52
|
-
config: {
|
|
53
|
-
itemNameFormatter: (params) => Object.keys(chartData)[params.value]
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
series.push({
|
|
58
|
-
name: m,
|
|
59
|
-
type: "boxplot",
|
|
60
|
-
datasetIndex: Object.keys(measuresFields).length + index,
|
|
61
|
-
yAxisId: measuresFields[m]
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
const datasets = {
|
|
65
|
-
dataset: [...sources, ...transforms],
|
|
66
|
-
series
|
|
67
|
-
};
|
|
68
|
-
return datasets;
|
|
69
|
-
}, [chartData, measuresFields]);
|
|
70
|
-
return boxplotData;
|
|
71
|
-
};
|
|
72
|
-
exports.useBoxplot = useBoxplot;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const react = require("react");
|
|
4
|
-
const arquero = require("arquero");
|
|
5
|
-
const index = require("../utils/index.cjs");
|
|
6
|
-
const useBoxplotData = ({
|
|
7
|
-
data,
|
|
8
|
-
groupBy: groupByProp,
|
|
9
|
-
measures,
|
|
10
|
-
filters: filtersProp
|
|
11
|
-
}) => {
|
|
12
|
-
const chartData = react.useMemo(() => {
|
|
13
|
-
const { data: processedData } = index.processTableData(data);
|
|
14
|
-
let tableData = processedData;
|
|
15
|
-
if (filtersProp) {
|
|
16
|
-
const filters = (Array.isArray(filtersProp) ? filtersProp : [filtersProp]).map((filter) => ({
|
|
17
|
-
...filter,
|
|
18
|
-
field: index.normalizeColumnName(filter.field)
|
|
19
|
-
// normalize
|
|
20
|
-
}));
|
|
21
|
-
tableData = tableData.filter(
|
|
22
|
-
arquero.escape((row) => index.getHvArqueroCombinedFilters(row, filters))
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
const normalizedGroupBy = index.normalizeColumnName(groupByProp || "");
|
|
26
|
-
const uniqueGroupBy = new Set(
|
|
27
|
-
tableData.array(normalizedGroupBy)
|
|
28
|
-
);
|
|
29
|
-
const results = {};
|
|
30
|
-
uniqueGroupBy.forEach((group) => {
|
|
31
|
-
results[group] = {};
|
|
32
|
-
Object.keys(measures).forEach((measure) => {
|
|
33
|
-
results[group][measure] = tableData.params({ group, groupBy: normalizedGroupBy }).filter((d, $) => d[$.groupBy] === $.group).array(index.normalizeColumnName(measure));
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
return results;
|
|
37
|
-
}, [data, filtersProp, groupByProp, measures]);
|
|
38
|
-
return chartData;
|
|
39
|
-
};
|
|
40
|
-
exports.useBoxplotData = useBoxplotData;
|