@hitachivantara/uikit-react-viz 4.0.2 → 4.0.4
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/Barchart/Barchart.js +45 -72
- package/dist/Barchart/Barchart.js.map +1 -1
- package/dist/Barchart/barchartPlotlyOverrides.js +1 -13
- package/dist/Barchart/barchartPlotlyOverrides.js.map +1 -1
- package/dist/Barchart/index.js +0 -2
- package/dist/Barchart/index.js.map +1 -1
- package/dist/Barchart/styles.js.map +1 -1
- package/dist/Chart/Chart.d.ts +1 -1
- package/dist/Chart/Chart.js +28 -75
- package/dist/Chart/Chart.js.map +1 -1
- package/dist/Chart/Plot/Plot.js +10 -47
- package/dist/Chart/Plot/Plot.js.map +1 -1
- package/dist/Chart/Plot/index.js +0 -2
- package/dist/Chart/Plot/index.js.map +1 -1
- package/dist/Chart/Plot/styles.js.map +1 -1
- package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js +1 -36
- package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
- package/dist/Chart/Tooltip/MultiTooltip/index.js +0 -2
- package/dist/Chart/Tooltip/MultiTooltip/index.js.map +1 -1
- package/dist/Chart/Tooltip/MultiTooltip/styles.js +0 -2
- package/dist/Chart/Tooltip/MultiTooltip/styles.js.map +1 -1
- package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -26
- package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
- package/dist/Chart/Tooltip/SingleTooltip/index.js +0 -2
- package/dist/Chart/Tooltip/SingleTooltip/index.js.map +1 -1
- package/dist/Chart/Tooltip/SingleTooltip/styles.js +0 -2
- package/dist/Chart/Tooltip/SingleTooltip/styles.js.map +1 -1
- package/dist/Chart/Tooltip/Tooltip.js +16 -51
- package/dist/Chart/Tooltip/Tooltip.js.map +1 -1
- package/dist/Chart/Tooltip/index.js +0 -2
- package/dist/Chart/Tooltip/index.js.map +1 -1
- package/dist/Chart/Tooltip/styles.js.map +1 -1
- package/dist/Chart/chartPlotlyOverrides.js +9 -33
- package/dist/Chart/chartPlotlyOverrides.js.map +1 -1
- package/dist/Chart/index.js +0 -2
- package/dist/Chart/index.js.map +1 -1
- package/dist/Chart/styles.js +0 -13
- package/dist/Chart/styles.js.map +1 -1
- package/dist/Donutchart/Donutchart.js +10 -47
- package/dist/Donutchart/Donutchart.js.map +1 -1
- package/dist/Donutchart/donutchartPlotlyOverrides.js +1 -13
- package/dist/Donutchart/donutchartPlotlyOverrides.js.map +1 -1
- package/dist/Donutchart/index.js +0 -2
- package/dist/Donutchart/index.js.map +1 -1
- package/dist/Donutchart/styles.js.map +1 -1
- package/dist/Linechart/Linechart.js +12 -50
- package/dist/Linechart/Linechart.js.map +1 -1
- package/dist/Linechart/index.js +0 -2
- package/dist/Linechart/index.js.map +1 -1
- package/dist/Linechart/lineChartPlotlyOverrides.js +1 -17
- package/dist/Linechart/lineChartPlotlyOverrides.js.map +1 -1
- package/dist/Linechart/styles.js.map +1 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/dist/legacy/Barchart/Barchart.js +45 -43
- package/dist/legacy/Barchart/Barchart.js.map +1 -1
- package/dist/legacy/Barchart/barchartPlotlyOverrides.js +1 -6
- package/dist/legacy/Barchart/barchartPlotlyOverrides.js.map +1 -1
- package/dist/legacy/Barchart/index.js.map +1 -1
- package/dist/legacy/Barchart/styles.js.map +1 -1
- package/dist/legacy/Chart/Chart.d.ts +1 -1
- package/dist/legacy/Chart/Chart.js +28 -46
- package/dist/legacy/Chart/Chart.js.map +1 -1
- package/dist/legacy/Chart/Plot/Plot.js +10 -21
- package/dist/legacy/Chart/Plot/Plot.js.map +1 -1
- package/dist/legacy/Chart/Plot/index.js.map +1 -1
- package/dist/legacy/Chart/Plot/styles.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js +1 -17
- package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/MultiTooltip/index.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/MultiTooltip/styles.js +0 -1
- package/dist/legacy/Chart/Tooltip/MultiTooltip/styles.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -9
- package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/SingleTooltip/index.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/SingleTooltip/styles.js +0 -1
- package/dist/legacy/Chart/Tooltip/SingleTooltip/styles.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/Tooltip.js +16 -30
- package/dist/legacy/Chart/Tooltip/Tooltip.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/index.js.map +1 -1
- package/dist/legacy/Chart/Tooltip/styles.js.map +1 -1
- package/dist/legacy/Chart/chartPlotlyOverrides.js +9 -20
- package/dist/legacy/Chart/chartPlotlyOverrides.js.map +1 -1
- package/dist/legacy/Chart/index.js.map +1 -1
- package/dist/legacy/Chart/styles.js +0 -4
- package/dist/legacy/Chart/styles.js.map +1 -1
- package/dist/legacy/Donutchart/Donutchart.js +11 -22
- package/dist/legacy/Donutchart/Donutchart.js.map +1 -1
- package/dist/legacy/Donutchart/donutchartPlotlyOverrides.js +1 -6
- package/dist/legacy/Donutchart/donutchartPlotlyOverrides.js.map +1 -1
- package/dist/legacy/Donutchart/index.js.map +1 -1
- package/dist/legacy/Donutchart/styles.js.map +1 -1
- package/dist/legacy/Linechart/Linechart.js +13 -25
- package/dist/legacy/Linechart/Linechart.js.map +1 -1
- package/dist/legacy/Linechart/index.js.map +1 -1
- package/dist/legacy/Linechart/lineChartPlotlyOverrides.js +1 -10
- package/dist/legacy/Linechart/lineChartPlotlyOverrides.js.map +1 -1
- package/dist/legacy/Linechart/styles.js.map +1 -1
- package/dist/legacy/index.js.map +1 -1
- package/dist/modern/Barchart/Barchart.js +38 -31
- package/dist/modern/Barchart/Barchart.js.map +1 -1
- package/dist/modern/Barchart/barchartPlotlyOverrides.js +1 -6
- package/dist/modern/Barchart/barchartPlotlyOverrides.js.map +1 -1
- package/dist/modern/Barchart/index.js.map +1 -1
- package/dist/modern/Barchart/styles.js.map +1 -1
- package/dist/modern/Chart/Chart.d.ts +1 -1
- package/dist/modern/Chart/Chart.js +17 -33
- package/dist/modern/Chart/Chart.js.map +1 -1
- package/dist/modern/Chart/Plot/Plot.js +11 -22
- package/dist/modern/Chart/Plot/Plot.js.map +1 -1
- package/dist/modern/Chart/Plot/index.js.map +1 -1
- package/dist/modern/Chart/Plot/styles.js.map +1 -1
- package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js +0 -17
- package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
- package/dist/modern/Chart/Tooltip/MultiTooltip/index.js.map +1 -1
- package/dist/modern/Chart/Tooltip/MultiTooltip/styles.js +0 -1
- package/dist/modern/Chart/Tooltip/MultiTooltip/styles.js.map +1 -1
- package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js +0 -7
- package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
- package/dist/modern/Chart/Tooltip/SingleTooltip/index.js.map +1 -1
- package/dist/modern/Chart/Tooltip/SingleTooltip/styles.js +0 -1
- package/dist/modern/Chart/Tooltip/SingleTooltip/styles.js.map +1 -1
- package/dist/modern/Chart/Tooltip/Tooltip.js +2 -13
- package/dist/modern/Chart/Tooltip/Tooltip.js.map +1 -1
- package/dist/modern/Chart/Tooltip/index.js.map +1 -1
- package/dist/modern/Chart/Tooltip/styles.js.map +1 -1
- package/dist/modern/Chart/chartPlotlyOverrides.js +9 -20
- package/dist/modern/Chart/chartPlotlyOverrides.js.map +1 -1
- package/dist/modern/Chart/index.js.map +1 -1
- package/dist/modern/Chart/styles.js +0 -4
- package/dist/modern/Chart/styles.js.map +1 -1
- package/dist/modern/Donutchart/Donutchart.js +11 -22
- package/dist/modern/Donutchart/Donutchart.js.map +1 -1
- package/dist/modern/Donutchart/donutchartPlotlyOverrides.js +1 -6
- package/dist/modern/Donutchart/donutchartPlotlyOverrides.js.map +1 -1
- package/dist/modern/Donutchart/index.js.map +1 -1
- package/dist/modern/Donutchart/styles.js.map +1 -1
- package/dist/modern/Linechart/Linechart.js +12 -24
- package/dist/modern/Linechart/Linechart.js.map +1 -1
- package/dist/modern/Linechart/index.js.map +1 -1
- package/dist/modern/Linechart/lineChartPlotlyOverrides.js +1 -10
- package/dist/modern/Linechart/lineChartPlotlyOverrides.js.map +1 -1
- package/dist/modern/Linechart/styles.js.map +1 -1
- package/dist/modern/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,61 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.applyLayoutDefaults = exports.applyDataDefaults = void 0;
|
|
9
|
-
|
|
10
8
|
require("core-js/modules/es.object.to-string.js");
|
|
11
|
-
|
|
12
9
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
13
|
-
|
|
14
10
|
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
15
|
-
|
|
16
11
|
var setterIfNil = function setterIfNil(object, property, value) {
|
|
17
12
|
var _object$property;
|
|
18
|
-
|
|
19
13
|
// eslint-disable-next-line no-param-reassign
|
|
20
14
|
object[property] = (_object$property = object[property]) !== null && _object$property !== void 0 ? _object$property : value;
|
|
21
15
|
};
|
|
16
|
+
|
|
22
17
|
/**
|
|
23
18
|
* Auxiliary functions to set the data in order to follow the DS guideline.
|
|
24
19
|
*
|
|
25
20
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
21
|
var applyDataDefaults = function applyDataDefaults(inputData, type) {
|
|
29
22
|
var data = inputData;
|
|
30
23
|
data.forEach(function (trace) {
|
|
31
24
|
setterIfNil(trace, "hoverinfo", "none");
|
|
32
25
|
setterIfNil(trace, "mode", "lines");
|
|
33
|
-
|
|
34
26
|
switch (type) {
|
|
35
27
|
case "area":
|
|
36
28
|
setterIfNil(trace, "fill", "tonexty");
|
|
37
29
|
setterIfNil(trace, "type", "scatter");
|
|
38
30
|
break;
|
|
39
|
-
|
|
40
31
|
case "line":
|
|
41
32
|
setterIfNil(trace, "type", "line");
|
|
42
33
|
break;
|
|
43
|
-
|
|
44
34
|
case "stack":
|
|
45
35
|
setterIfNil(trace, "fill", "tonexty");
|
|
46
36
|
setterIfNil(trace, "type", "scatter");
|
|
47
37
|
setterIfNil(trace, "stackgroup", "one");
|
|
48
38
|
break;
|
|
49
|
-
|
|
50
39
|
default:
|
|
51
40
|
setterIfNil(trace, "type", "line");
|
|
52
41
|
}
|
|
53
42
|
});
|
|
54
43
|
return data;
|
|
55
44
|
};
|
|
56
|
-
|
|
57
45
|
exports.applyDataDefaults = applyDataDefaults;
|
|
58
|
-
|
|
59
46
|
var applyLayoutDefaults = function applyLayoutDefaults() {
|
|
60
47
|
var inputLayout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
61
48
|
var rangeSlider = arguments.length > 1 ? arguments[1] : undefined;
|
|
@@ -65,15 +52,12 @@ var applyLayoutDefaults = function applyLayoutDefaults() {
|
|
|
65
52
|
setterIfNil(layout.xaxis, "showline", true);
|
|
66
53
|
setterIfNil(layout, "yaxis", {});
|
|
67
54
|
setterIfNil(layout.yaxis, "showline", false);
|
|
68
|
-
|
|
69
55
|
if (rangeSlider) {
|
|
70
56
|
setterIfNil(layout.xaxis, "rangeslider", {
|
|
71
57
|
visible: true
|
|
72
58
|
});
|
|
73
59
|
}
|
|
74
|
-
|
|
75
60
|
return layout;
|
|
76
61
|
};
|
|
77
|
-
|
|
78
62
|
exports.applyLayoutDefaults = applyLayoutDefaults;
|
|
79
63
|
//# sourceMappingURL=lineChartPlotlyOverrides.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineChartPlotlyOverrides.js","names":["setterIfNil","object","property","value","applyDataDefaults","inputData","type","data","forEach","trace","applyLayoutDefaults","inputLayout","rangeSlider","layout","clone","xaxis","yaxis","visible"],"sources":["../../src/Linechart/lineChartPlotlyOverrides.js"],"sourcesContent":["import clone from \"lodash/cloneDeep\";\n\nconst setterIfNil = (object, property, value) => {\n // eslint-disable-next-line no-param-reassign\n object[property] = object[property] ?? value;\n};\n\n/**\n * Auxiliary functions to set the data in order to follow the DS guideline.\n *\n */\nexport const applyDataDefaults = (inputData, type) => {\n const data = inputData;\n\n data.forEach((trace) => {\n setterIfNil(trace, \"hoverinfo\", \"none\");\n setterIfNil(trace, \"mode\", \"lines\");\n\n switch (type) {\n case \"area\":\n setterIfNil(trace, \"fill\", \"tonexty\");\n setterIfNil(trace, \"type\", \"scatter\");\n break;\n case \"line\":\n setterIfNil(trace, \"type\", \"line\");\n break;\n case \"stack\":\n setterIfNil(trace, \"fill\", \"tonexty\");\n setterIfNil(trace, \"type\", \"scatter\");\n setterIfNil(trace, \"stackgroup\", \"one\");\n break;\n default:\n setterIfNil(trace, \"type\", \"line\");\n }\n });\n\n return data;\n};\n\nexport const applyLayoutDefaults = (inputLayout = {}, rangeSlider) => {\n const layout = clone(inputLayout);\n\n setterIfNil(layout, \"xaxis\", {});\n setterIfNil(layout.xaxis, \"showgrid\", true);\n setterIfNil(layout.xaxis, \"showline\", true);\n\n setterIfNil(layout, \"yaxis\", {});\n setterIfNil(layout.yaxis, \"showline\", false);\n\n if (rangeSlider) {\n setterIfNil(layout.xaxis, \"rangeslider\", {\n visible: true,\n });\n }\n\n return layout;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"lineChartPlotlyOverrides.js","names":["setterIfNil","object","property","value","applyDataDefaults","inputData","type","data","forEach","trace","applyLayoutDefaults","inputLayout","rangeSlider","layout","clone","xaxis","yaxis","visible"],"sources":["../../src/Linechart/lineChartPlotlyOverrides.js"],"sourcesContent":["import clone from \"lodash/cloneDeep\";\n\nconst setterIfNil = (object, property, value) => {\n // eslint-disable-next-line no-param-reassign\n object[property] = object[property] ?? value;\n};\n\n/**\n * Auxiliary functions to set the data in order to follow the DS guideline.\n *\n */\nexport const applyDataDefaults = (inputData, type) => {\n const data = inputData;\n\n data.forEach((trace) => {\n setterIfNil(trace, \"hoverinfo\", \"none\");\n setterIfNil(trace, \"mode\", \"lines\");\n\n switch (type) {\n case \"area\":\n setterIfNil(trace, \"fill\", \"tonexty\");\n setterIfNil(trace, \"type\", \"scatter\");\n break;\n case \"line\":\n setterIfNil(trace, \"type\", \"line\");\n break;\n case \"stack\":\n setterIfNil(trace, \"fill\", \"tonexty\");\n setterIfNil(trace, \"type\", \"scatter\");\n setterIfNil(trace, \"stackgroup\", \"one\");\n break;\n default:\n setterIfNil(trace, \"type\", \"line\");\n }\n });\n\n return data;\n};\n\nexport const applyLayoutDefaults = (inputLayout = {}, rangeSlider) => {\n const layout = clone(inputLayout);\n\n setterIfNil(layout, \"xaxis\", {});\n setterIfNil(layout.xaxis, \"showgrid\", true);\n setterIfNil(layout.xaxis, \"showline\", true);\n\n setterIfNil(layout, \"yaxis\", {});\n setterIfNil(layout.yaxis, \"showline\", false);\n\n if (rangeSlider) {\n setterIfNil(layout.xaxis, \"rangeslider\", {\n visible: true,\n });\n }\n\n return layout;\n};\n"],"mappings":";;;;;;;;;AAAA;AAEA,IAAMA,WAAW,GAAG,SAAdA,WAAW,CAAIC,MAAM,EAAEC,QAAQ,EAAEC,KAAK,EAAK;EAAA;EAC/C;EACAF,MAAM,CAACC,QAAQ,CAAC,uBAAGD,MAAM,CAACC,QAAQ,CAAC,+DAAIC,KAAK;AAC9C,CAAC;;AAED;AACA;AACA;AACA;AACO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,SAAS,EAAEC,IAAI,EAAK;EACpD,IAAMC,IAAI,GAAGF,SAAS;EAEtBE,IAAI,CAACC,OAAO,CAAC,UAACC,KAAK,EAAK;IACtBT,WAAW,CAACS,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC;IACvCT,WAAW,CAACS,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;IAEnC,QAAQH,IAAI;MACV,KAAK,MAAM;QACTN,WAAW,CAACS,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;QACrCT,WAAW,CAACS,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;QACrC;MACF,KAAK,MAAM;QACTT,WAAW,CAACS,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;QAClC;MACF,KAAK,OAAO;QACVT,WAAW,CAACS,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;QACrCT,WAAW,CAACS,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;QACrCT,WAAW,CAACS,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;QACvC;MACF;QACET,WAAW,CAACS,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IAAC;EAEzC,CAAC,CAAC;EAEF,OAAOF,IAAI;AACb,CAAC;AAAC;AAEK,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmB,GAAsC;EAAA,IAAlCC,WAAW,uEAAG,CAAC,CAAC;EAAA,IAAEC,WAAW;EAC/D,IAAMC,MAAM,GAAG,IAAAC,kBAAK,EAACH,WAAW,CAAC;EAEjCX,WAAW,CAACa,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;EAChCb,WAAW,CAACa,MAAM,CAACE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC;EAC3Cf,WAAW,CAACa,MAAM,CAACE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC;EAE3Cf,WAAW,CAACa,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;EAChCb,WAAW,CAACa,MAAM,CAACG,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC;EAE5C,IAAIJ,WAAW,EAAE;IACfZ,WAAW,CAACa,MAAM,CAACE,KAAK,EAAE,aAAa,EAAE;MACvCE,OAAO,EAAE;IACX,CAAC,CAAC;EACJ;EAEA,OAAOJ,MAAM;AACf,CAAC;AAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles"],"sources":["../../src/Linechart/styles.js"],"sourcesContent":["const styles = {};\n\nexport default styles;\n"],"mappings":";;;;;;AAAA,IAAMA,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles"],"sources":["../../src/Linechart/styles.js"],"sourcesContent":["const styles = {};\n\nexport default styles;\n"],"mappings":";;;;;;AAAA,IAAMA,MAAM,GAAG,CAAC,CAAC;AAAC,eAEHA,MAAM;AAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -23,10 +22,7 @@ Object.defineProperty(exports, "HvLinechart", {
|
|
|
23
22
|
return _Linechart.default;
|
|
24
23
|
}
|
|
25
24
|
});
|
|
26
|
-
|
|
27
25
|
var _Barchart = _interopRequireDefault(require("./Barchart"));
|
|
28
|
-
|
|
29
26
|
var _Donutchart = _interopRequireDefault(require("./Donutchart"));
|
|
30
|
-
|
|
31
27
|
var _Linechart = _interopRequireDefault(require("./Linechart"));
|
|
32
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["// components\nexport { default as HvBarchart } from \"./Barchart\";\nexport { default as HvDonutchart } from \"./Donutchart\";\nexport { default as HvLinechart } from \"./Linechart\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["// components\nexport { default as HvBarchart } from \"./Barchart\";\nexport { default as HvDonutchart } from \"./Donutchart\";\nexport { default as HvLinechart } from \"./Linechart\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA;AACA;AACA"}
|
|
@@ -2,11 +2,8 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
4
|
var _excluded = ["id", "classes", "data", "layout", "config", "tooltipType", "stack", "horizontal"];
|
|
5
|
-
|
|
6
5
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
-
|
|
8
6
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
-
|
|
10
7
|
import "core-js/modules/es.array.map.js";
|
|
11
8
|
import "core-js/modules/es.object.keys.js";
|
|
12
9
|
import "core-js/modules/es.symbol.js";
|
|
@@ -26,42 +23,43 @@ var MARGIN = 50;
|
|
|
26
23
|
var MAX_BAR_WIDTH = 90;
|
|
27
24
|
var MIN_BAR_WIDTH = 3;
|
|
28
25
|
var MIN_WIDTH = 75;
|
|
26
|
+
|
|
29
27
|
/**
|
|
30
28
|
* A Bar chart is a chart or graph that presents categorical data with rectangular bars.
|
|
31
29
|
*
|
|
32
30
|
* Our implementation leverages the Plotly charting library. If you have a specific case
|
|
33
31
|
* that we don't cover, the Plotly [documentation](https://plotly.com/javascript/) is a good starting point.
|
|
34
32
|
*/
|
|
35
|
-
|
|
36
33
|
var Barchart = function Barchart(_ref) {
|
|
37
34
|
var id = _ref.id,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
35
|
+
classes = _ref.classes,
|
|
36
|
+
data = _ref.data,
|
|
37
|
+
layout = _ref.layout,
|
|
38
|
+
config = _ref.config,
|
|
39
|
+
_ref$tooltipType = _ref.tooltipType,
|
|
40
|
+
tooltipType = _ref$tooltipType === void 0 ? "multiple" : _ref$tooltipType,
|
|
41
|
+
_ref$stack = _ref.stack,
|
|
42
|
+
stack = _ref$stack === void 0 ? false : _ref$stack,
|
|
43
|
+
_ref$horizontal = _ref.horizontal,
|
|
44
|
+
horizontal = _ref$horizontal === void 0 ? false : _ref$horizontal,
|
|
45
|
+
others = _objectWithoutProperties(_ref, _excluded);
|
|
50
46
|
/* Values derived from props */
|
|
47
|
+
|
|
51
48
|
var dataWithDefaults = useMemo(function () {
|
|
52
49
|
return applyDataDefaults(data, horizontal);
|
|
53
50
|
}, [data, horizontal]);
|
|
54
51
|
var chartLayout = useMemo(function () {
|
|
55
52
|
return applyLayoutDefaults(layout, stack, horizontal);
|
|
56
53
|
}, [layout, stack, horizontal]);
|
|
54
|
+
|
|
57
55
|
/* State */
|
|
58
56
|
|
|
59
57
|
var _useState = useState(dataWithDefaults),
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
/* Effects */
|
|
58
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
59
|
+
chartData = _useState2[0],
|
|
60
|
+
setChartData = _useState2[1];
|
|
64
61
|
|
|
62
|
+
/* Effects */
|
|
65
63
|
|
|
66
64
|
var firstRender = useRef(true);
|
|
67
65
|
useEffect(function () {
|
|
@@ -71,32 +69,28 @@ var Barchart = function Barchart(_ref) {
|
|
|
71
69
|
if (!firstRender.current) {
|
|
72
70
|
setChartData(dataWithDefaults);
|
|
73
71
|
}
|
|
74
|
-
|
|
75
72
|
firstRender.current = false;
|
|
76
73
|
}, [dataWithDefaults]);
|
|
74
|
+
|
|
77
75
|
/**
|
|
78
76
|
* Used to force the max width of each bar with 90px.
|
|
79
77
|
*
|
|
80
78
|
* (this is effectively more an effect than a callback)
|
|
81
79
|
*/
|
|
82
|
-
|
|
83
80
|
var recalculateBarWidth = useCallback(function (ref) {
|
|
84
81
|
// use the data and layout info directly from the plotly ref
|
|
85
82
|
// as it's always the most uptodate version.
|
|
86
83
|
var plotData = ref.current.props.data;
|
|
87
84
|
var plotLayout = ref.current.props.layout;
|
|
88
|
-
|
|
89
85
|
if (plotData.length > 0) {
|
|
90
86
|
var barmode = plotLayout.barmode,
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
bargap = plotLayout.bargap,
|
|
88
|
+
bargroupgap = plotLayout.bargroupgap;
|
|
93
89
|
var isStack = barmode === "stack";
|
|
94
90
|
var numberOfBarsByGroup = isStack ? 1 : plotData.length;
|
|
95
91
|
var numberOfGroup = plotData[0].x.length;
|
|
96
|
-
|
|
97
92
|
var _ref$current$el$getBo = ref.current.el.getBoundingClientRect(),
|
|
98
|
-
|
|
99
|
-
|
|
93
|
+
boundingRect = _ref$current$el$getBo.width;
|
|
100
94
|
var width = boundingRect < MIN_WIDTH ? MIN_WIDTH : boundingRect;
|
|
101
95
|
var plotWidth = width - MARGIN;
|
|
102
96
|
var groupWidth = plotWidth / numberOfGroup;
|
|
@@ -105,7 +99,6 @@ var Barchart = function Barchart(_ref) {
|
|
|
105
99
|
var greaterThan90 = calculatedBarWidth > MAX_BAR_WIDTH;
|
|
106
100
|
var lessThan3 = calculatedBarWidth < MIN_BAR_WIDTH;
|
|
107
101
|
var isAlreadyGreaterThan90 = plotData[0].width !== undefined;
|
|
108
|
-
|
|
109
102
|
if (greaterThan90 && !isAlreadyGreaterThan90) {
|
|
110
103
|
var newWidth = MAX_BAR_WIDTH / plotWidth * numberOfGroup;
|
|
111
104
|
var newData = plotData.map(function (subData) {
|
|
@@ -115,26 +108,21 @@ var Barchart = function Barchart(_ref) {
|
|
|
115
108
|
});
|
|
116
109
|
setChartData(newData);
|
|
117
110
|
}
|
|
118
|
-
|
|
119
111
|
if (lessThan3 && !isAlreadyGreaterThan90) {
|
|
120
112
|
var _newWidth = MIN_BAR_WIDTH / plotWidth * numberOfGroup;
|
|
121
|
-
|
|
122
113
|
var _newData = plotData.map(function (subData) {
|
|
123
114
|
return _objectSpread(_objectSpread({}, subData), {}, {
|
|
124
115
|
width: _newWidth
|
|
125
116
|
});
|
|
126
117
|
});
|
|
127
|
-
|
|
128
118
|
setChartData(_newData);
|
|
129
119
|
}
|
|
130
|
-
|
|
131
120
|
if (!greaterThan90 && isAlreadyGreaterThan90) {
|
|
132
121
|
var _newData2 = plotData.map(function (subData) {
|
|
133
122
|
return _objectSpread(_objectSpread({}, subData), {}, {
|
|
134
123
|
width: undefined
|
|
135
124
|
});
|
|
136
125
|
});
|
|
137
|
-
|
|
138
126
|
setChartData(_newData2);
|
|
139
127
|
}
|
|
140
128
|
}
|
|
@@ -149,43 +137,57 @@ var Barchart = function Barchart(_ref) {
|
|
|
149
137
|
afterPlot: recalculateBarWidth
|
|
150
138
|
}, others));
|
|
151
139
|
};
|
|
152
|
-
|
|
153
140
|
process.env.NODE_ENV !== "production" ? Barchart.propTypes = {
|
|
154
141
|
/**
|
|
155
142
|
* An Id passed on to the component
|
|
156
143
|
*/
|
|
157
144
|
id: PropTypes.string,
|
|
158
|
-
|
|
159
145
|
/**
|
|
160
146
|
* A Jss Object used to override or extend the styles applied.
|
|
161
147
|
*/
|
|
162
|
-
classes: PropTypes.
|
|
163
|
-
|
|
148
|
+
classes: PropTypes.shape({
|
|
149
|
+
root: PropTypes.string
|
|
150
|
+
}),
|
|
164
151
|
/**
|
|
165
152
|
* Plotly data object (see https://plot.ly/javascript/reference/).
|
|
166
153
|
*/
|
|
167
154
|
data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,
|
|
168
|
-
|
|
169
155
|
/**
|
|
170
156
|
* Plotly layout object (see https://plot.ly/javascript/reference/#layout).
|
|
171
157
|
*/
|
|
172
158
|
layout: PropTypes.instanceOf(Object),
|
|
173
|
-
|
|
174
159
|
/**
|
|
175
160
|
* Plotly config object (see https://plot.ly/javascript/configuration-options/).
|
|
176
161
|
*/
|
|
177
162
|
config: PropTypes.instanceOf(Object),
|
|
178
|
-
|
|
179
163
|
/**
|
|
180
164
|
* Defines if should use a single or multiline tooltip.
|
|
181
165
|
*/
|
|
182
166
|
tooltipType: PropTypes.oneOf(["single", "multiple"]),
|
|
183
|
-
|
|
167
|
+
/**
|
|
168
|
+
* Custom tooltip element to be displayed
|
|
169
|
+
*/
|
|
170
|
+
tooltip: PropTypes.func,
|
|
171
|
+
/**
|
|
172
|
+
* Function to be called after plot render.
|
|
173
|
+
*/
|
|
174
|
+
afterPlot: PropTypes.func,
|
|
175
|
+
/**
|
|
176
|
+
* Defines the X axis title.
|
|
177
|
+
*/
|
|
178
|
+
xAxisTitle: PropTypes.string,
|
|
179
|
+
/**
|
|
180
|
+
* Defines the Y axis title.
|
|
181
|
+
*/
|
|
182
|
+
yAxisTitle: PropTypes.string,
|
|
183
|
+
/**
|
|
184
|
+
* Defines the chart subtitle.
|
|
185
|
+
*/
|
|
186
|
+
subtitle: PropTypes.string,
|
|
184
187
|
/**
|
|
185
188
|
* Sets is the chart is stack.
|
|
186
189
|
*/
|
|
187
190
|
stack: PropTypes.bool,
|
|
188
|
-
|
|
189
191
|
/**
|
|
190
192
|
* Sets is the chart is horizontal.
|
|
191
193
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Barchart.js","names":["React","useMemo","useEffect","useState","useCallback","useRef","PropTypes","withStyles","Chart","applyLayoutDefaults","applyDataDefaults","styles","MARGIN","MAX_BAR_WIDTH","MIN_BAR_WIDTH","MIN_WIDTH","Barchart","id","classes","data","layout","config","tooltipType","stack","horizontal","others","dataWithDefaults","chartLayout","chartData","setChartData","firstRender","current","recalculateBarWidth","ref","plotData","props","plotLayout","length","barmode","bargap","bargroupgap","isStack","numberOfBarsByGroup","numberOfGroup","x","el","getBoundingClientRect","boundingRect","width","plotWidth","groupWidth","colWidth","calculatedBarWidth","greaterThan90","lessThan3","isAlreadyGreaterThan90","undefined","newWidth","newData","map","subData","propTypes","string","instanceOf","Object","arrayOf","isRequired","oneOf","bool","name"],"sources":["../../../src/Barchart/Barchart.js"],"sourcesContent":["import React, { useMemo, useEffect, useState, useCallback, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport Chart from \"../Chart\";\nimport { applyLayoutDefaults, applyDataDefaults } from \"./barchartPlotlyOverrides\";\nimport styles from \"./styles\";\n\nconst MARGIN = 50;\nconst MAX_BAR_WIDTH = 90;\nconst MIN_BAR_WIDTH = 3;\nconst MIN_WIDTH = 75;\n\n/**\n * A Bar chart is a chart or graph that presents categorical data with rectangular bars.\n *\n * Our implementation leverages the Plotly charting library. If you have a specific case\n * that we don't cover, the Plotly [documentation](https://plotly.com/javascript/) is a good starting point.\n */\nconst Barchart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n stack = false,\n horizontal = false,\n ...others\n}) => {\n /* Values derived from props */\n\n const dataWithDefaults = useMemo(() => applyDataDefaults(data, horizontal), [data, horizontal]);\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, stack, horizontal),\n [layout, stack, horizontal]\n );\n\n /* State */\n\n const [chartData, setChartData] = useState(dataWithDefaults);\n\n /* Effects */\n\n const firstRender = useRef(true);\n useEffect(() => {\n // only setChartData when prop value changes\n // not needed on first render because the\n // initial state is already properly set\n if (!firstRender.current) {\n setChartData(dataWithDefaults);\n }\n\n firstRender.current = false;\n }, [dataWithDefaults]);\n\n /**\n * Used to force the max width of each bar with 90px.\n *\n * (this is effectively more an effect than a callback)\n */\n const recalculateBarWidth = useCallback((ref) => {\n // use the data and layout info directly from the plotly ref\n // as it's always the most uptodate version.\n const plotData = ref.current.props.data;\n const plotLayout = ref.current.props.layout;\n\n if (plotData.length > 0) {\n const { barmode, bargap, bargroupgap } = plotLayout;\n\n const isStack = barmode === \"stack\";\n const numberOfBarsByGroup = isStack ? 1 : plotData.length;\n const numberOfGroup = plotData[0].x.length;\n\n const { width: boundingRect } = ref.current.el.getBoundingClientRect();\n const width = boundingRect < MIN_WIDTH ? MIN_WIDTH : boundingRect;\n const plotWidth = width - MARGIN;\n const groupWidth = plotWidth / numberOfGroup;\n const colWidth = groupWidth * (1 - bargap) - groupWidth * (1 - bargap) * bargroupgap;\n\n const calculatedBarWidth = colWidth / numberOfBarsByGroup;\n const greaterThan90 = calculatedBarWidth > MAX_BAR_WIDTH;\n const lessThan3 = calculatedBarWidth < MIN_BAR_WIDTH;\n const isAlreadyGreaterThan90 = plotData[0].width !== undefined;\n\n if (greaterThan90 && !isAlreadyGreaterThan90) {\n const newWidth = (MAX_BAR_WIDTH / plotWidth) * numberOfGroup;\n\n const newData = plotData.map((subData) => {\n return { ...subData, width: newWidth };\n });\n\n setChartData(newData);\n }\n\n if (lessThan3 && !isAlreadyGreaterThan90) {\n const newWidth = (MIN_BAR_WIDTH / plotWidth) * numberOfGroup;\n\n const newData = plotData.map((subData) => {\n return { ...subData, width: newWidth };\n });\n\n setChartData(newData);\n }\n\n if (!greaterThan90 && isAlreadyGreaterThan90) {\n const newData = plotData.map((subData) => {\n return { ...subData, width: undefined };\n });\n\n setChartData(newData);\n }\n }\n }, []);\n\n return (\n <Chart\n id={id}\n classes={classes}\n data={chartData}\n layout={chartLayout}\n config={config}\n tooltipType={tooltipType}\n afterPlot={recalculateBarWidth}\n {...others}\n />\n );\n};\nBarchart.propTypes = {\n /**\n * An Id passed on to the component\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.instanceOf(Object),\n /**\n * Plotly data object (see https://plot.ly/javascript/reference/).\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Plotly layout object (see https://plot.ly/javascript/reference/#layout).\n */\n layout: PropTypes.instanceOf(Object),\n /**\n * Plotly config object (see https://plot.ly/javascript/configuration-options/).\n */\n config: PropTypes.instanceOf(Object),\n /**\n * Defines if should use a single or multiline tooltip.\n */\n tooltipType: PropTypes.oneOf([\"single\", \"multiple\"]),\n /**\n * Sets is the chart is stack.\n */\n stack: PropTypes.bool,\n /**\n * Sets is the chart is horizontal.\n */\n horizontal: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvBarchart\" })(Barchart);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Barchart.js","names":["React","useMemo","useEffect","useState","useCallback","useRef","PropTypes","withStyles","Chart","applyLayoutDefaults","applyDataDefaults","styles","MARGIN","MAX_BAR_WIDTH","MIN_BAR_WIDTH","MIN_WIDTH","Barchart","id","classes","data","layout","config","tooltipType","stack","horizontal","others","dataWithDefaults","chartLayout","chartData","setChartData","firstRender","current","recalculateBarWidth","ref","plotData","props","plotLayout","length","barmode","bargap","bargroupgap","isStack","numberOfBarsByGroup","numberOfGroup","x","el","getBoundingClientRect","boundingRect","width","plotWidth","groupWidth","colWidth","calculatedBarWidth","greaterThan90","lessThan3","isAlreadyGreaterThan90","undefined","newWidth","newData","map","subData","propTypes","string","shape","root","arrayOf","instanceOf","Object","isRequired","oneOf","tooltip","func","afterPlot","xAxisTitle","yAxisTitle","subtitle","bool","name"],"sources":["../../../src/Barchart/Barchart.js"],"sourcesContent":["import React, { useMemo, useEffect, useState, useCallback, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport Chart from \"../Chart\";\nimport { applyLayoutDefaults, applyDataDefaults } from \"./barchartPlotlyOverrides\";\nimport styles from \"./styles\";\n\nconst MARGIN = 50;\nconst MAX_BAR_WIDTH = 90;\nconst MIN_BAR_WIDTH = 3;\nconst MIN_WIDTH = 75;\n\n/**\n * A Bar chart is a chart or graph that presents categorical data with rectangular bars.\n *\n * Our implementation leverages the Plotly charting library. If you have a specific case\n * that we don't cover, the Plotly [documentation](https://plotly.com/javascript/) is a good starting point.\n */\nconst Barchart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n stack = false,\n horizontal = false,\n ...others\n}) => {\n /* Values derived from props */\n\n const dataWithDefaults = useMemo(() => applyDataDefaults(data, horizontal), [data, horizontal]);\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, stack, horizontal),\n [layout, stack, horizontal]\n );\n\n /* State */\n\n const [chartData, setChartData] = useState(dataWithDefaults);\n\n /* Effects */\n\n const firstRender = useRef(true);\n useEffect(() => {\n // only setChartData when prop value changes\n // not needed on first render because the\n // initial state is already properly set\n if (!firstRender.current) {\n setChartData(dataWithDefaults);\n }\n\n firstRender.current = false;\n }, [dataWithDefaults]);\n\n /**\n * Used to force the max width of each bar with 90px.\n *\n * (this is effectively more an effect than a callback)\n */\n const recalculateBarWidth = useCallback((ref) => {\n // use the data and layout info directly from the plotly ref\n // as it's always the most uptodate version.\n const plotData = ref.current.props.data;\n const plotLayout = ref.current.props.layout;\n\n if (plotData.length > 0) {\n const { barmode, bargap, bargroupgap } = plotLayout;\n\n const isStack = barmode === \"stack\";\n const numberOfBarsByGroup = isStack ? 1 : plotData.length;\n const numberOfGroup = plotData[0].x.length;\n\n const { width: boundingRect } = ref.current.el.getBoundingClientRect();\n const width = boundingRect < MIN_WIDTH ? MIN_WIDTH : boundingRect;\n const plotWidth = width - MARGIN;\n const groupWidth = plotWidth / numberOfGroup;\n const colWidth = groupWidth * (1 - bargap) - groupWidth * (1 - bargap) * bargroupgap;\n\n const calculatedBarWidth = colWidth / numberOfBarsByGroup;\n const greaterThan90 = calculatedBarWidth > MAX_BAR_WIDTH;\n const lessThan3 = calculatedBarWidth < MIN_BAR_WIDTH;\n const isAlreadyGreaterThan90 = plotData[0].width !== undefined;\n\n if (greaterThan90 && !isAlreadyGreaterThan90) {\n const newWidth = (MAX_BAR_WIDTH / plotWidth) * numberOfGroup;\n\n const newData = plotData.map((subData) => {\n return { ...subData, width: newWidth };\n });\n\n setChartData(newData);\n }\n\n if (lessThan3 && !isAlreadyGreaterThan90) {\n const newWidth = (MIN_BAR_WIDTH / plotWidth) * numberOfGroup;\n\n const newData = plotData.map((subData) => {\n return { ...subData, width: newWidth };\n });\n\n setChartData(newData);\n }\n\n if (!greaterThan90 && isAlreadyGreaterThan90) {\n const newData = plotData.map((subData) => {\n return { ...subData, width: undefined };\n });\n\n setChartData(newData);\n }\n }\n }, []);\n\n return (\n <Chart\n id={id}\n classes={classes}\n data={chartData}\n layout={chartLayout}\n config={config}\n tooltipType={tooltipType}\n afterPlot={recalculateBarWidth}\n {...others}\n />\n );\n};\nBarchart.propTypes = {\n /**\n * An Id passed on to the component\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n root: PropTypes.string,\n }),\n /**\n * Plotly data object (see https://plot.ly/javascript/reference/).\n */\n data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Plotly layout object (see https://plot.ly/javascript/reference/#layout).\n */\n layout: PropTypes.instanceOf(Object),\n /**\n * Plotly config object (see https://plot.ly/javascript/configuration-options/).\n */\n config: PropTypes.instanceOf(Object),\n /**\n * Defines if should use a single or multiline tooltip.\n */\n tooltipType: PropTypes.oneOf([\"single\", \"multiple\"]),\n /**\n * Custom tooltip element to be displayed\n */\n tooltip: PropTypes.func,\n /**\n * Function to be called after plot render.\n */\n afterPlot: PropTypes.func,\n /**\n * Defines the X axis title.\n */\n xAxisTitle: PropTypes.string,\n /**\n * Defines the Y axis title.\n */\n yAxisTitle: PropTypes.string,\n /**\n * Defines the chart subtitle.\n */\n subtitle: PropTypes.string,\n /**\n * Sets is the chart is stack.\n */\n stack: PropTypes.bool,\n /**\n * Sets is the chart is horizontal.\n */\n horizontal: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvBarchart\" })(Barchart);\n"],"mappings":"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"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import "core-js/modules/es.object.to-string.js";
|
|
2
2
|
import "core-js/modules/web.dom-collections.for-each.js";
|
|
3
3
|
import clone from "lodash/cloneDeep";
|
|
4
|
-
|
|
5
4
|
var setterIfNil = function setterIfNil(object, property, value) {
|
|
6
5
|
var _object$property;
|
|
7
|
-
|
|
8
6
|
// eslint-disable-next-line no-param-reassign
|
|
9
7
|
object[property] = (_object$property = object[property]) !== null && _object$property !== void 0 ? _object$property : value;
|
|
10
8
|
};
|
|
9
|
+
|
|
11
10
|
/**
|
|
12
11
|
* Auxiliary functions to set the layout in order to follow the DS guideline.
|
|
13
12
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
13
|
export var applyLayoutDefaults = function applyLayoutDefaults(inputLayout, stack, isHorizontal) {
|
|
17
14
|
var layout = inputLayout === undefined ? {} : clone(inputLayout);
|
|
18
15
|
setterIfNil(layout, "bargap", 0.25);
|
|
@@ -21,14 +18,12 @@ export var applyLayoutDefaults = function applyLayoutDefaults(inputLayout, stack
|
|
|
21
18
|
if (stack) setterIfNil(layout, "barmode", "stack");
|
|
22
19
|
setterIfNil(layout, "yaxis", {});
|
|
23
20
|
setterIfNil(layout, "xaxis", {});
|
|
24
|
-
|
|
25
21
|
if (isHorizontal) {
|
|
26
22
|
setterIfNil(layout.yaxis, "showline", true);
|
|
27
23
|
setterIfNil(layout.xaxis, "showline", false);
|
|
28
24
|
} else {
|
|
29
25
|
setterIfNil(layout.yaxis, "showline", false);
|
|
30
26
|
}
|
|
31
|
-
|
|
32
27
|
return layout;
|
|
33
28
|
};
|
|
34
29
|
export var applyDataDefaults = function applyDataDefaults(inputData, isHorizontal) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barchartPlotlyOverrides.js","names":["clone","setterIfNil","object","property","value","applyLayoutDefaults","inputLayout","stack","isHorizontal","layout","undefined","yaxis","xaxis","applyDataDefaults","inputData","data","forEach","trace"],"sources":["../../../src/Barchart/barchartPlotlyOverrides.js"],"sourcesContent":["import clone from \"lodash/cloneDeep\";\n\nconst setterIfNil = (object, property, value) => {\n // eslint-disable-next-line no-param-reassign\n object[property] = object[property] ?? value;\n};\n\n/**\n * Auxiliary functions to set the layout in order to follow the DS guideline.\n */\nexport const applyLayoutDefaults = (inputLayout, stack, isHorizontal) => {\n const layout = inputLayout === undefined ? {} : clone(inputLayout);\n setterIfNil(layout, \"bargap\", 0.25);\n setterIfNil(layout, \"bargroupgap\", 0.25);\n setterIfNil(layout, \"hovermode\", \"closest\");\n if (stack) setterIfNil(layout, \"barmode\", \"stack\");\n\n setterIfNil(layout, \"yaxis\", {});\n setterIfNil(layout, \"xaxis\", {});\n\n if (isHorizontal) {\n setterIfNil(layout.yaxis, \"showline\", true);\n setterIfNil(layout.xaxis, \"showline\", false);\n } else {\n setterIfNil(layout.yaxis, \"showline\", false);\n }\n\n return layout;\n};\n\nexport const applyDataDefaults = (inputData, isHorizontal) => {\n const data = inputData;\n\n data.forEach((trace) => {\n setterIfNil(trace, \"type\", \"bar\");\n setterIfNil(trace, \"hoverinfo\", \"none\");\n if (isHorizontal) setterIfNil(trace, \"orientation\", \"h\");\n });\n\n return data;\n};\n"],"mappings":";;AAAA,OAAOA,
|
|
1
|
+
{"version":3,"file":"barchartPlotlyOverrides.js","names":["clone","setterIfNil","object","property","value","applyLayoutDefaults","inputLayout","stack","isHorizontal","layout","undefined","yaxis","xaxis","applyDataDefaults","inputData","data","forEach","trace"],"sources":["../../../src/Barchart/barchartPlotlyOverrides.js"],"sourcesContent":["import clone from \"lodash/cloneDeep\";\n\nconst setterIfNil = (object, property, value) => {\n // eslint-disable-next-line no-param-reassign\n object[property] = object[property] ?? value;\n};\n\n/**\n * Auxiliary functions to set the layout in order to follow the DS guideline.\n */\nexport const applyLayoutDefaults = (inputLayout, stack, isHorizontal) => {\n const layout = inputLayout === undefined ? {} : clone(inputLayout);\n setterIfNil(layout, \"bargap\", 0.25);\n setterIfNil(layout, \"bargroupgap\", 0.25);\n setterIfNil(layout, \"hovermode\", \"closest\");\n if (stack) setterIfNil(layout, \"barmode\", \"stack\");\n\n setterIfNil(layout, \"yaxis\", {});\n setterIfNil(layout, \"xaxis\", {});\n\n if (isHorizontal) {\n setterIfNil(layout.yaxis, \"showline\", true);\n setterIfNil(layout.xaxis, \"showline\", false);\n } else {\n setterIfNil(layout.yaxis, \"showline\", false);\n }\n\n return layout;\n};\n\nexport const applyDataDefaults = (inputData, isHorizontal) => {\n const data = inputData;\n\n data.forEach((trace) => {\n setterIfNil(trace, \"type\", \"bar\");\n setterIfNil(trace, \"hoverinfo\", \"none\");\n if (isHorizontal) setterIfNil(trace, \"orientation\", \"h\");\n });\n\n return data;\n};\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,kBAAkB;AAEpC,IAAMC,WAAW,GAAG,SAAdA,WAAW,CAAIC,MAAM,EAAEC,QAAQ,EAAEC,KAAK,EAAK;EAAA;EAC/C;EACAF,MAAM,CAACC,QAAQ,CAAC,uBAAGD,MAAM,CAACC,QAAQ,CAAC,+DAAIC,KAAK;AAC9C,CAAC;;AAED;AACA;AACA;AACA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIC,WAAW,EAAEC,KAAK,EAAEC,YAAY,EAAK;EACvE,IAAMC,MAAM,GAAGH,WAAW,KAAKI,SAAS,GAAG,CAAC,CAAC,GAAGV,KAAK,CAACM,WAAW,CAAC;EAClEL,WAAW,CAACQ,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;EACnCR,WAAW,CAACQ,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC;EACxCR,WAAW,CAACQ,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC;EAC3C,IAAIF,KAAK,EAAEN,WAAW,CAACQ,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;EAElDR,WAAW,CAACQ,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;EAChCR,WAAW,CAACQ,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;EAEhC,IAAID,YAAY,EAAE;IAChBP,WAAW,CAACQ,MAAM,CAACE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC;IAC3CV,WAAW,CAACQ,MAAM,CAACG,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC;EAC9C,CAAC,MAAM;IACLX,WAAW,CAACQ,MAAM,CAACE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC;EAC9C;EAEA,OAAOF,MAAM;AACf,CAAC;AAED,OAAO,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,SAAS,EAAEN,YAAY,EAAK;EAC5D,IAAMO,IAAI,GAAGD,SAAS;EAEtBC,IAAI,CAACC,OAAO,CAAC,UAACC,KAAK,EAAK;IACtBhB,WAAW,CAACgB,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;IACjChB,WAAW,CAACgB,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC;IACvC,IAAIT,YAAY,EAAEP,WAAW,CAACgB,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC;EAC1D,CAAC,CAAC;EAEF,OAAOF,IAAI;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default"],"sources":["../../../src/Barchart/index.js"],"sourcesContent":["export { default } from \"./Barchart\";\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../../src/Barchart/index.js"],"sourcesContent":["export { default } from \"./Barchart\";\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles"],"sources":["../../../src/Barchart/styles.js"],"sourcesContent":["const styles = {};\n\nexport default styles;\n"],"mappings":"AAAA,IAAMA,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles"],"sources":["../../../src/Barchart/styles.js"],"sourcesContent":["const styles = {};\n\nexport default styles;\n"],"mappings":"AAAA,IAAMA,MAAM,GAAG,CAAC,CAAC;AAEjB,eAAeA,MAAM"}
|
|
@@ -26,7 +26,7 @@ export interface HvChartProps extends StandardProps<HvPlotProps, HvChartClassKey
|
|
|
26
26
|
/**
|
|
27
27
|
* Custom tooltip element to be displayed
|
|
28
28
|
*/
|
|
29
|
-
tooltip?: (data: TooltipDataObject) => Element;
|
|
29
|
+
tooltip?: (data: TooltipDataObject) => JSX.Element;
|
|
30
30
|
/**
|
|
31
31
|
* Defines the X axis title.
|
|
32
32
|
*/
|
|
@@ -2,11 +2,8 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
4
|
var _excluded = ["id", "classes", "data", "layout", "config", "tooltipType", "tooltip", "afterPlot", "xAxisTitle", "yAxisTitle"];
|
|
5
|
-
|
|
6
5
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
-
|
|
8
6
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
-
|
|
10
7
|
import "core-js/modules/es.object.to-string.js";
|
|
11
8
|
import "core-js/modules/web.dom-collections.for-each.js";
|
|
12
9
|
import "core-js/modules/es.function.name.js";
|
|
@@ -26,28 +23,26 @@ import styles from "./styles";
|
|
|
26
23
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
27
24
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
28
25
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
|
-
|
|
30
26
|
var Chart = function Chart(_ref) {
|
|
31
27
|
var id = _ref.id,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
28
|
+
classes = _ref.classes,
|
|
29
|
+
data = _ref.data,
|
|
30
|
+
layout = _ref.layout,
|
|
31
|
+
config = _ref.config,
|
|
32
|
+
_ref$tooltipType = _ref.tooltipType,
|
|
33
|
+
tooltipType = _ref$tooltipType === void 0 ? "multiple" : _ref$tooltipType,
|
|
34
|
+
tooltip = _ref.tooltip,
|
|
35
|
+
afterPlot = _ref.afterPlot,
|
|
36
|
+
xAxisTitle = _ref.xAxisTitle,
|
|
37
|
+
yAxisTitle = _ref.yAxisTitle,
|
|
38
|
+
others = _objectWithoutProperties(_ref, _excluded);
|
|
44
39
|
var theme = useTheme();
|
|
40
|
+
|
|
45
41
|
/* Values derived from props */
|
|
46
|
-
// Check if the barchart is horizontal or vertical.
|
|
47
42
|
|
|
43
|
+
// Check if the barchart is horizontal or vertical.
|
|
48
44
|
var isHorizontal = useMemo(function () {
|
|
49
45
|
var _data$;
|
|
50
|
-
|
|
51
46
|
return !isNil((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.orientation) ? data[0].orientation.toUpperCase() === "H" : false;
|
|
52
47
|
}, [data]);
|
|
53
48
|
var chartLayout = useMemo(function () {
|
|
@@ -57,29 +52,28 @@ var Chart = function Chart(_ref) {
|
|
|
57
52
|
return applyConfigDefaults(config);
|
|
58
53
|
}, [config]);
|
|
59
54
|
var useSingle = tooltipType === "single";
|
|
55
|
+
|
|
60
56
|
/* State */
|
|
61
57
|
|
|
62
58
|
var _useState = useState(false),
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
60
|
+
isHover = _useState2[0],
|
|
61
|
+
setIsHover = _useState2[1];
|
|
67
62
|
var _useState3 = useState({
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
63
|
+
x: 0,
|
|
64
|
+
y: 0
|
|
65
|
+
}),
|
|
66
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
67
|
+
coordinates = _useState4[0],
|
|
68
|
+
setCoordinates = _useState4[1];
|
|
75
69
|
var _useState5 = useState(),
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
/* Callbacks */
|
|
80
|
-
// Extract data from the plotly onHover event to be used to create the tooltip.
|
|
70
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
71
|
+
dataTooltip = _useState6[0],
|
|
72
|
+
setDataTooltip = _useState6[1];
|
|
81
73
|
|
|
74
|
+
/* Callbacks */
|
|
82
75
|
|
|
76
|
+
// Extract data from the plotly onHover event to be used to create the tooltip.
|
|
83
77
|
var onHover = useCallback(function (event) {
|
|
84
78
|
var points = event.points;
|
|
85
79
|
var dataFromPoints = {
|
|
@@ -88,7 +82,6 @@ var Chart = function Chart(_ref) {
|
|
|
88
82
|
};
|
|
89
83
|
points.forEach(function (p, i) {
|
|
90
84
|
var _fData$marker, _fData$line, _fData$labels;
|
|
91
|
-
|
|
92
85
|
var fData = p.fullData;
|
|
93
86
|
var pNumber = p.pointNumber;
|
|
94
87
|
if (i === 0) dataFromPoints.title = isHorizontal ? p.y : p.x || fData.name;
|
|
@@ -133,60 +126,49 @@ var Chart = function Chart(_ref) {
|
|
|
133
126
|
})]
|
|
134
127
|
});
|
|
135
128
|
};
|
|
136
|
-
|
|
137
129
|
process.env.NODE_ENV !== "production" ? Chart.propTypes = {
|
|
138
130
|
/**
|
|
139
131
|
* An Id passed on to the component
|
|
140
132
|
*/
|
|
141
133
|
id: PropTypes.string,
|
|
142
|
-
|
|
143
134
|
/**
|
|
144
135
|
* A Jss Object used to override or extend the styles applied.
|
|
145
136
|
*/
|
|
146
137
|
classes: PropTypes.shape({
|
|
147
138
|
root: PropTypes.string
|
|
148
139
|
}),
|
|
149
|
-
|
|
150
140
|
/**
|
|
151
141
|
* Plotly data object (see https://plot.ly/javascript/reference/).
|
|
152
142
|
*/
|
|
153
143
|
data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,
|
|
154
|
-
|
|
155
144
|
/**
|
|
156
145
|
* Plotly layout object (see https://plot.ly/javascript/reference/#layout).
|
|
157
146
|
*/
|
|
158
147
|
layout: PropTypes.instanceOf(Object).isRequired,
|
|
159
|
-
|
|
160
148
|
/**
|
|
161
149
|
* Plotly config object (see https://plot.ly/javascript/configuration-options/).
|
|
162
150
|
*/
|
|
163
151
|
config: PropTypes.instanceOf(Object),
|
|
164
|
-
|
|
165
152
|
/**
|
|
166
153
|
* Defines if should use a single or multiline tooltip.
|
|
167
154
|
*/
|
|
168
155
|
tooltipType: PropTypes.oneOf(["single", "multiple"]),
|
|
169
|
-
|
|
170
156
|
/**
|
|
171
157
|
* Custom tooltip element to be displayed
|
|
172
158
|
*/
|
|
173
159
|
tooltip: PropTypes.func,
|
|
174
|
-
|
|
175
160
|
/**
|
|
176
161
|
* Function to be called after plot render.
|
|
177
162
|
*/
|
|
178
163
|
afterPlot: PropTypes.func,
|
|
179
|
-
|
|
180
164
|
/**
|
|
181
165
|
* Defines the X axis title.
|
|
182
166
|
*/
|
|
183
167
|
xAxisTitle: PropTypes.string,
|
|
184
|
-
|
|
185
168
|
/**
|
|
186
169
|
* Defines the Y axis title.
|
|
187
170
|
*/
|
|
188
171
|
yAxisTitle: PropTypes.string,
|
|
189
|
-
|
|
190
172
|
/**
|
|
191
173
|
* Defines the chart subtitle.
|
|
192
174
|
*/
|