@hitachivantara/uikit-react-viz 5.13.8 → 5.13.9

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 (38) hide show
  1. package/dist/cjs/BarChart/BarChart.cjs +1 -1
  2. package/dist/cjs/BaseChart/BaseChart.cjs +1 -1
  3. package/dist/cjs/Boxplot/Boxplot.cjs +1 -1
  4. package/dist/cjs/Boxplot/useBoxplot.cjs +3 -10
  5. package/dist/cjs/ConfusionMatrix/ConfusionMatrix.cjs +1 -1
  6. package/dist/cjs/DonutChart/DonutChart.cjs +1 -1
  7. package/dist/cjs/Heatmap/Heatmap.cjs +1 -1
  8. package/dist/cjs/LineChart/LineChart.cjs +1 -1
  9. package/dist/cjs/ScatterPlot/ScatterPlot.cjs +1 -1
  10. package/dist/cjs/Treemap/Treemap.cjs +1 -1
  11. package/dist/cjs/hooks/useData.cjs +6 -12
  12. package/dist/cjs/hooks/useDataset.cjs +5 -9
  13. package/dist/cjs/hooks/useXAxis.cjs +2 -4
  14. package/dist/cjs/hooks/useYAxis.cjs +2 -4
  15. package/dist/cjs/providers/Provider.cjs +1 -1
  16. package/dist/esm/BarChart/BarChart.js +1 -1
  17. package/dist/esm/BaseChart/BaseChart.js +1 -1
  18. package/dist/esm/Boxplot/Boxplot.js +1 -1
  19. package/dist/esm/Boxplot/useBoxplot.js +3 -10
  20. package/dist/esm/Boxplot/useBoxplot.js.map +1 -1
  21. package/dist/esm/ConfusionMatrix/ConfusionMatrix.js +1 -1
  22. package/dist/esm/DonutChart/DonutChart.js +1 -1
  23. package/dist/esm/Heatmap/Heatmap.js +1 -1
  24. package/dist/esm/LineChart/LineChart.js +1 -1
  25. package/dist/esm/ScatterPlot/ScatterPlot.js +1 -1
  26. package/dist/esm/Treemap/Treemap.js +1 -1
  27. package/dist/esm/hooks/tooltip/useTooltip.js.map +1 -1
  28. package/dist/esm/hooks/useData.js +6 -12
  29. package/dist/esm/hooks/useData.js.map +1 -1
  30. package/dist/esm/hooks/useDataset.js +5 -9
  31. package/dist/esm/hooks/useDataset.js.map +1 -1
  32. package/dist/esm/hooks/useXAxis.js +2 -4
  33. package/dist/esm/hooks/useXAxis.js.map +1 -1
  34. package/dist/esm/hooks/useYAxis.js +2 -4
  35. package/dist/esm/hooks/useYAxis.js.map +1 -1
  36. package/dist/esm/providers/Provider.js +1 -1
  37. package/dist/types/index.d.ts +1 -1
  38. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
3
+ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const charts = require("echarts/charts");
6
6
  const components = require("echarts/components");
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
3
+ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const utils = require("@mui/material/utils");
6
6
  const ReactECharts = require("echarts-for-react/lib/core");
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
3
+ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const charts = require("echarts/charts");
6
6
  const components = require("echarts/components");
@@ -16,16 +16,9 @@ const useBoxplot = ({
16
16
  if (Array.isArray(measures)) {
17
17
  return measures.reduce(
18
18
  (acc, value) => {
19
- let field;
20
- if (typeof value === "string") {
21
- field = value;
22
- } else {
23
- field = value.field;
24
- }
25
- return {
26
- ...acc,
27
- [field]: typeof value === "string" ? void 0 : value.yAxis
28
- };
19
+ const field = typeof value === "string" ? value : value.field;
20
+ acc[field] = typeof value === "string" ? void 0 : value.yAxis;
21
+ return acc;
29
22
  },
30
23
  {}
31
24
  );
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
3
+ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const charts = require("echarts/charts");
6
6
  const components = require("echarts/components");
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
3
+ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const charts = require("echarts/charts");
6
6
  const components = require("echarts/components");
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
3
+ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const charts = require("echarts/charts");
6
6
  const components = require("echarts/components");
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
3
+ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const charts = require("echarts/charts");
6
6
  const components = require("echarts/components");
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
3
+ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const charts = require("echarts/charts");
6
6
  const components = require("echarts/components");
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
3
+ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const charts = require("echarts/charts");
6
6
  const components = require("echarts/components");
@@ -59,10 +59,8 @@ const useData = ({
59
59
  columnName = appendAgg ? `${field}_${value.agg}` : field;
60
60
  }
61
61
  measuresFields.push(field);
62
- return {
63
- ...acc,
64
- [columnName]: getAgFunc(agFunction, field)
65
- };
62
+ acc[columnName] = getAgFunc(agFunction, field);
63
+ return acc;
66
64
  },
67
65
  {}
68
66
  );
@@ -91,10 +89,8 @@ const useData = ({
91
89
  field = index.normalizeColumnName(value.field);
92
90
  orderFunction = value.order ?? "asc";
93
91
  }
94
- return {
95
- ...acc,
96
- [field]: orderFunction
97
- };
92
+ acc[field] = orderFunction;
93
+ return acc;
98
94
  },
99
95
  {}
100
96
  );
@@ -108,10 +104,8 @@ const useData = ({
108
104
  (acc, curr) => {
109
105
  const normalizedMeasure = index.normalizeColumnName(curr);
110
106
  const normalizedDelta = index.normalizeColumnName(delta);
111
- return {
112
- ...acc,
113
- [normalizedMeasure]: `d => d.${normalizedMeasure} - d.${normalizedDelta}`
114
- };
107
+ acc[normalizedMeasure] = `d => d.${normalizedMeasure} - d.${normalizedDelta}`;
108
+ return acc;
115
109
  },
116
110
  {}
117
111
  );
@@ -2,19 +2,15 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const react = require("react");
4
4
  const useDataset = (data) => {
5
- const option = react.useMemo(() => {
5
+ return react.useMemo(() => {
6
6
  return {
7
7
  dataset: {
8
- source: data.columnNames().reduce(
9
- (acc, c) => ({
10
- ...acc,
11
- [c]: data.array(c)
12
- }),
13
- {}
14
- )
8
+ source: data.columnNames().reduce((acc, c) => {
9
+ acc[c] = data.array(c);
10
+ return acc;
11
+ }, {})
15
12
  }
16
13
  };
17
14
  }, [data]);
18
- return option;
19
15
  };
20
16
  exports.useDataset = useDataset;
@@ -20,10 +20,8 @@ const useXAxis = ({
20
20
  const option = react.useMemo(() => {
21
21
  const nameStyleKeys = nameProps ? Object.keys(nameProps).filter((key) => key !== "location") : void 0;
22
22
  const nameStyle = nameProps && nameStyleKeys ? nameStyleKeys.reduce((acc, curr) => {
23
- return {
24
- ...acc,
25
- [curr]: curr === "color" ? colors?.[nameProps[curr]] || nameProps[curr] : nameProps[curr]
26
- };
23
+ acc[curr] = curr === "color" && colors?.[nameProps[curr]] || nameProps[curr];
24
+ return acc;
27
25
  }, {}) : void 0;
28
26
  return {
29
27
  xAxis: {
@@ -23,10 +23,8 @@ const useYAxis = ({
23
23
  }) => {
24
24
  const nameStyleKeys = nameProps ? Object.keys(nameProps).filter((key) => key !== "location") : void 0;
25
25
  const nameStyle = nameProps && nameStyleKeys ? nameStyleKeys.reduce((acc, curr) => {
26
- return {
27
- ...acc,
28
- [curr]: curr === "color" ? colors?.[nameProps[curr]] || nameProps[curr] : nameProps[curr]
29
- };
26
+ acc[curr] = curr === "color" && colors?.[nameProps[curr]] || nameProps[curr];
27
+ return acc;
30
28
  }, {}) : void 0;
31
29
  return {
32
30
  id,
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
3
+ const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const uikitReactCore = require("@hitachivantara/uikit-react-core");
6
6
  const registerTheme = require("../utils/registerTheme.cjs");
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { BarChart } from "echarts/charts";
4
4
  import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent, DataZoomSliderComponent, DataZoomInsideComponent, MarkLineComponent } from "echarts/components";
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef, useRef, useState, useEffect } from "react";
3
3
  import { useForkRef } from "@mui/material/utils";
4
4
  import ReactECharts from "echarts-for-react/lib/core";
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { BoxplotChart } from "echarts/charts";
4
4
  import { TooltipComponent, VisualMapComponent } from "echarts/components";
@@ -14,16 +14,9 @@ const useBoxplot = ({
14
14
  if (Array.isArray(measures)) {
15
15
  return measures.reduce(
16
16
  (acc, value) => {
17
- let field;
18
- if (typeof value === "string") {
19
- field = value;
20
- } else {
21
- field = value.field;
22
- }
23
- return {
24
- ...acc,
25
- [field]: typeof value === "string" ? void 0 : value.yAxis
26
- };
17
+ const field = typeof value === "string" ? value : value.field;
18
+ acc[field] = typeof value === "string" ? void 0 : value.yAxis;
19
+ return acc;
27
20
  },
28
21
  {}
29
22
  );
@@ -1 +1 @@
1
- {"version":3,"file":"useBoxplot.js","sources":["../../../src/Boxplot/useBoxplot.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { Arrayable } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvBoxplotMeasure, HvChartData, HvChartFilter } from \"../types\";\nimport { useBoxplotData } from \"./useBoxplotData\";\n\ninterface HvDataHookProps {\n data: HvChartData;\n groupBy?: string;\n measures: Arrayable<HvBoxplotMeasure>;\n filters?: Arrayable<HvChartFilter>;\n}\n\nexport const useBoxplot = ({\n data,\n groupBy,\n measures,\n filters,\n}: HvDataHookProps) => {\n const measuresFields = useMemo(() => {\n if (measures == null) return {};\n if (typeof measures === \"string\") return { [measures]: undefined };\n if (Array.isArray(measures)) {\n return measures.reduce<{ [key: string]: string | undefined }>(\n (acc, value) => {\n let field: string | undefined;\n if (typeof value === \"string\") {\n field = value;\n } else {\n field = value.field;\n }\n return {\n ...acc,\n [field]: typeof value === \"string\" ? undefined : value.yAxis,\n };\n },\n {},\n );\n }\n return { [measures.field]: measures.yAxis };\n }, [measures]);\n\n const chartData = useBoxplotData({\n data,\n groupBy,\n measures: measuresFields,\n filters,\n });\n\n const boxplotData = useMemo(() => {\n const setData = {};\n Object.keys(measuresFields).forEach((m) => {\n setData[m] = [];\n Object.keys(chartData).forEach((key) => {\n setData[m].push(chartData[key][m]);\n });\n });\n\n const sources: any[] = [];\n const transforms: any[] = [];\n const series: any[] = [];\n\n Object.keys(measuresFields).forEach((m, index) => {\n sources.push({\n source: setData[m],\n id: m,\n });\n transforms.push({\n fromDatasetId: m,\n transform: {\n type: \"boxplot\",\n config: {\n itemNameFormatter: (params) => Object.keys(chartData)[params.value],\n },\n },\n });\n series.push({\n name: m,\n type: \"boxplot\",\n datasetIndex: Object.keys(measuresFields).length + index,\n yAxisId: measuresFields[m],\n });\n });\n\n const datasets = {\n dataset: [...sources, ...transforms],\n series,\n };\n\n return datasets;\n }, [chartData, measuresFields]);\n\n return boxplotData;\n};\n"],"names":[],"mappings":";;AAaO,MAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAuB;AACf,QAAA,iBAAiB,QAAQ,MAAM;AACnC,QAAI,YAAY;AAAM,aAAO;AAC7B,QAAI,OAAO,aAAa;AAAU,aAAO,EAAE,CAAC,QAAQ,GAAG;AACnD,QAAA,MAAM,QAAQ,QAAQ,GAAG;AAC3B,aAAO,SAAS;AAAA,QACd,CAAC,KAAK,UAAU;AACV,cAAA;AACA,cAAA,OAAO,UAAU,UAAU;AACrB,oBAAA;AAAA,UAAA,OACH;AACL,oBAAQ,MAAM;AAAA,UAChB;AACO,iBAAA;AAAA,YACL,GAAG;AAAA,YACH,CAAC,KAAK,GAAG,OAAO,UAAU,WAAW,SAAY,MAAM;AAAA,UAAA;AAAA,QAE3D;AAAA,QACA,CAAC;AAAA,MAAA;AAAA,IAEL;AACA,WAAO,EAAE,CAAC,SAAS,KAAK,GAAG,SAAS,MAAM;AAAA,EAAA,GACzC,CAAC,QAAQ,CAAC;AAEb,QAAM,YAAY,eAAe;AAAA,IAC/B;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,EAAA,CACD;AAEK,QAAA,cAAc,QAAQ,MAAM;AAChC,UAAM,UAAU,CAAA;AAChB,WAAO,KAAK,cAAc,EAAE,QAAQ,CAAC,MAAM;AACjC,cAAA,CAAC,IAAI;AACb,aAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,QAAQ;AACtC,gBAAQ,CAAC,EAAE,KAAK,UAAU,GAAG,EAAE,CAAC,CAAC;AAAA,MAAA,CAClC;AAAA,IAAA,CACF;AAED,UAAM,UAAiB,CAAA;AACvB,UAAM,aAAoB,CAAA;AAC1B,UAAM,SAAgB,CAAA;AAEtB,WAAO,KAAK,cAAc,EAAE,QAAQ,CAAC,GAAG,UAAU;AAChD,cAAQ,KAAK;AAAA,QACX,QAAQ,QAAQ,CAAC;AAAA,QACjB,IAAI;AAAA,MAAA,CACL;AACD,iBAAW,KAAK;AAAA,QACd,eAAe;AAAA,QACf,WAAW;AAAA,UACT,MAAM;AAAA,UACN,QAAQ;AAAA,YACN,mBAAmB,CAAC,WAAW,OAAO,KAAK,SAAS,EAAE,OAAO,KAAK;AAAA,UACpE;AAAA,QACF;AAAA,MAAA,CACD;AACD,aAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,QACN,cAAc,OAAO,KAAK,cAAc,EAAE,SAAS;AAAA,QACnD,SAAS,eAAe,CAAC;AAAA,MAAA,CAC1B;AAAA,IAAA,CACF;AAED,UAAM,WAAW;AAAA,MACf,SAAS,CAAC,GAAG,SAAS,GAAG,UAAU;AAAA,MACnC;AAAA,IAAA;AAGK,WAAA;AAAA,EAAA,GACN,CAAC,WAAW,cAAc,CAAC;AAEvB,SAAA;AACT;"}
1
+ {"version":3,"file":"useBoxplot.js","sources":["../../../src/Boxplot/useBoxplot.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { Arrayable } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvBoxplotMeasure, HvChartData, HvChartFilter } from \"../types\";\nimport { useBoxplotData } from \"./useBoxplotData\";\n\ninterface HvDataHookProps {\n data: HvChartData;\n groupBy?: string;\n measures: Arrayable<HvBoxplotMeasure>;\n filters?: Arrayable<HvChartFilter>;\n}\n\nexport const useBoxplot = ({\n data,\n groupBy,\n measures,\n filters,\n}: HvDataHookProps) => {\n const measuresFields = useMemo(() => {\n if (measures == null) return {};\n if (typeof measures === \"string\") return { [measures]: undefined };\n if (Array.isArray(measures)) {\n return measures.reduce<{ [key: string]: string | undefined }>(\n (acc, value) => {\n const field = typeof value === \"string\" ? value : value.field;\n acc[field] = typeof value === \"string\" ? undefined : value.yAxis;\n return acc;\n },\n {},\n );\n }\n return { [measures.field]: measures.yAxis };\n }, [measures]);\n\n const chartData = useBoxplotData({\n data,\n groupBy,\n measures: measuresFields,\n filters,\n });\n\n const boxplotData = useMemo(() => {\n const setData = {};\n Object.keys(measuresFields).forEach((m) => {\n setData[m] = [];\n Object.keys(chartData).forEach((key) => {\n setData[m].push(chartData[key][m]);\n });\n });\n\n const sources: any[] = [];\n const transforms: any[] = [];\n const series: any[] = [];\n\n Object.keys(measuresFields).forEach((m, index) => {\n sources.push({\n source: setData[m],\n id: m,\n });\n transforms.push({\n fromDatasetId: m,\n transform: {\n type: \"boxplot\",\n config: {\n itemNameFormatter: (params) => Object.keys(chartData)[params.value],\n },\n },\n });\n series.push({\n name: m,\n type: \"boxplot\",\n datasetIndex: Object.keys(measuresFields).length + index,\n yAxisId: measuresFields[m],\n });\n });\n\n const datasets = {\n dataset: [...sources, ...transforms],\n series,\n };\n\n return datasets;\n }, [chartData, measuresFields]);\n\n return boxplotData;\n};\n"],"names":[],"mappings":";;AAaO,MAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAuB;AACf,QAAA,iBAAiB,QAAQ,MAAM;AACnC,QAAI,YAAY;AAAM,aAAO;AAC7B,QAAI,OAAO,aAAa;AAAU,aAAO,EAAE,CAAC,QAAQ,GAAG;AACnD,QAAA,MAAM,QAAQ,QAAQ,GAAG;AAC3B,aAAO,SAAS;AAAA,QACd,CAAC,KAAK,UAAU;AACd,gBAAM,QAAQ,OAAO,UAAU,WAAW,QAAQ,MAAM;AACxD,cAAI,KAAK,IAAI,OAAO,UAAU,WAAW,SAAY,MAAM;AACpD,iBAAA;AAAA,QACT;AAAA,QACA,CAAC;AAAA,MAAA;AAAA,IAEL;AACA,WAAO,EAAE,CAAC,SAAS,KAAK,GAAG,SAAS,MAAM;AAAA,EAAA,GACzC,CAAC,QAAQ,CAAC;AAEb,QAAM,YAAY,eAAe;AAAA,IAC/B;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,EAAA,CACD;AAEK,QAAA,cAAc,QAAQ,MAAM;AAChC,UAAM,UAAU,CAAA;AAChB,WAAO,KAAK,cAAc,EAAE,QAAQ,CAAC,MAAM;AACjC,cAAA,CAAC,IAAI;AACb,aAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,QAAQ;AACtC,gBAAQ,CAAC,EAAE,KAAK,UAAU,GAAG,EAAE,CAAC,CAAC;AAAA,MAAA,CAClC;AAAA,IAAA,CACF;AAED,UAAM,UAAiB,CAAA;AACvB,UAAM,aAAoB,CAAA;AAC1B,UAAM,SAAgB,CAAA;AAEtB,WAAO,KAAK,cAAc,EAAE,QAAQ,CAAC,GAAG,UAAU;AAChD,cAAQ,KAAK;AAAA,QACX,QAAQ,QAAQ,CAAC;AAAA,QACjB,IAAI;AAAA,MAAA,CACL;AACD,iBAAW,KAAK;AAAA,QACd,eAAe;AAAA,QACf,WAAW;AAAA,UACT,MAAM;AAAA,UACN,QAAQ;AAAA,YACN,mBAAmB,CAAC,WAAW,OAAO,KAAK,SAAS,EAAE,OAAO,KAAK;AAAA,UACpE;AAAA,QACF;AAAA,MAAA,CACD;AACD,aAAO,KAAK;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,QACN,cAAc,OAAO,KAAK,cAAc,EAAE,SAAS;AAAA,QACnD,SAAS,eAAe,CAAC;AAAA,MAAA,CAC1B;AAAA,IAAA,CACF;AAED,UAAM,WAAW;AAAA,MACf,SAAS,CAAC,GAAG,SAAS,GAAG,UAAU;AAAA,MACnC;AAAA,IAAA;AAGK,WAAA;AAAA,EAAA,GACN,CAAC,WAAW,cAAc,CAAC;AAEvB,SAAA;AACT;"}
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef, useMemo } from "react";
3
3
  import { HeatmapChart } from "echarts/charts";
4
4
  import { VisualMapComponent, GridComponent, TooltipComponent } from "echarts/components";
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { PieChart } from "echarts/charts";
4
4
  import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent } from "echarts/components";
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { HeatmapChart } from "echarts/charts";
4
4
  import { TooltipComponent, VisualMapComponent } from "echarts/components";
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { LineChart } from "echarts/charts";
4
4
  import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent, DataZoomSliderComponent, DataZoomInsideComponent, MarkLineComponent } from "echarts/components";
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { ScatterChart } from "echarts/charts";
4
4
  import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent, DataZoomSliderComponent, DataZoomInsideComponent, MarkLineComponent } from "echarts/components";
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { TreemapChart } from "echarts/charts";
4
4
  import { TooltipComponent } from "echarts/components";
@@ -1 +1 @@
1
- {"version":3,"file":"useTooltip.js","sources":["../../../../src/hooks/tooltip/useTooltip.tsx"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { ExtractNames } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvChartTooltip, HvChartTooltipParams } from \"../../types\";\nimport { HvEChartsOption } from \"../../types/common\";\nimport { getMeasure, SingleMeasure } from \"../../utils\";\nimport { useClasses } from \"./styles\";\n\nexport type HvChartTooltipClasses = ExtractNames<typeof useClasses>;\n\n/** Echarts doesn't seem to have the type for the tooltip params */\ninterface EChartsTooltipParams {\n seriesName: string;\n value: (string | number)[];\n encode: { [key: string]: number[] };\n color: string;\n dimensionNames: string[];\n name: string;\n seriesType: string;\n}\n\ninterface HvTooltipHookProps {\n measuresMapping?: Record<string, SingleMeasure>;\n trigger?: \"item\" | \"axis\";\n classes?: HvChartTooltipClasses;\n horizontal?: boolean;\n show?: HvChartTooltip[\"show\"];\n type?: HvChartTooltip[\"type\"];\n component?: HvChartTooltip[\"component\"];\n valueFormatter?: HvChartTooltip[\"valueFormatter\"];\n titleFormatter?: HvChartTooltip[\"titleFormatter\"];\n nameFormatter?: (value?: string) => string;\n}\n\nexport const useTooltip = ({\n measuresMapping = {},\n classes,\n component,\n show = true,\n horizontal = false,\n trigger = \"item\",\n type = \"multiple\",\n valueFormatter,\n titleFormatter,\n nameFormatter,\n}: HvTooltipHookProps) => {\n const { classes: hvClasses } = useClasses(classes);\n\n const renderTooltip = useCallback(\n (params: EChartsTooltipParams[]) => {\n const title =\n params[0].seriesType === \"treemap\" ||\n params[0].seriesType === \"heatmap\" ||\n params[0].seriesType === \"boxplot\"\n ? params[0].name\n : params[0].seriesType === \"pie\"\n ? params[0].seriesName\n : horizontal\n ? params[0].value[params[0].encode.y[0]]\n : params[0].value[params[0].encode.x[0]];\n\n const formattedTitle = titleFormatter ? titleFormatter(title) : title;\n\n if (type === \"single\") {\n const measure = getMeasure(\n params[0].seriesType === \"pie\" ||\n params[0].seriesType === \"treemap\" ||\n params[0].seriesType === \"heatmap\" ||\n params[0].seriesType === \"boxplot\"\n ? params[0].name\n : horizontal\n ? params[0].dimensionNames[params[0].encode.x[0]]\n : params[0].dimensionNames[params[0].encode.y[0]],\n measuresMapping,\n );\n\n const value =\n params[0].seriesType === \"pie\" ||\n params[0].seriesType === \"treemap\" ||\n params[0].seriesType === \"heatmap\"\n ? params[0].value[params[0].encode.value[0]]\n : horizontal\n ? params[0].value[params[0].encode.x[0]]\n : params[0].value[params[0].encode.y[0]];\n\n const formattedValue =\n measure && typeof measure !== \"string\" && measure.valueFormatter\n ? measure.valueFormatter(value)\n : valueFormatter\n ? valueFormatter(value)\n : value;\n\n return `\n <div class=\"${hvClasses?.singleTooltipRoot}\">\n <p class=\"${hvClasses?.singleTooltipTitle}\">${formattedTitle}</p>\n <p class=\"${hvClasses?.singleTooltipValue}\">${formattedValue}</p>\n </div>\n `;\n }\n\n return `\n <div class=\"${hvClasses?.multipleTooltipRoot}\">\n <div class=\"${hvClasses?.multipleTooltipTitleContainer}\">\n <div>\n <p class=\"${\n hvClasses?.multipleTooltipTitle\n }\">${formattedTitle}</p>\n </div>\n </div>\n <div class=\"${hvClasses?.multipleTooltipValuesContainer}\">\n ${params\n .map((s) => {\n const measure = getMeasure(\n s.seriesType === \"pie\"\n ? s.name\n : horizontal\n ? s.dimensionNames[s.encode.x[0]]\n : s.dimensionNames[s.encode.y[0]],\n measuresMapping,\n );\n\n const value =\n s.seriesType === \"pie\"\n ? s.value[s.encode.value[0]]\n : horizontal\n ? s.value[s.encode.x[0]]\n : s.value[s.encode.y[0]];\n\n const formattedValue =\n typeof measure !== \"string\" && measure?.valueFormatter\n ? measure.valueFormatter(value)\n : valueFormatter\n ? valueFormatter(value)\n : value;\n\n const name = s.seriesType === \"pie\" ? s.name : s.seriesName;\n\n const formattedName = nameFormatter\n ? nameFormatter(name)\n : name;\n\n return `\n <div key=\"${s.seriesName}\" class=\"${hvClasses?.multipleTooltipSeriesContainer}\">\n <div class=\"${hvClasses?.multipleTooltipSeriesNameContainer}\">\n <p style=\"background-color: ${s.color};\" class=\"${hvClasses?.multipleTooltipSeriesColor}\" />\n <p class=\"${hvClasses?.multipleTooltipSeriesName}\">${formattedName}</p>\n </div>\n <p class=\"${hvClasses?.multipleTooltipSeriesValue}\">${formattedValue}</p>\n </div>\n `;\n })\n .join(\" \")}\n </div>\n </div>\n `;\n },\n [\n hvClasses,\n horizontal,\n type,\n measuresMapping,\n nameFormatter,\n titleFormatter,\n valueFormatter,\n ],\n );\n\n const renderCustomTooltip = useCallback(\n (params: EChartsTooltipParams[]) => {\n if (typeof component === \"function\") {\n const values: HvChartTooltipParams = {\n title:\n params[0].seriesType === \"boxplot\"\n ? params[0].name\n : params[0].seriesType === \"pie\" ||\n params[0].seriesType === \"treemap\" ||\n params[0].seriesType === \"heatmap\"\n ? params[0].seriesName\n : horizontal\n ? params[0].value[params[0].encode.y[0]]\n : params[0].value[params[0].encode.x[0]],\n series: params.map((p) => {\n return {\n color: p.color,\n name:\n p.seriesType === \"heatmap\"\n ? String(p.value[p.encode.y[0]])\n : p.seriesType === \"pie\" || p.seriesType === \"treemap\"\n ? p.name\n : p.seriesName,\n value:\n p.seriesType === \"pie\" ||\n p.seriesType === \"treemap\" ||\n p.seriesType === \"heatmap\"\n ? p.value[p.encode.value[0]]\n : horizontal\n ? p.value[p.encode.x[0]]\n : p.value[p.encode.y[0]],\n };\n }),\n value: params[0].value,\n };\n\n return component(values);\n }\n\n return component;\n },\n [component, horizontal],\n );\n\n const option = useMemo<Pick<HvEChartsOption, \"tooltip\">>(() => {\n return {\n tooltip: {\n confine: false,\n show,\n trigger,\n position: (point, params, dom, rect, size) => {\n return [point[0], point[1] - size.contentSize[1]];\n },\n formatter: (params) => {\n const tooltipParams = Array.isArray(params) ? params : [params];\n\n return component\n ? renderCustomTooltip(tooltipParams)\n : renderTooltip(tooltipParams);\n },\n },\n };\n }, [trigger, component, show, renderTooltip, renderCustomTooltip]);\n\n return option;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTooltip.js","sources":["../../../../src/hooks/tooltip/useTooltip.tsx"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { ExtractNames } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvChartTooltip, HvChartTooltipParams } from \"../../types\";\nimport { HvEChartsOption } from \"../../types/common\";\nimport { getMeasure, SingleMeasure } from \"../../utils\";\nimport { useClasses } from \"./styles\";\n\nexport type HvChartTooltipClasses = ExtractNames<typeof useClasses>;\n\n/** Echarts doesn't seem to have the type for the tooltip params */\ninterface EChartsTooltipParams {\n seriesName: string;\n value: (string | number)[];\n encode: { [key: string]: number[] };\n color: string;\n dimensionNames: string[];\n name: string;\n seriesType: string;\n}\n\ninterface HvTooltipHookProps {\n measuresMapping?: Record<string, SingleMeasure>;\n trigger?: \"item\" | \"axis\";\n classes?: HvChartTooltipClasses;\n horizontal?: boolean;\n show?: HvChartTooltip[\"show\"];\n type?: HvChartTooltip[\"type\"];\n component?: HvChartTooltip[\"component\"];\n valueFormatter?: HvChartTooltip[\"valueFormatter\"];\n titleFormatter?: HvChartTooltip[\"titleFormatter\"];\n nameFormatter?: (value?: string) => string;\n}\n\nexport const useTooltip = ({\n measuresMapping = {},\n classes,\n component,\n show = true,\n horizontal = false,\n trigger = \"item\",\n type = \"multiple\",\n valueFormatter,\n titleFormatter,\n nameFormatter,\n}: HvTooltipHookProps) => {\n const { classes: hvClasses } = useClasses(classes);\n\n const renderTooltip = useCallback(\n (params: EChartsTooltipParams[]) => {\n const title =\n params[0].seriesType === \"treemap\" ||\n params[0].seriesType === \"heatmap\" ||\n params[0].seriesType === \"boxplot\"\n ? params[0].name\n : params[0].seriesType === \"pie\"\n ? params[0].seriesName\n : horizontal\n ? params[0].value[params[0].encode.y[0]]\n : params[0].value[params[0].encode.x[0]];\n\n const formattedTitle = titleFormatter ? titleFormatter(title) : title;\n\n if (type === \"single\") {\n const measure = getMeasure(\n params[0].seriesType === \"pie\" ||\n params[0].seriesType === \"treemap\" ||\n params[0].seriesType === \"heatmap\" ||\n params[0].seriesType === \"boxplot\"\n ? params[0].name\n : horizontal\n ? params[0].dimensionNames[params[0].encode.x[0]]\n : params[0].dimensionNames[params[0].encode.y[0]],\n measuresMapping,\n );\n\n const value =\n params[0].seriesType === \"pie\" ||\n params[0].seriesType === \"treemap\" ||\n params[0].seriesType === \"heatmap\"\n ? params[0].value[params[0].encode.value[0]]\n : horizontal\n ? params[0].value[params[0].encode.x[0]]\n : params[0].value[params[0].encode.y[0]];\n\n const formattedValue =\n measure && typeof measure !== \"string\" && measure.valueFormatter\n ? measure.valueFormatter(value)\n : valueFormatter\n ? valueFormatter(value)\n : value;\n\n return `\n <div class=\"${hvClasses?.singleTooltipRoot}\">\n <p class=\"${hvClasses?.singleTooltipTitle}\">${formattedTitle}</p>\n <p class=\"${hvClasses?.singleTooltipValue}\">${formattedValue}</p>\n </div>\n `;\n }\n\n return `\n <div class=\"${hvClasses?.multipleTooltipRoot}\">\n <div class=\"${hvClasses?.multipleTooltipTitleContainer}\">\n <div>\n <p class=\"${hvClasses?.multipleTooltipTitle}\">${formattedTitle}</p>\n </div>\n </div>\n <div class=\"${hvClasses?.multipleTooltipValuesContainer}\">\n ${params\n .map((s) => {\n const measure = getMeasure(\n s.seriesType === \"pie\"\n ? s.name\n : horizontal\n ? s.dimensionNames[s.encode.x[0]]\n : s.dimensionNames[s.encode.y[0]],\n measuresMapping,\n );\n\n const value =\n s.seriesType === \"pie\"\n ? s.value[s.encode.value[0]]\n : horizontal\n ? s.value[s.encode.x[0]]\n : s.value[s.encode.y[0]];\n\n const formattedValue =\n typeof measure !== \"string\" && measure?.valueFormatter\n ? measure.valueFormatter(value)\n : valueFormatter\n ? valueFormatter(value)\n : value;\n\n const name = s.seriesType === \"pie\" ? s.name : s.seriesName;\n\n const formattedName = nameFormatter\n ? nameFormatter(name)\n : name;\n\n return `\n <div key=\"${s.seriesName}\" class=\"${hvClasses?.multipleTooltipSeriesContainer}\">\n <div class=\"${hvClasses?.multipleTooltipSeriesNameContainer}\">\n <p style=\"background-color: ${s.color};\" class=\"${hvClasses?.multipleTooltipSeriesColor}\" />\n <p class=\"${hvClasses?.multipleTooltipSeriesName}\">${formattedName}</p>\n </div>\n <p class=\"${hvClasses?.multipleTooltipSeriesValue}\">${formattedValue}</p>\n </div>\n `;\n })\n .join(\" \")}\n </div>\n </div>\n `;\n },\n [\n hvClasses,\n horizontal,\n type,\n measuresMapping,\n nameFormatter,\n titleFormatter,\n valueFormatter,\n ],\n );\n\n const renderCustomTooltip = useCallback(\n (params: EChartsTooltipParams[]) => {\n if (typeof component === \"function\") {\n const values: HvChartTooltipParams = {\n title:\n params[0].seriesType === \"boxplot\"\n ? params[0].name\n : params[0].seriesType === \"pie\" ||\n params[0].seriesType === \"treemap\" ||\n params[0].seriesType === \"heatmap\"\n ? params[0].seriesName\n : horizontal\n ? params[0].value[params[0].encode.y[0]]\n : params[0].value[params[0].encode.x[0]],\n series: params.map((p) => {\n return {\n color: p.color,\n name:\n p.seriesType === \"heatmap\"\n ? String(p.value[p.encode.y[0]])\n : p.seriesType === \"pie\" || p.seriesType === \"treemap\"\n ? p.name\n : p.seriesName,\n value:\n p.seriesType === \"pie\" ||\n p.seriesType === \"treemap\" ||\n p.seriesType === \"heatmap\"\n ? p.value[p.encode.value[0]]\n : horizontal\n ? p.value[p.encode.x[0]]\n : p.value[p.encode.y[0]],\n };\n }),\n value: params[0].value,\n };\n\n return component(values);\n }\n\n return component;\n },\n [component, horizontal],\n );\n\n const option = useMemo<Pick<HvEChartsOption, \"tooltip\">>(() => {\n return {\n tooltip: {\n confine: false,\n show,\n trigger,\n position: (point, params, dom, rect, size) => {\n return [point[0], point[1] - size.contentSize[1]];\n },\n formatter: (params) => {\n const tooltipParams = Array.isArray(params) ? params : [params];\n\n return component\n ? renderCustomTooltip(tooltipParams)\n : renderTooltip(tooltipParams);\n },\n },\n };\n }, [trigger, component, show, renderTooltip, renderCustomTooltip]);\n\n return option;\n};\n"],"names":[],"mappings":"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"}
@@ -57,10 +57,8 @@ const useData = ({
57
57
  columnName = appendAgg ? `${field}_${value.agg}` : field;
58
58
  }
59
59
  measuresFields.push(field);
60
- return {
61
- ...acc,
62
- [columnName]: getAgFunc(agFunction, field)
63
- };
60
+ acc[columnName] = getAgFunc(agFunction, field);
61
+ return acc;
64
62
  },
65
63
  {}
66
64
  );
@@ -89,10 +87,8 @@ const useData = ({
89
87
  field = normalizeColumnName(value.field);
90
88
  orderFunction = value.order ?? "asc";
91
89
  }
92
- return {
93
- ...acc,
94
- [field]: orderFunction
95
- };
90
+ acc[field] = orderFunction;
91
+ return acc;
96
92
  },
97
93
  {}
98
94
  );
@@ -106,10 +102,8 @@ const useData = ({
106
102
  (acc, curr) => {
107
103
  const normalizedMeasure = normalizeColumnName(curr);
108
104
  const normalizedDelta = normalizeColumnName(delta);
109
- return {
110
- ...acc,
111
- [normalizedMeasure]: `d => d.${normalizedMeasure} - d.${normalizedDelta}`
112
- };
105
+ acc[normalizedMeasure] = `d => d.${normalizedMeasure} - d.${normalizedDelta}`;
106
+ return acc;
113
107
  },
114
108
  {}
115
109
  );
@@ -1 +1 @@
1
- {"version":3,"file":"useData.js","sources":["../../../src/hooks/useData.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { desc, escape, not } from \"arquero\";\nimport { Arrayable } from \"@hitachivantara/uikit-react-core\";\n\nimport {\n HvBarChartMeasures,\n HvChartAggregation,\n HvChartData,\n HvChartOrder,\n HvConfusionMatrixMeasure,\n HvDonutChartMeasure,\n HvLineChartMeasures,\n HvScatterPlotMeasure,\n} from \"../types\";\nimport { HvAxisChartCommonProps, HvChartCommonProps } from \"../types/common\";\nimport {\n getGroupKey,\n getHvArqueroCombinedFilters,\n normalizeColumnName,\n processTableData,\n SingleMeasure,\n} from \"../utils\";\n\nconst getAgFunc = (func: HvChartAggregation, field: string) =>\n func === \"count\" ? \"count()\" : `${func}(d[\"${field}\"])`;\n\ninterface HvDataHookProps {\n data: HvChartData;\n groupBy: HvChartCommonProps[\"groupBy\"];\n measures:\n | Arrayable<HvLineChartMeasures | HvBarChartMeasures | HvScatterPlotMeasure>\n | HvDonutChartMeasure\n | HvConfusionMatrixMeasure;\n splitBy?: HvAxisChartCommonProps[\"splitBy\"];\n sortBy?: HvChartCommonProps[\"sortBy\"];\n filters?: HvChartCommonProps[\"filters\"];\n delta?: string;\n}\n\nexport const useData = ({\n data,\n groupBy,\n measures,\n sortBy,\n splitBy,\n filters: filtersProp,\n delta,\n}: HvDataHookProps) => {\n const groupByKey = getGroupKey(groupBy);\n\n return useMemo(() => {\n // Converting data to Arquero table data and normalizing the columns name\n const { data: processedData, mapping } = processTableData(data);\n let tableData = processedData;\n\n // Filter data right away\n if (filtersProp) {\n const filters = (\n Array.isArray(filtersProp) ? filtersProp : [filtersProp]\n ).map((filter) => ({\n ...filter,\n field: normalizeColumnName(filter.field), // normalize\n }));\n\n tableData = tableData.filter(\n escape((row) => getHvArqueroCombinedFilters(row, filters)),\n );\n }\n\n const groupByFields = (\n groupBy ? (Array.isArray(groupBy) ? groupBy : [groupBy]) : []\n ).map((value) => normalizeColumnName(value)); // normalize\n\n const splitByFields = (\n Array.isArray(splitBy) ? splitBy : splitBy != null ? [splitBy] : []\n ).map((value) => normalizeColumnName(value)); // normalize\n\n // keeps track of fields (table columns) used as measures\n const measuresFields: string[] = [];\n // keeps track of the measures specs provided by the user for each derived column; non-normalized names are used as this will be exported;\n const measuresMapping: Record<string, SingleMeasure> = {};\n // defines the new columns to be derived and their agg function\n let measuresColumns: Record<string, string> = {};\n if (typeof measures === \"string\") {\n measuresMapping[measures] = measures;\n const normalizedMeasure = normalizeColumnName(measures); // normalize\n measuresColumns[normalizedMeasure] = getAgFunc(\"sum\", normalizedMeasure);\n measuresFields.push(normalizedMeasure);\n } else if (Array.isArray(measures)) {\n measuresColumns = measures.reduce<Record<string, string>>(\n (acc, value) => {\n let field: string;\n let agFunction: HvChartAggregation;\n let columnName: string;\n if (typeof value === \"string\") {\n measuresMapping[value] = value;\n field = normalizeColumnName(value); // normalize\n agFunction = \"sum\";\n columnName = field;\n } else {\n // finds out if there are more measures for the same field\n const notUnique =\n measures.filter((m) =>\n typeof m === \"string\"\n ? m === value.field\n : m.field === value.field,\n ).length > 1;\n const appendAgg = notUnique && value.agg && value.agg !== \"sum\";\n measuresMapping[\n appendAgg ? `${value.field}_${value.agg}` : value.field\n ] = value;\n field = normalizeColumnName(value.field); // normalize\n agFunction = value.agg ?? \"sum\";\n columnName = appendAgg ? `${field}_${value.agg}` : field;\n }\n\n measuresFields.push(field);\n return {\n ...acc,\n [columnName]: getAgFunc(agFunction, field),\n };\n },\n {},\n );\n } else if (measures != null) {\n measuresMapping[measures.field] = measures;\n const normalizedMeasure = normalizeColumnName(measures.field); // normalize\n measuresColumns[normalizedMeasure] = getAgFunc(\n measures.agg ?? \"sum\",\n normalizedMeasure,\n );\n measuresFields.push(normalizedMeasure);\n }\n\n let sortByFields: Record<string, HvChartOrder> = {};\n if (typeof sortBy === \"string\") {\n const normalizedSort = normalizeColumnName(sortBy); // normalize\n sortByFields[normalizedSort] = \"asc\";\n } else if (Array.isArray(sortBy)) {\n sortByFields = sortBy.reduce<Record<string, HvChartOrder>>(\n (acc, value) => {\n let field: string;\n let orderFunction: HvChartOrder;\n if (typeof value === \"string\") {\n field = normalizeColumnName(value); // normalize;\n orderFunction = \"asc\";\n } else {\n field = normalizeColumnName(value.field); // normalize\n orderFunction = value.order ?? \"asc\";\n }\n return {\n ...acc,\n [field]: orderFunction,\n };\n },\n {},\n );\n } else if (sortBy != null) {\n const normalizedSort = normalizeColumnName(sortBy.field); // normalize\n sortByFields[normalizedSort] = sortBy.order ?? \"asc\";\n }\n\n const allFields = [...groupByFields, ...splitByFields, ...measuresFields];\n\n // --- Confusion matrix ---\n // Recalculate the measures columns according to the delta column\n if (delta) {\n const deltaExpression = Object.keys(measuresColumns).reduce(\n (acc, curr) => {\n const normalizedMeasure = normalizeColumnName(curr); // normalize\n const normalizedDelta = normalizeColumnName(delta); // normalize\n return {\n ...acc,\n [normalizedMeasure]: `d => d.${normalizedMeasure} - d.${normalizedDelta}`,\n };\n },\n {},\n );\n\n tableData = tableData.derive(deltaExpression);\n }\n\n // remove unneeded fields\n tableData = tableData.select(...allFields);\n\n // group by groupBy fields\n if (groupByFields.length > 0) {\n tableData = tableData.groupby(groupByFields);\n }\n\n if (splitByFields.length > 0) {\n // pivot by splitBy fields\n tableData = tableData.pivot(splitByFields, measuresColumns);\n } else {\n // if there is no splitBy fields, just aggregate measures fields\n tableData = tableData.rollup(measuresColumns);\n }\n\n // if grouped by multiple fields, create a new joint field\n // as the line chart doesn't implement hierarchical axis label grouping\n if (groupByFields.length > 1) {\n const expression = `d => ${groupByFields\n .map((field) => `d.${field}`)\n .join(\" + '_' + \")}`;\n\n tableData = tableData.derive(\n { [groupByKey]: expression },\n { after: groupByFields[groupByFields.length - 1] },\n );\n }\n\n // sort by sortBy fields\n if (Object.keys(sortByFields).length > 0) {\n tableData = tableData.orderby(\n ...Object.keys(sortByFields)\n // only sort by fields that are in the table, ignore the rest\n .filter((key) => allFields.includes(key))\n .map((key) => (sortByFields[key] === \"desc\" ? desc(key) : key)),\n );\n }\n\n // revert the normalized names to the ones given by the user\n const reversedMapping = {};\n for (const column of tableData.columnNames()) {\n if (mapping[column] != null) {\n // use the original name (not normalized)\n reversedMapping[column] = mapping[column];\n } else {\n const found = Object.entries(mapping).find(([key]) =>\n column.includes(key),\n );\n if (found) {\n const [key, value] = found;\n // replace partially with the original name (not normalized)\n reversedMapping[column] = column.replace(key, value as string);\n } else {\n // keep the current name\n reversedMapping[column] = column;\n }\n }\n }\n\n tableData = tableData.select(reversedMapping);\n\n // if a derived field was created, remove the original fields\n if (groupByFields.length > 1) {\n tableData = tableData.select(not(...groupByFields));\n }\n\n return { data: tableData, mapping: measuresMapping };\n }, [\n data,\n filtersProp,\n groupBy,\n splitBy,\n measures,\n sortBy,\n delta,\n groupByKey,\n ]);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useData.js","sources":["../../../src/hooks/useData.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { desc, escape, not } from \"arquero\";\nimport { Arrayable } from \"@hitachivantara/uikit-react-core\";\n\nimport {\n HvBarChartMeasures,\n HvChartAggregation,\n HvChartData,\n HvChartOrder,\n HvConfusionMatrixMeasure,\n HvDonutChartMeasure,\n HvLineChartMeasures,\n HvScatterPlotMeasure,\n} from \"../types\";\nimport { HvAxisChartCommonProps, HvChartCommonProps } from \"../types/common\";\nimport {\n getGroupKey,\n getHvArqueroCombinedFilters,\n normalizeColumnName,\n processTableData,\n SingleMeasure,\n} from \"../utils\";\n\nconst getAgFunc = (func: HvChartAggregation, field: string) =>\n func === \"count\" ? \"count()\" : `${func}(d[\"${field}\"])`;\n\ninterface HvDataHookProps {\n data: HvChartData;\n groupBy: HvChartCommonProps[\"groupBy\"];\n measures:\n | Arrayable<HvLineChartMeasures | HvBarChartMeasures | HvScatterPlotMeasure>\n | HvDonutChartMeasure\n | HvConfusionMatrixMeasure;\n splitBy?: HvAxisChartCommonProps[\"splitBy\"];\n sortBy?: HvChartCommonProps[\"sortBy\"];\n filters?: HvChartCommonProps[\"filters\"];\n delta?: string;\n}\n\nexport const useData = ({\n data,\n groupBy,\n measures,\n sortBy,\n splitBy,\n filters: filtersProp,\n delta,\n}: HvDataHookProps) => {\n const groupByKey = getGroupKey(groupBy);\n\n return useMemo(() => {\n // Converting data to Arquero table data and normalizing the columns name\n const { data: processedData, mapping } = processTableData(data);\n let tableData = processedData;\n\n // Filter data right away\n if (filtersProp) {\n const filters = (\n Array.isArray(filtersProp) ? filtersProp : [filtersProp]\n ).map((filter) => ({\n ...filter,\n field: normalizeColumnName(filter.field), // normalize\n }));\n\n tableData = tableData.filter(\n escape((row) => getHvArqueroCombinedFilters(row, filters)),\n );\n }\n\n const groupByFields = (\n groupBy ? (Array.isArray(groupBy) ? groupBy : [groupBy]) : []\n ).map((value) => normalizeColumnName(value)); // normalize\n\n const splitByFields = (\n Array.isArray(splitBy) ? splitBy : splitBy != null ? [splitBy] : []\n ).map((value) => normalizeColumnName(value)); // normalize\n\n // keeps track of fields (table columns) used as measures\n const measuresFields: string[] = [];\n // keeps track of the measures specs provided by the user for each derived column; non-normalized names are used as this will be exported;\n const measuresMapping: Record<string, SingleMeasure> = {};\n // defines the new columns to be derived and their agg function\n let measuresColumns: Record<string, string> = {};\n if (typeof measures === \"string\") {\n measuresMapping[measures] = measures;\n const normalizedMeasure = normalizeColumnName(measures); // normalize\n measuresColumns[normalizedMeasure] = getAgFunc(\"sum\", normalizedMeasure);\n measuresFields.push(normalizedMeasure);\n } else if (Array.isArray(measures)) {\n measuresColumns = measures.reduce<Record<string, string>>(\n (acc, value) => {\n let field: string;\n let agFunction: HvChartAggregation;\n let columnName: string;\n if (typeof value === \"string\") {\n measuresMapping[value] = value;\n field = normalizeColumnName(value); // normalize\n agFunction = \"sum\";\n columnName = field;\n } else {\n // finds out if there are more measures for the same field\n const notUnique =\n measures.filter((m) =>\n typeof m === \"string\"\n ? m === value.field\n : m.field === value.field,\n ).length > 1;\n const appendAgg = notUnique && value.agg && value.agg !== \"sum\";\n measuresMapping[\n appendAgg ? `${value.field}_${value.agg}` : value.field\n ] = value;\n field = normalizeColumnName(value.field); // normalize\n agFunction = value.agg ?? \"sum\";\n columnName = appendAgg ? `${field}_${value.agg}` : field;\n }\n\n measuresFields.push(field);\n acc[columnName] = getAgFunc(agFunction, field);\n return acc;\n },\n {},\n );\n } else if (measures != null) {\n measuresMapping[measures.field] = measures;\n const normalizedMeasure = normalizeColumnName(measures.field); // normalize\n measuresColumns[normalizedMeasure] = getAgFunc(\n measures.agg ?? \"sum\",\n normalizedMeasure,\n );\n measuresFields.push(normalizedMeasure);\n }\n\n let sortByFields: Record<string, HvChartOrder> = {};\n if (typeof sortBy === \"string\") {\n const normalizedSort = normalizeColumnName(sortBy); // normalize\n sortByFields[normalizedSort] = \"asc\";\n } else if (Array.isArray(sortBy)) {\n sortByFields = sortBy.reduce<Record<string, HvChartOrder>>(\n (acc, value) => {\n let field: string;\n let orderFunction: HvChartOrder;\n if (typeof value === \"string\") {\n field = normalizeColumnName(value); // normalize;\n orderFunction = \"asc\";\n } else {\n field = normalizeColumnName(value.field); // normalize\n orderFunction = value.order ?? \"asc\";\n }\n acc[field] = orderFunction;\n return acc;\n },\n {},\n );\n } else if (sortBy != null) {\n const normalizedSort = normalizeColumnName(sortBy.field); // normalize\n sortByFields[normalizedSort] = sortBy.order ?? \"asc\";\n }\n\n const allFields = [...groupByFields, ...splitByFields, ...measuresFields];\n\n // --- Confusion matrix ---\n // Recalculate the measures columns according to the delta column\n if (delta) {\n const deltaExpression = Object.keys(measuresColumns).reduce(\n (acc, curr) => {\n const normalizedMeasure = normalizeColumnName(curr); // normalize\n const normalizedDelta = normalizeColumnName(delta); // normalize\n acc[normalizedMeasure] =\n `d => d.${normalizedMeasure} - d.${normalizedDelta}`;\n return acc;\n },\n {},\n );\n\n tableData = tableData.derive(deltaExpression);\n }\n\n // remove unneeded fields\n tableData = tableData.select(...allFields);\n\n // group by groupBy fields\n if (groupByFields.length > 0) {\n tableData = tableData.groupby(groupByFields);\n }\n\n if (splitByFields.length > 0) {\n // pivot by splitBy fields\n tableData = tableData.pivot(splitByFields, measuresColumns);\n } else {\n // if there is no splitBy fields, just aggregate measures fields\n tableData = tableData.rollup(measuresColumns);\n }\n\n // if grouped by multiple fields, create a new joint field\n // as the line chart doesn't implement hierarchical axis label grouping\n if (groupByFields.length > 1) {\n const expression = `d => ${groupByFields\n .map((field) => `d.${field}`)\n .join(\" + '_' + \")}`;\n\n tableData = tableData.derive(\n { [groupByKey]: expression },\n { after: groupByFields[groupByFields.length - 1] },\n );\n }\n\n // sort by sortBy fields\n if (Object.keys(sortByFields).length > 0) {\n tableData = tableData.orderby(\n ...Object.keys(sortByFields)\n // only sort by fields that are in the table, ignore the rest\n .filter((key) => allFields.includes(key))\n .map((key) => (sortByFields[key] === \"desc\" ? desc(key) : key)),\n );\n }\n\n // revert the normalized names to the ones given by the user\n const reversedMapping = {};\n for (const column of tableData.columnNames()) {\n if (mapping[column] != null) {\n // use the original name (not normalized)\n reversedMapping[column] = mapping[column];\n } else {\n const found = Object.entries(mapping).find(([key]) =>\n column.includes(key),\n );\n if (found) {\n const [key, value] = found;\n // replace partially with the original name (not normalized)\n reversedMapping[column] = column.replace(key, value as string);\n } else {\n // keep the current name\n reversedMapping[column] = column;\n }\n }\n }\n\n tableData = tableData.select(reversedMapping);\n\n // if a derived field was created, remove the original fields\n if (groupByFields.length > 1) {\n tableData = tableData.select(not(...groupByFields));\n }\n\n return { data: tableData, mapping: measuresMapping };\n }, [\n data,\n filtersProp,\n groupBy,\n splitBy,\n measures,\n sortBy,\n delta,\n groupByKey,\n ]);\n};\n"],"names":[],"mappings":"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"}
@@ -1,19 +1,15 @@
1
1
  import { useMemo } from "react";
2
2
  const useDataset = (data) => {
3
- const option = useMemo(() => {
3
+ return useMemo(() => {
4
4
  return {
5
5
  dataset: {
6
- source: data.columnNames().reduce(
7
- (acc, c) => ({
8
- ...acc,
9
- [c]: data.array(c)
10
- }),
11
- {}
12
- )
6
+ source: data.columnNames().reduce((acc, c) => {
7
+ acc[c] = data.array(c);
8
+ return acc;
9
+ }, {})
13
10
  }
14
11
  };
15
12
  }, [data]);
16
- return option;
17
13
  };
18
14
  export {
19
15
  useDataset
@@ -1 +1 @@
1
- {"version":3,"file":"useDataset.js","sources":["../../../src/hooks/useDataset.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { internal } from \"arquero\";\n\nimport { HvEChartsOption } from \"../types/common\";\n\nexport const useDataset = (data: internal.ColumnTable) => {\n const option = useMemo<Pick<HvEChartsOption, \"dataset\">>(() => {\n return {\n dataset: {\n source: data.columnNames().reduce(\n (acc, c) => ({\n ...acc,\n [c]: data.array(c),\n }),\n {},\n ),\n },\n };\n }, [data]);\n\n return option;\n};\n"],"names":[],"mappings":";AAKa,MAAA,aAAa,CAAC,SAA+B;AAClD,QAAA,SAAS,QAA0C,MAAM;AACtD,WAAA;AAAA,MACL,SAAS;AAAA,QACP,QAAQ,KAAK,YAAA,EAAc;AAAA,UACzB,CAAC,KAAK,OAAO;AAAA,YACX,GAAG;AAAA,YACH,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC;AAAA,UAAA;AAAA,UAEnB,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IAAA;AAAA,EACF,GACC,CAAC,IAAI,CAAC;AAEF,SAAA;AACT;"}
1
+ {"version":3,"file":"useDataset.js","sources":["../../../src/hooks/useDataset.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { internal } from \"arquero\";\n\nimport { HvEChartsOption } from \"../types/common\";\n\nexport const useDataset = (data: internal.ColumnTable) => {\n return useMemo<Pick<HvEChartsOption, \"dataset\">>(() => {\n return {\n dataset: {\n source: data.columnNames().reduce((acc, c) => {\n acc[c] = data.array(c);\n return acc;\n }, {}),\n },\n };\n }, [data]);\n};\n"],"names":[],"mappings":";AAKa,MAAA,aAAa,CAAC,SAA+B;AACxD,SAAO,QAA0C,MAAM;AAC9C,WAAA;AAAA,MACL,SAAS;AAAA,QACP,QAAQ,KAAK,YAAA,EAAc,OAAO,CAAC,KAAK,MAAM;AAC5C,cAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AACd,iBAAA;AAAA,QACT,GAAG,EAAE;AAAA,MACP;AAAA,IAAA;AAAA,EACF,GACC,CAAC,IAAI,CAAC;AACX;"}
@@ -18,10 +18,8 @@ const useXAxis = ({
18
18
  const option = useMemo(() => {
19
19
  const nameStyleKeys = nameProps ? Object.keys(nameProps).filter((key) => key !== "location") : void 0;
20
20
  const nameStyle = nameProps && nameStyleKeys ? nameStyleKeys.reduce((acc, curr) => {
21
- return {
22
- ...acc,
23
- [curr]: curr === "color" ? colors?.[nameProps[curr]] || nameProps[curr] : nameProps[curr]
24
- };
21
+ acc[curr] = curr === "color" && colors?.[nameProps[curr]] || nameProps[curr];
22
+ return acc;
25
23
  }, {}) : void 0;
26
24
  return {
27
25
  xAxis: {
@@ -1 +1 @@
1
- {"version":3,"file":"useXAxis.js","sources":["../../../src/hooks/useXAxis.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useTheme } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvChartXAxis, HvEChartsOption } from \"../types/common\";\nimport { getAxisType } from \"../utils\";\n\ninterface HvXAxisHookProps extends HvChartXAxis {\n scale?: boolean;\n data?: string[];\n}\n\nexport const useXAxis = ({\n id,\n type = \"categorical\",\n labelFormatter,\n labelRotation,\n name,\n maxValue,\n minValue,\n scale = false,\n data,\n position,\n nameProps,\n}: HvXAxisHookProps) => {\n const { colors } = useTheme();\n\n const option = useMemo<Pick<HvEChartsOption, \"xAxis\">>(() => {\n const nameStyleKeys = nameProps\n ? Object.keys(nameProps).filter((key) => key !== \"location\")\n : undefined;\n const nameStyle =\n nameProps && nameStyleKeys\n ? nameStyleKeys.reduce((acc, curr) => {\n return {\n ...acc,\n [curr]:\n curr === \"color\"\n ? colors?.[nameProps[curr] as string] || nameProps[curr]\n : nameProps[curr],\n };\n }, {})\n : undefined;\n\n return {\n xAxis: {\n id,\n type: getAxisType(type),\n name,\n scale,\n axisLabel: {\n rotate: labelRotation ?? 0,\n formatter: labelFormatter,\n },\n max: maxValue === \"max\" ? \"dataMax\" : maxValue,\n min: minValue === \"min\" ? \"dataMin\" : minValue,\n ...(nameProps?.location && {\n nameLocation: nameProps.location,\n }),\n ...(nameStyle && {\n nameTextStyle: nameStyle,\n }),\n ...(data && { data }),\n ...(position && { position }),\n },\n };\n }, [\n nameProps,\n id,\n type,\n name,\n scale,\n labelRotation,\n labelFormatter,\n maxValue,\n minValue,\n data,\n position,\n colors,\n ]);\n\n return option;\n};\n"],"names":[],"mappings":";;;AAWO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AAChB,QAAA,EAAE,WAAW;AAEb,QAAA,SAAS,QAAwC,MAAM;AACrD,UAAA,gBAAgB,YAClB,OAAO,KAAK,SAAS,EAAE,OAAO,CAAC,QAAQ,QAAQ,UAAU,IACzD;AACJ,UAAM,YACJ,aAAa,gBACT,cAAc,OAAO,CAAC,KAAK,SAAS;AAC3B,aAAA;AAAA,QACL,GAAG;AAAA,QACH,CAAC,IAAI,GACH,SAAS,UACL,SAAS,UAAU,IAAI,CAAW,KAAK,UAAU,IAAI,IACrD,UAAU,IAAI;AAAA,MAAA;AAAA,IACtB,GACC,CAAE,CAAA,IACL;AAEC,WAAA;AAAA,MACL,OAAO;AAAA,QACL;AAAA,QACA,MAAM,YAAY,IAAI;AAAA,QACtB;AAAA,QACA;AAAA,QACA,WAAW;AAAA,UACT,QAAQ,iBAAiB;AAAA,UACzB,WAAW;AAAA,QACb;AAAA,QACA,KAAK,aAAa,QAAQ,YAAY;AAAA,QACtC,KAAK,aAAa,QAAQ,YAAY;AAAA,QACtC,GAAI,WAAW,YAAY;AAAA,UACzB,cAAc,UAAU;AAAA,QAC1B;AAAA,QACA,GAAI,aAAa;AAAA,UACf,eAAe;AAAA,QACjB;AAAA,QACA,GAAI,QAAQ,EAAE,KAAK;AAAA,QACnB,GAAI,YAAY,EAAE,SAAS;AAAA,MAC7B;AAAA,IAAA;AAAA,EACF,GACC;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAEM,SAAA;AACT;"}
1
+ {"version":3,"file":"useXAxis.js","sources":["../../../src/hooks/useXAxis.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useTheme } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvChartXAxis, HvEChartsOption } from \"../types/common\";\nimport { getAxisType } from \"../utils\";\n\ninterface HvXAxisHookProps extends HvChartXAxis {\n scale?: boolean;\n data?: string[];\n}\n\nexport const useXAxis = ({\n id,\n type = \"categorical\",\n labelFormatter,\n labelRotation,\n name,\n maxValue,\n minValue,\n scale = false,\n data,\n position,\n nameProps,\n}: HvXAxisHookProps) => {\n const { colors } = useTheme();\n\n const option = useMemo<Pick<HvEChartsOption, \"xAxis\">>(() => {\n const nameStyleKeys = nameProps\n ? Object.keys(nameProps).filter((key) => key !== \"location\")\n : undefined;\n const nameStyle =\n nameProps && nameStyleKeys\n ? nameStyleKeys.reduce((acc, curr) => {\n acc[curr] =\n (curr === \"color\" && colors?.[nameProps[curr] as string]) ||\n nameProps[curr];\n return acc;\n }, {})\n : undefined;\n\n return {\n xAxis: {\n id,\n type: getAxisType(type),\n name,\n scale,\n axisLabel: {\n rotate: labelRotation ?? 0,\n formatter: labelFormatter,\n },\n max: maxValue === \"max\" ? \"dataMax\" : maxValue,\n min: minValue === \"min\" ? \"dataMin\" : minValue,\n ...(nameProps?.location && {\n nameLocation: nameProps.location,\n }),\n ...(nameStyle && {\n nameTextStyle: nameStyle,\n }),\n ...(data && { data }),\n ...(position && { position }),\n },\n };\n }, [\n nameProps,\n id,\n type,\n name,\n scale,\n labelRotation,\n labelFormatter,\n maxValue,\n minValue,\n data,\n position,\n colors,\n ]);\n\n return option;\n};\n"],"names":[],"mappings":";;;AAWO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AAChB,QAAA,EAAE,WAAW;AAEb,QAAA,SAAS,QAAwC,MAAM;AACrD,UAAA,gBAAgB,YAClB,OAAO,KAAK,SAAS,EAAE,OAAO,CAAC,QAAQ,QAAQ,UAAU,IACzD;AACJ,UAAM,YACJ,aAAa,gBACT,cAAc,OAAO,CAAC,KAAK,SAAS;AAC9B,UAAA,IAAI,IACL,SAAS,WAAW,SAAS,UAAU,IAAI,CAAW,KACvD,UAAU,IAAI;AACT,aAAA;AAAA,IAAA,GACN,CAAE,CAAA,IACL;AAEC,WAAA;AAAA,MACL,OAAO;AAAA,QACL;AAAA,QACA,MAAM,YAAY,IAAI;AAAA,QACtB;AAAA,QACA;AAAA,QACA,WAAW;AAAA,UACT,QAAQ,iBAAiB;AAAA,UACzB,WAAW;AAAA,QACb;AAAA,QACA,KAAK,aAAa,QAAQ,YAAY;AAAA,QACtC,KAAK,aAAa,QAAQ,YAAY;AAAA,QACtC,GAAI,WAAW,YAAY;AAAA,UACzB,cAAc,UAAU;AAAA,QAC1B;AAAA,QACA,GAAI,aAAa;AAAA,UACf,eAAe;AAAA,QACjB;AAAA,QACA,GAAI,QAAQ,EAAE,KAAK;AAAA,QACnB,GAAI,YAAY,EAAE,SAAS;AAAA,MAC7B;AAAA,IAAA;AAAA,EACF,GACC;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACD;AAEM,SAAA;AACT;"}
@@ -21,10 +21,8 @@ const useYAxis = ({
21
21
  }) => {
22
22
  const nameStyleKeys = nameProps ? Object.keys(nameProps).filter((key) => key !== "location") : void 0;
23
23
  const nameStyle = nameProps && nameStyleKeys ? nameStyleKeys.reduce((acc, curr) => {
24
- return {
25
- ...acc,
26
- [curr]: curr === "color" ? colors?.[nameProps[curr]] || nameProps[curr] : nameProps[curr]
27
- };
24
+ acc[curr] = curr === "color" && colors?.[nameProps[curr]] || nameProps[curr];
25
+ return acc;
28
26
  }, {}) : void 0;
29
27
  return {
30
28
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"useYAxis.js","sources":["../../../src/hooks/useYAxis.tsx"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { useTheme } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvChartAxisType } from \"../types\";\nimport { HvEChartsOption, YAxis } from \"../types/common\";\nimport { getAxisType } from \"../utils\";\n\ninterface HvYAxisHookProps {\n axes?: YAxis[];\n defaultType?: HvChartAxisType;\n}\n\nexport const useYAxis = ({\n axes,\n defaultType = \"continuous\",\n}: HvYAxisHookProps) => {\n const { colors } = useTheme();\n\n const createAxis = useCallback(\n ({\n id,\n type,\n name,\n labelFormatter,\n labelRotation,\n maxValue,\n minValue,\n nameProps,\n data,\n position,\n }: YAxis) => {\n const nameStyleKeys = nameProps\n ? Object.keys(nameProps).filter((key) => key !== \"location\")\n : undefined;\n const nameStyle =\n nameProps && nameStyleKeys\n ? nameStyleKeys.reduce((acc, curr) => {\n return {\n ...acc,\n [curr]:\n curr === \"color\"\n ? colors?.[nameProps[curr] as string] || nameProps[curr]\n : nameProps[curr],\n };\n }, {})\n : undefined;\n\n return {\n id,\n type: getAxisType(type) ?? getAxisType(defaultType),\n name,\n axisLabel: {\n rotate: labelRotation ?? 0,\n formatter: labelFormatter,\n },\n max: maxValue === \"max\" ? \"dataMax\" : maxValue,\n min: minValue === \"min\" ? \"dataMin\" : minValue,\n ...(nameProps?.location && {\n nameLocation: nameProps?.location,\n }),\n ...(nameStyle && {\n nameTextStyle: nameStyle,\n }),\n ...(data && { data }),\n ...(position && { position }),\n };\n },\n [colors, defaultType],\n );\n\n const option = useMemo<Pick<HvEChartsOption, \"yAxis\">>(() => {\n return {\n yAxis: Array.isArray(axes)\n ? axes.map((axis) => createAxis(axis))\n : [createAxis({})],\n };\n }, [axes, createAxis]);\n\n return option;\n};\n"],"names":[],"mappings":";;;AAYO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA,cAAc;AAChB,MAAwB;AAChB,QAAA,EAAE,WAAW;AAEnB,QAAM,aAAa;AAAA,IACjB,CAAC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,MACW;AACL,YAAA,gBAAgB,YAClB,OAAO,KAAK,SAAS,EAAE,OAAO,CAAC,QAAQ,QAAQ,UAAU,IACzD;AACJ,YAAM,YACJ,aAAa,gBACT,cAAc,OAAO,CAAC,KAAK,SAAS;AAC3B,eAAA;AAAA,UACL,GAAG;AAAA,UACH,CAAC,IAAI,GACH,SAAS,UACL,SAAS,UAAU,IAAI,CAAW,KAAK,UAAU,IAAI,IACrD,UAAU,IAAI;AAAA,QAAA;AAAA,MACtB,GACC,CAAE,CAAA,IACL;AAEC,aAAA;AAAA,QACL;AAAA,QACA,MAAM,YAAY,IAAI,KAAK,YAAY,WAAW;AAAA,QAClD;AAAA,QACA,WAAW;AAAA,UACT,QAAQ,iBAAiB;AAAA,UACzB,WAAW;AAAA,QACb;AAAA,QACA,KAAK,aAAa,QAAQ,YAAY;AAAA,QACtC,KAAK,aAAa,QAAQ,YAAY;AAAA,QACtC,GAAI,WAAW,YAAY;AAAA,UACzB,cAAc,WAAW;AAAA,QAC3B;AAAA,QACA,GAAI,aAAa;AAAA,UACf,eAAe;AAAA,QACjB;AAAA,QACA,GAAI,QAAQ,EAAE,KAAK;AAAA,QACnB,GAAI,YAAY,EAAE,SAAS;AAAA,MAAA;AAAA,IAE/B;AAAA,IACA,CAAC,QAAQ,WAAW;AAAA,EAAA;AAGhB,QAAA,SAAS,QAAwC,MAAM;AACpD,WAAA;AAAA,MACL,OAAO,MAAM,QAAQ,IAAI,IACrB,KAAK,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,IACnC,CAAC,WAAW,CAAE,CAAA,CAAC;AAAA,IAAA;AAAA,EACrB,GACC,CAAC,MAAM,UAAU,CAAC;AAEd,SAAA;AACT;"}
1
+ {"version":3,"file":"useYAxis.js","sources":["../../../src/hooks/useYAxis.tsx"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { useTheme } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvChartAxisType } from \"../types\";\nimport { HvEChartsOption, YAxis } from \"../types/common\";\nimport { getAxisType } from \"../utils\";\n\ninterface HvYAxisHookProps {\n axes?: YAxis[];\n defaultType?: HvChartAxisType;\n}\n\nexport const useYAxis = ({\n axes,\n defaultType = \"continuous\",\n}: HvYAxisHookProps) => {\n const { colors } = useTheme();\n\n const createAxis = useCallback(\n ({\n id,\n type,\n name,\n labelFormatter,\n labelRotation,\n maxValue,\n minValue,\n nameProps,\n data,\n position,\n }: YAxis) => {\n const nameStyleKeys = nameProps\n ? Object.keys(nameProps).filter((key) => key !== \"location\")\n : undefined;\n const nameStyle =\n nameProps && nameStyleKeys\n ? nameStyleKeys.reduce((acc, curr) => {\n acc[curr] =\n (curr === \"color\" && colors?.[nameProps[curr] as string]) ||\n nameProps[curr];\n return acc;\n }, {})\n : undefined;\n\n return {\n id,\n type: getAxisType(type) ?? getAxisType(defaultType),\n name,\n axisLabel: {\n rotate: labelRotation ?? 0,\n formatter: labelFormatter,\n },\n max: maxValue === \"max\" ? \"dataMax\" : maxValue,\n min: minValue === \"min\" ? \"dataMin\" : minValue,\n ...(nameProps?.location && {\n nameLocation: nameProps?.location,\n }),\n ...(nameStyle && {\n nameTextStyle: nameStyle,\n }),\n ...(data && { data }),\n ...(position && { position }),\n };\n },\n [colors, defaultType],\n );\n\n const option = useMemo<Pick<HvEChartsOption, \"yAxis\">>(() => {\n return {\n yAxis: Array.isArray(axes)\n ? axes.map((axis) => createAxis(axis))\n : [createAxis({})],\n };\n }, [axes, createAxis]);\n\n return option;\n};\n"],"names":[],"mappings":";;;AAYO,MAAM,WAAW,CAAC;AAAA,EACvB;AAAA,EACA,cAAc;AAChB,MAAwB;AAChB,QAAA,EAAE,WAAW;AAEnB,QAAM,aAAa;AAAA,IACjB,CAAC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,MACW;AACL,YAAA,gBAAgB,YAClB,OAAO,KAAK,SAAS,EAAE,OAAO,CAAC,QAAQ,QAAQ,UAAU,IACzD;AACJ,YAAM,YACJ,aAAa,gBACT,cAAc,OAAO,CAAC,KAAK,SAAS;AAC9B,YAAA,IAAI,IACL,SAAS,WAAW,SAAS,UAAU,IAAI,CAAW,KACvD,UAAU,IAAI;AACT,eAAA;AAAA,MAAA,GACN,CAAE,CAAA,IACL;AAEC,aAAA;AAAA,QACL;AAAA,QACA,MAAM,YAAY,IAAI,KAAK,YAAY,WAAW;AAAA,QAClD;AAAA,QACA,WAAW;AAAA,UACT,QAAQ,iBAAiB;AAAA,UACzB,WAAW;AAAA,QACb;AAAA,QACA,KAAK,aAAa,QAAQ,YAAY;AAAA,QACtC,KAAK,aAAa,QAAQ,YAAY;AAAA,QACtC,GAAI,WAAW,YAAY;AAAA,UACzB,cAAc,WAAW;AAAA,QAC3B;AAAA,QACA,GAAI,aAAa;AAAA,UACf,eAAe;AAAA,QACjB;AAAA,QACA,GAAI,QAAQ,EAAE,KAAK;AAAA,QACnB,GAAI,YAAY,EAAE,SAAS;AAAA,MAAA;AAAA,IAE/B;AAAA,IACA,CAAC,QAAQ,WAAW;AAAA,EAAA;AAGhB,QAAA,SAAS,QAAwC,MAAM;AACpD,WAAA;AAAA,MACL,OAAO,MAAM,QAAQ,IAAI,IACrB,KAAK,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,IACnC,CAAC,WAAW,CAAE,CAAA,CAAC;AAAA,IAAA;AAAA,EACrB,GACC,CAAC,MAAM,UAAU,CAAC;AAEd,SAAA;AACT;"}
@@ -1,4 +1,4 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import { createContext, useMemo } from "react";
3
3
  import { useTheme } from "@hitachivantara/uikit-react-core";
4
4
  import { registerTheme } from "../utils/registerTheme.js";
@@ -9,7 +9,7 @@ import { ForwardRefExoticComponent } from 'react';
9
9
  import { HvColorAny } from '@hitachivantara/uikit-react-core';
10
10
  import { HvExtraProps } from '@hitachivantara/uikit-react-core';
11
11
  import { HvTheme } from '@hitachivantara/uikit-react-core';
12
- import { JSX as JSX_2 } from '@emotion/react/jsx-runtime';
12
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
13
13
  import { RefAttributes } from 'react';
14
14
 
15
15
  declare interface AxisMeasure {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hitachivantara/uikit-react-viz",
3
- "version": "5.13.8",
3
+ "version": "5.13.9",
4
4
  "private": false,
5
5
  "author": "Hitachi Vantara UI Kit Team",
6
6
  "description": "Contributed React visualization components for the NEXT UI Kit.",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@emotion/css": "^11.11.0",
37
- "@hitachivantara/uikit-react-core": "^5.66.10"
37
+ "@hitachivantara/uikit-react-core": "^5.66.11"
38
38
  },
39
39
  "files": [
40
40
  "dist"
@@ -43,7 +43,7 @@
43
43
  "access": "public",
44
44
  "directory": "package"
45
45
  },
46
- "gitHead": "fd75cf61e59e75d65a015d0e148ec71ecd88da4b",
46
+ "gitHead": "3786c516514ce5870060b8ebb14199906aa85e58",
47
47
  "exports": {
48
48
  ".": {
49
49
  "require": "./dist/cjs/index.cjs",