@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.
Files changed (66) hide show
  1. package/dist/{esm/BaseChart → BaseChart}/BaseChart.js +1 -1
  2. package/dist/{types/index.d.ts → index.d.ts} +6 -4
  3. package/dist/{esm/index.js → index.js} +3 -2
  4. package/dist/{esm/providers → providers}/Provider.js +9 -5
  5. package/dist/{esm/utils → utils}/registerTheme.js +1 -1
  6. package/package.json +12 -12
  7. package/dist/cjs/BarChart/BarChart.cjs +0 -138
  8. package/dist/cjs/BaseChart/BaseChart.cjs +0 -77
  9. package/dist/cjs/Boxplot/Boxplot.cjs +0 -116
  10. package/dist/cjs/Boxplot/Boxplot.styles.cjs +0 -26
  11. package/dist/cjs/Boxplot/useBoxplot.cjs +0 -72
  12. package/dist/cjs/Boxplot/useBoxplotData.cjs +0 -40
  13. package/dist/cjs/ConfusionMatrix/ConfusionMatrix.cjs +0 -182
  14. package/dist/cjs/ConfusionMatrix/ConfusionMatrix.styles.cjs +0 -29
  15. package/dist/cjs/ConfusionMatrix/utils.cjs +0 -142
  16. package/dist/cjs/DonutChart/DonutChart.cjs +0 -111
  17. package/dist/cjs/Heatmap/Heatmap.cjs +0 -127
  18. package/dist/cjs/Heatmap/Heatmap.styles.cjs +0 -26
  19. package/dist/cjs/LineChart/LineChart.cjs +0 -136
  20. package/dist/cjs/ScatterPlot/ScatterPlot.cjs +0 -128
  21. package/dist/cjs/Treemap/Treemap.cjs +0 -72
  22. package/dist/cjs/hooks/tooltip/styles.cjs +0 -80
  23. package/dist/cjs/hooks/tooltip/useTooltip.cjs +0 -116
  24. package/dist/cjs/hooks/useData.cjs +0 -164
  25. package/dist/cjs/hooks/useDataZoom.cjs +0 -27
  26. package/dist/cjs/hooks/useDataset.cjs +0 -16
  27. package/dist/cjs/hooks/useGrid.cjs +0 -39
  28. package/dist/cjs/hooks/useLegend.cjs +0 -46
  29. package/dist/cjs/hooks/useOption.cjs +0 -20
  30. package/dist/cjs/hooks/useSeries.cjs +0 -119
  31. package/dist/cjs/hooks/useVisualMap.cjs +0 -57
  32. package/dist/cjs/hooks/useVizTheme.cjs +0 -8
  33. package/dist/cjs/hooks/useXAxis.cjs +0 -64
  34. package/dist/cjs/hooks/useYAxis.cjs +0 -58
  35. package/dist/cjs/index.cjs +0 -25
  36. package/dist/cjs/providers/Provider.cjs +0 -20
  37. package/dist/cjs/utils/index.cjs +0 -193
  38. package/dist/cjs/utils/registerTheme.cjs +0 -142
  39. package/dist/esm/hooks/useVizTheme.js +0 -8
  40. /package/dist/{esm/BarChart → BarChart}/BarChart.js +0 -0
  41. /package/dist/{esm/Boxplot → Boxplot}/Boxplot.js +0 -0
  42. /package/dist/{esm/Boxplot → Boxplot}/Boxplot.styles.js +0 -0
  43. /package/dist/{esm/Boxplot → Boxplot}/useBoxplot.js +0 -0
  44. /package/dist/{esm/Boxplot → Boxplot}/useBoxplotData.js +0 -0
  45. /package/dist/{esm/ConfusionMatrix → ConfusionMatrix}/ConfusionMatrix.js +0 -0
  46. /package/dist/{esm/ConfusionMatrix → ConfusionMatrix}/ConfusionMatrix.styles.js +0 -0
  47. /package/dist/{esm/ConfusionMatrix → ConfusionMatrix}/utils.js +0 -0
  48. /package/dist/{esm/DonutChart → DonutChart}/DonutChart.js +0 -0
  49. /package/dist/{esm/Heatmap → Heatmap}/Heatmap.js +0 -0
  50. /package/dist/{esm/Heatmap → Heatmap}/Heatmap.styles.js +0 -0
  51. /package/dist/{esm/LineChart → LineChart}/LineChart.js +0 -0
  52. /package/dist/{esm/ScatterPlot → ScatterPlot}/ScatterPlot.js +0 -0
  53. /package/dist/{esm/Treemap → Treemap}/Treemap.js +0 -0
  54. /package/dist/{esm/hooks → hooks}/tooltip/styles.js +0 -0
  55. /package/dist/{esm/hooks → hooks}/tooltip/useTooltip.js +0 -0
  56. /package/dist/{esm/hooks → hooks}/useData.js +0 -0
  57. /package/dist/{esm/hooks → hooks}/useDataZoom.js +0 -0
  58. /package/dist/{esm/hooks → hooks}/useDataset.js +0 -0
  59. /package/dist/{esm/hooks → hooks}/useGrid.js +0 -0
  60. /package/dist/{esm/hooks → hooks}/useLegend.js +0 -0
  61. /package/dist/{esm/hooks → hooks}/useOption.js +0 -0
  62. /package/dist/{esm/hooks → hooks}/useSeries.js +0 -0
  63. /package/dist/{esm/hooks → hooks}/useVisualMap.js +0 -0
  64. /package/dist/{esm/hooks → hooks}/useXAxis.js +0 -0
  65. /package/dist/{esm/hooks → hooks}/useYAxis.js +0 -0
  66. /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 "../hooks/useVizTheme.js";
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 HvBarChartMeasures = string | BarFullMeasure;
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<HvBarChartMeasures>;
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 HvLineChartMeasures = string | LineFullMeasure;
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<HvLineChartMeasures>;
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, selectedTheme } = useTheme();
9
+ const { activeTheme, selectedMode } = useTheme();
10
10
  const value = useMemo(() => {
11
- const themeName = `${selectedTheme}-${selectedMode}`;
11
+ const themeName = `${activeTheme?.name}-${selectedMode}`;
12
12
  registerTheme(themeName, selectedMode, activeTheme);
13
13
  return { theme: themeName, activeTheme };
14
- }, [selectedTheme, selectedMode, activeTheme]);
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.modes[mode];
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": "5.16.7",
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": "^5.16.14",
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": ">=17.0.0",
33
- "react-dom": ">=17.0.0"
33
+ "react": ">=18.0.0",
34
+ "react-dom": ">=18.0.0"
34
35
  },
35
36
  "dependencies": {
36
- "@hitachivantara/uikit-react-utils": "^0.2.46",
37
- "@hitachivantara/uikit-styles": "^5.51.1"
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": "7d60bff02f58ff47ae19146532553882c2e4b732",
47
+ "gitHead": "0b07240fb2ef75e046d8e6aaf0ff71bf2415c73f",
47
48
  "exports": {
48
49
  ".": {
49
- "types": "./dist/types/index.d.ts",
50
- "require": "./dist/cjs/index.cjs",
51
- "import": "./dist/esm/index.js"
50
+ "types": "./dist/index.d.ts",
51
+ "import": "./dist/index.js"
52
52
  }
53
53
  },
54
- "types": "dist/types/index.d.ts",
55
- "module": "dist/esm/index.js"
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;