@hitachivantara/uikit-react-viz 4.0.3 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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.js +30 -76
- package/dist/Chart/Chart.js.map +1 -1
- package/dist/Chart/Plot/Plot.js +11 -48
- 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/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
- package/dist/ConfusionMatrix/ConfusionMatrix.js +102 -0
- package/dist/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
- package/dist/ConfusionMatrix/CustomTooltip/CustomTooltip.js +47 -0
- package/dist/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
- package/dist/ConfusionMatrix/CustomTooltip/index.js +14 -0
- package/dist/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
- package/dist/ConfusionMatrix/CustomTooltip/styles.js +26 -0
- package/dist/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
- package/dist/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +189 -0
- package/dist/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
- package/dist/ConfusionMatrix/index.d.ts +2 -0
- package/dist/ConfusionMatrix/index.js +14 -0
- package/dist/ConfusionMatrix/index.js.map +1 -0
- package/dist/ConfusionMatrix/styles.js +10 -0
- package/dist/ConfusionMatrix/styles.js.map +1 -0
- 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.d.ts +3 -0
- package/dist/index.js +7 -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.js +30 -47
- package/dist/legacy/Chart/Chart.js.map +1 -1
- package/dist/legacy/Chart/Plot/Plot.js +11 -22
- 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/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
- package/dist/legacy/ConfusionMatrix/ConfusionMatrix.js +87 -0
- package/dist/legacy/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/CustomTooltip.js +39 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/index.js +2 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/styles.js +19 -0
- package/dist/legacy/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +181 -0
- package/dist/legacy/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/index.d.ts +2 -0
- package/dist/legacy/ConfusionMatrix/index.js +2 -0
- package/dist/legacy/ConfusionMatrix/index.js.map +1 -0
- package/dist/legacy/ConfusionMatrix/styles.js +3 -0
- package/dist/legacy/ConfusionMatrix/styles.js.map +1 -0
- 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.d.ts +3 -0
- package/dist/legacy/index.js +1 -0
- 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.js +19 -34
- package/dist/modern/Chart/Chart.js.map +1 -1
- package/dist/modern/Chart/Plot/Plot.js +12 -23
- 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/ConfusionMatrix/ConfusionMatrix.d.ts +10 -0
- package/dist/modern/ConfusionMatrix/ConfusionMatrix.js +76 -0
- package/dist/modern/ConfusionMatrix/ConfusionMatrix.js.map +1 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/CustomTooltip.js +37 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/CustomTooltip.js.map +1 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/index.js +2 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/index.js.map +1 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/styles.js +17 -0
- package/dist/modern/ConfusionMatrix/CustomTooltip/styles.js.map +1 -0
- package/dist/modern/ConfusionMatrix/confusionMatrixPlotlyOverrides.js +154 -0
- package/dist/modern/ConfusionMatrix/confusionMatrixPlotlyOverrides.js.map +1 -0
- package/dist/modern/ConfusionMatrix/index.d.ts +2 -0
- package/dist/modern/ConfusionMatrix/index.js +2 -0
- package/dist/modern/ConfusionMatrix/index.js.map +1 -0
- package/dist/modern/ConfusionMatrix/styles.js +3 -0
- package/dist/modern/ConfusionMatrix/styles.js.map +1 -0
- 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.d.ts +3 -0
- package/dist/modern/index.js +1 -0
- package/dist/modern/index.js.map +1 -1
- package/package.json +5 -5
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
|
});
|
|
@@ -11,6 +10,12 @@ Object.defineProperty(exports, "HvBarchart", {
|
|
|
11
10
|
return _Barchart.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
13
|
+
Object.defineProperty(exports, "HvConfusionMatrix", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _ConfusionMatrix.default;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
14
19
|
Object.defineProperty(exports, "HvDonutchart", {
|
|
15
20
|
enumerable: true,
|
|
16
21
|
get: function get() {
|
|
@@ -23,10 +28,8 @@ Object.defineProperty(exports, "HvLinechart", {
|
|
|
23
28
|
return _Linechart.default;
|
|
24
29
|
}
|
|
25
30
|
});
|
|
26
|
-
|
|
27
31
|
var _Barchart = _interopRequireDefault(require("./Barchart"));
|
|
28
|
-
|
|
29
32
|
var _Donutchart = _interopRequireDefault(require("./Donutchart"));
|
|
30
|
-
|
|
31
33
|
var _Linechart = _interopRequireDefault(require("./Linechart"));
|
|
34
|
+
var _ConfusionMatrix = _interopRequireDefault(require("./ConfusionMatrix"));
|
|
32
35
|
//# 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\";\nexport { default as HvConfusionMatrix } from \"./ConfusionMatrix\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;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"}
|
|
@@ -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,14 +82,14 @@ 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;
|
|
95
88
|
dataFromPoints.elements.push({
|
|
96
89
|
color: ((_fData$marker = fData.marker) === null || _fData$marker === void 0 ? void 0 : _fData$marker.color) || ((_fData$line = fData.line) === null || _fData$line === void 0 ? void 0 : _fData$line.color) || p.color,
|
|
97
90
|
name: ((_fData$labels = fData.labels) === null || _fData$labels === void 0 ? void 0 : _fData$labels[pNumber]) || fData.name,
|
|
98
|
-
value: isHorizontal ? p.x : p.y || p.value
|
|
91
|
+
value: isHorizontal ? p.x : p.y || p.value,
|
|
92
|
+
zValue: p.z
|
|
99
93
|
});
|
|
100
94
|
});
|
|
101
95
|
setDataTooltip(dataFromPoints);
|
|
@@ -133,60 +127,49 @@ var Chart = function Chart(_ref) {
|
|
|
133
127
|
})]
|
|
134
128
|
});
|
|
135
129
|
};
|
|
136
|
-
|
|
137
130
|
process.env.NODE_ENV !== "production" ? Chart.propTypes = {
|
|
138
131
|
/**
|
|
139
132
|
* An Id passed on to the component
|
|
140
133
|
*/
|
|
141
134
|
id: PropTypes.string,
|
|
142
|
-
|
|
143
135
|
/**
|
|
144
136
|
* A Jss Object used to override or extend the styles applied.
|
|
145
137
|
*/
|
|
146
138
|
classes: PropTypes.shape({
|
|
147
139
|
root: PropTypes.string
|
|
148
140
|
}),
|
|
149
|
-
|
|
150
141
|
/**
|
|
151
142
|
* Plotly data object (see https://plot.ly/javascript/reference/).
|
|
152
143
|
*/
|
|
153
144
|
data: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,
|
|
154
|
-
|
|
155
145
|
/**
|
|
156
146
|
* Plotly layout object (see https://plot.ly/javascript/reference/#layout).
|
|
157
147
|
*/
|
|
158
148
|
layout: PropTypes.instanceOf(Object).isRequired,
|
|
159
|
-
|
|
160
149
|
/**
|
|
161
150
|
* Plotly config object (see https://plot.ly/javascript/configuration-options/).
|
|
162
151
|
*/
|
|
163
152
|
config: PropTypes.instanceOf(Object),
|
|
164
|
-
|
|
165
153
|
/**
|
|
166
154
|
* Defines if should use a single or multiline tooltip.
|
|
167
155
|
*/
|
|
168
156
|
tooltipType: PropTypes.oneOf(["single", "multiple"]),
|
|
169
|
-
|
|
170
157
|
/**
|
|
171
158
|
* Custom tooltip element to be displayed
|
|
172
159
|
*/
|
|
173
160
|
tooltip: PropTypes.func,
|
|
174
|
-
|
|
175
161
|
/**
|
|
176
162
|
* Function to be called after plot render.
|
|
177
163
|
*/
|
|
178
164
|
afterPlot: PropTypes.func,
|
|
179
|
-
|
|
180
165
|
/**
|
|
181
166
|
* Defines the X axis title.
|
|
182
167
|
*/
|
|
183
168
|
xAxisTitle: PropTypes.string,
|
|
184
|
-
|
|
185
169
|
/**
|
|
186
170
|
* Defines the Y axis title.
|
|
187
171
|
*/
|
|
188
172
|
yAxisTitle: PropTypes.string,
|
|
189
|
-
|
|
190
173
|
/**
|
|
191
174
|
* Defines the chart subtitle.
|
|
192
175
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.js","names":["React","useState","useMemo","useCallback","PropTypes","isNil","withStyles","useTheme","Tooltip","applyLayoutDefaults","applyConfigDefaults","Plot","styles","Chart","id","classes","data","layout","config","tooltipType","tooltip","afterPlot","xAxisTitle","yAxisTitle","others","theme","isHorizontal","orientation","toUpperCase","chartLayout","chartConfig","useSingle","isHover","setIsHover","x","y","coordinates","setCoordinates","dataTooltip","setDataTooltip","onHover","event","points","dataFromPoints","title","elements","forEach","p","i","fData","fullData","pNumber","pointNumber","name","push","color","marker","line","labels","value","onUnHover","onMouseMove","clientX","clientY","root","propTypes","string","shape","arrayOf","instanceOf","Object","isRequired","oneOf","func","subtitle"],"sources":["../../../src/Chart/Chart.js"],"sourcesContent":["import React, { useState, useMemo, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isNil from \"lodash/isNil\";\nimport { withStyles, useTheme } from \"@mui/styles\";\n\nimport Tooltip from \"./Tooltip\";\nimport { applyLayoutDefaults, applyConfigDefaults } from \"./chartPlotlyOverrides\";\n\nimport Plot from \"./Plot\";\nimport styles from \"./styles\";\n\nconst Chart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n tooltip,\n afterPlot,\n xAxisTitle,\n yAxisTitle,\n ...others\n}) => {\n const theme = useTheme();\n\n /* Values derived from props */\n\n // Check if the barchart is horizontal or vertical.\n const isHorizontal = useMemo(\n () => (!isNil(data[0]?.orientation) ? data[0].orientation.toUpperCase() === \"H\" : false),\n [data]\n );\n\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, theme, isHorizontal, xAxisTitle, yAxisTitle),\n [isHorizontal, layout, theme, xAxisTitle, yAxisTitle]\n );\n\n const chartConfig = useMemo(() => applyConfigDefaults(config), [config]);\n\n const useSingle = tooltipType === \"single\";\n\n /* State */\n\n const [isHover, setIsHover] = useState(false);\n const [coordinates, setCoordinates] = useState({ x: 0, y: 0 });\n const [dataTooltip, setDataTooltip] = useState();\n\n /* Callbacks */\n\n // Extract data from the plotly onHover event to be used to create the tooltip.\n const onHover = useCallback(\n (event) => {\n const { points } = event;\n\n const dataFromPoints = {\n title: \"\",\n elements: [],\n };\n\n points.forEach((p, i) => {\n const fData = p.fullData;\n const pNumber = p.pointNumber;\n\n if (i === 0) dataFromPoints.title = isHorizontal ? p.y : p.x || fData.name;\n\n dataFromPoints.elements.push({\n color: fData.marker?.color || fData.line?.color || p.color,\n name: fData.labels?.[pNumber] || fData.name,\n value: isHorizontal ? p.x : p.y || p.value,\n });\n });\n\n setDataTooltip(dataFromPoints);\n setIsHover(true);\n },\n [isHorizontal]\n );\n\n const onUnHover = useCallback(() => {\n setIsHover(false);\n }, []);\n\n const onMouseMove = useCallback((event) => {\n setCoordinates({\n x: event.clientX,\n y: event.clientY,\n });\n }, []);\n\n return (\n <>\n {isHover && (\n <Tooltip\n coordinates={coordinates}\n data={dataTooltip}\n useSingle={useSingle}\n tooltip={tooltip}\n />\n )}\n <div id={id} className={classes.root}>\n <div onMouseMove={onMouseMove}>\n <Plot\n data={data}\n layout={chartLayout}\n config={chartConfig}\n onHover={onHover}\n onUnHover={onUnHover}\n afterPlot={afterPlot}\n {...others}\n />\n </div>\n </div>\n </>\n );\n};\n\nChart.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 /**\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).isRequired,\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\nexport default withStyles(styles, { name: \"HvChart\" })(Chart);\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Chart.js","names":["React","useState","useMemo","useCallback","PropTypes","isNil","withStyles","useTheme","Tooltip","applyLayoutDefaults","applyConfigDefaults","Plot","styles","Chart","id","classes","data","layout","config","tooltipType","tooltip","afterPlot","xAxisTitle","yAxisTitle","others","theme","isHorizontal","orientation","toUpperCase","chartLayout","chartConfig","useSingle","isHover","setIsHover","x","y","coordinates","setCoordinates","dataTooltip","setDataTooltip","onHover","event","points","dataFromPoints","title","elements","forEach","p","i","fData","fullData","pNumber","pointNumber","name","push","color","marker","line","labels","value","zValue","z","onUnHover","onMouseMove","clientX","clientY","root","propTypes","string","shape","arrayOf","instanceOf","Object","isRequired","oneOf","func","subtitle"],"sources":["../../../src/Chart/Chart.js"],"sourcesContent":["import React, { useState, useMemo, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isNil from \"lodash/isNil\";\nimport { withStyles, useTheme } from \"@mui/styles\";\n\nimport Tooltip from \"./Tooltip\";\nimport { applyLayoutDefaults, applyConfigDefaults } from \"./chartPlotlyOverrides\";\n\nimport Plot from \"./Plot\";\nimport styles from \"./styles\";\n\nconst Chart = ({\n id,\n classes,\n data,\n layout,\n config,\n tooltipType = \"multiple\",\n tooltip,\n afterPlot,\n xAxisTitle,\n yAxisTitle,\n ...others\n}) => {\n const theme = useTheme();\n\n /* Values derived from props */\n\n // Check if the barchart is horizontal or vertical.\n const isHorizontal = useMemo(\n () => (!isNil(data[0]?.orientation) ? data[0].orientation.toUpperCase() === \"H\" : false),\n [data]\n );\n\n const chartLayout = useMemo(\n () => applyLayoutDefaults(layout, theme, isHorizontal, xAxisTitle, yAxisTitle),\n [isHorizontal, layout, theme, xAxisTitle, yAxisTitle]\n );\n\n const chartConfig = useMemo(() => applyConfigDefaults(config), [config]);\n\n const useSingle = tooltipType === \"single\";\n\n /* State */\n\n const [isHover, setIsHover] = useState(false);\n const [coordinates, setCoordinates] = useState({ x: 0, y: 0 });\n const [dataTooltip, setDataTooltip] = useState();\n\n /* Callbacks */\n\n // Extract data from the plotly onHover event to be used to create the tooltip.\n const onHover = useCallback(\n (event) => {\n const { points } = event;\n\n const dataFromPoints = {\n title: \"\",\n elements: [],\n };\n\n points.forEach((p, i) => {\n const fData = p.fullData;\n const pNumber = p.pointNumber;\n\n if (i === 0) dataFromPoints.title = isHorizontal ? p.y : p.x || fData.name;\n\n dataFromPoints.elements.push({\n color: fData.marker?.color || fData.line?.color || p.color,\n name: fData.labels?.[pNumber] || fData.name,\n value: isHorizontal ? p.x : p.y || p.value,\n zValue: p.z,\n });\n });\n\n setDataTooltip(dataFromPoints);\n setIsHover(true);\n },\n [isHorizontal]\n );\n\n const onUnHover = useCallback(() => {\n setIsHover(false);\n }, []);\n\n const onMouseMove = useCallback((event) => {\n setCoordinates({\n x: event.clientX,\n y: event.clientY,\n });\n }, []);\n\n return (\n <>\n {isHover && (\n <Tooltip\n coordinates={coordinates}\n data={dataTooltip}\n useSingle={useSingle}\n tooltip={tooltip}\n />\n )}\n <div id={id} className={classes.root}>\n <div onMouseMove={onMouseMove}>\n <Plot\n data={data}\n layout={chartLayout}\n config={chartConfig}\n onHover={onHover}\n onUnHover={onUnHover}\n afterPlot={afterPlot}\n {...others}\n />\n </div>\n </div>\n </>\n );\n};\n\nChart.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 /**\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).isRequired,\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\nexport default withStyles(styles, { name: \"HvChart\" })(Chart);\n"],"mappings":"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"}
|